RFR: 8351666: [PPC64] Make non-volatile VectorRegisters available for C2 register allocation [v4]
Richard Reingruber
rrich at openjdk.org
Wed Apr 23 20:25:51 UTC 2025
On Wed, 23 Apr 2025 14:07:59 GMT, Richard Reingruber <rrich at openjdk.org> wrote:
> It might be that currently in master only VSR32, VSR36, VSR40, ... are actually used.
I've made an experiment asserting that the target register of a LoadVector is a multiple of 4:
https://github.com/reinrich/jdk/blob/a860064031213e3f334fba04b7314eb054d286a1/src/hotspot/cpu/ppc/ppc.ad#L5403
I've run
make test TEST="hotspot_vector_1 hotspot:tier1 jdk:tier1"
Without failure.
Similar assertion on top of this pr: https://github.com/reinrich/jdk/commit/39b8c1f3583cb34de87080351ef53beeb4e78a88
The assertion failed already during build (that's why I added `!UseNewCode`) and also running the tests.
So only every 4th vector register is actually used because the registers aren't declared as sequence of 4 VMRegs. Should be fixed also in older releases.
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/23987#discussion_r2056822229
More information about the hotspot-dev
mailing list