RFR: 8349582: APX NDD code generation for OpenJDK [v13]

Srinivas Vamsi Parasa sparasa at openjdk.org
Thu Mar 13 16:49:18 UTC 2025


> The goal of this PR is to generate x86 code using Intel Advanced Performance Extensions (APX) instructions which doubles the number of general-purpose registers, from 16 to 32. Intel APX adds nondestructive destination (NDD) and no flags (NF) flavor for the scalar instructions through EVEX encoding.
> 
> For more information about APX, see https://www.intel.com/content/www/us/en/developer/articles/technical/advanced-performance-extensions-apx.html.

Srinivas Vamsi Parasa has updated the pull request with a new target base due to a merge or a rebase. The incremental webrev excludes the unrelated changes brought in by the merge/rebase. The pull request contains 15 additional commits since the last revision:

 - Merge branch 'master' of https://git.openjdk.java.net/jdk into ndd_codegen_jdk
 - Cleanup BoxLockNode and XXX comments
 - undo changes to testing implementation
 - undo BoxLock node fix
 - restore eorl for RIR
 - Remove randomly generated test_reg2 for dst= rax test
 - Update copyright; remove extra lines
 - remove unused expand blocks;ndd version of orL_rReg_castP2X
 - ndd version of cmov eq/ne
 - remove APX support when bmi2 support is absent
 - ... and 5 more: https://git.openjdk.org/jdk/compare/c29a8d91...a12598b1

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

Changes:
  - all: https://git.openjdk.org/jdk/pull/23501/files
  - new: https://git.openjdk.org/jdk/pull/23501/files/51d0e0d4..a12598b1

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=jdk&pr=23501&range=12
 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=23501&range=11-12

  Stats: 104542 lines in 2595 files changed: 53525 ins; 33952 del; 17065 mod
  Patch: https://git.openjdk.org/jdk/pull/23501.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/23501/head:pull/23501

PR: https://git.openjdk.org/jdk/pull/23501


More information about the hotspot-compiler-dev mailing list