From 7ced08d4ec1b4aec534bd9061f52dd72fa2270f6 Mon Sep 17 00:00:00 2001 From: Jatin Bhateja Date: Sun, 22 Jan 2023 06:47:00 +0000 Subject: [PATCH] 8300638: Tier1 IR Test failure after JDK-8298632 on macosx-x64-debug Reviewed-by: kvn, pli --- .../runner/ArrayIndexFillTest.java | 1 + .../runner/ArrayInvariantFillTest.java | 1 + .../runner/ArrayShiftOpTest.java | 5 +-- .../runner/ArrayTypeConvertTest.java | 6 ++-- .../runner/BasicBooleanOpTest.java | 4 ++- .../vectorization/runner/BasicByteOpTest.java | 12 +++---- .../vectorization/runner/BasicCharOpTest.java | 2 +- .../runner/BasicDoubleOpTest.java | 35 +++++++++++++------ .../runner/BasicFloatOpTest.java | 29 ++++++++++----- .../vectorization/runner/BasicLongOpTest.java | 7 ++-- .../runner/LoopArrayIndexComputeTest.java | 13 +++---- .../runner/LoopCombinedOpTest.java | 14 ++++---- .../runner/LoopLiveOutNodesTest.java | 2 +- .../runner/LoopRangeStrideTest.java | 8 ++--- .../runner/LoopReductionOpTest.java | 11 +++--- .../runner/MultipleLoopsTest.java | 4 +-- 16 files changed, 94 insertions(+), 60 deletions(-) diff --git a/test/hotspot/jtreg/compiler/vectorization/runner/ArrayIndexFillTest.java b/test/hotspot/jtreg/compiler/vectorization/runner/ArrayIndexFillTest.java index 3694f3fc6a2..f9916fd63ec 100644 --- a/test/hotspot/jtreg/compiler/vectorization/runner/ArrayIndexFillTest.java +++ b/test/hotspot/jtreg/compiler/vectorization/runner/ArrayIndexFillTest.java @@ -35,6 +35,7 @@ * -XX:+WhiteBoxAPI * compiler.vectorization.runner.ArrayIndexFillTest * + * @requires (os.simpleArch == "x64") | (os.simpleArch == "aarch64") * @requires vm.compiler2.enabled & vm.flagless */ diff --git a/test/hotspot/jtreg/compiler/vectorization/runner/ArrayInvariantFillTest.java b/test/hotspot/jtreg/compiler/vectorization/runner/ArrayInvariantFillTest.java index fd99469570d..e4e68cc3fd7 100644 --- a/test/hotspot/jtreg/compiler/vectorization/runner/ArrayInvariantFillTest.java +++ b/test/hotspot/jtreg/compiler/vectorization/runner/ArrayInvariantFillTest.java @@ -36,6 +36,7 @@ * -XX:-OptimizeFill * compiler.vectorization.runner.ArrayInvariantFillTest * + * @requires (os.simpleArch == "x64") | (os.simpleArch == "aarch64") * @requires vm.compiler2.enabled & vm.flagless */ diff --git a/test/hotspot/jtreg/compiler/vectorization/runner/ArrayShiftOpTest.java b/test/hotspot/jtreg/compiler/vectorization/runner/ArrayShiftOpTest.java index 7db624c1fc4..1d73221a549 100644 --- a/test/hotspot/jtreg/compiler/vectorization/runner/ArrayShiftOpTest.java +++ b/test/hotspot/jtreg/compiler/vectorization/runner/ArrayShiftOpTest.java @@ -35,6 +35,7 @@ * -XX:+WhiteBoxAPI * compiler.vectorization.runner.ArrayShiftOpTest * + * @requires (os.simpleArch == "x64") | (os.simpleArch == "aarch64") * @requires vm.compiler2.enabled & vm.flagless */ @@ -70,7 +71,7 @@ public class ArrayShiftOpTest extends VectorizationTestRunner { } @Test - @IR(applyIfCPUFeatureOr = {"asimd", "true", "sse2", "true"}, + @IR(applyIfCPUFeatureOr = {"asimd", "true", "avx512f", "true"}, counts = {IRNode.STORE_VECTOR, ">0"}) @IR(applyIfCPUFeature = {"avx512f", "true"}, counts = {IRNode.ROTATE_RIGHT_V, ">0"}) @@ -83,7 +84,7 @@ public class ArrayShiftOpTest extends VectorizationTestRunner { } @Test - @IR(applyIfCPUFeatureOr = {"asimd", "true", "sse2", "true"}, + @IR(applyIfCPUFeatureOr = {"asimd", "true", "avx512f", "true"}, counts = {IRNode.STORE_VECTOR, ">0"}) @IR(applyIfCPUFeature = {"avx512f", "true"}, counts = {IRNode.ROTATE_RIGHT_V, ">0"}) diff --git a/test/hotspot/jtreg/compiler/vectorization/runner/ArrayTypeConvertTest.java b/test/hotspot/jtreg/compiler/vectorization/runner/ArrayTypeConvertTest.java index 3c4a1516f8e..b729fa8f998 100644 --- a/test/hotspot/jtreg/compiler/vectorization/runner/ArrayTypeConvertTest.java +++ b/test/hotspot/jtreg/compiler/vectorization/runner/ArrayTypeConvertTest.java @@ -176,7 +176,7 @@ public class ArrayTypeConvertTest extends VectorizationTestRunner { // ---------------- Convert Subword-I to F/D ---------------- @Test - @IR(applyIfCPUFeatureOr = {"asimd", "true", "avx", "true"}, + @IR(applyIfCPUFeatureOr = {"asimd", "true", "avx2", "true"}, counts = {IRNode.VECTOR_CAST_S2X, ">0"}) public float[] convertShortToFloat() { float[] res = new float[SIZE]; @@ -263,7 +263,7 @@ public class ArrayTypeConvertTest extends VectorizationTestRunner { // ---------------- Convert F/D to Subword-I ---------------- @Test - @IR(applyIfCPUFeatureOr = {"asimd", "true", "avx", "true"}, + @IR(applyIfCPUFeatureOr = {"asimd", "true", "avx2", "true"}, counts = {IRNode.VECTOR_CAST_F2X, ">0"}) public short[] convertFloatToShort() { short[] res = new short[SIZE]; @@ -274,7 +274,7 @@ public class ArrayTypeConvertTest extends VectorizationTestRunner { } @Test - @IR(applyIfCPUFeatureOr = {"asimd", "true", "avx", "true"}, + @IR(applyIfCPUFeatureOr = {"asimd", "true", "avx2", "true"}, counts = {IRNode.VECTOR_CAST_F2X, ">0"}) public char[] convertFloatToChar() { char[] res = new char[SIZE]; diff --git a/test/hotspot/jtreg/compiler/vectorization/runner/BasicBooleanOpTest.java b/test/hotspot/jtreg/compiler/vectorization/runner/BasicBooleanOpTest.java index 2fb14d87cdf..b4c5108c631 100644 --- a/test/hotspot/jtreg/compiler/vectorization/runner/BasicBooleanOpTest.java +++ b/test/hotspot/jtreg/compiler/vectorization/runner/BasicBooleanOpTest.java @@ -73,7 +73,9 @@ public class BasicBooleanOpTest extends VectorizationTestRunner { @Test @IR(applyIfCPUFeature = {"asimd", "true"}, counts = {IRNode.AND_V, ">0"}) - @IR(applyIfCPUFeature = {"avx512vl", "true"}, + @IR(applyIfCPUFeatureAnd = {"avx512f", "false", "sse2", "true"}, + counts = {IRNode.AND_V, ">0"}) + @IR(applyIfCPUFeature = {"avx512f", "true"}, counts = {IRNode.MACRO_LOGIC_V, ">0"}) public boolean[] vectorAnd() { boolean[] res = new boolean[SIZE]; diff --git a/test/hotspot/jtreg/compiler/vectorization/runner/BasicByteOpTest.java b/test/hotspot/jtreg/compiler/vectorization/runner/BasicByteOpTest.java index 6dfd02a1425..19f4ed230a6 100644 --- a/test/hotspot/jtreg/compiler/vectorization/runner/BasicByteOpTest.java +++ b/test/hotspot/jtreg/compiler/vectorization/runner/BasicByteOpTest.java @@ -107,7 +107,7 @@ public class BasicByteOpTest extends VectorizationTestRunner { } @Test - @IR(applyIfCPUFeatureOr = {"asimd", "true", "sse2", "true"}, + @IR(applyIfCPUFeatureOr = {"asimd", "true", "sse4_1", "true"}, counts = {IRNode.MUL_V, ">0"}) public byte[] vectorMul() { byte[] res = new byte[SIZE]; @@ -118,7 +118,7 @@ public class BasicByteOpTest extends VectorizationTestRunner { } @Test - @IR(applyIfCPUFeatureOr = {"asimd", "true", "sse2", "true"}, + @IR(applyIfCPUFeatureOr = {"asimd", "true", "sse4_1", "true"}, counts = {IRNode.MUL_V, ">0", IRNode.ADD_V, ">0"}) public byte[] vectorMulAdd() { byte[] res = new byte[SIZE]; @@ -129,7 +129,7 @@ public class BasicByteOpTest extends VectorizationTestRunner { } @Test - @IR(applyIfCPUFeatureOr = {"asimd", "true", "sse2", "true"}, + @IR(applyIfCPUFeatureOr = {"asimd", "true", "sse4_1", "true"}, counts = {IRNode.MUL_V, ">0", IRNode.SUB_V, ">0"}) public byte[] vectorMulSub() { byte[] res = new byte[SIZE]; @@ -186,7 +186,7 @@ public class BasicByteOpTest extends VectorizationTestRunner { // ---------------- Shift ---------------- @Test - @IR(applyIfCPUFeatureOr = {"asimd", "true", "sse2", "true"}, + @IR(applyIfCPUFeatureOr = {"asimd", "true", "sse4_1", "true"}, counts = {IRNode.LSHIFT_V, ">0"}) public byte[] vectorShiftLeft() { byte[] res = new byte[SIZE]; @@ -197,7 +197,7 @@ public class BasicByteOpTest extends VectorizationTestRunner { } @Test - @IR(applyIfCPUFeatureOr = {"asimd", "true", "sse2", "true"}, + @IR(applyIfCPUFeatureOr = {"asimd", "true", "sse4_1", "true"}, counts = {IRNode.RSHIFT_V, ">0"}) public byte[] vectorSignedShiftRight() { byte[] res = new byte[SIZE]; @@ -208,7 +208,7 @@ public class BasicByteOpTest extends VectorizationTestRunner { } @Test - @IR(applyIfCPUFeatureOr = {"asimd", "true", "sse2", "true"}, + @IR(applyIfCPUFeatureOr = {"asimd", "true", "sse4_1", "true"}, counts = {IRNode.RSHIFT_V, ">0"}) public byte[] vectorUnsignedShiftRight() { byte[] res = new byte[SIZE]; diff --git a/test/hotspot/jtreg/compiler/vectorization/runner/BasicCharOpTest.java b/test/hotspot/jtreg/compiler/vectorization/runner/BasicCharOpTest.java index 92d0c6a4f50..e43f5c888a6 100644 --- a/test/hotspot/jtreg/compiler/vectorization/runner/BasicCharOpTest.java +++ b/test/hotspot/jtreg/compiler/vectorization/runner/BasicCharOpTest.java @@ -77,7 +77,7 @@ public class BasicCharOpTest extends VectorizationTestRunner { } @Test - @IR(applyIfCPUFeatureOr = {"asimd", "true", "sse2", "true"}, + @IR(applyIfCPUFeatureOr = {"asimd", "true", "ssse3", "true"}, counts = {IRNode.STORE_VECTOR, ">0"}) @IR(failOn = {IRNode.ABS_V}) public char[] vectorAbs() { diff --git a/test/hotspot/jtreg/compiler/vectorization/runner/BasicDoubleOpTest.java b/test/hotspot/jtreg/compiler/vectorization/runner/BasicDoubleOpTest.java index d0ca441de74..9bb0c670c55 100644 --- a/test/hotspot/jtreg/compiler/vectorization/runner/BasicDoubleOpTest.java +++ b/test/hotspot/jtreg/compiler/vectorization/runner/BasicDoubleOpTest.java @@ -35,6 +35,7 @@ * -XX:+WhiteBoxAPI * compiler.vectorization.runner.BasicDoubleOpTest * + * @requires (os.simpleArch == "x64") | (os.simpleArch == "aarch64") * @requires vm.compiler2.enabled & vm.flagless */ @@ -96,7 +97,7 @@ public class BasicDoubleOpTest extends VectorizationTestRunner { } @Test - @IR(applyIfCPUFeatureOr = {"asimd", "true", "sse", "true"}, + @IR(applyIfCPUFeatureOr = {"asimd", "true", "avx", "true"}, counts = {IRNode.ROUND_DOUBLE_MODE_V, ">0"}) public double[] vectorCeil() { double[] res = new double[SIZE]; @@ -107,7 +108,7 @@ public class BasicDoubleOpTest extends VectorizationTestRunner { } @Test - @IR(applyIfCPUFeatureOr = {"asimd", "true", "sse4_1", "true"}, + @IR(applyIfCPUFeatureOr = {"asimd", "true", "avx", "true"}, counts = {IRNode.ROUND_DOUBLE_MODE_V, ">0"}) public double[] vectorFloor() { double[] res = new double[SIZE]; @@ -118,7 +119,7 @@ public class BasicDoubleOpTest extends VectorizationTestRunner { } @Test - @IR(applyIfCPUFeatureOr = {"asimd", "true", "sse4_1", "true"}, + @IR(applyIfCPUFeatureOr = {"asimd", "true", "avx", "true"}, counts = {IRNode.ROUND_DOUBLE_MODE_V, ">0"}) public double[] vectorRint() { double[] res = new double[SIZE]; @@ -173,7 +174,7 @@ public class BasicDoubleOpTest extends VectorizationTestRunner { } @Test - @IR(applyIfCPUFeatureOr = {"asimd", "true", "sse", "true"}, + @IR(applyIfCPUFeatureOr = {"asimd", "true", "avx", "true"}, counts = {IRNode.MAX_V, ">0"}) public double[] vectorMax() { double[] res = new double[SIZE]; @@ -184,7 +185,7 @@ public class BasicDoubleOpTest extends VectorizationTestRunner { } @Test - @IR(applyIfCPUFeatureOr = {"asimd", "true", "sse", "true"}, + @IR(applyIfCPUFeatureOr = {"asimd", "true", "avx", "true"}, counts = {IRNode.MIN_V, ">0"}) public double[] vectorMin() { double[] res = new double[SIZE]; @@ -195,7 +196,9 @@ public class BasicDoubleOpTest extends VectorizationTestRunner { } @Test - @IR(applyIfCPUFeatureOr = {"asimd", "true", "fma", "true"}, + @IR(applyIfCPUFeature = {"asimd", "true"}, + counts = {IRNode.FMA_V, ">0"}) + @IR(applyIfCPUFeatureAnd = {"fma", "true", "avx", "true"}, counts = {IRNode.FMA_V, ">0"}) public double[] vectorMulAdd() { double[] res = new double[SIZE]; @@ -206,7 +209,9 @@ public class BasicDoubleOpTest extends VectorizationTestRunner { } @Test - @IR(applyIfCPUFeatureOr = {"asimd", "true", "fma", "true"}, + @IR(applyIfCPUFeature = {"asimd", "true"}, + counts = {IRNode.FMA_V, ">0"}) + @IR(applyIfCPUFeatureAnd = {"fma", "true", "avx", "true"}, counts = {IRNode.FMA_V, ">0"}) public double[] vectorMulSub1() { double[] res = new double[SIZE]; @@ -217,7 +222,9 @@ public class BasicDoubleOpTest extends VectorizationTestRunner { } @Test - @IR(applyIfCPUFeatureOr = {"asimd", "true", "fma", "true"}, + @IR(applyIfCPUFeature = {"asimd", "true"}, + counts = {IRNode.FMA_V, ">0"}) + @IR(applyIfCPUFeatureAnd = {"fma", "true", "avx", "true"}, counts = {IRNode.FMA_V, ">0"}) public double[] vectorMulSub2() { double[] res = new double[SIZE]; @@ -228,7 +235,9 @@ public class BasicDoubleOpTest extends VectorizationTestRunner { } @Test - @IR(applyIfCPUFeatureOr = {"asimd", "true", "fma", "true"}, + @IR(applyIfCPUFeature = {"asimd", "true"}, + counts = {IRNode.FMA_V, ">0"}) + @IR(applyIfCPUFeatureAnd = {"fma", "true", "avx", "true"}, counts = {IRNode.FMA_V, ">0"}) public double[] vectorNegateMulAdd1() { double[] res = new double[SIZE]; @@ -239,7 +248,9 @@ public class BasicDoubleOpTest extends VectorizationTestRunner { } @Test - @IR(applyIfCPUFeatureOr = {"asimd", "true", "fma", "true"}, + @IR(applyIfCPUFeature = {"asimd", "true"}, + counts = {IRNode.FMA_V, ">0"}) + @IR(applyIfCPUFeatureAnd = {"fma", "true", "avx", "true"}, counts = {IRNode.FMA_V, ">0"}) public double[] vectorNegateMulAdd2() { double[] res = new double[SIZE]; @@ -250,7 +261,9 @@ public class BasicDoubleOpTest extends VectorizationTestRunner { } @Test - @IR(applyIfCPUFeatureOr = {"asimd", "true", "fma", "true"}, + @IR(applyIfCPUFeature = {"asimd", "true"}, + counts = {IRNode.FMA_V, ">0"}) + @IR(applyIfCPUFeatureAnd = {"fma", "true", "avx", "true"}, counts = {IRNode.FMA_V, ">0"}) public double[] vectorNegateMulSub() { double[] res = new double[SIZE]; diff --git a/test/hotspot/jtreg/compiler/vectorization/runner/BasicFloatOpTest.java b/test/hotspot/jtreg/compiler/vectorization/runner/BasicFloatOpTest.java index 57e49153c97..a07fcfa9ca2 100644 --- a/test/hotspot/jtreg/compiler/vectorization/runner/BasicFloatOpTest.java +++ b/test/hotspot/jtreg/compiler/vectorization/runner/BasicFloatOpTest.java @@ -35,6 +35,7 @@ * -XX:+WhiteBoxAPI * compiler.vectorization.runner.BasicFloatOpTest * + * @requires (os.simpleArch == "x64") | (os.simpleArch == "aarch64") * @requires vm.compiler2.enabled & vm.flagless */ @@ -140,7 +141,7 @@ public class BasicFloatOpTest extends VectorizationTestRunner { } @Test - @IR(applyIfCPUFeatureOr = {"asimd", "true", "sse", "true"}, + @IR(applyIfCPUFeatureOr = {"asimd", "true", "avx", "true"}, counts = {IRNode.MAX_V, ">0"}) public float[] vectorMax() { float[] res = new float[SIZE]; @@ -151,7 +152,7 @@ public class BasicFloatOpTest extends VectorizationTestRunner { } @Test - @IR(applyIfCPUFeatureOr = {"asimd", "true", "sse", "true"}, + @IR(applyIfCPUFeatureOr = {"asimd", "true", "avx", "true"}, counts = {IRNode.MIN_V, ">0"}) public float[] vectorMin() { float[] res = new float[SIZE]; @@ -162,7 +163,9 @@ public class BasicFloatOpTest extends VectorizationTestRunner { } @Test - @IR(applyIfCPUFeatureOr = {"asimd", "true", "fma", "true"}, + @IR(applyIfCPUFeature = {"asimd", "true"}, + counts = {IRNode.FMA_V, ">0"}) + @IR(applyIfCPUFeatureAnd = {"fma", "true", "avx", "true"}, counts = {IRNode.FMA_V, ">0"}) public float[] vectorMulAdd() { float[] res = new float[SIZE]; @@ -173,7 +176,9 @@ public class BasicFloatOpTest extends VectorizationTestRunner { } @Test - @IR(applyIfCPUFeatureOr = {"asimd", "true", "fma", "true"}, + @IR(applyIfCPUFeature = {"asimd", "true"}, + counts = {IRNode.FMA_V, ">0"}) + @IR(applyIfCPUFeatureAnd = {"fma", "true", "avx", "true"}, counts = {IRNode.FMA_V, ">0"}) public float[] vectorMulSub1() { float[] res = new float[SIZE]; @@ -184,7 +189,9 @@ public class BasicFloatOpTest extends VectorizationTestRunner { } @Test - @IR(applyIfCPUFeatureOr = {"asimd", "true", "fma", "true"}, + @IR(applyIfCPUFeature = {"asimd", "true"}, + counts = {IRNode.FMA_V, ">0"}) + @IR(applyIfCPUFeatureAnd = {"fma", "true", "avx", "true"}, counts = {IRNode.FMA_V, ">0"}) public float[] vectorMulSub2() { float[] res = new float[SIZE]; @@ -195,7 +202,9 @@ public class BasicFloatOpTest extends VectorizationTestRunner { } @Test - @IR(applyIfCPUFeatureOr = {"asimd", "true", "fma", "true"}, + @IR(applyIfCPUFeature = {"asimd", "true"}, + counts = {IRNode.FMA_V, ">0"}) + @IR(applyIfCPUFeatureAnd = {"fma", "true", "avx", "true"}, counts = {IRNode.FMA_V, ">0"}) public float[] vectorNegateMulAdd1() { float[] res = new float[SIZE]; @@ -206,7 +215,9 @@ public class BasicFloatOpTest extends VectorizationTestRunner { } @Test - @IR(applyIfCPUFeatureOr = {"asimd", "true", "fma", "true"}, + @IR(applyIfCPUFeature = {"asimd", "true"}, + counts = {IRNode.FMA_V, ">0"}) + @IR(applyIfCPUFeatureAnd = {"fma", "true", "avx", "true"}, counts = {IRNode.FMA_V, ">0"}) public float[] vectorNegateMulAdd2() { float[] res = new float[SIZE]; @@ -217,7 +228,9 @@ public class BasicFloatOpTest extends VectorizationTestRunner { } @Test - @IR(applyIfCPUFeatureOr = {"asimd", "true", "fma", "true"}, + @IR(applyIfCPUFeature = {"asimd", "true"}, + counts = {IRNode.FMA_V, ">0"}) + @IR(applyIfCPUFeatureAnd = {"fma", "true", "avx", "true"}, counts = {IRNode.FMA_V, ">0"}) public float[] vectorNegateMulSub() { float[] res = new float[SIZE]; diff --git a/test/hotspot/jtreg/compiler/vectorization/runner/BasicLongOpTest.java b/test/hotspot/jtreg/compiler/vectorization/runner/BasicLongOpTest.java index 5c231f1329e..10f78212869 100644 --- a/test/hotspot/jtreg/compiler/vectorization/runner/BasicLongOpTest.java +++ b/test/hotspot/jtreg/compiler/vectorization/runner/BasicLongOpTest.java @@ -35,6 +35,7 @@ * -XX:+WhiteBoxAPI * compiler.vectorization.runner.BasicLongOpTest * + * @requires (os.simpleArch == "x64") | (os.simpleArch == "aarch64") * @requires vm.compiler2.enabled & vm.flagless */ @@ -118,9 +119,9 @@ public class BasicLongOpTest extends VectorizationTestRunner { } @Test - @IR(applyIfCPUFeatureOr = {"sve", "true", "sse2", "true"}, + @IR(applyIfCPUFeatureOr = {"sve", "true", "sse4_1", "true"}, counts = {IRNode.ADD_V, ">0"}) - @IR(applyIfCPUFeatureOr = {"sve", "true", "avx512dq", "true"}, + @IR(applyIfCPUFeatureOr = {"sve", "true", "sse4_1", "true"}, counts = {IRNode.MUL_V, ">0"}) public long[] vectorMulAdd() { long[] res = new long[SIZE]; @@ -131,7 +132,7 @@ public class BasicLongOpTest extends VectorizationTestRunner { } @Test - @IR(applyIfCPUFeatureOr = {"sve", "true", "sse2", "true"}, + @IR(applyIfCPUFeatureOr = {"sve", "true", "sse4_1", "true"}, counts = {IRNode.MUL_V, ">0", IRNode.SUB_V, ">0"}) public long[] vectorMulSub() { long[] res = new long[SIZE]; diff --git a/test/hotspot/jtreg/compiler/vectorization/runner/LoopArrayIndexComputeTest.java b/test/hotspot/jtreg/compiler/vectorization/runner/LoopArrayIndexComputeTest.java index 7afca29331f..2c3bef2f45d 100644 --- a/test/hotspot/jtreg/compiler/vectorization/runner/LoopArrayIndexComputeTest.java +++ b/test/hotspot/jtreg/compiler/vectorization/runner/LoopArrayIndexComputeTest.java @@ -35,6 +35,7 @@ * -XX:+WhiteBoxAPI * compiler.vectorization.runner.LoopArrayIndexComputeTest * + * @requires (os.simpleArch == "x64") | (os.simpleArch == "aarch64") * @requires vm.compiler2.enabled & vm.flagless */ @@ -90,9 +91,9 @@ public class LoopArrayIndexComputeTest extends VectorizationTestRunner { } @Test - @IR(applyIfCPUFeatureOr = {"sve", "true", "sse2", "true"}, + @IR(applyIfCPUFeatureOr = {"sve", "true", "avx2", "true"}, counts = {IRNode.STORE_VECTOR, ">0"}) - @IR(applyIfCPUFeatureOr = {"sve", "true", "sse4_1", "true"}, + @IR(applyIfCPUFeatureOr = {"sve", "true", "avx2", "true"}, counts = {IRNode.MUL_V, ">0"}) public int[] indexMinusConstant() { int[] res = new int[SIZE]; @@ -103,7 +104,7 @@ public class LoopArrayIndexComputeTest extends VectorizationTestRunner { } @Test - @IR(applyIfCPUFeatureOr = {"asimd", "true", "sse2", "true"}, + @IR(applyIfCPUFeatureOr = {"asimd", "true", "sse4_1", "true"}, counts = {IRNode.STORE_VECTOR, ">0"}) @IR(applyIfCPUFeatureOr = {"asimd", "true", "sse4_1", "true"}, counts = {IRNode.MUL_V, ">0"}) @@ -117,9 +118,9 @@ public class LoopArrayIndexComputeTest extends VectorizationTestRunner { } @Test - @IR(applyIfCPUFeatureOr = {"sve", "true", "sse2", "true"}, + @IR(applyIfCPUFeatureOr = {"sve", "true", "avx2", "true"}, counts = {IRNode.STORE_VECTOR, ">0"}) - @IR(applyIfCPUFeatureOr = {"sve", "true", "sse4_1", "true"}, + @IR(applyIfCPUFeatureOr = {"sve", "true", "avx2", "true"}, counts = {IRNode.MUL_V, ">0"}) public int[] indexMinusInvariant() { int[] res = new int[SIZE]; @@ -131,7 +132,7 @@ public class LoopArrayIndexComputeTest extends VectorizationTestRunner { } @Test - @IR(applyIfCPUFeatureOr = {"asimd", "true", "sse2", "true"}, + @IR(applyIfCPUFeatureOr = {"asimd", "true", "sse4_1", "true"}, counts = {IRNode.STORE_VECTOR, ">0"}) @IR(applyIfCPUFeatureOr = {"asimd", "true", "sse4_1", "true"}, counts = {IRNode.MUL_V, ">0"}) diff --git a/test/hotspot/jtreg/compiler/vectorization/runner/LoopCombinedOpTest.java b/test/hotspot/jtreg/compiler/vectorization/runner/LoopCombinedOpTest.java index 04e3f1e93dd..ff225612574 100644 --- a/test/hotspot/jtreg/compiler/vectorization/runner/LoopCombinedOpTest.java +++ b/test/hotspot/jtreg/compiler/vectorization/runner/LoopCombinedOpTest.java @@ -93,7 +93,7 @@ public class LoopCombinedOpTest extends VectorizationTestRunner { } @Test - @IR(applyIfCPUFeatureOr = {"asimd", "true", "sse2", "true"}, + @IR(applyIfCPUFeatureOr = {"asimd", "true", "sse4_1", "true"}, counts = {IRNode.STORE_VECTOR, ">0"}) public int[] opWithLoopInvariant() { int[] res = new int[SIZE]; @@ -104,7 +104,7 @@ public class LoopCombinedOpTest extends VectorizationTestRunner { } @Test - @IR(applyIfCPUFeatureOr = {"asimd", "true", "sse2", "true"}, + @IR(applyIfCPUFeatureOr = {"asimd", "true", "sse4_1", "true"}, counts = {IRNode.STORE_VECTOR, ">0"}) public int[] opWithConstantAndLoopInvariant() { int[] res = new int[SIZE]; @@ -126,7 +126,7 @@ public class LoopCombinedOpTest extends VectorizationTestRunner { } @Test - @IR(applyIfCPUFeatureOr = {"asimd", "true", "sse2", "true"}, + @IR(applyIfCPUFeatureOr = {"asimd", "true", "sse4_1", "true"}, counts = {IRNode.STORE_VECTOR, ">0"}) public int[] multipleOpsWithMultipleConstants() { int[] res = new int[SIZE]; @@ -152,7 +152,7 @@ public class LoopCombinedOpTest extends VectorizationTestRunner { } @Test - @IR(applyIfCPUFeatureOr = {"asimd", "true", "sse2", "true"}, + @IR(applyIfCPUFeatureOr = {"asimd", "true", "sse4_1", "true"}, counts = {IRNode.STORE_VECTOR, ">0"}) public int[] multipleStoresWithCommonSubExpression() { int[] res1 = new int[SIZE]; @@ -247,7 +247,7 @@ public class LoopCombinedOpTest extends VectorizationTestRunner { } @Test - @IR(applyIfCPUFeatureOr = {"asimd", "true", "sse2", "true"}, + @IR(applyIfCPUFeatureOr = {"asimd", "true", "sse3", "true"}, counts = {IRNode.STORE_VECTOR, ">0"}) public int[] multipleOpsWith2DifferentTypesAndSharedOp() { int i = 0, sum = 0; @@ -297,7 +297,7 @@ public class LoopCombinedOpTest extends VectorizationTestRunner { } @Test - @IR(applyIfCPUFeatureOr = {"asimd", "true", "sse2", "true"}, + @IR(applyIfCPUFeatureOr = {"asimd", "true", "sse4_1", "true"}, counts = {IRNode.STORE_VECTOR, ">0"}) public int[] manuallyUnrolledStride2() { int[] res = new int[SIZE]; @@ -309,7 +309,7 @@ public class LoopCombinedOpTest extends VectorizationTestRunner { } @Test - @IR(applyIfCPUFeatureOr = {"asimd", "true", "sse2", "true"}, + @IR(applyIfCPUFeatureOr = {"asimd", "true", "sse4_1", "true"}, counts = {IRNode.STORE_VECTOR, ">0"}) public int partialVectorizableLoop() { int[] res = new int[SIZE]; diff --git a/test/hotspot/jtreg/compiler/vectorization/runner/LoopLiveOutNodesTest.java b/test/hotspot/jtreg/compiler/vectorization/runner/LoopLiveOutNodesTest.java index dc6faf276b6..9912cea03aa 100644 --- a/test/hotspot/jtreg/compiler/vectorization/runner/LoopLiveOutNodesTest.java +++ b/test/hotspot/jtreg/compiler/vectorization/runner/LoopLiveOutNodesTest.java @@ -67,7 +67,7 @@ public class LoopLiveOutNodesTest extends VectorizationTestRunner { } @Test - @IR(applyIfCPUFeatureOr = {"asimd", "true", "sse2", "true"}, + @IR(applyIfCPUFeatureOr = {"asimd", "true", "sse4_1", "true"}, counts = {IRNode.STORE_VECTOR, ">0"}) public int SimpleIvUsed() { int i = 0; diff --git a/test/hotspot/jtreg/compiler/vectorization/runner/LoopRangeStrideTest.java b/test/hotspot/jtreg/compiler/vectorization/runner/LoopRangeStrideTest.java index 847c24c17d1..dcd16731668 100644 --- a/test/hotspot/jtreg/compiler/vectorization/runner/LoopRangeStrideTest.java +++ b/test/hotspot/jtreg/compiler/vectorization/runner/LoopRangeStrideTest.java @@ -110,7 +110,7 @@ public class LoopRangeStrideTest extends VectorizationTestRunner { } @Test - @IR(applyIfCPUFeatureOr = {"asimd", "true", "sse2", "true"}, + @IR(applyIfCPUFeatureOr = {"asimd", "true", "sse4_1", "true"}, counts = {IRNode.STORE_VECTOR, ">0"}) public int[] shortInductionLoop() { int[] res = new int[SIZE]; @@ -175,7 +175,7 @@ public class LoopRangeStrideTest extends VectorizationTestRunner { } @Test - @IR(applyIfCPUFeatureOr = {"asimd", "true", "sse2", "true"}, + @IR(applyIfCPUFeatureOr = {"asimd", "true", "sse4_1", "true"}, counts = {IRNode.STORE_VECTOR, ">0"}) public int[] countDownLoop() { int[] res = new int[SIZE]; @@ -196,7 +196,7 @@ public class LoopRangeStrideTest extends VectorizationTestRunner { // ---------- Stride with scale ---------- @Test - @IR(applyIfCPUFeatureOr = {"asimd", "true", "sse2", "true"}, + @IR(applyIfCPUFeatureOr = {"asimd", "true", "sse4_1", "true"}, counts = {IRNode.STORE_VECTOR, ">0"}) public int[] countupLoopWithNegScale() { int[] res = new int[SIZE]; @@ -207,7 +207,7 @@ public class LoopRangeStrideTest extends VectorizationTestRunner { } @Test - @IR(applyIfCPUFeatureOr = {"asimd", "true", "sse2", "true"}, + @IR(applyIfCPUFeatureOr = {"asimd", "true", "sse4_1", "true"}, counts = {IRNode.STORE_VECTOR, ">0"}) public int[] countDownLoopWithNegScale() { int[] res = new int[SIZE]; diff --git a/test/hotspot/jtreg/compiler/vectorization/runner/LoopReductionOpTest.java b/test/hotspot/jtreg/compiler/vectorization/runner/LoopReductionOpTest.java index e25b66274e4..99f889ae74c 100644 --- a/test/hotspot/jtreg/compiler/vectorization/runner/LoopReductionOpTest.java +++ b/test/hotspot/jtreg/compiler/vectorization/runner/LoopReductionOpTest.java @@ -35,6 +35,7 @@ * -XX:+WhiteBoxAPI * compiler.vectorization.runner.LoopReductionOpTest * + * @requires (os.simpleArch == "x64") | (os.simpleArch == "aarch64") * @requires vm.compiler2.enabled & vm.flagless * */ @@ -77,9 +78,9 @@ public class LoopReductionOpTest extends VectorizationTestRunner { } @Test - @IR(applyIfCPUFeatureOr = {"asimd", "true", "sse2", "true"}, + @IR(applyIfCPUFeatureOr = {"asimd", "true", "sse3", "true"}, counts = {IRNode.LOAD_VECTOR, ">0"}) - @IR(applyIfCPUFeatureOr = {"asimd", "true", "sse2", "true"}, + @IR(applyIfCPUFeatureOr = {"asimd", "true", "sse3", "true"}, counts = {IRNode.ADD_REDUCTION_V, ">0"}) public int reductionAddSumOfArray() { int res = 0; @@ -119,9 +120,9 @@ public class LoopReductionOpTest extends VectorizationTestRunner { } @Test - @IR(applyIfCPUFeatureOr = {"sve", "true", "sse2", "true"}, + @IR(applyIfCPUFeatureOr = {"sve", "true", "avx2", "true"}, counts = {IRNode.LOAD_VECTOR, ">0"}) - @IR(applyIfCPUFeatureOr = {"sve", "true", "sse2", "true"}, + @IR(applyIfCPUFeatureOr = {"sve", "true", "avx2", "true"}, counts = {IRNode.ADD_REDUCTION_V, ">0"}) public int reductionAddSumOfMultiple() { int res = 0; @@ -178,7 +179,7 @@ public class LoopReductionOpTest extends VectorizationTestRunner { @Test @IR(applyIfCPUFeatureOr = {"asimd", "true", "sse2", "true"}, counts = {IRNode.STORE_VECTOR, ">0"}) - @IR(applyIfCPUFeatureOr = {"sse2", "true"}, + @IR(applyIfCPUFeatureOr = {"avx2", "true"}, counts = {IRNode.ADD_REDUCTION_V, ">0"}) public long reductionWithNonReductionDifferentSizes() { long res = 0L; diff --git a/test/hotspot/jtreg/compiler/vectorization/runner/MultipleLoopsTest.java b/test/hotspot/jtreg/compiler/vectorization/runner/MultipleLoopsTest.java index a0066410c31..d0fa9e33d21 100644 --- a/test/hotspot/jtreg/compiler/vectorization/runner/MultipleLoopsTest.java +++ b/test/hotspot/jtreg/compiler/vectorization/runner/MultipleLoopsTest.java @@ -97,7 +97,7 @@ public class MultipleLoopsTest extends VectorizationTestRunner { } @Test - @IR(applyIfCPUFeatureOr = {"asimd", "true", "sse2", "true"}, + @IR(applyIfCPUFeatureOr = {"asimd", "true", "sse4_1", "true"}, counts = {IRNode.STORE_VECTOR, ">0"}) public int[] nestedLoopOuterNonCounted() { int i = 1; @@ -113,7 +113,7 @@ public class MultipleLoopsTest extends VectorizationTestRunner { } @Test - @IR(applyIfCPUFeatureOr = {"asimd", "true", "sse2", "true"}, + @IR(applyIfCPUFeatureOr = {"asimd", "true", "sse4_1", "true"}, counts = {IRNode.STORE_VECTOR, ">0"}) public int[] nestedLoopIndexCompute() { int[] res = new int[SIZE];