RFR: JDK-8211061: Tests fail with assert(VM_Version::supports_sse4_1()) on ThreadRipper CPU

Roman Kennke rkennke at redhat.com
Mon Sep 24 19:29:36 UTC 2018


Some tests fail with:

# Internal Error
(/home/rkennke/src/openjdk/jdk-jdk/src/hotspot/cpu/x86/assembler_x86.cpp:3819),
pid=5051, tid=5055
# Error: assert(VM_Version::supports_sse4_1()) failed

When running hotspot/jtreg:tier1 on my ThreadRipper 1950X box. On my
Intel box, this works fine. It looks like it attempts to generate
fast_sha1 stubs, which use Assembler::pinsrd() but then runs into
supports_sse4_1().

The failing tier1 tests are:
compiler/c1/Test6579789.java
compiler/c1/Test6855215.java
compiler/cpuflags/TestSSE4Disabled.java

The failing tests seem to disable SSE4 or SSE altogether and check if it
still compiles fine. This does not go well for the SHA1 and SHA256 stubs
because they use SSE4.1 instructions. It seems that it compiles on my
Intel box because that doesn't support_sha(), and thus disables those
intrinsics altogether.

The proposed fix is to check for SSE4.1 present before enabling the
affected intrinsics.

Bug:
https://bugs.openjdk.java.net/browse/JDK-8211061
Webrev:
http://cr.openjdk.java.net/~rkennke/JDK-8211061/webrev.00/

Testing: hotspot/jtreg:tier1 failed before, now passes

Thanks,
Roman



More information about the hotspot-dev mailing list