-
Bug
-
Resolution: Unresolved
-
P3
-
25
-
x86_64
https://bugs.openjdk.org/browse/JDK-8353686 intrinsifies Math.cbrt API with optimized Libm intrinsic, but causes is a regression for special double values.
With Intrinsic Disabled:-
Benchmark Mode Cnt Score Error Units
CbrtPerf.CbrtPerfSpecialValues.cbrtDouble0 thrpt 2 1343559.770 ops/ms
CbrtPerf.CbrtPerfSpecialValues.cbrtDoubleInf thrpt 2 881930.283 ops/ms
CbrtPerf.CbrtPerfSpecialValues.cbrtDoubleNaN thrpt 2 973307.409 ops/ms
CbrtPerf.CbrtPerfSpecialValues.cbrtDoubleNegative0 thrpt 2 1342454.046 ops/ms
CbrtPerf.CbrtPerfSpecialValues.cbrtDoubleNegativeInf thrpt 2 880169.071 ops/ms
With Intrinsic Enabled:-
Benchmark Mode Cnt Score Error Units
CbrtPerf.CbrtPerfSpecialValues.cbrtDouble0 thrpt 2 293228.991 ops/ms
CbrtPerf.CbrtPerfSpecialValues.cbrtDoubleInf thrpt 2 329190.573 ops/ms
CbrtPerf.CbrtPerfSpecialValues.cbrtDoubleNaN thrpt 2 334625.414 ops/ms
CbrtPerf.CbrtPerfSpecialValues.cbrtDoubleNegative0 thrpt 2 270939.709 ops/ms
CbrtPerf.CbrtPerfSpecialValues.cbrtDoubleNegativeInf thrpt 2 328087.618 ops/ms
Intrinsic penalizes special case performance to optimize a more generic control path while Java implimentation handles them upfront.
With Intrinsic Disabled:-
Benchmark Mode Cnt Score Error Units
CbrtPerf.CbrtPerfSpecialValues.cbrtDouble0 thrpt 2 1343559.770 ops/ms
CbrtPerf.CbrtPerfSpecialValues.cbrtDoubleInf thrpt 2 881930.283 ops/ms
CbrtPerf.CbrtPerfSpecialValues.cbrtDoubleNaN thrpt 2 973307.409 ops/ms
CbrtPerf.CbrtPerfSpecialValues.cbrtDoubleNegative0 thrpt 2 1342454.046 ops/ms
CbrtPerf.CbrtPerfSpecialValues.cbrtDoubleNegativeInf thrpt 2 880169.071 ops/ms
With Intrinsic Enabled:-
Benchmark Mode Cnt Score Error Units
CbrtPerf.CbrtPerfSpecialValues.cbrtDouble0 thrpt 2 293228.991 ops/ms
CbrtPerf.CbrtPerfSpecialValues.cbrtDoubleInf thrpt 2 329190.573 ops/ms
CbrtPerf.CbrtPerfSpecialValues.cbrtDoubleNaN thrpt 2 334625.414 ops/ms
CbrtPerf.CbrtPerfSpecialValues.cbrtDoubleNegative0 thrpt 2 270939.709 ops/ms
CbrtPerf.CbrtPerfSpecialValues.cbrtDoubleNegativeInf thrpt 2 328087.618 ops/ms
Intrinsic penalizes special case performance to optimize a more generic control path while Java implimentation handles them upfront.
- caused by
-
JDK-8353686 Optimize Math.cbrt for x86 64 bit platforms
-
- Resolved
-