RFR: 8262355: Support for AVX-512 opmask register allocation. [v11]
Vladimir Ivanov
vlivanov at openjdk.java.net
Thu Mar 18 11:34:41 UTC 2021
On Thu, 18 Mar 2021 03:35:44 GMT, Ningsheng Jian <njian at openjdk.org> wrote:
>> Jatin Bhateja has updated the pull request incrementally with one additional commit since the last revision:
>>
>> 8262355: Review comments resolutions.
>
> src/hotspot/cpu/x86/x86_32.ad line 271:
>
>> 269: // curruption of value held in K1 register.
>> 270: const_cast<RegMask*>(&_OPMASK_REG_mask)->Remove(OptoReg::as_OptoReg(k1->as_VMReg()));
>> 271: const_cast<RegMask*>(&_OPMASK_REG_mask)->Remove(OptoReg::as_OptoReg(k1->as_VMReg()->next()));
>
> Will changing your kReg operand by adding a new reg_class without k0/k1 or removing k0/k1 from opmask_reg (but keep in chunk2) be simpler?
I agree with @nsjian. Removing k0/k1 from `kReg` definition would be simpler and cleaner.
`reg_mask_init` handles 2 cases:
* RegMask depends on runtime conditions (e.g., `-XX:+/-PreserveFramePointer`);
* save on repetitive definitions and derive a reg mask from another definition (`_PTR_REG_mask`, `_LONG_NO_RAX_RDX_REG_mask`).
`kReg` doesn't fall into any of those categories.
-------------
PR: https://git.openjdk.java.net/jdk/pull/2768
More information about the hotspot-compiler-dev
mailing list