This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: {PING] [PATCH] Sign extension elimination
- From: "Leehod Baruch" <leehod dot baruch at weizmann dot ac dot il>
- To: "H. J. Lu" <hjl at lucon dot org>
- Cc: "Toon Moene" <toon at moene dot indiv dot nluug dot nl>, "Daniel Berlin" <dberlin at dberlin dot org>, "Mircea Namolaru" <namolaru at il dot ibm dot com>, gcc-patches at gcc dot gnu dot org, leehod at gmail dot com, mark at codesourcery dot com, "Roger Sayle" <roger at eyesopen dot com>
- Date: Tue, 18 Apr 2006 10:19:11 +0300 (IDT)
- Subject: Re: {PING] [PATCH] Sign extension elimination
>> > I don't think the current SEE worked well for x86-64. We have been
>> > trying to extend it to x86-64. My main concern is when SEE is enabled,
>> > some very odd x86-64 code is generated for some simple testcases.
>> Can you point out, what are the testcases and what is the odd code that
>> was generated.
...
> logadd:
> addl %edi, %esi
> movswl %si,%eax
> ret
>
> With SEE, I got
>
> logadd:
> leal (%rsi,%rdi), %eax
> cwtl
> ret
>
> I am not sure if the new one is better.
Even if the code is not optimal, if it is correct I don't think
that it is odd.
> The main problem for x86-64 is
> SEE is just moving instructions around or replacing one with another.
> For the testcase in
>
> http://gcc.gnu.org/bugzilla/show_bug.cgi?id=17387
>
> "-O2 -fsee" doesn't reduce number of total instructions at all. It
> replaces
Did you use the version that we are working on (with Denis' change)?
If not, then we know what the problem is and we are on the way to fix it.
If yes, please send me the dump file of the SEE and the one just before it
and I'll try to see what is the problem.
Leehod.