This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH] Fix non-canonical RTL produced by expand, take 2
- From: Jeffrey A Law <law at redhat dot com>
- To: Paolo Bonzini <paolo dot bonzini at lu dot unisi dot ch>
- Cc: GCC Patches <gcc-patches at gcc dot gnu dot org>
- Date: Mon, 28 Nov 2005 12:11:39 -0700
- Subject: Re: [PATCH] Fix non-canonical RTL produced by expand, take 2
- References: <4384ACE7.6070803@lu.unisi.ch>
- Reply-to: law at redhat dot com
On Wed, 2005-11-23 at 18:54 +0100, Paolo Bonzini wrote:
> This patch makes expand output canonical RTL for binary commutative
> operations. The original patch, at
> http://gcc.gnu.org/ml/gcc-patches/2005-09/msg00941.html, did not put a
> REG first if the operands are both in the rtx class RTX_OBJECT and none
> is equal to the target. This detail alone caused a regression in gap on
> powerpc.
>
> If the operands have the same precedence, this patch instead matches
> exactly what expand is doing now. If the operands have different
> precedence, CSE will always fix it (but it won't with fwprop -- this
> patch fixes a regression on crafty caused by the fwprop patch).
>
> Bootstrapped/regtested i686-pc-linux-gnu, tested on
> powerpc-apple-darwin8.2.0 that the gap assembly code is the same with or
> without the patch.
>
> Ok for mainline?
OK.
jeff