aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/TextAPI/InterfaceFile.cpp
diff options
context:
space:
mode:
authorCraig Topper <craig.topper@sifive.com>2023-02-17 10:53:44 -0800
committerCraig Topper <craig.topper@sifive.com>2023-02-17 10:53:44 -0800
commit2b2b8409e6848361577be404bd0ae47a097f0e0c (patch)
tree6b86d8b5077ecfee534ae397eee8bad733ca297b /llvm/lib/TextAPI/InterfaceFile.cpp
parentefe7c4b77bed76ef3af6fd018122b428c21512b7 (diff)
downloadllvm-2b2b8409e6848361577be404bd0ae47a097f0e0c.zip
llvm-2b2b8409e6848361577be404bd0ae47a097f0e0c.tar.gz
llvm-2b2b8409e6848361577be404bd0ae47a097f0e0c.tar.bz2
[RISCV] For rv32, accept constants like 0xfffff800 as a valid simm12.
Internally we store constants in int64_t after parsing, but this is kind of an implementation detail. If we only supported rv32, we might have chosen int32_t. For rv32, I think it makes sense to accept the constants that we would accept if int32_t was the internal type. In fact we already do this for the `li` alias. This patch extends this to sign extended constants for other instructions. This matches the GNU assembler. The difference between LLVM and gcc was previously noted here. https://github.com/riscv-non-isa/riscv-asm-manual/pull/71 Reviewed By: reames Differential Revision: https://reviews.llvm.org/D144166
Diffstat (limited to 'llvm/lib/TextAPI/InterfaceFile.cpp')
0 files changed, 0 insertions, 0 deletions