aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-vect-data-refs.c
diff options
context:
space:
mode:
authorRichard Biener <rguenth@gcc.gnu.org>2018-06-25 11:01:07 +0000
committerRichard Biener <rguenth@gcc.gnu.org>2018-06-25 11:01:07 +0000
commit8c9632905d39afc3c431d0ff4d318d15c9250344 (patch)
treefdcd027e09d9df073024307aa4ef905b180ea483 /gcc/tree-vect-data-refs.c
parentfd082a66f8be44616584164672eeb8e2779c5593 (diff)
downloadgcc-8c9632905d39afc3c431d0ff4d318d15c9250344.zip
gcc-8c9632905d39afc3c431d0ff4d318d15c9250344.tar.gz
gcc-8c9632905d39afc3c431d0ff4d318d15c9250344.tar.bz2
tree-vect-data-refs.c (vect_check_gather_scatter): Fail for reverse storage order accesses rather than asserting they cannot...
2018-06-25 Richard Biener <rguenther@suse.de> Eric Botcazou <ebotcazou@libertysurf.fr> * tree-vect-data-refs.c (vect_check_gather_scatter): Fail for reverse storage order accesses rather than asserting they cannot happen here. * gnat.dg/sso9.adb: New testcase. * gnat.dg/sso9_pkg.ads: Likewise. From-SVN: r262007
Diffstat (limited to 'gcc/tree-vect-data-refs.c')
-rw-r--r--gcc/tree-vect-data-refs.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/gcc/tree-vect-data-refs.c b/gcc/tree-vect-data-refs.c
index 1ac37bf..19ff782 100644
--- a/gcc/tree-vect-data-refs.c
+++ b/gcc/tree-vect-data-refs.c
@@ -3730,7 +3730,9 @@ vect_check_gather_scatter (gimple *stmt, loop_vec_info loop_vinfo,
that can be gimplified before the loop. */
base = get_inner_reference (base, &pbitsize, &pbitpos, &off, &pmode,
&punsignedp, &reversep, &pvolatilep);
- gcc_assert (base && !reversep);
+ if (reversep)
+ return false;
+
poly_int64 pbytepos = exact_div (pbitpos, BITS_PER_UNIT);
if (TREE_CODE (base) == MEM_REF)