-
Bug
-
Resolution: Fixed
-
P5
-
21
-
b06
-
riscv
-
linux
Issue | Fix Version | Assignee | Priority | Status | Resolution | Resolved In Build |
---|---|---|---|---|---|---|
JDK-8311744 | 17.0.9 | Fei Yang | P5 | Resolved | Fixed | b01 |
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.
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.
- backported by
-
JDK-8311744 RISC-V: Improve PrintOptoAssembly output of CMoveI/L nodes
- Resolved
- links to
-
Commit openjdk/jdk17u-dev/966fc82d
-
Commit openjdk/jdk/859ccd1a
-
Commit(riscv-port) openjdk/riscv-port-jdk11u/e022ea62
-
Review openjdk/jdk17u-dev/1427
-
Review openjdk/jdk/11919
-
Review openjdk/riscv-port-jdk17u/18
-
Review(riscv-port) openjdk/riscv-port-jdk11u/24
(3 links to)