This is the mail archive of the
mailing list for the GCC project.
Re: [PING][PATCH][REVISED] Fix PR middle-end/PR28690, modify swap_commutative_operands_p
On Fri, Jul 13, 2007 at 12:35:42PM -0500, Peter Bergner wrote:
> On Fri, 2007-07-13 at 08:19 +0200, Paolo Bonzini wrote:
> > > If that doesn't help, then I suggest we add a target hook to
> > > the changes in commutative_operand_precedence so that it
> > > behaves the way it used to for everyone other than POWER6.
> > I think this is overkill. The change makes sense on every architecture.
> Ok, then given I already have approval from Ian to commit this, I'll
> commit this and we can work on resolving any further issues people might
> have after that.
I am waiting for SPEC CPU 2006 results with this change on top of
the proposed change:
--- gcc/rtlanal.c.foo 2007-07-11 19:53:13.000000000 -0700
+++ gcc/rtlanal.c 2007-07-11 19:54:12.000000000 -0700
@@ -2939,9 +2939,11 @@ swap_commutative_operands_p (rtx x, rtx
return result < 0;
/* Group together equal REGs to do more simplification. */
if (REG_P (x) && REG_P (y))
return REGNO (x) > REGNO (y);
It will take 2 days. SPEC CPU 2K results aren't very encouraging.
One benchmark is down by 7% on IA32. I suspect AMD processors may
have similar issues. Given the SPEC CPU 2K/2006 impact I have been
seeing on IA32 and Intel64, and the current addresing model has been
used for such a long time, I don't think it is a good idea to make
such a change which affects every architecture for one architecture.