RFR: 8351994: Enable Extended EVEX to REX2/REX demotion when src and dst are the same [v2]

Srinivas Vamsi Parasa sparasa at openjdk.org
Mon Apr 14 18:27:13 UTC 2025


On Fri, 11 Apr 2025 20:23:30 GMT, Sandhya Viswanathan <sviswanathan at openjdk.org> wrote:

>> Srinivas Vamsi Parasa has updated the pull request incrementally with one additional commit since the last revision:
>> 
>>   Disable demotion for esetzucc and cleanup code
>
> src/hotspot/cpu/x86/assembler_x86.cpp line 17181:
> 
>> 17179:   InstructionAttr attributes(AVX_128bit, /* vex_w */ false, /* legacy_mode */ false, /* no_mask_reg */ true, /* uses_vl */ false);
>> 17180:   // Encoding Format : eevex_prefix (4 bytes) | opcode_cc | modrm
>> 17181:   int encode =  evex_prefix_and_encode_ndd(0, 0, dst->encoding(), VEX_SIMD_F2, /* MAP4 */VEX_OPCODE_0F_3C, &attributes, false, false, false); // demotion disabled
> 
> Instead of adding the demote flag, the better way to do this is by adding a single register evex_prefix_and encode_ndd:
> evex_prefix_and_encode_ndd(dst->encoding(), VEX_SIMD_F2, /* MAP4 */VEX_OPCODE_0F_3C, &attributes);

Please see the suggested change incorporated in to the recently pushed update.

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

PR Review Comment: https://git.openjdk.org/jdk/pull/24431#discussion_r2042681146


More information about the hotspot-compiler-dev mailing list