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

RISC-V: Improve PrintOptoAssembly output of CMoveI/L nodes

    XMLWordPrintable

Details

    • b06
    • riscv
    • linux

    Description

      Witnessed some incorrect/strange branch condition code in PrintOptoAssembly output on RISC-V which is quite confusing.
      If we searching for "cmovI_cmp" from the output, we have something like following:

      20a + bneglt R28, R29, skip #@cmovI_cmpI
      254 + bneggt R28, R7, skip #@cmovI_cmpL
      262 + bneglt R30, R29, skip #@cmovI_cmpI
      0bc + bneglt R30, R14, skip #@cmovI_cmpI
      0a4 + bneggt R30, R29, skip #@cmovI_cmpL
      0e4 + bneggt R15, R13, skip #@cmovI_cmpL
      0f2 + bneggt R29, R28, skip #@cmovI_cmpL
      158 + bnegle R29, R7, skip #@cmovI_cmpL
      168 + bneggt R14, R15, skip #@cmovI_cmpI
      13e + bneggt R28, R14, skip #@cmovI_cmpL
      198 + bneggt R21, R8, skip #@cmovI_cmpL
      1de + bnegle R30, R25, skip #@cmovI_cmpL
      1e8 + bneggt R28, R11, skip #@cmovI_cmpI
      072 + bneglt R14, R7, skip #@cmovI_cmpI
      13c + bneglt R7, R10, skip #@cmovI_cmpI
      17a + bneggt R29, R7, skip #@cmovI_cmpL
      188 + bneglt R10, R7, skip #@cmovI_cmpI
      084 + bneglt R15, R28, skip #@cmovI_cmpI
      0da + bneglt R29, R30, skip #@cmovI_cmpI
      18e + bneggt R29, R7, skip #@cmovI_cmpL
      0494 + bneglt R8, R18, skip #@cmovI_cmpI
      45a + bneggt R7, R28, skip #@cmovI_cmpL
      468 + bneglt R10, R14, skip #@cmovI_cmpI
      040 + bneglt R15, R10, skip #@cmovI_cmpI
      042 + bneglt R12, R10, skip #@cmovI_cmpI
      068 + bneggt R31, R12, skip #@cmovI_cmpL

      While this won't affect release build, we should fix this for debug build.

      Attachments

        Issue Links

          Activity

            People

              fyang Fei Yang
              fyang Fei Yang
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: