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

Sandhya Viswanathan sviswanathan at openjdk.org
Wed May 21 21:30:59 UTC 2025


On Thu, 15 May 2025 01:24:51 GMT, Srinivas Vamsi Parasa <sparasa at openjdk.org> wrote:

>> Intel APX NDD instructions are encoded using EVEX encoding. The goal of this PR is to enable optimized instruction encoding for Intel APX NDD instructions when the non-destructive destination is same as the first source.
>> 
>> For example:
>> 
>> `eaddl r18, r18, r25` can be encoded as `addl r18, r25` using APX REX2 encoding
>> `eaddl r2, r2, r7` can be encoded as `addl r2, r7` using non-APX legacy encoding
>
> Srinivas Vamsi Parasa has updated the pull request incrementally with one additional commit since the last revision:
> 
>   Fix for UseAddressNop related failure

src/hotspot/cpu/x86/vm_version_x86.cpp line 1635:

> 1633:       UseStoreImmI16 = false; // don't use it on Intel cpus
> 1634:     }
> 1635:     if (cpu_family() == 6 || cpu_family() == 15 || cpu_family() == 18 || cpu_family() == 19) {

This could be written as if (is_P6_or_later() || cpu_family() == 15)

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

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


More information about the hotspot-compiler-dev mailing list