compiler/vectorapi/VectorLogicalOpIdentityTest.java fails on SVE system with UseSVE=0

XMLWordPrintable

    • b05
    • aarch64

        Some sub tests fails with IR test failure when this test is run on SVE systems with "-XX:UseSVE=0".
        Here is part of the failure log:

        ```
        Command Line:
        /home/ent-user/ci-scripts/jdk_build/build-fastdebug/images/jdk/bin/java -DReproduce=true -cp /home/ent-user/ci-scripts/jdk_build/jtwork_rerun/classes/compiler/vectorapi/VectorLogicalOpIdentityTest.d:/home/ent-user/ci-scripts/jdk_build/jdk_src/test/hotspot/jtreg/compiler/vectorapi:/home/ent-user/ci-scripts/jdk_build/jtwork_rerun/classes/test/lib:/home/ent-user/ci-scripts/jdk_build/jdk_src/test/lib:/home/ent-user/ci-scripts/jdk_build/jtwork_rerun/classes:/home/ent-user/ci-scripts/jdk_build/jdk_src/test/hotspot/jtreg:/home/ent-user/jtreg/jtreg-git/build/images/jtreg/lib/javatest.jar:/home/ent-user/jtreg/jtreg-git/build/images/jtreg/lib/jtreg.jar -Djava.library.path=/home/ent-user/ci-scripts/jdk_build/build-fastdebug/images/test/hotspot/jtreg/native -Xbootclasspath/a:. -XX:+UnlockDiagnosticVMOptions -XX:+WhiteBoxAPI -ea -esa -Xmx768m -server -XX:UseSVE=0 -Djdk.test.docker.image.name=ubuntu -Djdk.test.docker.image.version=22.04 -Djdk.incubator.vector.test.loop-iterations=500 -DweakAttempts=100000 -Dir.framework.server.port=35695 --add-modules=jdk.incubator.vector -XX:+PrintCompilation -XX:+UnlockDiagnosticVMOptions -XX:+LogCompilation -XX:CompilerDirectivesFile=test-vm-compile-commands-pid-215737.log -XX:CompilerDirectivesLimit=391 -XX:-OmitStackTraceInFastThrow -DShouldDoIRVerification=true -XX:-BackgroundCompilation -XX:CompileCommand=quiet compiler.lib.ir_framework.test.TestVM compiler.vectorapi.VectorLogicalOpIdentityTest

        One or more @IR rules failed:

        Failed IR Rules (6) of Methods (6)
        ----------------------------------
        1) Method "public static void compiler.vectorapi.VectorLogicalOpIdentityTest.testAndMaskSameValue1()" - [Failed IR rules: 1]:
           * @IR rule 1: "@compiler.lib.ir_framework.IR(phase={DEFAULT}, applyIfCPUFeatureAnd={}, applyIfCPUFeatureOr={"sve", "true", "avx512", "true"}, applyIf={}, applyIfCPUFeature={}, counts={"_#AND_V#_", "1"}, failOn={}, applyIfAnd={}, applyIfOr={}, applyIfNot={})"
             > Phase "PrintIdeal":
               - counts: Graph contains wrong number of nodes:
                 * Constraint 1: "(\d+(\s){2}(AndV.*)+(\s){2}===.*)"
                   - Failed comparison: [found] 2 = 1 [given]
                     - Matched nodes (2):
                       * 359 AndV === _ 358 458 [[ 239 ]] #vectorx[4]:{int} !jvms: IntVector::lanewiseTemplate @ bci:192 (line 834) IntMaxVector::lanewise @ bci:9 (line 276) IntMaxVector::lanewise @ bci:4 (line 41) VectorLogicalOpIdentityTest::testAndMaskSameValue1 @ bci:47 (line 311)
                       * 457 AndV === _ 205 458 [[ 358 ]] #vectorx[4]:{int} !jvms: IntVector::lanewiseTemplate @ bci:192 (line 834) IntMaxVector::lanewise @ bci:9 (line 276) IntMaxVector::lanewise @ bci:4 (line 41) VectorLogicalOpIdentityTest::testAndMaskSameValue1 @ bci:39 (line 310)

        2) Method "public static void compiler.vectorapi.VectorLogicalOpIdentityTest.testAndMaskSameValue2()" - [Failed IR rules: 1]:
           * @IR rule 1: "@compiler.lib.ir_framework.IR(phase={DEFAULT}, applyIfCPUFeatureAnd={}, applyIfCPUFeatureOr={"sve", "true", "avx512", "true"}, applyIf={}, applyIfCPUFeature={}, counts={"_#AND_V#_", "1"}, failOn={}, applyIfAnd={}, applyIfOr={}, applyIfNot={})"
             > Phase "PrintIdeal":
               - counts: Graph contains wrong number of nodes:
                 * Constraint 1: "(\d+(\s){2}(AndV.*)+(\s){2}===.*)"
                   - Failed comparison: [found] 2 = 1 [given]
                     - Matched nodes (2):
                       * 267 AndV === _ 266 184 [[ 160 ]] #vectorx[2]:{long} !jvms: LongVector::lanewiseTemplate @ bci:193 (line 792) LongMaxVector::lanewise @ bci:9 (line 271) LongMaxVector::lanewise @ bci:4 (line 41) VectorLogicalOpIdentityTest::testAndMaskSameValue2 @ bci:47 (line 332)
                       * 361 AndV === _ 184 432 [[ 266 ]] #vectorx[2]:{long} !jvms: LongVector::lanewiseTemplate @ bci:193 (line 792) LongMaxVector::lanewise @ bci:9 (line 271) LongMaxVector::lanewise @ bci:4 (line 41) VectorLogicalOpIdentityTest::testAndMaskSameValue2 @ bci:39 (line 331)
        ```
        Cause is these tests should be run on sve hardware with sve enabled. Option "-XX:UseSVE=0" will disable the SVE without changing the cpu feature. So these tests run since the cpu feature is matched, but the JVM environment is not sve.

              Assignee:
              Xiaohong Gong
              Reporter:
              Xiaohong Gong
              Votes:
              0 Vote for this issue
              Watchers:
              6 Start watching this issue

                Created:
                Updated:
                Resolved: