diff options
author | Sam Elliott <quic_aelliott@quicinc.com> | 2024-10-11 13:24:54 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-10-11 12:24:54 +0100 |
commit | b5ea5be2a714e28bac57d417c221f687efe396bf (patch) | |
tree | 04bc5cf545e7092385579a8d84718dcc17f89117 /clang/lib/CodeGen/CodeGenFunction.cpp | |
parent | 0163ac1f53abc0a0f6e5b7e56912c1dee67e7f32 (diff) | |
download | llvm-b5ea5be2a714e28bac57d417c221f687efe396bf.zip llvm-b5ea5be2a714e28bac57d417c221f687efe396bf.tar.gz llvm-b5ea5be2a714e28bac57d417c221f687efe396bf.tar.bz2 |
[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.
Diffstat (limited to 'clang/lib/CodeGen/CodeGenFunction.cpp')
0 files changed, 0 insertions, 0 deletions