RFR: 8262355: Support for AVX-512 opmask register allocation. [v4]

Jatin Bhateja jbhateja at openjdk.java.net
Wed Mar 10 15:47:33 UTC 2021


On Fri, 5 Mar 2021 13:49:41 GMT, Vladimir Ivanov <vlivanov at openjdk.org> wrote:

>> Jatin Bhateja has updated the pull request incrementally with one additional commit since the last revision:
>> 
>>   8262355: Some synthetic changes for cleanup.
>
> src/hotspot/cpu/x86/register_x86.hpp line 260:
> 
>> 258: 
>> 259:     number_of_registers = RegisterImpl::number_of_registers * RegisterImpl::max_slots_per_register +
>> 260:       2 * FloatRegisterImpl::number_of_registers + NOT_LP64(8) LP64_ONLY(0) +
> 
> Can you elaborate, please, why 8 more slots are needed on x86_32?

This is to cover for additional FILL0-7 definitions present only for 32 bit JVM

> src/hotspot/cpu/x86/sharedRuntime_x86_64.cpp line 110:
> 
>> 108:     DEF_YMM_OFFS(0),
>> 109:     DEF_YMM_OFFS(1),
>> 110:     // 2..7 are implied in range usage
> 
> The comment is wrongly placed: it reads as if `2..7` were related to `DEF_YMM_OFFS` while it refers to `DEF_OPMASK_OFFS`.
> 
> Also, what about moving the declaration after `DEF_ZMM_UPPER_OFFS`? It's a bit weird to see `OPMASK` between `YMM` and `ZMM` declarations.

To make it consistent with XSAVE stack layout dumping opmask at 1088 offset, anyways space was reserved in the frame, just that we weren't using it.

> src/hotspot/cpu/x86/vmreg_x86.cpp line 75:
> 
>> 73: #define STACK_TYPE 3
>> 74: 
>> 75: //TODO: Case for KRegisters
> 
> Please, elaborate what is missing and how the missing code manifests at runtime.

Would seek your suggestion here. Can it wait for base patch

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

PR: https://git.openjdk.java.net/jdk/pull/2768


More information about the hotspot-compiler-dev mailing list