[all-commits] [llvm/llvm-project] b5ea5b: [RISCV][MC] Fix >32bit .insn Directives (#111878)

Sam Elliott via All-commits all-commits at lists.llvm.org
Fri Oct 11 04:25:15 PDT 2024


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: b5ea5be2a714e28bac57d417c221f687efe396bf
      https://github.com/llvm/llvm-project/commit/b5ea5be2a714e28bac57d417c221f687efe396bf
  Author: Sam Elliott <quic_aelliott at quicinc.com>
  Date:   2024-10-11 (Fri, 11 Oct 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCCodeEmitter.cpp
    M llvm/test/MC/RISCV/insn.s

  Log Message:
  -----------
  [RISCV][MC] Fix >32bit .insn Directives (#111878)

The original patch had a reasonably significant bug. You could not use
`.insn` to assemble encodings that had any bits set above the low 32
bits. This is due to the fact that `getMachineOpValue` was truncating
the immediate value, and I did not commit enough tests of useful cases.

This changes the result of `getMachineOpValue` to be able to return the
48-bit and 64-bit immediates needed for the wider `.insn` directives.

I took the opportunity to move some of the test cases around in the file
to make looking at the output of `llvm-objdump` a little clearer.



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