RFR: 8332265: RISC-V: Materialize pointers faster by using a temp register

Fei Yang fyang at openjdk.org
Thu May 16 06:47:01 UTC 2024


On Wed, 15 May 2024 09:34:11 GMT, Robbin Ehn <rehn at openjdk.org> wrote:

> Hi, please consider!
> 
> Materializing a 48-bit pointer, using an additional register, we can do with:
> lui + lui + slli + add + addi
> This 15% faster both on VF2 and in CPU models, compared to movptr().
> 
> As we often materialize during calls there is free registers.
> 
> I have choose just a few spot to use it, many more can use.
> E.g. la() with tmp register can use li48 instead of movptr.
> 
> Running tests now (so far so good), as if I screwed up IC calls it should be seen fast.
> And benchmarks when hardware is free.

Hi, This looks interesting. Could all the movptr callsites be changed? I am asking this as I am a bit worried about the complexity / reward ratio when we have both movptr and li48 which are the same in functionality.

-------------

PR Review: https://git.openjdk.org/jdk/pull/19246#pullrequestreview-2059730141


More information about the hotspot-dev mailing list