[all-commits] [llvm/llvm-project] c053e9: [RISCV] Re-implement Zacas MC layer support to mak...
Craig Topper via All-commits
all-commits at lists.llvm.org
Wed Jan 10 09:18:52 PST 2024
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: c053e9f0f4b56a56582ad149a8c89434126eff7f
https://github.com/llvm/llvm-project/commit/c053e9f0f4b56a56582ad149a8c89434126eff7f
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-01-10 (Wed, 10 Jan 2024)
Changed paths:
M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
M llvm/lib/Target/RISCV/Disassembler/RISCVDisassembler.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfoZa.td
M llvm/test/MC/RISCV/rv32zacas-invalid.s
M llvm/test/MC/RISCV/rv64zacas-invalid.s
Log Message:
-----------
[RISCV] Re-implement Zacas MC layer support to make it usable for CodeGen. (#77418)
This changes the register class to GPRPair and adds the destination
register as a source with a tied operand constraint.
Parsing for the paired register is done with a custom parser that
checks for even register and converts it to its pair version. A
bit of care needs to be taken so that we only parse as a pair register
based on which instruction we're parsing and the mode in the subtarget.
This allows amocas.w to be parsed correcty in both modes.
I've added a FIXME to note that we should be creating pair registers
for Zdinx on RV32 to match the instructions CodeGen generates.
More information about the All-commits
mailing list