RFR: 8333248: VectorGatherMaskFoldingTest.java failed when maximum vector bits is 64 [v3]

Gui Cao gcao at openjdk.org
Thu Jun 6 03:47:52 UTC 2024


> Hi, VectorGatherMaskFoldingTest.java Test fails when max vector bits is 64, when max vector bits is 64, LongVector.SPECIES_MAX.length() and DoubleVector.SPECIES_MAX.length() is 1. 
> 
> We can reproduce this problem in two ways:
> 1. We can use riscv without rvv1.0 board to reproduce this problem
> 2. Run VectorGatherMaskFoldingTest.java on aarch64 client mode without `-XX:+IncrementalInlineForceCleanup` Option,  the `-XX:+IncrementalInlineForceCleanup` is C2 Option, so we need to remove this Option from the VectorGatherMaskFoldingTest.main method. error message:
> 
> Base Test: @Test testDoubleVectorStoreLoadMaskedVector:
> compiler.lib.ir_framework.shared.TestRunException: There was an error while invoking @Test method public static void compiler.vectorapi.VectorGatherMaskFoldingTest.testDoubleVectorStoreLoadMaskedVector(). Target: null. Arguments: <void>
> 	at compiler.lib.ir_framework.test.BaseTest.invokeTestMethod(BaseTest.java:84)
> 	at compiler.lib.ir_framework.test.BaseTest.invokeTest(BaseTest.java:71)
> 	at compiler.lib.ir_framework.test.AbstractTest.run(AbstractTest.java:98)
> 	at compiler.lib.ir_framework.test.TestVM.runTests(TestVM.java:861)
> 	at compiler.lib.ir_framework.test.TestVM.start(TestVM.java:252)
> 	at compiler.lib.ir_framework.test.TestVM.main(TestVM.java:165)
> Caused by: java.lang.reflect.InvocationTargetException
> 	at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:118)
> 	at java.base/java.lang.reflect.Method.invoke(Method.java:580)
> 	at compiler.lib.ir_framework.test.BaseTest.invokeTestMethod(BaseTest.java:80)
> 	... 5 more
> Caused by: java.lang.RuntimeException: assertNotEquals: expected [1.0] to not equal [1.0]
> 	at jdk.test.lib.Asserts.fail(Asserts.java:691)
> 	at jdk.test.lib.Asserts.assertNotEquals(Asserts.java:451)
> 	at jdk.test.lib.Asserts.assertNotEquals(Asserts.java:435)
> 	at compiler.vectorapi.VectorGatherMaskFoldingTest.testDoubleVectorStoreLoadMaskedVector(VectorGatherMaskFoldingTest.java:1089)
> 	at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
> 	... 7 more
> 
> 
> For example, the following method will be failed:
> 
>     private static final VectorSpecies<Long> L_SPECIES = LongVector.SPECIES_MAX;
>     private static final VectorSpecies<Double> D_SPECIES = DoubleVector.SPECIES_MAX;
>     ...
>     @Test
>     @IR(counts = { IRNode.STORE_VECTOR_MASKED, ">= 1", IRNode.LOAD_VECTOR_MASKED, ">= 1" }, applyIfCPUFeatureOr = {"avx512", "true", "sve", "true"})
>     public static ...

Gui Cao has updated the pull request incrementally with one additional commit since the last revision:

  Fix for some missed

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

Changes:
  - all: https://git.openjdk.org/jdk/pull/19473/files
  - new: https://git.openjdk.org/jdk/pull/19473/files/1235a453..42907ff3

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=jdk&pr=19473&range=02
 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=19473&range=01-02

  Stats: 10 lines in 1 file changed: 0 ins; 0 del; 10 mod
  Patch: https://git.openjdk.org/jdk/pull/19473.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/19473/head:pull/19473

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


More information about the hotspot-compiler-dev mailing list