I found this during the work of JDK-8302139.
This test bug means that multiple tests are ignored on intel machines. We have to replace "sse4_1" with "sse4.1".
As [~kvn] said:
sse4_1 comes from /proc/cpuinfo. sse4.1 is in CPU_FEATURE_FLAGS and produced by VM output. IR framework gets info from WHITE_BOX.getCPUFeatures() which calls VM_Version::features_string(). So you are right tests should use sse4.1
grep "sse4" test/hotspot/jtreg/compiler/ -r
test/hotspot/jtreg/compiler/vectorization/runner/BasicIntOpTest.java: @IR(applyIfCPUFeatureOr = {"asimd", "true", "sse4_1", "true"},
test/hotspot/jtreg/compiler/vectorization/runner/BasicIntOpTest.java: @IR(applyIfCPUFeatureOr = {"asimd", "true", "sse4_1", "true"},
test/hotspot/jtreg/compiler/vectorization/runner/BasicIntOpTest.java: @IR(applyIfCPUFeatureOr = {"asimd", "true", "sse4_1", "true"},
test/hotspot/jtreg/compiler/vectorization/runner/MultipleLoopsTest.java: @IR(applyIfCPUFeatureOr = {"asimd", "true", "sse4_1", "true"},
test/hotspot/jtreg/compiler/vectorization/runner/MultipleLoopsTest.java: @IR(applyIfCPUFeatureOr = {"asimd", "true", "sse4_1", "true"},
test/hotspot/jtreg/compiler/vectorization/runner/BasicByteOpTest.java: @IR(applyIfCPUFeatureOr = {"asimd", "true", "sse4_1", "true"},
test/hotspot/jtreg/compiler/vectorization/runner/BasicByteOpTest.java: @IR(applyIfCPUFeatureOr = {"asimd", "true", "sse4_1", "true"},
test/hotspot/jtreg/compiler/vectorization/runner/BasicByteOpTest.java: @IR(applyIfCPUFeatureOr = {"asimd", "true", "sse4_1", "true"},
test/hotspot/jtreg/compiler/vectorization/runner/BasicByteOpTest.java: @IR(applyIfCPUFeatureOr = {"asimd", "true", "sse4_1", "true"},
test/hotspot/jtreg/compiler/vectorization/runner/BasicByteOpTest.java: @IR(applyIfCPUFeatureOr = {"asimd", "true", "sse4_1", "true"},
test/hotspot/jtreg/compiler/vectorization/runner/BasicByteOpTest.java: @IR(applyIfCPUFeatureOr = {"asimd", "true", "sse4_1", "true"},
test/hotspot/jtreg/compiler/vectorization/runner/BasicLongOpTest.java: @IR(applyIfCPUFeatureOr = {"sve", "true", "sse4_1", "true"},
test/hotspot/jtreg/compiler/vectorization/runner/BasicLongOpTest.java: @IR(applyIfCPUFeatureOr = {"sve", "true", "sse4_1", "true"},
test/hotspot/jtreg/compiler/vectorization/runner/BasicLongOpTest.java: @IR(applyIfCPUFeatureOr = {"sve", "true", "sse4_1", "true"},
test/hotspot/jtreg/compiler/vectorization/runner/LoopLiveOutNodesTest.java: @IR(applyIfCPUFeatureOr = {"asimd", "true", "sse4_1", "true"},
test/hotspot/jtreg/compiler/vectorization/runner/LoopArrayIndexComputeTest.java: @IR(applyIfCPUFeatureOr = {"asimd", "true", "sse4_1", "true"},
test/hotspot/jtreg/compiler/vectorization/runner/LoopArrayIndexComputeTest.java: @IR(applyIfCPUFeatureOr = {"asimd", "true", "sse4_1", "true"},
test/hotspot/jtreg/compiler/vectorization/runner/LoopArrayIndexComputeTest.java: @IR(applyIfCPUFeatureOr = {"asimd", "true", "sse4_1", "true"},
test/hotspot/jtreg/compiler/vectorization/runner/LoopArrayIndexComputeTest.java: @IR(applyIfCPUFeatureOr = {"asimd", "true", "sse4_1", "true"},
test/hotspot/jtreg/compiler/vectorization/runner/LoopRangeStrideTest.java: @IR(applyIfCPUFeatureOr = {"asimd", "true", "sse4_1", "true"},
test/hotspot/jtreg/compiler/vectorization/runner/LoopRangeStrideTest.java: @IR(applyIfCPUFeatureOr = {"asimd", "true", "sse4_1", "true"},
test/hotspot/jtreg/compiler/vectorization/runner/LoopRangeStrideTest.java: @IR(applyIfCPUFeatureOr = {"asimd", "true", "sse4_1", "true"},
test/hotspot/jtreg/compiler/vectorization/runner/LoopRangeStrideTest.java: @IR(applyIfCPUFeatureOr = {"asimd", "true", "sse4_1", "true"},
test/hotspot/jtreg/compiler/vectorization/runner/LoopCombinedOpTest.java: @IR(applyIfCPUFeatureOr = {"asimd", "true", "sse4_1", "true"},
test/hotspot/jtreg/compiler/vectorization/runner/LoopCombinedOpTest.java: @IR(applyIfCPUFeatureOr = {"asimd", "true", "sse4_1", "true"},
test/hotspot/jtreg/compiler/vectorization/runner/LoopCombinedOpTest.java: @IR(applyIfCPUFeatureOr = {"asimd", "true", "sse4_1", "true"},
test/hotspot/jtreg/compiler/vectorization/runner/LoopCombinedOpTest.java: @IR(applyIfCPUFeatureOr = {"asimd", "true", "sse4_1", "true"},
test/hotspot/jtreg/compiler/vectorization/runner/LoopCombinedOpTest.java: @IR(applyIfCPUFeatureOr = {"asimd", "true", "sse4_1", "true"},
test/hotspot/jtreg/compiler/vectorization/runner/LoopCombinedOpTest.java: @IR(applyIfCPUFeatureOr = {"asimd", "true", "sse4_1", "true"},
test/hotspot/jtreg/compiler/c2/cr7200264/TestSSE4IntVect.java: * @requires vm.cpu.features ~= ".*sse4\\.1.*" & vm.debug & vm.flavor == "server"
test/hotspot/jtreg/compiler/arraycopy/stress/TestStressArrayCopy.java: if (containsFuzzy(cpuFeatures, "sse4")) {
test/hotspot/jtreg/compiler/vectorapi/TestVectorTest.java: * @requires (os.simpleArch == "x64" & vm.cpu.features ~= ".*sse4.*" & (vm.opt.UseSSE == "null" | vm.opt.UseSSE > 3))
test/hotspot/jtreg/compiler/cpuflags/TestSSE4Disabled.java: * @requires vm.cpu.features ~= ".*sse4.*"
When I quickly ran one of them, I got this reported back to me:
[IREncodingPrinter] Disabling IR matching for rule 1 of 1 in opWithConstantAndLoopInvariant: None of the feature constraints met (applyIfCPUFeatureOr): asimd, true, sse4_1, true
[IREncodingPrinter] Disabling IR matching for rule 1 of 1 in partialVectorizableLoop: None of the feature constraints met (applyIfCPUFeatureOr): asimd, true, sse4_1, true
[IREncodingPrinter] Disabling IR matching for rule 1 of 1 in opWithLoopInvariant: None of the feature constraints met (applyIfCPUFeatureOr): asimd, true, sse4_1, true
[IREncodingPrinter] Disabling IR matching for rule 1 of 1 in multipleOpsWithMultipleConstants: None of the feature constraints met (applyIfCPUFeatureOr): asimd, true, sse4_1, true
[IREncodingPrinter] Disabling IR matching for rule 1 of 1 in multipleStoresWithCommonSubExpression: None of the feature constraints met (applyIfCPUFeatureOr): asimd, true, sse4_1, true
[IREncodingPrinter] Disabling IR matching for rule 1 of 1 in manuallyUnrolledStride2: None of the feature constraints met (applyIfCPUFeatureOr): asimd, true, sse4_1, true