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

Sandhya Viswanathan sviswanathan at openjdk.org
Fri May 2 23:14:51 UTC 2025


On Fri, 2 May 2025 22:48:02 GMT, Srinivas Vamsi Parasa <sparasa at openjdk.org> wrote:

>> The current scheme for Intel APX NDD code generation favors the emission of NDD instruction on APX-enabled targets, even if destination and source registers are the same. To prevent this, this PR extends the assembler layer to demote EEVEX to REX encoding if dst matches with source operands.
>
> Srinivas Vamsi Parasa has updated the pull request incrementally with one additional commit since the last revision:
> 
>   more clarifying comments next to boolean literals

src/hotspot/cpu/x86/assembler_x86.hpp line 807:

> 805: 
> 806:   void evex_prefix_int8_operand_ndd(Register dst, Register src1, Address src2, VexSimdPrefix pre, VexOpcode opc,
> 807:                                     InstructionAttr *attributes, int byte1, bool use_prefixq = false, bool no_flags = false, bool is_map1 = true);

Looks like this function is not being used and could be removed.

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

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


More information about the hotspot-compiler-dev mailing list