diff mbox

Fix PR61320

Message ID alpine.LSU.2.11.1408061335380.20733@zhemvz.fhfr.qr
State New
Headers show

Commit Message

Richard Biener Aug. 6, 2014, 11:36 a.m. UTC
The following fixes PR61320 - we were not properly treating
explicitely misaligned loads as misaligned.

Tested by various people on their STRICT_ALIGN targets, applied
to trunk and branch.

Richard.

2014-08-06  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/61320
	* tree-ssa-loop-ivopts.c (may_be_unaligned_p): Properly
	handle misaligned loads.
diff mbox

Patch

Index: gcc/tree-ssa-loop-ivopts.c
===================================================================
--- gcc/tree-ssa-loop-ivopts.c	(revision 213658)
+++ gcc/tree-ssa-loop-ivopts.c	(working copy)
@@ -1703,6 +1703,8 @@  may_be_unaligned_p (tree ref, tree step)
     return false;
 
   unsigned int align = TYPE_ALIGN (TREE_TYPE (ref));
+  if (GET_MODE_ALIGNMENT (TYPE_MODE (TREE_TYPE (ref))) > align)
+    align = GET_MODE_ALIGNMENT (TYPE_MODE (TREE_TYPE (ref)));
 
   unsigned HOST_WIDE_INT bitpos;
   unsigned int ref_align;