RFR: 8351994: Enable Extended EVEX to REX2/REX demotion when src and dst are the same [v11]
Srinivas Vamsi Parasa
sparasa at openjdk.org
Wed Apr 23 19:29:27 UTC 2025
> 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 with a new target base due to a merge or a rebase. The pull request now contains 11 commits:
- merge master
- rename demote flag to optimize_rax_dst in emit_arith
- fix emit_arith_ndd discrepancy
- refactor imul instructions to fold demotion logic inside
- refactor APX NDD shift instrcutions to do demotion internally
- RRM refactorted to use a unified evex_ndd_and_int8 function
- RRM refactoring works for exorb and exorw
- refactor RRM instructions to avoid explicit demotion
- refactor esetzucc to do encoding without a demote flag
- Disable demotion for esetzucc and cleanup code
- ... and 1 more: https://git.openjdk.org/jdk/compare/2ec61f0f...a494e423
-------------
Changes: https://git.openjdk.org/jdk/pull/24431/files
Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=24431&range=10
Stats: 3753 lines in 5 files changed: 1415 ins; 430 del; 1908 mod
Patch: https://git.openjdk.org/jdk/pull/24431.diff
Fetch: git fetch https://git.openjdk.org/jdk.git pull/24431/head:pull/24431
PR: https://git.openjdk.org/jdk/pull/24431
More information about the hotspot-compiler-dev
mailing list