diff --git a/test/hotspot/jtreg/compiler/c2/irTests/TestVectorizationMultiInvar.java b/test/hotspot/jtreg/compiler/c2/irTests/TestVectorizationMultiInvar.java index c5b5e691a5c..6b5c886cf86 100644 --- a/test/hotspot/jtreg/compiler/c2/irTests/TestVectorizationMultiInvar.java +++ b/test/hotspot/jtreg/compiler/c2/irTests/TestVectorizationMultiInvar.java @@ -25,6 +25,7 @@ package compiler.c2.irTests; import compiler.lib.ir_framework.*; import jdk.test.lib.Utils; +import jdk.test.whitebox.WhiteBox; import jdk.internal.misc.Unsafe; import java.util.Objects; import java.util.Random; @@ -36,14 +37,20 @@ import java.util.Random; * @summary C2: vectorization fails on some simple Memory Segment loops * @modules java.base/jdk.internal.misc * @library /test/lib / - * @run driver compiler.c2.irTests.TestVectorizationMultiInvar + * @build jdk.test.whitebox.WhiteBox + * @run driver jdk.test.lib.helpers.ClassFileInstaller jdk.test.whitebox.WhiteBox + * @run main/othervm -Xbootclasspath/a:. -XX:+UnlockDiagnosticVMOptions -XX:+WhiteBoxAPI compiler.c2.irTests.TestVectorizationMultiInvar */ public class TestVectorizationMultiInvar { private static final Unsafe UNSAFE = Unsafe.getUnsafe(); + private final static WhiteBox wb = WhiteBox.getWhiteBox(); public static void main(String[] args) { - TestFramework.runWithFlags("--add-modules", "java.base", "--add-exports", "java.base/jdk.internal.misc=ALL-UNNAMED"); + Object alignVector = wb.getVMFlag("AlignVector"); + if (alignVector != null && !((Boolean)alignVector)) { + TestFramework.runWithFlags("--add-modules", "java.base", "--add-exports", "java.base/jdk.internal.misc=ALL-UNNAMED"); + } } static int size = 1024;