[all-commits] [llvm/llvm-project] bc37fe: [RISCV] Fix the disassembler's handling of C.LUI w...

Paul Bowen-Huggett via All-commits all-commits at lists.llvm.org
Fri Mar 28 11:18:48 PDT 2025


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: bc37fea107dd21ea92efee20032a844e09d4e504
      https://github.com/llvm/llvm-project/commit/bc37fea107dd21ea92efee20032a844e09d4e504
  Author: Paul Bowen-Huggett <paulhuggett at mac.com>
  Date:   2025-03-28 (Fri, 28 Mar 2025)

  Changed paths:
    M llvm/lib/Target/RISCV/Disassembler/RISCVDisassembler.cpp
    A llvm/test/MC/Disassembler/RISCV/c_lui_disasm.txt

  Log Message:
  -----------
  [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.



To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications


More information about the All-commits mailing list