[backport from gcc-4.8/trunk r189325 ] gcc/ 2012-07-06 Alexandre Oilva PR rtl-optimization/53827 PR debug/53671 PR debug/49888 * alias.c (memrefs_conflict_p): Adjust offset and size by the same amount for alignment ANDs. --- gcc-4.7.1/gcc/alias.c.~1~ 2012-08-12 13:12:05.000000000 +0200 +++ gcc-4.7.1/gcc/alias.c 2012-08-12 13:29:04.000000000 +0200 @@ -2065,7 +2065,7 @@ memrefs_conflict_p (int xsize, rtx x, in if (xsize > 0 && sc < 0 && -uc == (uc & -uc)) { xsize -= sc + 1; - c -= sc; + c -= sc + 1; return memrefs_conflict_p (xsize, canon_rtx (XEXP (x, 0)), ysize, y, c); } @@ -2077,7 +2077,7 @@ memrefs_conflict_p (int xsize, rtx x, in if (ysize > 0 && sc < 0 && -uc == (uc & -uc)) { ysize -= sc + 1; - c += sc; + c += sc + 1; return memrefs_conflict_p (xsize, x, ysize, canon_rtx (XEXP (y, 0)), c); }