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 <rguent...@suse.de> PR tree-optimization/61320 * tree-ssa-loop-ivopts.c (may_be_unaligned_p): Properly handle misaligned loads. 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;