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