RFR: 8329032: C2 compiler register allocation support for APX EGPRs [v7]

Jatin Bhateja jbhateja at openjdk.org
Thu Jun 20 06:01:40 UTC 2024


On Wed, 19 Jun 2024 20:59:37 GMT, Sandhya Viswanathan <sviswanathan at openjdk.org> wrote:

>> src/hotspot/cpu/x86/assembler_x86.cpp line 11080:
>> 
>>> 11078: void Assembler::vpgatherdd(XMMRegister dst, Address src, XMMRegister mask, int vector_len) {
>>> 11079:   assert(VM_Version::supports_avx2(), "");
>>> 11080:   assert(!needs_eevex(src.base(), src.index()), "does not support extended gprs as BASE or INDEX of address operand");
>> 
>> Why this new assert in vpgatherdd?
>
> But the index here is xmm register which could be xmm16 to xmm31 so the assert needs to be corrected. Also good to have the similar assert in vpgatherdq.

That's correct, GATHER uses VSIB encoding where only base address is passed though a GPR while gather indexes are passed using vector register.

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

PR Review Comment: https://git.openjdk.org/jdk/pull/19042#discussion_r1646999007


More information about the hotspot-dev mailing list