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

[s390x] intrinsics for divideUnsigned and remainderUnsigned methods in java.lang.Integer and java.lang.Long

XMLWordPrintable

    • b23
    • s390x
    • linux

      Optimize the implementation of divideUnsigned() and remainderUnsigned() methods in java.lang.Integer and java.lang.Long classes by using s390x z_dlr, z_dlgr instructions. Cloned from JDK-8282221


      Test is failing due to missing implementation: compiler/c2/TestDivModNodes.java
      Log:

      One or more @IR rules failed:

      Failed IR Rules (2) of Methods (2)
      ----------------------------------
      1) Method "private static void compiler.c2.TestDivModNodes.testUnsignedIntDivMod(int,int)" - [Failed IR rules: 1]:
         * @IR rule 3: "@compiler.lib.ir_framework.IR(phase={DEFAULT}, applyIfPlatformAnd={}, applyIfCPUFeatureOr={}, counts={"_#UDIV_I#_", "1", "_#UMOD_I#_", "1"}, applyIfPlatformOr={}, applyIfPlatform={}, failOn={}, applyIfOr={}, applyIfCPUFeatureAnd={}, applyIf={"UseDivMod", "false"}, applyIfCPUFeature={}, applyIfAnd={}, applyIfNot={})"
           > Phase "PrintIdeal":
             - counts: Graph contains wrong number of nodes:
               * Constraint 1: "(\\d+(\\s){2}(UDivI.*)+(\\s){2}===.*)"
                 - Failed comparison: [found] 0 = 1 [given]
                 - No nodes matched!
               * Constraint 2: "(\\d+(\\s){2}(UModI.*)+(\\s){2}===.*)"
                 - Failed comparison: [found] 0 = 1 [given]
                 - No nodes matched!

      2) Method "private static void compiler.c2.TestDivModNodes.testUnsignedLongDivMod(long,long)" - [Failed IR rules: 1]:
         * @IR rule 3: "@compiler.lib.ir_framework.IR(phase={DEFAULT}, applyIfPlatformAnd={}, applyIfCPUFeatureOr={}, counts={"_#UDIV_L#_", "1", "_#UMOD_L#_", "1"}, applyIfPlatformOr={}, applyIfPlatform={}, failOn={}, applyIfOr={}, applyIfCPUFeatureAnd={}, applyIf={"UseDivMod", "false"}, applyIfCPUFeature={}, applyIfAnd={}, applyIfNot={})"
           > Phase "PrintIdeal":
             - counts: Graph contains wrong number of nodes:
               * Constraint 1: "(\\d+(\\s){2}(UDivL.*)+(\\s){2}===.*)"
                 - Failed comparison: [found] 0 = 1 [given]
                 - No nodes matched!
               * Constraint 2: "(\\d+(\\s){2}(UModL.*)+(\\s){2}===.*)"
                 - Failed comparison: [found] 0 = 1 [given]
                 - No nodes matched!

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

            amitkumar Amit Kumar
            amitkumar Amit Kumar
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: