With JDK-8351666 we get 398 MachRegisterNumbers elements in hotspot/variant-server/gensrc/adfiles/adGlobals_ppc.hpp.
Some of these registers like R0 and R13 as well as VSR0-31 (aliases for F0-F31) are never allocated. We could try to remove these registers from the RegMask.
A simpler solution would be to implement the 32 Vector Registers and remove the 64 Vector Scalar Registers (which are nothing else than 32 Floating Point Registers + 32 Vector Registers).
Conversion functions between VectorRegister and VectorSRegister are already available.
Some of these registers like R0 and R13 as well as VSR0-31 (aliases for F0-F31) are never allocated. We could try to remove these registers from the RegMask.
A simpler solution would be to implement the 32 Vector Registers and remove the 64 Vector Scalar Registers (which are nothing else than 32 Floating Point Registers + 32 Vector Registers).
Conversion functions between VectorRegister and VectorSRegister are already available.
- relates to
-
JDK-8351666 [PPC64] Make non-volatile VectorRegisters available for C2 register allocation
-
- Resolved
-