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

C2: assert(false) failed: bad AD file after JDK-8252372 with UseSSE={0,1}

    XMLWordPrintable

    Details

      Description

      This reliably reproduces with the existing test:

      $ CONF=linux-x86-server-fastdebug make run-test TEST=java/util/Random/RandomTestMoments.java TEST_VM_OPTS="-XX:UseAVX=0 -XX:UseSSE=0"

      # Internal Error (/home/shade/trunks/jdk/src/hotspot/share/opto/matcher.cpp:1681), pid=1313665, tid=1313681
      # assert(false) failed: bad AD file


      o1789 AddD === _ o1790 o436 [[o1785 ]]

      --N: o1789 AddD === _ o1790 o436 [[o1785 ]]

         --N: o1790 CastDD === o1112 o1086 [[o1789 ]] #double unconditional dependency
         REGD 100 castDD
         LEGREGD 200 MoveD2LEG
         VLREGD 200 MoveD2VL

            --N: o1086 RoundDouble === _ o1085 [[o1189 o1792 o1790 ]]
            REGDPR 0 REGDPR
            REGDPR1 0 REGDPR1
            REGDPR2 0 REGDPR2
            REGNOTDPR1 0 REGNOTDPR1
            REGD 100 MoveVL2D
            LEGREGD 200 MoveD2LEG
            VLREGD 0 VLREGD

         --N: o436 Phi === o1762 o380 o1459 [[o1451 o730 o1458 o1789 o1791 ]] #double
         REGDPR 0 REGDPR
         REGDPR1 0 REGDPR1
         REGDPR2 0 REGDPR2
         REGNOTDPR1 0 REGNOTDPR1
         REGD 100 MoveVL2D
         LEGREGD 200 MoveD2LEG
         VLREGD 0 VLREGD

      I think the newly added CastDD nodes should handle regDPR instead of just regD to avoid this mismatch error.

        Attachments

          Issue Links

            Activity

              People

              Assignee:
              shade Aleksey Shipilev
              Reporter:
              shade Aleksey Shipilev
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

                Dates

                Created:
                Updated: