RFR: 8262355: Support for AVX-512 opmask register allocation. [v2]
Jatin Bhateja
jbhateja at openjdk.java.net
Fri Mar 5 10:04:08 UTC 2021
On Tue, 2 Mar 2021 11:43:31 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: Fix for AARCH64 build failure.
>
> src/hotspot/cpu/x86/gc/z/zBarrierSetAssembler_x86.cpp line 505:
>
>> 503: caller_saved.Insert(OptoReg::as_OptoReg(r10->as_VMReg()));
>> 504: caller_saved.Insert(OptoReg::as_OptoReg(r11->as_VMReg()));
>> 505: if (UseAVX > 2) {
>
> Similar question here: `ZSaveLiveRegisters` handles GP registers and vector registers differently. Why predicate registers are handled the same way GP registers are and not as vector registers?
Hi Vladimir,
ZGC load barriers embeds a CALL instruction which is not exposed to compiler, thus opmask registers which are caller saved as per X86 ABI are saved before making the call and later restored back.
-------------
PR: https://git.openjdk.java.net/jdk/pull/2768
More information about the hotspot-compiler-dev
mailing list