This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH] Fix for sign extension elimination
- From: Mircea Namolaru <NAMOLARU at il dot ibm dot com>
- To: Roger Sayle <roger at eyesopen dot com>
- Cc: Ayal Zaks <ZAKS at il dot ibm dot com>, gcc-patches at gcc dot gnu dot org, "H. J. Lu" <hjl at lucon dot org>, Leehod Baruch <leehod dot baruch at weizmann dot ac dot il>, Mark Mitchell <mark at codesourcery dot com>, Richard Henderson <rth at redhat dot com>
- Date: Fri, 26 May 2006 14:03:15 +0200
- Subject: Re: [PATCH] Fix for sign extension elimination
Roger Sayle <roger@eyesopen.com> wrote on 25/05/2006 18:41:11:
>
> On Thu, 25 May 2006, Mircea Namolaru wrote:
> > 2006-05-25 Mircea Namolaru <namolaru@il.ibm.com>
> > Leehod Baruch <leehod.baruch@weizmann.ac.il>
> >
> > * see.c (see_analyze_one_def): Correct check.
> > (see_get_extension_data): Check if extension is parallel.
> > (see_get_extension_reg): Likewise.
>
> This is OK for mainline.
>
> Is it the exclusion of PARALLELs from see_get_extension_data or the
> correction of the next_insn logic in see_analyze_one_def that cures
> the x86 problems? The former looks like it just working around a
> deeper problem elsewhere in the code, perhaps attempting to generate
> extension insns without clobbers.
>
> Roger
> --
>
It was the exclusion of PARALLEL sign extensions that cured the
x86 problems. Such instructions are not supported by the current
implementation. Indeed, the patch don't try to extend the code to
work properly in such cases. It only enforces the existing
checks to catch them.
Mircea