RFR: 8328998: Encoding support for Intel APX extended general-purpose registers [v23]
Steve Dohrmann
duke at openjdk.org
Tue May 21 16:56:23 UTC 2024
On Tue, 21 May 2024 06:03:16 GMT, Emanuel Peter <epeter at openjdk.org> wrote:
>> Steve Dohrmann has updated the pull request incrementally with one additional commit since the last revision:
>>
>> added comment about UseAPX and UseAVX > 2 correspondence
>
> src/hotspot/cpu/x86/assembler_x86.cpp line 1668:
>
>> 1666: void Assembler::andnl(Register dst, Register src1, Register src2) {
>> 1667: assert(VM_Version::supports_bmi1(), "bit manipulation instructions not supported");
>> 1668: assert(!needs_eevex(dst, src1, src2) || UseAPX, "extended gpr use requires UseAPX and UseAVX > 2");
>
> Technical detail: `UseAPX and UseAVX > 2` sounds wrong. Did you mean to say "or"? Because UseAPX is only enabled when `UseAVX >= 3`.
Thanks, see comment below.
> src/hotspot/cpu/x86/assembler_x86.cpp line 2036:
>
>> 2034: InstructionMark im(this);
>> 2035: if (needs_eevex(crc, adr.base(), adr.index())) {
>> 2036: assert(UseAPX, "extended gpr use requires UseAPX and UseAVX > 2");
>
> Maybe here the "and" makes sense, but not sure.
Yes, "and" is technically correct. APX includes instructions that require AVX 3 (evex) encoding for extended gpr use, together with +UseAPX.
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/18476#discussion_r1608653686
PR Review Comment: https://git.openjdk.org/jdk/pull/18476#discussion_r1608653580
More information about the hotspot-compiler-dev
mailing list