This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH] Enhance reload_cse_move2add


On 07/13/2010 12:37 AM, Jeff Law wrote:
On 06/30/10 01:45, Jie Zhang wrote:
Currently reload_cse_move2add can transform

(set (REGX) (CONST_INT A))
...
(set (REGX) (CONST_INT B))

to

(set (REGX) (CONST_INT A))
...
(set (REGX) (plus (REGX) (CONST_INT B-A)))

This patch enhances it to be able to transform

(set (REGX) (CONST (PLUS (SYMBOL_REF) (CONST_INT A))))
...
(set (REGY) (CONST (PLUS (SYMBOL_REF) (CONST_INT B))))

to

(set (REGX) (CONST (PLUS (SYMBOL_REF) (CONST_INT A))))
...
(set (REGY) (CONST (PLUS (REGX) (CONST_INT B-A))))


Benchmarking using EEMBC on ARM Cortex-A8 shows performance improvement on one test:

idctrn01: 6%

No meaningful changes on other tests.

Benchmarking using SPEC2000 on AMD Athlon64 X2 3800+ shows 0.4%
regression on CINT2000 and 0.1% improvement on CFP2000.

Bootstrapped and regression tested on x86_64.

Is it OK?
Thanks for your patience, particularly when my requests for additional
data. I think we're OK with the benchmarking #s, particularly looking at
the amount of noise in the runs we're seeing for x86_64.

Appoved,

Jeff,

Thanks! I learned a lot during the procedure.

On 07/10/2010 08:06 AM, Bernd Schmidt wrote:
> So what kinds of changes are there that would explain a 1.48% drop on
> 179.art?  If you can verify that the code is in fact identical, and the
> performance change is noise, the patch is ok.
>
Bernd,

I didn't realize it was a conditional approval until I asked you privately. Thanks!


I have committed it on trunk.



Regards, -- Jie Zhang CodeSourcery


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]