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

C2 IR test failures for TestFpMinMaxReductions.java with SSE2

XMLWordPrintable

    • b25

      The test was recently added JDK-8287087

      [~jbhateja] found it:
      https://github.com/openjdk/jdk/pull/13493#issuecomment-1560459854

      I can reproduce it like this:

      make test TEST="test/hotspot/jtreg/compiler/intrinsics/math/TestFpMinMaxReductions.java" CONF=linux-x64-slowdebug JTREG="RETAIN=all;JOBS=8;TIMEOUT_FACTOR=8;JAVA_OPTIONS=-XX:UseSSE=2"




      See output below:

      Failed IR Rules (12) of Methods (12)
      ------------------------------------
      1) Method "private static double compiler.intrinsics.math.TestFpMinMaxReductions.testDoubleMax()" - [Failed IR rules: 1]:
         * @IR rule 1: "@compiler.lib.ir_framework.IR(applyIfCPUFeatureAnd={}, phase={DEFAULT}, applyIf={}, applyIfCPUFeatureOr={}, applyIfCPUFeature={}, counts={"_#MAX_D_REG#_", "1"}, applyIfAnd={}, failOn={"_#MAX_D_REDUCTION_REG#_"}, applyIfOr={}, applyIfNot={})"
           > Phase "Final Code":
             - counts: Graph contains wrong number of nodes:
               * Constraint 1: "(\d+(\s){2}(maxD_reg.*)+(\s){2}===.*)"
                 - Failed comparison: [found] 0 = 1 [given]
                 - No nodes matched!

      2) Method "private static double compiler.intrinsics.math.TestFpMinMaxReductions.testDoubleMaxReduction()" - [Failed IR rules: 1]:
         * @IR rule 1: "@compiler.lib.ir_framework.IR(applyIfCPUFeatureAnd={}, phase={DEFAULT}, applyIf={}, applyIfCPUFeatureOr={}, applyIfCPUFeature={}, counts={"_#MAX_D_REDUCTION_REG#_", ">= 1"}, applyIfAnd={}, failOn={}, applyIfOr={}, applyIfNot={})"
           > Phase "Final Code":
             - counts: Graph contains wrong number of nodes:
               * Constraint 1: "(\d+(\s){2}(maxD_reduction_reg.*)+(\s){2}===.*)"
                 - Failed comparison: [found] 0 >= 1 [given]
                 - No nodes matched!

      3) Method "private static double compiler.intrinsics.math.TestFpMinMaxReductions.testDoubleMin()" - [Failed IR rules: 1]:
         * @IR rule 1: "@compiler.lib.ir_framework.IR(applyIfCPUFeatureAnd={}, phase={DEFAULT}, applyIf={}, applyIfCPUFeatureOr={}, applyIfCPUFeature={}, counts={"_#MIN_D_REG#_", "1"}, applyIfAnd={}, failOn={"_#MIN_D_REDUCTION_REG#_"}, applyIfOr={}, applyIfNot={})"
           > Phase "Final Code":
             - counts: Graph contains wrong number of nodes:
               * Constraint 1: "(\d+(\s){2}(minD_reg.*)+(\s){2}===.*)"
                 - Failed comparison: [found] 0 = 1 [given]
                 - No nodes matched!

      4) Method "private static double compiler.intrinsics.math.TestFpMinMaxReductions.testDoubleMinReduction()" - [Failed IR rules: 1]:
         * @IR rule 1: "@compiler.lib.ir_framework.IR(applyIfCPUFeatureAnd={}, phase={DEFAULT}, applyIf={}, applyIfCPUFeatureOr={}, applyIfCPUFeature={}, counts={"_#MIN_D_REDUCTION_REG#_", ">= 1"}, applyIfAnd={}, failOn={}, applyIfOr={}, applyIfNot={})"
           > Phase "Final Code":
             - counts: Graph contains wrong number of nodes:
               * Constraint 1: "(\d+(\s){2}(minD_reduction_reg.*)+(\s){2}===.*)"
                 - Failed comparison: [found] 0 >= 1 [given]
                 - No nodes matched!

      5) Method "private static float compiler.intrinsics.math.TestFpMinMaxReductions.testFloatMax()" - [Failed IR rules: 1]:
         * @IR rule 1: "@compiler.lib.ir_framework.IR(applyIfCPUFeatureAnd={}, phase={DEFAULT}, applyIf={}, applyIfCPUFeatureOr={}, applyIfCPUFeature={}, counts={"_#MAX_F_REG#_", "1"}, applyIfAnd={}, failOn={"_#MAX_F_REDUCTION_REG#_"}, applyIfOr={}, applyIfNot={})"
           > Phase "Final Code":
             - counts: Graph contains wrong number of nodes:
               * Constraint 1: "(\d+(\s){2}(maxF_reg.*)+(\s){2}===.*)"
                 - Failed comparison: [found] 0 = 1 [given]
                 - No nodes matched!

      6) Method "private static float compiler.intrinsics.math.TestFpMinMaxReductions.testFloatMaxReduction()" - [Failed IR rules: 1]:
         * @IR rule 1: "@compiler.lib.ir_framework.IR(applyIfCPUFeatureAnd={}, phase={DEFAULT}, applyIf={}, applyIfCPUFeatureOr={}, applyIfCPUFeature={}, counts={"_#MAX_F_REDUCTION_REG#_", ">= 1"}, applyIfAnd={}, failOn={}, applyIfOr={}, applyIfNot={})"
           > Phase "Final Code":
             - counts: Graph contains wrong number of nodes:
               * Constraint 1: "(\d+(\s){2}(maxF_reduction_reg.*)+(\s){2}===.*)"
                 - Failed comparison: [found] 0 >= 1 [given]
                 - No nodes matched!

      7) Method "private static float compiler.intrinsics.math.TestFpMinMaxReductions.testFloatMin()" - [Failed IR rules: 1]:
         * @IR rule 1: "@compiler.lib.ir_framework.IR(applyIfCPUFeatureAnd={}, phase={DEFAULT}, applyIf={}, applyIfCPUFeatureOr={}, applyIfCPUFeature={}, counts={"_#MIN_F_REG#_", "1"}, applyIfAnd={}, failOn={"_#MIN_F_REDUCTION_REG#_"}, applyIfOr={}, applyIfNot={})"
           > Phase "Final Code":
             - counts: Graph contains wrong number of nodes:
               * Constraint 1: "(\d+(\s){2}(minF_reg.*)+(\s){2}===.*)"
                 - Failed comparison: [found] 0 = 1 [given]
                 - No nodes matched!

      8) Method "private static float compiler.intrinsics.math.TestFpMinMaxReductions.testFloatMinReduction()" - [Failed IR rules: 1]:
         * @IR rule 1: "@compiler.lib.ir_framework.IR(applyIfCPUFeatureAnd={}, phase={DEFAULT}, applyIf={}, applyIfCPUFeatureOr={}, applyIfCPUFeature={}, counts={"_#MIN_F_REDUCTION_REG#_", ">= 1"}, applyIfAnd={}, failOn={}, applyIfOr={}, applyIfNot={})"
           > Phase "Final Code":
             - counts: Graph contains wrong number of nodes:
               * Constraint 1: "(\d+(\s){2}(minF_reduction_reg.*)+(\s){2}===.*)"
                 - Failed comparison: [found] 0 >= 1 [given]
                 - No nodes matched!

      9) Method "private static float compiler.intrinsics.math.TestFpMinMaxReductions.testFloatMinReductionGlobalAccumulator()" - [Failed IR rules: 1]:
         * @IR rule 1: "@compiler.lib.ir_framework.IR(applyIfCPUFeatureAnd={}, phase={DEFAULT}, applyIf={}, applyIfCPUFeatureOr={}, applyIfCPUFeature={}, counts={"_#MIN_F_REDUCTION_REG#_", ">= 1"}, applyIfAnd={}, failOn={}, applyIfOr={}, applyIfNot={})"
           > Phase "Final Code":
             - counts: Graph contains wrong number of nodes:
               * Constraint 1: "(\d+(\s){2}(minF_reduction_reg.*)+(\s){2}===.*)"
                 - Failed comparison: [found] 0 >= 1 [given]
                 - No nodes matched!

      10) Method "private static float compiler.intrinsics.math.TestFpMinMaxReductions.testFloatMinReductionInOuterLoop()" - [Failed IR rules: 1]:
          * @IR rule 1: "@compiler.lib.ir_framework.IR(applyIfCPUFeatureAnd={}, phase={DEFAULT}, applyIf={}, applyIfCPUFeatureOr={}, applyIfCPUFeature={}, counts={"_#MIN_F_REDUCTION_REG#_", ">= 1"}, applyIfAnd={}, failOn={}, applyIfOr={}, applyIfNot={})"
            > Phase "Final Code":
              - counts: Graph contains wrong number of nodes:
                * Constraint 1: "(\d+(\s){2}(minF_reduction_reg.*)+(\s){2}===.*)"
                  - Failed comparison: [found] 0 >= 1 [given]
                  - No nodes matched!

      11) Method "private static float compiler.intrinsics.math.TestFpMinMaxReductions.testFloatMinReductionNonCounted()" - [Failed IR rules: 1]:
          * @IR rule 1: "@compiler.lib.ir_framework.IR(applyIfCPUFeatureAnd={}, phase={DEFAULT}, applyIf={}, applyIfCPUFeatureOr={}, applyIfCPUFeature={}, counts={"_#MIN_F_REDUCTION_REG#_", ">= 1"}, applyIfAnd={}, failOn={}, applyIfOr={}, applyIfNot={})"
            > Phase "Final Code":
              - counts: Graph contains wrong number of nodes:
                * Constraint 1: "(\d+(\s){2}(minF_reduction_reg.*)+(\s){2}===.*)"
                  - Failed comparison: [found] 0 >= 1 [given]
                  - No nodes matched!

      12) Method "private static float compiler.intrinsics.math.TestFpMinMaxReductions.testFloatMinReductionPartiallyUnrolled()" - [Failed IR rules: 1]:
          * @IR rule 1: "@compiler.lib.ir_framework.IR(applyIfCPUFeatureAnd={}, phase={DEFAULT}, applyIf={}, applyIfCPUFeatureOr={}, applyIfCPUFeature={}, counts={"_#MIN_F_REDUCTION_REG#_", ">= 1"}, applyIfAnd={}, failOn={}, applyIfOr={}, applyIfNot={})"
            > Phase "Final Code":
              - counts: Graph contains wrong number of nodes:
                * Constraint 1: "(\d+(\s){2}(minF_reduction_reg.*)+(\s){2}===.*)"
                  - Failed comparison: [found] 0 >= 1 [given]
                  - No nodes matched!

            rcastanedalo Roberto Castaneda Lozano
            epeter Emanuel Peter
            Votes:
            0 Vote for this issue
            Watchers:
            7 Start watching this issue

              Created:
              Updated:
              Resolved: