RFR: 8256267: Relax compiler/floatingpoint/NaNTest.java for x86_32 and lower -XX:+UseSSE

Aleksey Shipilev shade at openjdk.java.net
Thu Nov 12 13:11:04 UTC 2020


Reproduces like this:

$ CONF=linux-x86-server-fastdebug make images run-test TEST=compiler/floatingpoint/NaNTest.java TEST_VM_OPTS="-XX:UseSSE=1"

STDOUT:
### NanTest started
Written and read back float values match
0x7F800001 0x7F800001
STDERR:
java.lang.RuntimeException: Original and read back double values mismatch
0xFFF0000000000001 0xFFF8000000000001

at compiler.floatingpoint.NaNTest.testDouble(NaNTest.java:56)
at compiler.floatingpoint.NaNTest.main(NaNTest.java:69)

After reading through [JDK-8076373](https://bugs.openjdk.java.net/browse/JDK-8076373), I think the test cannot be expected to pass without SSE >= 2 for doubles, and SSE >= 1 for floats on x86_32. This change adds the platform and UseSSE sensing to test.

Additional testing:
 - [x] Affected test on Linux x86_32 with `-XX:UseSSE={0,1,2}`
 - [x] Affected test on Linux x86_64 with `-XX:UseSSE={0,1,2}`
 - [x] Affected test on Linux AArch64

-------------

Commit messages:
 - 8256267: Relax compiler/floatingpoint/NaNTest.java for x86_32 and lower -XX:+UseSSE

Changes: https://git.openjdk.java.net/jdk/pull/1187/files
 Webrev: https://webrevs.openjdk.java.net/?repo=jdk&pr=1187&range=00
  Issue: https://bugs.openjdk.java.net/browse/JDK-8256267
  Stats: 59 lines in 1 file changed: 41 ins; 11 del; 7 mod
  Patch: https://git.openjdk.java.net/jdk/pull/1187.diff
  Fetch: git fetch https://git.openjdk.java.net/jdk pull/1187/head:pull/1187

PR: https://git.openjdk.java.net/jdk/pull/1187


More information about the hotspot-compiler-dev mailing list