[PATCH] D105576: [AArch64][SME] Add system registers and related instructions

Cullen Rhodes via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Jul 15 04:13:26 PDT 2021


c-rhodes updated this revision to Diff 358912.
c-rhodes added reviewers: sdesmalen, david-arm, CarolineConcatto, kmclaughlin, dmgreen, ostannard.
c-rhodes added a comment.

Changes:

- Add tests for smstart/smstop.
- Fix matching of "smstart za", fixes issue described here: https://reviews.llvm.org/D105570#inline-1005832. The matching code that gets generated for aliases:
  - `def : InstAlias<"smstart za", (MSRpstatesvcrImm1 0b010, 0b1)>;`
  - `def : InstAlias<"smstop za",  (MSRpstatesvcrImm1 0b010, 0b0)>;`

expectes `MCK_MPR` but `za` gets parsed as a literal. The fix is to return match in `validateTargetOperandClass` if `MCK_MPR` is expected and the token is `za`.


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D105576/new/

https://reviews.llvm.org/D105576

Files:
  llvm/lib/Target/AArch64/AArch64RegisterInfo.td
  llvm/lib/Target/AArch64/AArch64SMEInstrInfo.td
  llvm/lib/Target/AArch64/AArch64SystemOperands.td
  llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
  llvm/lib/Target/AArch64/Disassembler/AArch64Disassembler.cpp
  llvm/lib/Target/AArch64/MCTargetDesc/AArch64InstPrinter.cpp
  llvm/lib/Target/AArch64/MCTargetDesc/AArch64InstPrinter.h
  llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.cpp
  llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h
  llvm/test/MC/AArch64/SME/smstart.s
  llvm/test/MC/AArch64/SME/smstop.s
  llvm/test/MC/AArch64/SME/system-regs-diagnostics.s
  llvm/test/MC/AArch64/SME/system-regs-mpam.s
  llvm/test/MC/AArch64/SME/system-regs.s

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D105576.358912.patch
Type: text/x-patch
Size: 28568 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20210715/b7eb9c90/attachment.bin>


More information about the llvm-commits mailing list