RFR(m) 8170094: PPC64: Keep immediate value 0 cached into a register to improve performance

Gustavo Serra Scalet gustavo.scalet at eldorado.org.br
Tue Nov 22 17:11:03 UTC 2016


I was concerned with an optimization marked as "Hoist CSE of constant load"[1] as I found zeroes being stored in the memory by using a new reg every time.

To address this issue, I reserved one of the many registers PPC64 has (on C1 and C2 compilers) to cache zero and then the zero can be stored at once with a single store. (I didn't notice a performance drop simply by removing 1 register from the register bank)

I notice small performance gains (on average around 1%) for some microbenchmarks but no noticeable change on SPECjvm2008 score. Maybe there is still some room for improvement by using this approach?

Please review if I built a correct solution:

Bug and webrev for this change:

Thanks in advance,
Gustavo Serra Scalet


More information about the hotspot-compiler-dev mailing list