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

Srinivas Vamsi Parasa sparasa at openjdk.org
Wed May 21 00:10:57 UTC 2025


On Sun, 18 May 2025 01:20:30 GMT, Jatin Bhateja <jbhateja at openjdk.org> wrote:

>> Srinivas Vamsi Parasa has updated the pull request incrementally with one additional commit since the last revision:
>> 
>>   Update x86-asmtest.py to enable demotion by default and make test generation optional
>
> src/hotspot/cpu/x86/assembler_x86.cpp line 12942:
> 
>> 12940: }
>> 12941: 
>> 12942: void Assembler::evex_opcode_prefix_and_encode(int dst_enc, int nds_enc, int src_enc, int8_t imm8, VexSimdPrefix pre, VexOpcode opc,
> 
> Only difference b/w this method and one below is that it accepts an immediate shift count and modifies the opcode if we domete the instruction to legacy / REX2 variant.
> 
> Demotion logic and rest of the logic is exaclty same.  Should we merge these into one and then based on the incoming opcode i.e. if its 0x24 or 0x2C we chonsider immediate shift and associated opcode pruning if demoted.

The method below this got merged with the swap version and got bulkier.

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

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


More information about the hotspot-compiler-dev mailing list