This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: 4 GCC regressions, 4 new, with your patch on 2002-02-04T18:43:38Z.
- From: Richard Henderson <rth at redhat dot com>
- To: gcc-regression at gcc dot gnu dot org
- Cc: gcc-patches at gcc dot gnu dot org
- Date: Mon, 4 Feb 2002 15:09:13 -0800
- Subject: Re: 4 GCC regressions, 4 new, with your patch on 2002-02-04T18:43:38Z.
- References: <200202042207.g14M7su27149@maat.cygnus.com>
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;