Commit bc37fea
authored
[RISCV] Fix the disassembler's handling of C.LUI when imm=0 (#133450)
Fix for #133446.
According to the RISC-V spec: "C.LUI is valid only when rd≠{x0,x2}, and
when the immediate is not equal to zero. The code points with imm=0 are
reserved".
This change makes the disassembler consider code points with imm=0 as
illegal. It introduces a test which exercises every C.LUI opcode
including the illegal ones but excluding those assigned to C.ADDI16SP).
Output for +c, +c +Zcmop, and +c +no-rvc-hints is checked.1 parent d6d559c commit bc37fea
File tree
2 files changed
+2076
-2
lines changed- llvm
- lib/Target/RISCV/Disassembler
- test/MC/Disassembler/RISCV
2 files changed
+2076
-2
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
453 | 453 | | |
454 | 454 | | |
455 | 455 | | |
456 | | - | |
| 456 | + | |
| 457 | + | |
| 458 | + | |
457 | 459 | | |
458 | | - | |
459 | 460 | | |
460 | 461 | | |
461 | 462 | | |
| |||
0 commit comments