RFR: JDK-8331859 : [PPC64] Remove support for Power7 and older [v2]
Suchismith Roy
sroy at openjdk.org
Mon Apr 14 14:30:10 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.
Suchismith Roy has updated the pull request incrementally with eight additional commits since the last revision:
- indents
- indents
- mcpu flag
- superword
- further cleanup
- clean of power 7 instructions
- Removal of older P7 Instructions
- Removal of older P7 Instructions
-------------
Changes:
- all: https://git.openjdk.org/jdk/pull/20262/files
- new: https://git.openjdk.org/jdk/pull/20262/files/a40ad3b3..7edd2458
Webrevs:
- full: https://webrevs.openjdk.org/?repo=jdk&pr=20262&range=01
- incr: https://webrevs.openjdk.org/?repo=jdk&pr=20262&range=00-01
Stats: 842 lines in 20 files changed: 39 ins; 656 del; 147 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