RFR: 8354348: Enable Extended EVEX to REX2/REX demotion for commutative operations with same dst and src2 [v5]
Jatin Bhateja
jbhateja at openjdk.org
Thu Sep 11 17:18:51 UTC 2025
On Thu, 11 Sep 2025 00:45:45 GMT, Srinivas Vamsi Parasa <sparasa at openjdk.org> wrote:
>> This change extends Extended EVEX (EEVEX) to REX2/REX demotion for Intel APX NDD instructions to handle commutative operations when the destination register and the second source register (src2) are the same.
>>
>> Currently, EEVEX to REX2/REX demotion is only enabled when the first source (src1) and the destination are the same. This enhancement allows additional cases of valid demotion for commutative instructions (add, imul, and, or, xor).
>>
>> For example:
>> `eaddl r18, r25, r18` can be encoded as `addl r18, r25` using APX REX2 encoding
>> `eaddl r2, r7, r2` 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:
>
> undo new match rules for RegMemReg for commutative operations
Hi @vamsi-parasa , Thanks for addressing my comments.
-------------
Marked as reviewed by jbhateja (Reviewer).
PR Review: https://git.openjdk.org/jdk/pull/26997#pullrequestreview-3212908454
More information about the hotspot-compiler-dev
mailing list