diff --git a/test/hotspot/jtreg/compiler/loopopts/superword/CoLocatePackMemoryState.java b/test/hotspot/jtreg/compiler/loopopts/superword/CoLocatePackMemoryState.java index 9dc1cf1f031..c60144da0cd 100644 --- a/test/hotspot/jtreg/compiler/loopopts/superword/CoLocatePackMemoryState.java +++ b/test/hotspot/jtreg/compiler/loopopts/superword/CoLocatePackMemoryState.java @@ -24,12 +24,11 @@ /** * @test - * @requires vm.compiler2.enabled * @bug 8238438 * @summary Tests to select the memory state of the last load in a load pack in SuperWord::co_locate_pack. * * @run main/othervm -Xbatch -XX:CompileCommand=compileonly,compiler.loopopts.superword.CoLocatePackMemoryState::test - * -XX:LoopMaxUnroll=16 compiler.loopopts.superword.CoLocatePackMemoryState + * -XX:+IgnoreUnrecognizedVMOptions -XX:LoopMaxUnroll=16 compiler.loopopts.superword.CoLocatePackMemoryState */ package compiler.loopopts.superword; diff --git a/test/hotspot/jtreg/compiler/loopopts/superword/RedTest_long.java b/test/hotspot/jtreg/compiler/loopopts/superword/RedTest_long.java index 27bfa8cec0e..ee691a91bda 100644 --- a/test/hotspot/jtreg/compiler/loopopts/superword/RedTest_long.java +++ b/test/hotspot/jtreg/compiler/loopopts/superword/RedTest_long.java @@ -25,7 +25,6 @@ * @test * @bug 8240248 * @summary Add C2 x86 Superword support for scalar logical reduction optimizations : long test - * @requires vm.bits == "64" * @library /test/lib / * @run driver compiler.loopopts.superword.RedTest_long */ @@ -137,6 +136,7 @@ public class RedTest_long { failOn = {IRNode.ADD_REDUCTION_VL}) @IR(applyIfCPUFeature = {"avx2", "true"}, applyIfAnd = {"SuperWordReductions", "true", "LoopMaxUnroll", ">= 8"}, + applyIfPlatform = {"64-bit", "true"}, counts = {IRNode.ADD_REDUCTION_VL, ">= 1", IRNode.ADD_REDUCTION_VL, "<= 2"}) // one for main-loop, one for vector-post-loop public static long sumReductionImplement( long[] a, @@ -154,6 +154,7 @@ public class RedTest_long { failOn = {IRNode.OR_REDUCTION_V}) @IR(applyIfCPUFeature = {"avx2", "true"}, applyIfAnd = {"SuperWordReductions", "true", "LoopMaxUnroll", ">= 8"}, + applyIfPlatform = {"64-bit", "true"}, counts = {IRNode.OR_REDUCTION_V, ">= 1", IRNode.OR_REDUCTION_V, "<= 2"}) // one for main-loop, one for vector-post-loop public static long orReductionImplement( long[] a, @@ -171,6 +172,7 @@ public class RedTest_long { failOn = {IRNode.AND_REDUCTION_V}) @IR(applyIfCPUFeature = {"avx2", "true"}, applyIfAnd = {"SuperWordReductions", "true", "LoopMaxUnroll", ">= 8"}, + applyIfPlatform = {"64-bit", "true"}, counts = {IRNode.AND_REDUCTION_V, ">= 1", IRNode.AND_REDUCTION_V, "<= 2"}) // one for main-loop, one for vector-post-loop public static long andReductionImplement( long[] a, @@ -188,6 +190,7 @@ public class RedTest_long { failOn = {IRNode.XOR_REDUCTION_V}) @IR(applyIfCPUFeature = {"avx2", "true"}, applyIfAnd = {"SuperWordReductions", "true", "LoopMaxUnroll", ">= 8"}, + applyIfPlatform = {"64-bit", "true"}, counts = {IRNode.XOR_REDUCTION_V, ">= 1", IRNode.XOR_REDUCTION_V, "<= 2"}) // one for main-loop, one for vector-post-loop public static long xorReductionImplement( long[] a, @@ -205,6 +208,7 @@ public class RedTest_long { failOn = {IRNode.MUL_REDUCTION_VL}) @IR(applyIfCPUFeature = {"avx512dq", "true"}, applyIfAnd = {"SuperWordReductions", "true", "LoopMaxUnroll", ">= 8"}, + applyIfPlatform = {"64-bit", "true"}, counts = {IRNode.MUL_REDUCTION_VL, ">= 1", IRNode.MUL_REDUCTION_VL, "<= 2"}) // one for main-loop, one for vector-post-loop public static long mulReductionImplement( long[] a, diff --git a/test/hotspot/jtreg/compiler/loopopts/superword/ReductionPerf.java b/test/hotspot/jtreg/compiler/loopopts/superword/ReductionPerf.java index b1495d00548..591765bb582 100644 --- a/test/hotspot/jtreg/compiler/loopopts/superword/ReductionPerf.java +++ b/test/hotspot/jtreg/compiler/loopopts/superword/ReductionPerf.java @@ -25,11 +25,10 @@ * @test * @bug 8074981 8302652 * @summary Test SuperWord Reduction Perf. - * @requires vm.compiler2.enabled - * @requires vm.simpleArch == "x86" | vm.simpleArch == "x64" | vm.simpleArch == "aarch64" | vm.simpleArch == "riscv64" * @library /test/lib / - * @run main/othervm -Xbatch -XX:LoopUnrollLimit=250 + * @run main/othervm -Xbatch * -XX:CompileCommand=exclude,compiler.loopopts.superword.ReductionPerf::main + * -XX:+IgnoreUnrecognizedVMOptions -XX:LoopUnrollLimit=250 * compiler.loopopts.superword.ReductionPerf */ diff --git a/test/hotspot/jtreg/compiler/loopopts/superword/TestAlignVector.java b/test/hotspot/jtreg/compiler/loopopts/superword/TestAlignVector.java index fe873770ab4..fd5c2969074 100644 --- a/test/hotspot/jtreg/compiler/loopopts/superword/TestAlignVector.java +++ b/test/hotspot/jtreg/compiler/loopopts/superword/TestAlignVector.java @@ -39,7 +39,6 @@ import java.nio.ByteOrder; * @summary Test AlignVector with various loop init, stride, scale, invar, etc. * @modules java.base/jdk.internal.misc * @library /test/lib / - * @requires vm.compiler2.enabled * @run driver compiler.loopopts.superword.TestAlignVector NoAlignVector */ @@ -49,7 +48,6 @@ import java.nio.ByteOrder; * @summary Test AlignVector with various loop init, stride, scale, invar, etc. * @modules java.base/jdk.internal.misc * @library /test/lib / - * @requires vm.compiler2.enabled * @run driver compiler.loopopts.superword.TestAlignVector AlignVector */ @@ -59,7 +57,6 @@ import java.nio.ByteOrder; * @summary Test AlignVector with various loop init, stride, scale, invar, etc. * @modules java.base/jdk.internal.misc * @library /test/lib / - * @requires vm.compiler2.enabled * @run driver compiler.loopopts.superword.TestAlignVector VerifyAlignVector */ @@ -96,7 +93,7 @@ public class TestAlignVector { public static void main(String[] args) { TestFramework framework = new TestFramework(TestAlignVector.class); framework.addFlags("--add-modules", "java.base", "--add-exports", "java.base/jdk.internal.misc=ALL-UNNAMED", - "-XX:LoopUnrollLimit=250"); + "-XX:+IgnoreUnrecognizedVMOptions", "-XX:LoopUnrollLimit=250"); switch (args[0]) { case "NoAlignVector" -> { framework.addFlags("-XX:-AlignVector"); } diff --git a/test/hotspot/jtreg/compiler/loopopts/superword/TestAlignVectorFuzzer.java b/test/hotspot/jtreg/compiler/loopopts/superword/TestAlignVectorFuzzer.java index e27feb36e86..7b95781905e 100644 --- a/test/hotspot/jtreg/compiler/loopopts/superword/TestAlignVectorFuzzer.java +++ b/test/hotspot/jtreg/compiler/loopopts/superword/TestAlignVectorFuzzer.java @@ -27,7 +27,6 @@ * @summary Fuzzing loops with different (random) init, limit, stride, scale etc. Do not force alignment. * @modules java.base/jdk.internal.misc * @library /test/lib - * @requires vm.compiler2.enabled * @key randomness * @run main/bootclasspath/othervm -XX:+IgnoreUnrecognizedVMOptions * -XX:LoopUnrollLimit=250 @@ -41,7 +40,6 @@ * @summary Fuzzing loops with different (random) init, limit, stride, scale etc. Verify AlignVector. * @modules java.base/jdk.internal.misc * @library /test/lib - * @requires vm.compiler2.enabled * @key randomness * @run main/bootclasspath/othervm -XX:+IgnoreUnrecognizedVMOptions * -XX:+AlignVector -XX:+VerifyAlignVector @@ -56,8 +54,6 @@ * @summary Fuzzing loops with different (random) init, limit, stride, scale etc. Verify AlignVector. * @modules java.base/jdk.internal.misc * @library /test/lib - * @requires vm.compiler2.enabled - * @requires vm.bits == 64 * @key randomness * @run main/bootclasspath/othervm -XX:+IgnoreUnrecognizedVMOptions * -XX:+AlignVector -XX:+VerifyAlignVector @@ -73,7 +69,6 @@ * @summary Fuzzing loops with different (random) init, limit, stride, scale etc. Verify AlignVector. * @modules java.base/jdk.internal.misc * @library /test/lib - * @requires vm.compiler2.enabled * @key randomness * @run main/bootclasspath/othervm -XX:+IgnoreUnrecognizedVMOptions * -XX:+AlignVector -XX:+VerifyAlignVector diff --git a/test/hotspot/jtreg/compiler/loopopts/superword/TestCyclicDependency.java b/test/hotspot/jtreg/compiler/loopopts/superword/TestCyclicDependency.java index 94e47f3f747..3849f1b05cf 100644 --- a/test/hotspot/jtreg/compiler/loopopts/superword/TestCyclicDependency.java +++ b/test/hotspot/jtreg/compiler/loopopts/superword/TestCyclicDependency.java @@ -27,7 +27,6 @@ * @bug 8298935 * @summary Writing forward on array creates cyclic dependency * which leads to wrong result, when ignored. - * @requires vm.compiler2.enabled * @library /test/lib / * @run driver TestCyclicDependency */ diff --git a/test/hotspot/jtreg/compiler/loopopts/superword/TestDependencyOffsets.java b/test/hotspot/jtreg/compiler/loopopts/superword/TestDependencyOffsets.java index 1e48ae07106..2f0a5809d08 100644 --- a/test/hotspot/jtreg/compiler/loopopts/superword/TestDependencyOffsets.java +++ b/test/hotspot/jtreg/compiler/loopopts/superword/TestDependencyOffsets.java @@ -27,7 +27,7 @@ * and various MaxVectorSize values, and +- AlignVector. * * Note: this test is auto-generated. Please modify / generate with script: - * https://bugs.openjdk.org/browse/JDK-8310190 + * https://bugs.openjdk.org/browse/JDK-8333729 * * Types: int, long, short, char, byte, float, double * Offsets: 0, -1, 1, -2, 2, -3, 3, -4, 4, -7, 7, -8, 8, -14, 14, -16, 16, -18, 18, -20, 20, -31, 31, -32, 32, -63, 63, -64, 64, -65, 65, -128, 128, -129, 129, -192, 192 @@ -113,7 +113,6 @@ * @test id=vanilla-A * @bug 8298935 8308606 8310308 8312570 8310190 * @summary Test SuperWord: vector size, offsets, dependencies, alignment. - * @requires vm.compiler2.enabled * @library /test/lib / * @run driver compiler.loopopts.superword.TestDependencyOffsets vanilla-A */ @@ -122,7 +121,6 @@ * @test id=vanilla-U * @bug 8298935 8308606 8310308 8312570 8310190 * @summary Test SuperWord: vector size, offsets, dependencies, alignment. - * @requires vm.compiler2.enabled * @library /test/lib / * @run driver compiler.loopopts.superword.TestDependencyOffsets vanilla-U */ @@ -1285,7 +1283,7 @@ public class TestDependencyOffsets { "-XX:CompileCommand=compileonly,compiler.loopopts.superword.TestDependencyOffsets::init", "-XX:CompileCommand=compileonly,compiler.loopopts.superword.TestDependencyOffsets::test*", "-XX:CompileCommand=compileonly,compiler.loopopts.superword.TestDependencyOffsets::verify", - "-XX:LoopUnrollLimit=250"); + "-XX:+IgnoreUnrecognizedVMOptions", "-XX:LoopUnrollLimit=250"); if (args.length != 1) { throw new RuntimeException("Test requires exactly one argument!"); diff --git a/test/hotspot/jtreg/compiler/loopopts/superword/TestGeneralizedReductions.java b/test/hotspot/jtreg/compiler/loopopts/superword/TestGeneralizedReductions.java index 2a27aad8d5a..a0e4b58f509 100644 --- a/test/hotspot/jtreg/compiler/loopopts/superword/TestGeneralizedReductions.java +++ b/test/hotspot/jtreg/compiler/loopopts/superword/TestGeneralizedReductions.java @@ -27,7 +27,6 @@ * @summary Test reduction vectorizations that are enabled by performing SLP * reduction analysis on unrolled loops. * @library /test/lib / - * @requires vm.bits == 64 * @run driver compiler.loopopts.superword.TestGeneralizedReductions */ @@ -42,7 +41,7 @@ public class TestGeneralizedReductions { public static void main(String[] args) throws Exception { // Fix maximum number of unrolls for test stability. - TestFramework.runWithFlags("-XX:LoopMaxUnroll=16"); + TestFramework.runWithFlags("-XX:+IgnoreUnrecognizedVMOptions", "-XX:LoopMaxUnroll=16"); } @Run(test = {"testReductionOnGlobalAccumulator", @@ -82,7 +81,9 @@ public class TestGeneralizedReductions { } @Test - @IR(applyIfCPUFeature = {"avx2", "true"}, applyIf = {"SuperWordReductions", "true"}, + @IR(applyIfCPUFeature = {"avx2", "true"}, + applyIf = {"SuperWordReductions", "true"}, + applyIfPlatform = {"64-bit", "true"}, counts = {IRNode.ADD_REDUCTION_VI, ">= 1"}) private static long testReductionOnGlobalAccumulator(long[] array) { acc = 0; @@ -93,7 +94,9 @@ public class TestGeneralizedReductions { } @Test - @IR(applyIfCPUFeature = {"avx2", "true"}, applyIf = {"SuperWordReductions", "true"}, + @IR(applyIfCPUFeature = {"avx2", "true"}, + applyIf = {"SuperWordReductions", "true"}, + applyIfPlatform = {"64-bit", "true"}, counts = {IRNode.ADD_REDUCTION_VI, ">= 1"}) private static long testReductionOnPartiallyUnrolledLoop(long[] array) { int sum = 0; @@ -105,7 +108,9 @@ public class TestGeneralizedReductions { } @Test - @IR(applyIfCPUFeature = {"avx2", "true"}, applyIf = {"SuperWordReductions", "true"}, + @IR(applyIfCPUFeature = {"avx2", "true"}, + applyIf = {"SuperWordReductions", "true"}, + applyIfPlatform = {"64-bit", "true"}, counts = {IRNode.ADD_REDUCTION_VI, ">= 1"}) private static long testReductionOnLargePartiallyUnrolledLoop(long[] array) { int sum = 0; @@ -128,7 +133,9 @@ public class TestGeneralizedReductions { // If this limitation is overcome in the future, the test case should be // turned into a positive one. @Test - @IR(applyIfCPUFeature = {"avx2", "true"}, applyIf = {"SuperWordReductions", "true"}, + @IR(applyIfCPUFeature = {"avx2", "true"}, + applyIf = {"SuperWordReductions", "true"}, + applyIfPlatform = {"64-bit", "true"}, failOn = {IRNode.ADD_REDUCTION_VI}) private static long testReductionOnPartiallyUnrolledLoopWithSwappedInputs(long[] array) { int sum = 0; @@ -142,6 +149,7 @@ public class TestGeneralizedReductions { @Test @IR(applyIfCPUFeature = {"avx2", "true"}, applyIfAnd = {"SuperWordReductions", "true","UsePopCountInstruction", "true"}, + applyIfPlatform = {"64-bit", "true"}, counts = {IRNode.ADD_REDUCTION_VI, ">= 1", IRNode.POPCOUNT_VL, ">= 1"}) @IR(applyIfPlatform = {"riscv64", "true"}, diff --git a/test/hotspot/jtreg/compiler/loopopts/superword/TestIndependentPacksWithCyclicDependency.java b/test/hotspot/jtreg/compiler/loopopts/superword/TestIndependentPacksWithCyclicDependency.java index b2748348036..65398e8adfd 100644 --- a/test/hotspot/jtreg/compiler/loopopts/superword/TestIndependentPacksWithCyclicDependency.java +++ b/test/hotspot/jtreg/compiler/loopopts/superword/TestIndependentPacksWithCyclicDependency.java @@ -27,8 +27,6 @@ * @bug 8304042 * @summary Test some examples with independent packs with cyclic dependency * between the packs. - * @requires vm.bits == 64 - * @requires vm.compiler2.enabled * @modules java.base/jdk.internal.misc * @library /test/lib / * @run driver compiler.loopopts.superword.TestIndependentPacksWithCyclicDependency @@ -78,7 +76,7 @@ public class TestIndependentPacksWithCyclicDependency { "-XX:CompileCommand=compileonly,compiler.loopopts.superword.TestIndependentPacksWithCyclicDependency::test*", "-XX:CompileCommand=compileonly,compiler.loopopts.superword.TestIndependentPacksWithCyclicDependency::verify", "-XX:CompileCommand=compileonly,compiler.loopopts.superword.TestIndependentPacksWithCyclicDependency::init", - "-XX:LoopUnrollLimit=1000"); + "-XX:+IgnoreUnrecognizedVMOptions", "-XX:LoopUnrollLimit=1000"); } TestIndependentPacksWithCyclicDependency() { @@ -120,6 +118,7 @@ public class TestIndependentPacksWithCyclicDependency { @Test @IR(counts = {IRNode.ADD_VI, "> 0", IRNode.MUL_VF, "> 0"}, + applyIfPlatform = {"64-bit", "true"}, applyIfCPUFeatureOr = {"sse4.1", "true", "asimd", "true"}) static void test0(int[] dataIa, int[] dataIb, float[] dataFa, float[] dataFb) { for (int i = 0; i < RANGE; i+=2) { @@ -144,6 +143,7 @@ public class TestIndependentPacksWithCyclicDependency { @Test @IR(counts = {IRNode.ADD_VI, "> 0", IRNode.MUL_VF, "> 0", IRNode.VECTOR_CAST_F2I, "> 0", IRNode.VECTOR_CAST_I2F, "> 0"}, + applyIfPlatform = {"64-bit", "true"}, applyIfCPUFeatureOr = {"avx2", "true", "asimd", "true"}) static void test1(int[] dataIa, int[] dataIb, float[] dataFa, float[] dataFb) { for (int i = 0; i < RANGE; i+=2) { @@ -167,6 +167,7 @@ public class TestIndependentPacksWithCyclicDependency { @Test @IR(counts = {IRNode.ADD_VI, "> 0", IRNode.MUL_VI, "> 0"}, + applyIfPlatform = {"64-bit", "true"}, applyIfCPUFeatureOr = {"sse4.1", "true", "asimd", "true"}) static void test2(int[] dataIa, int[] dataIb, float[] dataFa, float[] dataFb) { for (int i = 0; i < RANGE; i+=2) { @@ -191,6 +192,7 @@ public class TestIndependentPacksWithCyclicDependency { @Test @IR(counts = {IRNode.ADD_VI, "> 0", IRNode.MUL_VF, "> 0"}, + applyIfPlatform = {"64-bit", "true"}, applyIfCPUFeatureOr = {"sse4.1", "true", "asimd", "true"}) static void test3(int[] dataIa, int[] dataIb, float[] dataFa, float[] dataFb) { for (int i = 0; i < RANGE; i+=2) { @@ -267,6 +269,7 @@ public class TestIndependentPacksWithCyclicDependency { @Test @IR(counts = {IRNode.ADD_VI, "> 0", IRNode.MUL_VI, "> 0", IRNode.ADD_VF, "> 0"}, + applyIfPlatform = {"64-bit", "true"}, applyIfCPUFeatureOr = {"sse4.1", "true", "asimd", "true"}) static void test6(int[] dataIa, int[] dataIb, float[] dataFa, float[] dataFb, long[] dataLa, long[] dataLb) { diff --git a/test/hotspot/jtreg/compiler/loopopts/superword/TestIndependentPacksWithCyclicDependency2.java b/test/hotspot/jtreg/compiler/loopopts/superword/TestIndependentPacksWithCyclicDependency2.java index 31a2ba3a0cb..32d69689a42 100644 --- a/test/hotspot/jtreg/compiler/loopopts/superword/TestIndependentPacksWithCyclicDependency2.java +++ b/test/hotspot/jtreg/compiler/loopopts/superword/TestIndependentPacksWithCyclicDependency2.java @@ -28,11 +28,10 @@ * @summary Test some examples with independent packs with cyclic dependency * between the packs. * Before fix, this hit: "assert(!is_visited) failed: visit only once" - * @requires vm.compiler2.enabled * @modules java.base/jdk.internal.misc * @library /test/lib / - * @run main/othervm -XX:LoopUnrollLimit=250 - * -XX:CompileCommand=compileonly,compiler.loopopts.superword.TestIndependentPacksWithCyclicDependency2::test + * @run main/othervm -XX:CompileCommand=compileonly,compiler.loopopts.superword.TestIndependentPacksWithCyclicDependency2::test + * -XX:+IgnoreUnrecognizedVMOptions -XX:LoopUnrollLimit=250 * compiler.loopopts.superword.TestIndependentPacksWithCyclicDependency2 */ diff --git a/test/hotspot/jtreg/compiler/loopopts/superword/TestLargeCompilation.java b/test/hotspot/jtreg/compiler/loopopts/superword/TestLargeCompilation.java index afe19fa1cd8..cdd80d3baaa 100644 --- a/test/hotspot/jtreg/compiler/loopopts/superword/TestLargeCompilation.java +++ b/test/hotspot/jtreg/compiler/loopopts/superword/TestLargeCompilation.java @@ -27,9 +27,9 @@ package compiler.loopopts.superword; * @test * @bug 8327978 * @summary Test compile time for large compilation, where SuperWord takes especially much time. - * @requires vm.compiler2.enabled - * @run main/othervm/timeout=30 -XX:LoopUnrollLimit=1000 -Xbatch + * @run main/othervm/timeout=30 -Xbatch * -XX:CompileCommand=compileonly,compiler.loopopts.superword.TestLargeCompilation::test* + * -XX:+IgnoreUnrecognizedVMOptions -XX:LoopUnrollLimit=1000 * compiler.loopopts.superword.TestLargeCompilation */ diff --git a/test/hotspot/jtreg/compiler/loopopts/superword/TestLargeScaleAndStride.java b/test/hotspot/jtreg/compiler/loopopts/superword/TestLargeScaleAndStride.java index cfb2931d928..b3453c24d77 100644 --- a/test/hotspot/jtreg/compiler/loopopts/superword/TestLargeScaleAndStride.java +++ b/test/hotspot/jtreg/compiler/loopopts/superword/TestLargeScaleAndStride.java @@ -35,8 +35,7 @@ * @bug 8328938 * @modules java.base/jdk.internal.misc * @library /test/lib / - * @requires vm.compiler2.enabled - * @run main/othervm -XX:+AlignVector compiler.loopopts.superword.TestLargeScaleAndStride + * @run main/othervm -XX:+IgnoreUnrecognizedVMOptions -XX:+AlignVector compiler.loopopts.superword.TestLargeScaleAndStride */ package compiler.loopopts.superword; diff --git a/test/hotspot/jtreg/compiler/loopopts/superword/TestMovingLoadBeforeStore.java b/test/hotspot/jtreg/compiler/loopopts/superword/TestMovingLoadBeforeStore.java index 752c8010468..45e3af07741 100644 --- a/test/hotspot/jtreg/compiler/loopopts/superword/TestMovingLoadBeforeStore.java +++ b/test/hotspot/jtreg/compiler/loopopts/superword/TestMovingLoadBeforeStore.java @@ -24,16 +24,16 @@ /** * @test - * @requires vm.compiler2.enabled * @bug 8316679 8316594 * @summary In SuperWord::output, LoadVector can be moved before StoreVector, but only if it is proven to be safe. * @key randomness * @modules java.base/jdk.internal.misc * @library /test/lib * @run main/othervm -XX:CompileCommand=compileonly,compiler.loopopts.superword.TestMovingLoadBeforeStore::test* - * -Xbatch -XX:LoopUnrollLimit=100 - * -XX:+UnlockDiagnosticVMOptions -XX:+StressLCM * --add-modules java.base --add-exports java.base/jdk.internal.misc=ALL-UNNAMED + * -Xbatch + * -XX:+UnlockDiagnosticVMOptions -XX:+StressLCM + * -XX:+IgnoreUnrecognizedVMOptions -XX:LoopUnrollLimit=100 * compiler.loopopts.superword.TestMovingLoadBeforeStore */ diff --git a/test/hotspot/jtreg/compiler/loopopts/superword/TestMulAddS2I.java b/test/hotspot/jtreg/compiler/loopopts/superword/TestMulAddS2I.java index 578d4ee8bdb..e0f073c7f8f 100644 --- a/test/hotspot/jtreg/compiler/loopopts/superword/TestMulAddS2I.java +++ b/test/hotspot/jtreg/compiler/loopopts/superword/TestMulAddS2I.java @@ -75,8 +75,8 @@ public class TestMulAddS2I { public static void main(String[] args) { - TestFramework.runWithFlags("-XX:+AlignVector"); - TestFramework.runWithFlags("-XX:-AlignVector"); + TestFramework.runWithFlags("-XX:+IgnoreUnrecognizedVMOptions", "-XX:+AlignVector"); + TestFramework.runWithFlags("-XX:+IgnoreUnrecognizedVMOptions", "-XX:-AlignVector"); } @Run(test = {"testa", "testb", "testc", "testd", "teste", "testf", "testg", "testh", diff --git a/test/hotspot/jtreg/compiler/loopopts/superword/TestPeeledReductionNode.java b/test/hotspot/jtreg/compiler/loopopts/superword/TestPeeledReductionNode.java index 99e1e2465f8..b69bff04088 100644 --- a/test/hotspot/jtreg/compiler/loopopts/superword/TestPeeledReductionNode.java +++ b/test/hotspot/jtreg/compiler/loopopts/superword/TestPeeledReductionNode.java @@ -29,8 +29,9 @@ * @library /test/lib * @comment The test is run with -XX:LoopUnrollLimit=32 to prevent unrolling * from fully replacing vectorization. - * @run main/othervm -Xbatch -XX:LoopUnrollLimit=32 - * compiler.loopopts.superword.TestPeeledReductionNode + * @run main/othervm -Xbatch + * -XX:+IgnoreUnrecognizedVMOptions -XX:LoopUnrollLimit=32 + * compiler.loopopts.superword.TestPeeledReductionNode */ package compiler.loopopts.superword; diff --git a/test/hotspot/jtreg/compiler/loopopts/superword/TestPickFirstMemoryState.java b/test/hotspot/jtreg/compiler/loopopts/superword/TestPickFirstMemoryState.java index 488e32c416a..5d419766aeb 100644 --- a/test/hotspot/jtreg/compiler/loopopts/superword/TestPickFirstMemoryState.java +++ b/test/hotspot/jtreg/compiler/loopopts/superword/TestPickFirstMemoryState.java @@ -24,7 +24,6 @@ /** * @test - * @requires vm.compiler2.enabled * @bug 8240281 * @summary Test which needs to select the memory state of the first load in a load pack in SuperWord::co_locate_pack. * diff --git a/test/hotspot/jtreg/compiler/loopopts/superword/TestPickLastMemoryState.java b/test/hotspot/jtreg/compiler/loopopts/superword/TestPickLastMemoryState.java index 4f1972dfdfe..bbdf4d3ad7a 100644 --- a/test/hotspot/jtreg/compiler/loopopts/superword/TestPickLastMemoryState.java +++ b/test/hotspot/jtreg/compiler/loopopts/superword/TestPickLastMemoryState.java @@ -25,7 +25,6 @@ /** * @test - * @requires vm.compiler2.enabled * @bug 8290910 8293216 * @summary Test which needs to select the memory state of the last load in a load pack in SuperWord::co_locate_pack. * diff --git a/test/hotspot/jtreg/compiler/loopopts/superword/TestScheduleReordersScalarMemops.java b/test/hotspot/jtreg/compiler/loopopts/superword/TestScheduleReordersScalarMemops.java index f74c19d1b8b..f2ed8b6aec2 100644 --- a/test/hotspot/jtreg/compiler/loopopts/superword/TestScheduleReordersScalarMemops.java +++ b/test/hotspot/jtreg/compiler/loopopts/superword/TestScheduleReordersScalarMemops.java @@ -28,7 +28,6 @@ * @bug 8304720 * @summary Test some examples where non-vectorized memops also need to * be reordered during SuperWord::schedule. - * @requires vm.compiler2.enabled * @modules java.base/jdk.internal.misc * @library /test/lib / * @run driver compiler.loopopts.superword.TestScheduleReordersScalarMemops @@ -55,8 +54,8 @@ public class TestScheduleReordersScalarMemops { "-XX:CompileCommand=compileonly,compiler.loopopts.superword.TestScheduleReordersScalarMemops::test*", "-XX:CompileCommand=compileonly,compiler.loopopts.superword.TestScheduleReordersScalarMemops::verify", "-XX:CompileCommand=compileonly,compiler.loopopts.superword.TestScheduleReordersScalarMemops::init", - "-XX:LoopUnrollLimit=1000", - "-XX:-TieredCompilation", "-Xbatch"); + "-XX:-TieredCompilation", "-Xbatch", + "-XX:+IgnoreUnrecognizedVMOptions", "-XX:LoopUnrollLimit=1000"); } TestScheduleReordersScalarMemops() { diff --git a/test/hotspot/jtreg/compiler/loopopts/superword/TestSplitPacks.java b/test/hotspot/jtreg/compiler/loopopts/superword/TestSplitPacks.java index a872dbc616b..1824f18c8ff 100644 --- a/test/hotspot/jtreg/compiler/loopopts/superword/TestSplitPacks.java +++ b/test/hotspot/jtreg/compiler/loopopts/superword/TestSplitPacks.java @@ -37,7 +37,6 @@ import java.nio.ByteOrder; * @bug 8326139 * @summary Test splitting packs in SuperWord * @library /test/lib / - * @requires vm.compiler2.enabled * @run driver compiler.loopopts.superword.TestSplitPacks */ @@ -71,7 +70,7 @@ public class TestSplitPacks { } public static void main(String[] args) { - TestFramework.runWithFlags("-XX:LoopUnrollLimit=1000"); + TestFramework.runWithFlags("-XX:+IgnoreUnrecognizedVMOptions", "-XX:LoopUnrollLimit=1000"); } public TestSplitPacks() { diff --git a/test/hotspot/jtreg/compiler/loopopts/superword/TestUnorderedReduction.java b/test/hotspot/jtreg/compiler/loopopts/superword/TestUnorderedReduction.java index 30cdc05bfe5..eed03b3a4a1 100644 --- a/test/hotspot/jtreg/compiler/loopopts/superword/TestUnorderedReduction.java +++ b/test/hotspot/jtreg/compiler/loopopts/superword/TestUnorderedReduction.java @@ -25,7 +25,6 @@ * @test id=Vanilla-Unaligned * @bug 8302652 8314612 * @summary Special test cases for PhaseIdealLoop::move_unordered_reduction_out_of_loop - * @requires vm.compiler2.enabled * @library /test/lib / * @run driver compiler.loopopts.superword.TestUnorderedReduction Vanilla-Unaligned */ @@ -34,7 +33,6 @@ * @test id=Vanilla-Aligned * @bug 8302652 8314612 * @summary Special test cases for PhaseIdealLoop::move_unordered_reduction_out_of_loop - * @requires vm.compiler2.enabled * @library /test/lib / * @run driver compiler.loopopts.superword.TestUnorderedReduction Vanilla-Aligned */ @@ -43,7 +41,6 @@ * @test id=MaxVectorSize16-Unaligned * @bug 8302652 8314612 * @summary Special test cases for PhaseIdealLoop::move_unordered_reduction_out_of_loop - * @requires vm.compiler2.enabled * @library /test/lib / * @run driver compiler.loopopts.superword.TestUnorderedReduction MaxVectorSize16-Unaligned */ @@ -52,7 +49,6 @@ * @test id=MaxVectorSize32-Aligned * @bug 8302652 8314612 * @summary Special test cases for PhaseIdealLoop::move_unordered_reduction_out_of_loop - * @requires vm.compiler2.enabled * @library /test/lib / * @run driver compiler.loopopts.superword.TestUnorderedReduction MaxVectorSize32-Aligned */ @@ -75,10 +71,10 @@ public class TestUnorderedReduction { } switch (args[0]) { - case "Vanilla-Unaligned" -> { framework.addFlags("-XX:-AlignVector"); } - case "Vanilla-Aligned" -> { framework.addFlags("-XX:+AlignVector"); } - case "MaxVectorSize16-Unaligned" -> { framework.addFlags("-XX:-AlignVector", "-XX:MaxVectorSize=16"); } - case "MaxVectorSize32-Aligned" -> { framework.addFlags("-XX:+AlignVector", "-XX:MaxVectorSize=32"); } + case "Vanilla-Unaligned" -> { framework.addFlags("-XX:+IgnoreUnrecognizedVMOptions", "-XX:-AlignVector"); } + case "Vanilla-Aligned" -> { framework.addFlags("-XX:+IgnoreUnrecognizedVMOptions", "-XX:+AlignVector"); } + case "MaxVectorSize16-Unaligned" -> { framework.addFlags("-XX:+IgnoreUnrecognizedVMOptions", "-XX:-AlignVector", "-XX:MaxVectorSize=16"); } + case "MaxVectorSize32-Aligned" -> { framework.addFlags("-XX:+IgnoreUnrecognizedVMOptions", "-XX:+AlignVector", "-XX:MaxVectorSize=32"); } default -> { throw new RuntimeException("Test argument not recognized: " + args[0]); } } framework.start(); diff --git a/test/hotspot/jtreg/compiler/loopopts/superword/TestUnorderedReductionPartialVectorization.java b/test/hotspot/jtreg/compiler/loopopts/superword/TestUnorderedReductionPartialVectorization.java index 666ddaac441..0d4a4e7b5d8 100644 --- a/test/hotspot/jtreg/compiler/loopopts/superword/TestUnorderedReductionPartialVectorization.java +++ b/test/hotspot/jtreg/compiler/loopopts/superword/TestUnorderedReductionPartialVectorization.java @@ -26,7 +26,6 @@ * @bug JDK-8310130 * @summary Special test cases for PhaseIdealLoop::move_unordered_reduction_out_of_loop * Here a case with partial vectorization of the reduction. - * @requires vm.bits == "64" * @library /test/lib / * @run driver compiler.loopopts.superword.TestUnorderedReductionPartialVectorization */ @@ -62,6 +61,7 @@ public class TestUnorderedReductionPartialVectorization { @IR(counts = {IRNode.LOAD_VECTOR_I, IRNode.VECTOR_SIZE + "min(max_int, max_long)", "> 0", IRNode.VECTOR_CAST_I2L, IRNode.VECTOR_SIZE + "min(max_int, max_long)", "> 0", IRNode.OR_REDUCTION_V, "> 0",}, + applyIfPlatform = {"64-bit", "true"}, applyIfCPUFeatureOr = {"avx2", "true"}) static long test1(int[] data, long sum) { for (int i = 0; i < data.length; i+=2) { diff --git a/test/hotspot/jtreg/compiler/loopopts/superword/Vec_MulAddS2I.java b/test/hotspot/jtreg/compiler/loopopts/superword/Vec_MulAddS2I.java index f63692871ad..d595e914ff4 100644 --- a/test/hotspot/jtreg/compiler/loopopts/superword/Vec_MulAddS2I.java +++ b/test/hotspot/jtreg/compiler/loopopts/superword/Vec_MulAddS2I.java @@ -27,47 +27,62 @@ * @bug 8214751 * @summary Test operations in C2 MulAddS2I and MulAddVS2VI nodes. * @library /test/lib - * @requires vm.compiler2.enabled * - * @run main/othervm -XX:LoopUnrollLimit=250 + * @run main/othervm + * -XX:+IgnoreUnrecognizedVMOptions + * -XX:LoopUnrollLimit=250 * -XX:CompileThresholdScaling=0.1 * -XX:+UseSuperWord * -XX:LoopMaxUnroll=2 * compiler.loopopts.superword.Vec_MulAddS2I - * @run main/othervm -XX:LoopUnrollLimit=250 + * @run main/othervm + * -XX:+IgnoreUnrecognizedVMOptions + * -XX:LoopUnrollLimit=250 * -XX:CompileThresholdScaling=0.1 * -XX:-UseSuperWord * -XX:LoopMaxUnroll=2 * compiler.loopopts.superword.Vec_MulAddS2I * - * @run main/othervm -XX:LoopUnrollLimit=250 + * @run main/othervm + * -XX:+IgnoreUnrecognizedVMOptions + * -XX:LoopUnrollLimit=250 * -XX:CompileThresholdScaling=0.1 * -XX:+UseSuperWord * -XX:LoopMaxUnroll=4 * compiler.loopopts.superword.Vec_MulAddS2I - * @run main/othervm -XX:LoopUnrollLimit=250 + * @run main/othervm + * -XX:+IgnoreUnrecognizedVMOptions + * -XX:LoopUnrollLimit=250 * -XX:CompileThresholdScaling=0.1 * -XX:-UseSuperWord * -XX:LoopMaxUnroll=4 * compiler.loopopts.superword.Vec_MulAddS2I * - * @run main/othervm -XX:LoopUnrollLimit=250 + * @run main/othervm + * -XX:+IgnoreUnrecognizedVMOptions + * -XX:LoopUnrollLimit=250 * -XX:CompileThresholdScaling=0.1 * -XX:+UseSuperWord * -XX:LoopMaxUnroll=8 * compiler.loopopts.superword.Vec_MulAddS2I - * @run main/othervm -XX:LoopUnrollLimit=250 + * @run main/othervm + * -XX:+IgnoreUnrecognizedVMOptions + * -XX:LoopUnrollLimit=250 * -XX:CompileThresholdScaling=0.1 * -XX:-UseSuperWord * -XX:LoopMaxUnroll=8 * compiler.loopopts.superword.Vec_MulAddS2I * - * @run main/othervm -XX:LoopUnrollLimit=250 + * @run main/othervm + * -XX:+IgnoreUnrecognizedVMOptions + * -XX:LoopUnrollLimit=250 * -XX:CompileThresholdScaling=0.1 * -XX:+UseSuperWord * -XX:LoopMaxUnroll=16 * compiler.loopopts.superword.Vec_MulAddS2I - * @run main/othervm -XX:LoopUnrollLimit=250 + * @run main/othervm + * -XX:+IgnoreUnrecognizedVMOptions + * -XX:LoopUnrollLimit=250 * -XX:CompileThresholdScaling=0.1 * -XX:-UseSuperWord * -XX:LoopMaxUnroll=16