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

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

XMLWordPrintable

    • b06
    • riscv
    • linux

        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.

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

                Created:
                Updated:
                Resolved: