Hi Gustavo, thanks a lot for tracking this down!
The change looks good and I a can sponsor it once you get another review from the build group and the FC Extension Request was approved. In general I'd advise to sign the OCTLA [1] to get access to the Java SE TCK [2] as this contains quite a lot of additional conformance tests which can be quite valuable for changes like this. Regards, Volker [1] http://openjdk.java.net/legal/octla-java-se-8.pdf [2] http://openjdk.java.net/groups/conformance/JckAccess/ On Tue, Nov 22, 2016 at 1:43 AM, Gustavo Romero <grom...@linux.vnet.ibm.com> wrote: > Hi, > > Could the following change be reviewed, please? > > webrev 1/2: http://cr.openjdk.java.net/~gromero/8170153/ > webrev 2/2: http://cr.openjdk.java.net/~gromero/8170153/jdk/ > bug: https://bugs.openjdk.java.net/browse/JDK-8170153 > > It enables fdlibm optimization on Linux PPC64 LE & BE and hence speeds up the > StrictMath methods (in some cases up to 3x) on that platform. > > On PPC64 fdlibm optimization can be done without precision issues if > floating-point expression contraction is disable, i.e. if the compiler does > not > use floating-point multiply-add (FMA). For further details please refer to gcc > bug: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78386 > > No regression was observed on Math and StrictMath tests: > > Passed: java/lang/Math/AbsPositiveZero.java > Passed: java/lang/Math/Atan2Tests.java > Passed: java/lang/Math/CeilAndFloorTests.java > Passed: java/lang/Math/CubeRootTests.java > Passed: java/lang/Math/DivModTests.java > Passed: java/lang/Math/ExactArithTests.java > Passed: java/lang/Math/Expm1Tests.java > Passed: java/lang/Math/FusedMultiplyAddTests.java > Passed: java/lang/Math/HyperbolicTests.java > Passed: java/lang/Math/HypotTests.java > Passed: java/lang/Math/IeeeRecommendedTests.java > Passed: java/lang/Math/Log10Tests.java > Passed: java/lang/Math/Log1pTests.java > Passed: java/lang/Math/MinMax.java > Passed: java/lang/Math/MultiplicationTests.java > Passed: java/lang/Math/PowTests.java > Passed: java/lang/Math/Rint.java > Passed: java/lang/Math/RoundTests.java > Passed: java/lang/Math/SinCosCornerCasesTests.java > Passed: java/lang/Math/TanTests.java > Passed: java/lang/Math/WorstCaseTests.java > Test results: passed: 21 > > Passed: java/lang/StrictMath/CubeRootTests.java > Passed: java/lang/StrictMath/ExactArithTests.java > Passed: java/lang/StrictMath/Expm1Tests.java > Passed: java/lang/StrictMath/HyperbolicTests.java > Passed: java/lang/StrictMath/HypotTests.java > Passed: java/lang/StrictMath/Log10Tests.java > Passed: java/lang/StrictMath/Log1pTests.java > Passed: java/lang/StrictMath/PowTests.java > Test results: passed: 8 > > and also on the following hotspot tests: > > Passed: compiler/intrinsics/mathexact/sanity/AddExactIntTest.java > Passed: compiler/intrinsics/mathexact/sanity/AddExactLongTest.java > Passed: compiler/intrinsics/mathexact/sanity/DecrementExactIntTest.java > Passed: compiler/intrinsics/mathexact/sanity/DecrementExactLongTest.java > Passed: compiler/intrinsics/mathexact/sanity/IncrementExactIntTest.java > Passed: compiler/intrinsics/mathexact/sanity/IncrementExactLongTest.java > Passed: compiler/intrinsics/mathexact/sanity/MultiplyExactIntTest.java > Passed: compiler/intrinsics/mathexact/sanity/MultiplyExactLongTest.java > Passed: compiler/intrinsics/mathexact/sanity/NegateExactIntTest.java > Passed: compiler/intrinsics/mathexact/sanity/NegateExactLongTest.java > Passed: compiler/intrinsics/mathexact/sanity/SubtractExactIntTest.java > Passed: compiler/intrinsics/mathexact/sanity/SubtractExactLongTest.java > Passed: compiler/intrinsics/mathexact/AddExactICondTest.java > Passed: compiler/intrinsics/mathexact/AddExactIConstantTest.java > Passed: compiler/intrinsics/mathexact/AddExactILoadTest.java > Passed: compiler/intrinsics/mathexact/AddExactILoopDependentTest.java > Passed: compiler/intrinsics/mathexact/AddExactINonConstantTest.java > Passed: compiler/intrinsics/mathexact/AddExactIRepeatTest.java > Passed: compiler/intrinsics/mathexact/AddExactLConstantTest.java > Passed: compiler/intrinsics/mathexact/AddExactLNonConstantTest.java > Passed: compiler/intrinsics/mathexact/CompareTest.java > Passed: compiler/intrinsics/mathexact/DecExactITest.java > Passed: compiler/intrinsics/mathexact/DecExactLTest.java > Passed: compiler/intrinsics/mathexact/GVNTest.java > Passed: compiler/intrinsics/mathexact/IncExactITest.java > Passed: compiler/intrinsics/mathexact/IncExactLTest.java > Passed: compiler/intrinsics/mathexact/MulExactICondTest.java > Passed: compiler/intrinsics/mathexact/MulExactIConstantTest.java > Passed: compiler/intrinsics/mathexact/MulExactILoadTest.java > Passed: compiler/intrinsics/mathexact/MulExactILoopDependentTest.java > Passed: compiler/intrinsics/mathexact/MulExactINonConstantTest.java > Passed: compiler/intrinsics/mathexact/MulExactIRepeatTest.java > Passed: compiler/intrinsics/mathexact/MulExactLConstantTest.java > Passed: compiler/intrinsics/mathexact/MulExactLNonConstantTest.java > Passed: compiler/intrinsics/mathexact/NegExactIConstantTest.java > Passed: compiler/intrinsics/mathexact/NegExactILoadTest.java > Passed: compiler/intrinsics/mathexact/NegExactILoopDependentTest.java > Passed: compiler/intrinsics/mathexact/NegExactINonConstantTest.java > Passed: compiler/intrinsics/mathexact/NegExactLConstantTest.java > Passed: compiler/intrinsics/mathexact/NegExactLNonConstantTest.java > Passed: compiler/intrinsics/mathexact/NestedMathExactTest.java > Passed: compiler/intrinsics/mathexact/SplitThruPhiTest.java > Passed: compiler/intrinsics/mathexact/SubExactICondTest.java > Passed: compiler/intrinsics/mathexact/SubExactIConstantTest.java > Passed: compiler/intrinsics/mathexact/SubExactILoadTest.java > Passed: compiler/intrinsics/mathexact/SubExactILoopDependentTest.java > Passed: compiler/intrinsics/mathexact/SubExactINonConstantTest.java > Passed: compiler/intrinsics/mathexact/SubExactIRepeatTest.java > Passed: compiler/intrinsics/mathexact/SubExactLConstantTest.java > Passed: compiler/intrinsics/mathexact/SubExactLNonConstantTest.java > Test results: passed: 50 > > Thank you. > > > Regards, > Gustavo >