[PATCH 2/2, rs6000] Remove mode promotion for pseudos

HAO CHEN GUI guihaoc@linux.ibm.com
Fri Jun 4 08:37:09 GMT 2021


Segher,

    I committed two patches (r12-1201 and r12-1202) into trunk. Thanks 
for your review and advice.


On 4/6/2021 上午 1:36, Segher Boessenkool wrote:
> Hi!
>
> On Thu, May 20, 2021 at 05:49:49PM +0800, HAO CHEN GUI wrote:
>> 	rs6000 has instructions that can do almost everything 32 bit
>> 	at least as efficiently as corresponding 64 bit things. The
>> 	mode promotion can be defered to when a wide mode is necessary.
>> 	So it helps a lot not promote mode for pseudos. SPECint test
>> 	shows that the overall performance improvement (by geomean) is
>> 	more than 2% with this patch.
>> 	testsuite/gcc.target/powerpc/not-promote-mode.c illustrates how
>> 	the patch eliminates the redundant extensions and do further
>> 	optimization by disabling mode promotion for pseduos.
> I'd still like to see if (and why) this works better than explicitly
> promoting QImode and HImode here.  But that can be done later.
>
>> --- /dev/null
>> +++ b/gcc/testsuite/gcc.target/powerpc/not-promote-mode.c
>> @@ -0,0 +1,13 @@
>> +/* { dg-do compile { target { powerpc*-*-* && lp64 } } } */
> Just
>
> /* { dg-do compile { target lp64 } } */
>
> because the rest is already implied by this being in gcc.target/powerpc .
>
> The patch is okay for trunk.  Thank you very much for finding this huge
> performance gain!
>
>
> Segher


More information about the Gcc-patches mailing list