[jdk17u-dev] RFR: 8298472: AArch64: Detect Ampere-1 and Ampere-1A CPUs and set default options [v2]

Patrick Zhang qpzhang at openjdk.org
Tue Jan 31 06:25:45 UTC 2023


> Backport of CPU detection function for Ampere-1 and Ampere-1A, and performance enhancement with turning on UseSIMDForMemoryOps option for these two CPUs by default. Verified OpenJDK bundled JMH test cases, `make run-test TEST="micro:java.lang.ArrayCopy*"` , SIMD vs NoSIMD ratios are mostly positive as expected, aligned with that on jdk mainline. Low risk to other functions/systems due to the CPU detection logic.
> 
> Not a clean backport, manually resolved below conflicts, **no function change**:
> 1. Copyright years are `1997, 2021` in 17u-dev instead of the expected `1997, 2022` in two files
> 2. `@@ -132,7 +132,7 @@ void VM_Version::initialize()` should be 131 for 17u-dev
> 3. `@@ -144,6 +144,13 @@ void VM_Version::initialize() ` should be 143 for 17u-dev
> 4. The `enum Feature_Flag` in 17u-dev has been updated in jdk mainline to: declaring the macro `#define CPU_FEATURE_FLAGS` firstly then wrapping it inside the enum. So the line numbers are not aligned during doing `git apply`
> 
> FYI, a try-out: manually fixing these conflicts according to `git apply -v` in the patch file can make it applied cleanly. 
> 
> Additional tests done:
> 1. Linux aarch64 release tier1 on Ampere-1 system, without explicitly specifying UseSIMDForMemoryOps 
> 6. OpenJDK GHA Sanity Checks on forked repo: https://github.com/cnqpzhang/jdk17u-dev/actions/runs/3919027362
> 
> Backport-of: 706845743699efb01994e2d12c65023a3e972b77
> Signed-off-by: Patrick Zhang <patrick at os.amperecomputing.com>

Patrick Zhang has updated the pull request with a new target base due to a merge or a rebase. The pull request now contains two commits:

 - Merge branch 'master' into JDK-8298472-ampere-simd-memops
 - 8298472: AArch64: Detect Ampere-1 and Ampere-1A CPUs and set default options
   
   Backport-of: 706845743699efb01994e2d12c65023a3e972b77
   Signed-off-by: Patrick Zhang <patrick at os.amperecomputing.com>

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

Changes: https://git.openjdk.org/jdk17u-dev/pull/1067/files
 Webrev: https://webrevs.openjdk.org/?repo=jdk17u-dev&pr=1067&range=01
  Stats: 18 lines in 2 files changed: 15 ins; 0 del; 3 mod
  Patch: https://git.openjdk.org/jdk17u-dev/pull/1067.diff
  Fetch: git fetch https://git.openjdk.org/jdk17u-dev pull/1067/head:pull/1067

PR: https://git.openjdk.org/jdk17u-dev/pull/1067


More information about the jdk-updates-dev mailing list