RFR: JDK-8331859 : [PPC64] Remove support for Power7 and older

Suchismith Roy sroy at openjdk.org
Tue Mar 18 08:15:24 UTC 2025


JBS Issue: [JDK-8331859](https://bugs.openjdk.org/browse/JDK-8331859) 
Linux PPC64le requires Power8 since the beginning.
AIX requires Power8 with the new OpenXL based build ([JDK-8307520](https://bugs.openjdk.org/browse/JDK-8307520)). The old build has been removed in JDK 23 ([JDK-8327701](https://bugs.openjdk.org/browse/JDK-8327701)).
Linux PPC64 Big Endian is no longer officially supported (only kept alive for development, debugging and testing purposes).

The following checks for old processors are no longer needed:
8: VM_Version::has_lqarx()
7: VM_Version::has_popcntw()
6: VM_Version::has_cmpb()
5: VM_Version::has_popcntb()
These ones and some more checks for old instructions are no longer needed. All code which is no longer reachable when removing them should also get removed.
Checks like "PowerArchitecturePPC64 >= 8" (or older) can be removed.

Atomic::PlatformCmpxchg<1>::operator() can be simplified by using sub-word instructions (lharx, lbarx).

Temp registers can be removed from cmpxchgb and cmpxchgh.

Build flags "-mcpu=powerpc64 -mtune=power5" for Big Endian linux should get replaced by "-mcpu=power8 -mtune=power8" as already used for linux PPC64le.

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

Commit messages:
 - multiple loads causing issues
 - Merge branch 'master' into power8
 - Merge branch 'master' into power8
 - spaces
 - aix changes
 - adapt changes
 - Merge remote-tracking branch 'origin' into power8
 - Merge remote-tracking branch 'origin' into power8
 - Merge branch 'master' into power8
 - spaces and comments
 - ... and 7 more: https://git.openjdk.org/jdk/compare/ac76d8d6...a40ad3b3

Changes: https://git.openjdk.org/jdk/pull/20262/files
  Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=20262&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8331859
  Stats: 404 lines in 9 files changed: 0 ins; 342 del; 62 mod
  Patch: https://git.openjdk.org/jdk/pull/20262.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/20262/head:pull/20262

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


More information about the hotspot-dev mailing list