for  gcc/ChangeLog
from  Alexandre Oilva  <aoliva@redhat.com>

	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.

Index: gcc/alias.c
===================================================================
--- gcc/alias.c.orig	2012-07-02 09:04:06.193137799 -0300
+++ gcc/alias.c	2012-07-02 09:04:08.000000000 -0300
@@ -2107,7 +2107,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);
 	}
@@ -2119,7 +2119,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);
 	}
