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

Vladimir Kozlov kvn at openjdk.org
Thu Feb 16 18:31:27 UTC 2023


On Thu, 16 Feb 2023 17:28:46 GMT, Emanuel Peter <epeter at openjdk.org> wrote:

> I found some IR tests where the `cpuFeature` was non-existant, so these rules were always ignored on intel machines.
> 
> To quote @vnkozlov :
> 
> 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
> 
> 
> Maybe the IR framework should check that we only use `cpuFeatures` that are in a verified list? That way we could avoid IR rules not being executed because of a typo / wrong copy. Filed RFE: [JDK-8302681](https://bugs.openjdk.org/browse/JDK-8302681)
> 
> This is the list of tests before my patch. They are not showing up after my patch, which means the tests are running now.
> Warnings are done with my other patch that I will integrate soon https://github.com/openjdk/jdk/pull/12589.
> 
> test/hotspot/jtreg/compiler/vectorization/runner/BasicIntOpTest.java
> [IREncodingPrinter] Disabling IR matching for rule 1 of 1 in vectorMul: None of the feature constraints met (applyIfCPUFeatureOr): asimd, true, sse4_1, true
> [IREncodingPrinter] Disabling IR matching for rule 1 of 1 in vectorMulSub: None of the feature constraints met (applyIfCPUFeatureOr): asimd, true, sse4_1, true
> [IREncodingPrinter] Disabling IR matching for rule 1 of 1 in vectorMulAdd: None of the feature constraints met (applyIfCPUFeatureOr): asimd, true, sse4_1, true
> 
> test/hotspot/jtreg/compiler/vectorization/runner/MultipleLoopsTest.java
> [IREncodingPrinter] Disabling IR matching for rule 1 of 1 in nestedLoopOuterNonCounted: None of the feature constraints met (applyIfCPUFeatureOr): asimd, true, sse4_1, true
> [IREncodingPrinter] Disabling IR matching for rule 1 of 1 in nestedLoopIndexCompute: None of the feature constraints met (applyIfCPUFeatureOr): asimd, true, sse4_1, true
> 
> test/hotspot/jtreg/compiler/vectorization/runner/BasicByteOpTest.java
> [IREncodingPrinter] Disabling IR matching for rule 1 of 1 in vectorMulSub: None of the feature constraints met (applyIfCPUFeatureOr): asimd, true, sse4_1, true
> [IREncodingPrinter] Disabling IR matching for rule 1 of 1 in vectorMul: None of the feature constraints met (applyIfCPUFeatureOr): asimd, true, sse4_1, true
> [IREncodingPrinter] Disabling IR matching for rule 1 of 1 in vectorUnsignedShiftRight: None of the feature constraints met (applyIfCPUFeatureOr): asimd, true, sse4_1, true
> [IREncodingPrinter] Disabling IR matching for rule 1 of 1 in vectorMulAdd: None of the feature constraints met (applyIfCPUFeatureOr): asimd, true, sse4_1, true
> [IREncodingPrinter] Disabling IR matching for rule 1 of 1 in vectorShiftLeft: None of the feature constraints met (applyIfCPUFeatureOr): asimd, true, sse4_1, true
> [IREncodingPrinter] Disabling IR matching for rule 1 of 1 in vectorSignedShiftRight: None of the feature constraints met (applyIfCPUFeatureOr): asimd, true, sse4_1, true
> 
> test/hotspot/jtreg/compiler/vectorization/runner/BasicLongOpTest.java
> [IREncodingPrinter] Disabling IR matching for rule 1 of 1 in vectorMulSub: None of the feature constraints met (applyIfCPUFeatureOr): sve, true, sse4_1, true
> [IREncodingPrinter] Disabling IR matching for rule 1 of 2 in vectorMulAdd: None of the feature constraints met (applyIfCPUFeatureOr): sve, true, sse4_1, true
> [IREncodingPrinter] Disabling IR matching for rule 2 of 2 in vectorMulAdd: None of the feature constraints met (applyIfCPUFeatureOr): sve, true, sse4_1, true
> 
> test/hotspot/jtreg/compiler/vectorization/runner/LoopLiveOutNodesTest.java
> [IREncodingPrinter] Disabling IR matching for rule 1 of 1 in SimpleIvUsed: None of the feature constraints met (applyIfCPUFeatureOr): asimd, true, sse4_1, true
> 
> test/hotspot/jtreg/compiler/vectorization/runner/LoopArrayIndexComputeTest.java
> [IREncodingPrinter] Disabling IR matching for rule 1 of 2 in indexWithInvariantAndConstant: None of the feature constraints met (applyIfCPUFeatureOr): asimd, true, sse4_1, true
> [IREncodingPrinter] Disabling IR matching for rule 2 of 2 in indexWithInvariantAndConstant: None of the feature constraints met (applyIfCPUFeatureOr): asimd, true, sse4_1, true
> [IREncodingPrinter] Disabling IR matching for rule 1 of 2 in indexPlusInvariant: None of the feature constraints met (applyIfCPUFeatureOr): asimd, true, sse4_1, true
> [IREncodingPrinter] Disabling IR matching for rule 2 of 2 in indexPlusInvariant: None of the feature constraints met (applyIfCPUFeatureOr): asimd, true, sse4_1, true
> 
> test/hotspot/jtreg/compiler/vectorization/runner/LoopRangeStrideTest.java
> [IREncodingPrinter] Disabling IR matching for rule 1 of 1 in countupLoopWithNegScale: None of the feature constraints met (applyIfCPUFeatureOr): asimd, true, sse4_1, true
> [IREncodingPrinter] Disabling IR matching for rule 1 of 1 in countDownLoop: None of the feature constraints met (applyIfCPUFeatureOr): asimd, true, sse4_1, true
> [IREncodingPrinter] Disabling IR matching for rule 1 of 1 in countDownLoopWithNegScale: None of the feature constraints met (applyIfCPUFeatureOr): asimd, true, sse4_1, true
> [IREncodingPrinter] Disabling IR matching for rule 1 of 1 in shortInductionLoop: None of the feature constraints met (applyIfCPUFeatureOr): asimd, true, sse4_1, true
> 
> test/hotspot/jtreg/compiler/vectorization/runner/LoopCombinedOpTest.java
> [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

Good.

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

Marked as reviewed by kvn (Reviewer).

PR: https://git.openjdk.org/jdk/pull/12601


More information about the hotspot-compiler-dev mailing list