This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH] Sign extension elimination
- From: "H. J. Lu" <hjl at lucon dot org>
- To: Mircea Namolaru <NAMOLARU at il dot ibm dot com>
- Cc: gcc-patches at gcc dot gnu dot org, roger at eyesopen dot com, leehod dot baruch at weizmann dot ac dot il, leehod at gmail dot com
- Date: Mon, 27 Feb 2006 19:45:21 -0800
- Subject: Re: [PATCH] Sign extension elimination
- References: <OF7DAB777E.97AC672B-ONC225711E.00497450-42257122.0052DBE4@il.ibm.com>
On Mon, Feb 27, 2006 at 04:56:15PM +0200, Mircea Namolaru wrote:
> Hello,
>
> I've updated the above patch against mainline:
>
> http://gcc.gnu.org/ml/gcc-patches/2005-09/msg01769.html.
>
> Changes in infrastructure of gcc that can be reviewed
> and commitated separately were moved in separate patches.
> See:
> [PATCH} Extension to web.c
> [PATCH] New function in cfgrtl.c
> submittated before this patch.
>
> Bootstrapped successfully on powerpc64-linux and power-linux.
> Regression tests passed on powerpc64-linux and powerpc-linux.
>
> Performance results on SPEC2000: improvement 2.5% crafty,
> 2% vpr, 1.5% mesa. Degradation: 2% gzip.
>
This patch is very limited. It doesn't work on the simple testcase
in
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=17387
Basically, we have
set reg1 xxx
use reg1
set reg2 zero_extend:reg1
It can be optimized to
set subreg:reg2 xxx
use subreg:reg2
But the above patch failed.
H.J.