JDK-8331859 : [PPC64] Remove support for Power7 and older
  • Type: Enhancement
  • Component: hotspot
  • Sub-Component: compiler
  • Affected Version: 23
  • Priority: P4
  • Status: Resolved
  • Resolution: Fixed
  • CPU: ppc
  • Submitted: 2024-05-07
  • Updated: 2025-12-02
  • Resolved: 2025-05-26
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
JDK 25
25 b25Fixed
Related Reports
Causes :  
Causes :  
Causes :  
Relates :  
Sub Tasks
JDK-8357981 :  
Description
Linux PPC64le requires Power8 since the beginning.
AIX requires Power8 with the new OpenXL based build (JDK-8307520). The old build has been removed in JDK 23 (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.

os_aix.cpp contains code for old processors: PV_7, PV_7_Compat, etc.

Build flags "-mcpu=powerpc64 -mtune=power5" for Big Endian linux should get replaced by "-mcpu=power8 -mtune=power8" as already used for linux PPC64le.
Comments
Changeset: 5cdeef81 Branch: master Author: Suchismith Roy <sroy@openjdk.org> Committer: Varada M <varadam@openjdk.org> Date: 2025-05-26 08:25:46 +0000 URL: https://git.openjdk.org/jdk/commit/5cdeef81ddb4ff1a6160b112f0f8338514d7b0a7
26-05-2025

A pull request was submitted for review. Branch: master URL: https://git.openjdk.org/jdk/pull/20262 Date: 2024-07-19 17:32:09 +0000
18-03-2025