JDK-8170153 : PPC64/s390x/aarch64: Poor StrictMath performance due to non-optimized compilation
  • Type: Bug
  • Component: core-libs
  • Sub-Component: java.lang
  • Affected Version: 8u112,9
  • Priority: P4
  • Status: Resolved
  • Resolution: Fixed
  • OS: linux
  • CPU: ppc,aarch64,s390x
  • Submitted: 2016-11-21
  • Updated: 2018-09-05
  • Resolved: 2016-12-02
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.
8u152Fixed 9 b148Fixed
Related Reports
Relates :  
Currently fdlibm optimization is disabled for PPC64/s390x/aarch64, as a consequence StrictMath methods like, but not limited to, sin(), cos(), and tan() perform poor. 

Switching on the O3 optimization on gcc can damage the precision of those methods, nonetheless it's possible to avoid that side effect and yet get the huge benefits from the -O3 optimization on PPC64/s390 if -ffp-contract=off is passed in addition to the -O3  optimization flag.
Added noreg-build tag based on Rob's suggestion

Changed to performance bug based on Alan's suggestion

Can we treat this as a performance bug rather than an enhancement?

Final review thread: http://mail.openjdk.java.net/pipermail/hotspot-dev/2016-November/025348.html

FC Extension Request Justification: the proposed change modifies shared build instructions but in effect it changes only the PPC64, s390x, and aarch64 fdlibm compilation flags. Risk: low. Does not affect any compilation flag of the Oracle platforms. Proposed Integration Date: as soon as granted. Remaining work: reviewed. http://cr.openjdk.java.net/~gromero/8170153/v2/ http://cr.openjdk.java.net/~gromero/8170153/v2/jdk/

I updated the JDK to include also aarch64 as Volker suggested and accordingly to what I've discussed with aph on IRC (OFTC/#openjdk).

We realized that the same reasoning also applies to Linux/s390 so I've updated this bug to also include s390x.

Initial discussion on the ML: http://mail.openjdk.java.net/pipermail/ppc-aix-port-dev/2016-November/002738.html Review thread: http://mail.openjdk.java.net/pipermail/ppc-aix-port-dev/2016-November/002751.html