This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: 4 GCC regressions, 4 new, with your patch on 2002-02-04T18:43:38Z.


On Mon, Feb 04, 2002 at 10:07:53PM +0000, GCC regression checker wrote:
> powerpc-eabisim gcc.sum gcc.c-torture/execute/960116-1.c
> native gcc.sum gcc.c-torture/execute/960116-1.c

Bother.  Should have tried this on more than the
mostly-broken sparcv9 port.


r~


        * combine.c (nonzero_bits): Re-introduce special case for
        sp/fp/ap wrt REGNO_POINTER_ALIGN. 

Index: combine.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/combine.c,v
retrieving revision 1.262
diff -c -p -d -r1.262 combine.c
*** combine.c	2002/02/04 18:16:06	1.262
--- combine.c	2002/02/04 23:04:04
*************** nonzero_bits (x, mode)
*** 7896,7903 ****
  #endif
  
        /* Include declared information about alignment of pointers.  */
! 
!       if (REG_POINTER (x) && REGNO_POINTER_ALIGN (REGNO (x)))
  	{
  	  unsigned HOST_WIDE_INT alignment
  	    = REGNO_POINTER_ALIGN (REGNO (x)) / BITS_PER_UNIT;
--- 7896,7908 ----
  #endif
  
        /* Include declared information about alignment of pointers.  */
!       /* ??? We don't properly preserve REG_POINTER changes across
! 	 pointer-to-integer casts, so we can't trust it except for
! 	 things that we know must be pointers.  See execute/960116-1.c.  */
!       if ((x == stack_pointer_rtx
! 	   || x == frame_pointer_rtx
! 	   || x == arg_pointer_rtx)
! 	  && REGNO_POINTER_ALIGN (REGNO (x)))
  	{
  	  unsigned HOST_WIDE_INT alignment
  	    = REGNO_POINTER_ALIGN (REGNO (x)) / BITS_PER_UNIT;


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]