aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorRichard Biener <rguenther@suse.de>2015-03-11 15:09:51 +0000
committerRichard Biener <rguenth@gcc.gnu.org>2015-03-11 15:09:51 +0000
commit474b3a7c49a5ccd6a8becb7f7c5ae6c9e74f36ca (patch)
tree3fe479b5e457a93cff1c8a0f358ceb8b06702dd9 /gcc
parent25de0a29fb99fb04f25f16016634de912319676f (diff)
downloadgcc-474b3a7c49a5ccd6a8becb7f7c5ae6c9e74f36ca.zip
gcc-474b3a7c49a5ccd6a8becb7f7c5ae6c9e74f36ca.tar.gz
gcc-474b3a7c49a5ccd6a8becb7f7c5ae6c9e74f36ca.tar.bz2
re PR tree-optimization/65310 (vectorizer uses wrong alignment)
2015-03-11 Richard Biener <rguenther@suse.de> PR tree-optimization/65310 * tree-sra.c (build_ref_for_offset): Also preserve larger alignment. From-SVN: r221348
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/tree-sra.c2
2 files changed, 7 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 4a7f788..3e91636 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+2015-03-11 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/65310
+ * tree-sra.c (build_ref_for_offset): Also preserve larger
+ alignment.
+
2015-03-11 Marat Zakirov <m.zakirov@samsung.com>
* asan.c (instrument_derefs): Disable instrumentation on asan-globals=0.
diff --git a/gcc/tree-sra.c b/gcc/tree-sra.c
index 3527a47..a49e950 100644
--- a/gcc/tree-sra.c
+++ b/gcc/tree-sra.c
@@ -1597,7 +1597,7 @@ build_ref_for_offset (location_t loc, tree base, HOST_WIDE_INT offset,
misalign = (misalign + offset) & (align - 1);
if (misalign != 0)
align = (misalign & -misalign);
- if (align < TYPE_ALIGN (exp_type))
+ if (align != TYPE_ALIGN (exp_type))
exp_type = build_aligned_type (exp_type, align);
mem_ref = fold_build2_loc (loc, MEM_REF, exp_type, base, off);