From 08940f33eb4bb87f8944e771189ba48d8c7ca176 Mon Sep 17 00:00:00 2001 From: Richard Biener Date: Thu, 18 Apr 2013 12:57:17 +0000 Subject: tree-vect-data-refs.c (vect_analyze_group_access): Properly handle negative step. 2013-04-18 Richard Biener * tree-vect-data-refs.c (vect_analyze_group_access): Properly handle negative step. Remove redundant checks. (vect_create_data_ref_ptr): Avoid ICEs with non-constant steps. * tree-vect-stmts.c (vectorizable_load): Instead of asserting for negative step and grouped loads fail to vectorize. From-SVN: r198054 --- gcc/tree-vect-stmts.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'gcc/tree-vect-stmts.c') diff --git a/gcc/tree-vect-stmts.c b/gcc/tree-vect-stmts.c index bdd4d64..ca474c1 100644 --- a/gcc/tree-vect-stmts.c +++ b/gcc/tree-vect-stmts.c @@ -4465,7 +4465,13 @@ vectorizable_load (gimple stmt, gimple_stmt_iterator *gsi, gimple *vec_stmt, if (negative) { - gcc_assert (!grouped_load); + if (grouped_load) + { + if (dump_enabled_p ()) + dump_printf_loc (MSG_MISSED_OPTIMIZATION, vect_location, + "negative step for group load not supported"); + return false; + } alignment_support_scheme = vect_supportable_dr_alignment (dr, false); if (alignment_support_scheme != dr_aligned && alignment_support_scheme != dr_unaligned_supported) -- cgit v1.1