RFR: 8339507: Test generation tool and gtest for testing APX encoding of extended gpr instructions

hanklo6 duke at openjdk.org
Wed Sep 25 21:12:52 UTC 2024


Add test generation tool and gtest for testing APX encoding of instructions with extended general-purpose registers.

Intel Advanced Performance Extensions (APX) doubles the number of general-purpose registers, from 16 to 32. For more information about APX, see https://www.intel.com/content/www/us/en/developer/articles/technical/advanced-performance-extensions-apx.html.

By specification, instruction encoding remains unchanged for instructions using only the lower 16 GPRs. For cases where one or more instruction operands reference extended GPRs (Egprs), encoding targets either REX2, an extension of REX encoding, or an extended version of EVEX encoding. These new encoding schemes extend or modify existing instruction prefixes only when Egprs are used.

### Generate test instructions
With `binutils = 2.43`
* `python3 x86-asmtest.py > asmtest.out.h`
### Run test
*  `make test TEST="gtest:AssemblerX86"`

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

Commit messages:
 - Remove tab
 - Remove whitespace
 - Replace whitespace with tab
 - Add flag before testing
 - Fix assertion error on MacOS
 - Add _LP64 flag
 - Add missing header
 - Remove unused tests
 - The Shift count must be less than 32
 - Add ResourceMark to avoid memory leak
 - ... and 3 more: https://git.openjdk.org/jdk/compare/c3711dc9...2f258ba9

Changes: https://git.openjdk.org/jdk/pull/20857/files
  Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=20857&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8339507
  Stats: 46725 lines in 3 files changed: 46725 ins; 0 del; 0 mod
  Patch: https://git.openjdk.org/jdk/pull/20857.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/20857/head:pull/20857

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


More information about the hotspot-compiler-dev mailing list