Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-8302668

[TESTBUG] Tests require feature sse4_1 which does not exist, should be sse4.1

XMLWordPrintable

    • b11

      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

            epeter Emanuel Peter
            epeter Emanuel Peter
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

              Created:
              Updated:
              Resolved: