Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-8343906

test2 of compiler/c2/TestCastX2NotProcessedIGVN.java fails on some platforms

XMLWordPrintable

    • ppc, s390x
    • generic

      The test case `test2` of compiler/c2/TestCastX2NotProcessedIGVN.java fails on following platforms:

      - ppc64le and ppc64
      - s390x

      The compilation succeeds but the expected `LoadVector` nodes are not found.

      It should be analyzed if vectorization of the simple loop really fails and why it fails.
      I expected that the optimization depends on `-XX:+UseSuperWord` but with `-XX:-UseSuperWord` the test does not fail on x86_64 either.

      For the time being the test can be annotated with a positive list of platforms where the ir is as expected (i.e. on other platforms `test2` will be run and compiled but the ir is not checked).

      OUTPUT of a test failure on ppc64le (lscpu: POWER10 (architected), altivec supported)

      Failed IR Rules (1) of Methods (1)
      ----------------------------------
      1) Method "public static int compiler.c2.TestCastX2NotProcessedIGVN.test2(int,int[])" - [Failed IR rules: 1]:
         * @IR rule 1: "@compiler.lib.ir_framework.IR(phase={DEFAULT}, applyIfPlatformAnd={}, applyIfCPUFeatureOr={}, counts={"_#V#LOAD_VECTOR_I#_", "> 1"}, applyIfPlatform={}, applyIfPlatformOr={}, failOn={}, applyIfOr={}, applyIfCPUFeatureAnd={}, applyIf={}, applyIfCPUFeature={}, applyIfAnd={}, applyIfNot={})"
           > Phase "PrintIdeal":
             - counts: Graph contains wrong number of nodes:
               * Constraint 1: "(\d+(\s){2}(LoadVector.*)+(\s){2}===.*vector[A-Za-z]<I,4>)"
                 - Failed comparison: [found] 0 > 1 [given]
                 - No nodes matched!

      >>> Check stdout for compilation output of the failed methods


        #############################################################
         - To only run the failed tests use -DTest, -DExclude,
           and/or -DScenarios.
         - To also get the standard output of the test VM run with
           -DReportStdout=true or for even more fine-grained logging
           use -DVerbose=true.
        #############################################################


      compiler.lib.ir_framework.driver.irmatching.IRViolationException: There were one or multiple IR rule failures. Please check stderr for more information.
      at compiler.lib.ir_framework.driver.irmatching.IRMatcher.reportFailures(IRMatcher.java:61)
      at compiler.lib.ir_framework.driver.irmatching.IRMatcher.match(IRMatcher.java:49)
      at compiler.lib.ir_framework.TestFramework.runTestVM(TestFramework.java:765)
      at compiler.lib.ir_framework.TestFramework.start(TestFramework.java:729)
      at compiler.lib.ir_framework.TestFramework.start(TestFramework.java:349)
      at compiler.lib.ir_framework.TestFramework.runWithFlags(TestFramework.java:246)
      at compiler.c2.TestCastX2NotProcessedIGVN.main(TestCastX2NotProcessedIGVN.java:45)
      at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104)
      at java.base/java.lang.reflect.Method.invoke(Method.java:567)
      at com.sun.javatest.regtest.agent.MainActionHelper$AgentVMRunnable.run(MainActionHelper.java:333)
      at java.base/java.lang.Thread.run(Thread.java:1576)

      JavaTest Message: Test threw exception: compiler.lib.ir_framework.driver.irmatching.IRViolationException
      JavaTest Message: shutting down test

            Unassigned Unassigned
            rrich Richard Reingruber
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated: