8305055: IR check fails on some aarch64 platforms

Reviewed-by: epeter, thartmann
This commit is contained in:
Fei Gao 2023-03-31 09:15:24 +00:00
parent c8f3a97d46
commit dea9db2d0a
2 changed files with 14 additions and 2 deletions
test/hotspot/jtreg/compiler

@ -1,5 +1,5 @@
/*
* Copyright (c) 2022, Arm Limited. All rights reserved.
* Copyright (c) 2022, 2023, Arm Limited. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@ -57,7 +57,10 @@ public class TestVectorizeTypeConversion {
@Test
@IR(counts = {IRNode.LOAD_VECTOR, ">0",
IRNode.VECTOR_CAST_I2X, ">0",
IRNode.STORE_VECTOR, ">0"})
IRNode.STORE_VECTOR, ">0"},
// The vectorization of some conversions may fail when `+AlignVector`.
// We can remove the condition after JDK-8303827.
applyIf = {"AlignVector", "false"})
private static void testConvI2D(double[] d, int[] a) {
for(int i = 0; i < d.length; i++) {
d[i] = (double) (a[i]);

@ -143,6 +143,9 @@ public class ArrayTypeConvertTest extends VectorizationTestRunner {
@Test
@IR(applyIfCPUFeatureOr = {"asimd", "true", "avx", "true"},
// The vectorization of some conversions may fail when `+AlignVector`.
// We can remove the condition after JDK-8303827.
applyIf = {"AlignVector", "false"},
counts = {IRNode.VECTOR_CAST_I2X, ">0"})
public double[] convertIntToDouble() {
double[] res = new double[SIZE];
@ -230,6 +233,9 @@ public class ArrayTypeConvertTest extends VectorizationTestRunner {
@Test
@IR(applyIfCPUFeatureOr = {"asimd", "true", "avx512dq", "true"},
// The vectorization of some conversions may fail when `+AlignVector`.
// We can remove the condition after JDK-8303827.
applyIf = {"AlignVector", "false"},
counts = {IRNode.VECTOR_CAST_F2X, ">0"})
public long[] convertFloatToLong() {
long[] res = new long[SIZE];
@ -311,6 +317,9 @@ public class ArrayTypeConvertTest extends VectorizationTestRunner {
// ---------------- Convert Between F & D ----------------
@Test
@IR(applyIfCPUFeatureOr = {"asimd", "true", "avx", "true"},
// The vectorization of some conversions may fail when `+AlignVector`.
// We can remove the condition after JDK-8303827.
applyIf = {"AlignVector", "false"},
counts = {IRNode.VECTOR_CAST_F2X, ">0"})
public double[] convertFloatToDouble() {
double[] res = new double[SIZE];