-
Bug
-
Resolution: Unresolved
-
P4
-
24, 25, 26
-
x86_64
import java.util.Random;
import java.util.Arrays;
public class test {
public static void micro(double [] dst, double [] src) {
for (int i = 0; i < 1024; i++) {
dst[i] = Math.tanh(src[i]);
}
}
public static void main(String [] args) {
Random R = new Random(1023);
double [] res = new double[1024];
double [] src = new double[1024];
for (int i = 0; i < 1024; i++) {
src[i] = 0.5;
}
for (int i = 0 ; i < 100000; i++) {
micro(res, src);
}
long t1 = System.currentTimeMillis();
for (int i = 0 ; i < 100000; i++) {
micro(res, src);
}
long t2 = System.currentTimeMillis();
System.out.println("[time] " + (t2-t1) + " ms [res] ");
}
}
GNR>java -XX:+UnlockDiagnosticVMOptions -Xbatch -XX:-TieredCompilation -XX:DisableIntrinsic=_dtanh -cp . test
GNR>### 0.1
GNR>java -XX:+UnlockDiagnosticVMOptions -Xbatch -XX:-TieredCompilation -XX:DisableIntrinsic=_dtanh -cp . test
[time] 1091 ms [res]
GNR>java -XX:+UnlockDiagnosticVMOptions -Xbatch -XX:-TieredCompilation -cp . test
[time] 1562 ms [res]
GNR>
GNR>
GNR>vi test.java
GNR>javac test.java
GNR>### 0.5
GNR>java -XX:+UnlockDiagnosticVMOptions -Xbatch -XX:-TieredCompilation -XX:DisableIntrinsic=_dtanh -cp . test
[time] 1349 ms [res]
GNR>java -XX:+UnlockDiagnosticVMOptions -Xbatch -XX:-TieredCompilation -cp . test
[time] 1547 ms [res]
GNR>
GNR>java --version
openjdk 25-ea 2025-09-16
OpenJDK Runtime Environment (build 25-ea+17-1966)
OpenJDK 64-Bit Server VM (build 25-ea+17-1966, mixed mode, sharing)
- caused by
-
JDK-8338694 x86_64 intrinsic for tanh using libm
-
- Resolved
-