[PATCH] D105572: [AArch64][SME] Add load and store instructions
Cullen Rhodes via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Wed Jul 7 11:32:41 PDT 2021
c-rhodes created this revision.
c-rhodes added reviewers: sdesmalen, david-arm, dmgreen, ostannard, CarolineConcatto, kmclaughlin.
Herald added subscribers: danielkiss, hiraditya, kristof.beyls.
c-rhodes requested review of this revision.
Herald added a project: LLVM.
This patch adds support for following contiguous load and store
instructions:
- LD1B, LD1H, LD1W, LD1D, LD1Q
- ST1B, ST1H, ST1W, ST1D, ST1Q
A new register class and operand is added for the 32-bit vector select
register W12 <https://reviews.llvm.org/W12>-W15. The differences in the following tests which have been
re-generated are caused by the introduction of this register class:
- llvm/test/CodeGen/AArch64/GlobalISel/irtranslator-inline-asm.ll
- llvm/test/CodeGen/AArch64/GlobalISel/regbank-inlineasm.mir
- llvm/test/CodeGen/AArch64/stp-opt-with-renaming-reserved-regs.mir
- llvm/test/CodeGen/AArch64/stp-opt-with-renaming.mir
D88663 <https://reviews.llvm.org/D88663> attempts to resolve the issue with the store pair test
differences in the AArch64 load/store optimizer.
The reference can be found here:
https://developer.arm.com/documentation/ddi0602/2021-06
Repository:
rG LLVM Github Monorepo
https://reviews.llvm.org/D105572
Files:
llvm/lib/Target/AArch64/AArch64InstrFormats.td
llvm/lib/Target/AArch64/AArch64RegisterInfo.cpp
llvm/lib/Target/AArch64/AArch64RegisterInfo.td
llvm/lib/Target/AArch64/AArch64SMEInstrInfo.td
llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
llvm/lib/Target/AArch64/Disassembler/AArch64Disassembler.cpp
llvm/lib/Target/AArch64/GISel/AArch64RegisterBankInfo.cpp
llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCCodeEmitter.cpp
llvm/lib/Target/AArch64/SMEInstrFormats.td
llvm/test/CodeGen/AArch64/GlobalISel/irtranslator-inline-asm.ll
llvm/test/CodeGen/AArch64/GlobalISel/regbank-inlineasm.mir
llvm/test/CodeGen/AArch64/stp-opt-with-renaming-reserved-regs.mir
llvm/test/CodeGen/AArch64/stp-opt-with-renaming.mir
llvm/test/MC/AArch64/SME/ld1b-diagnostics.s
llvm/test/MC/AArch64/SME/ld1b.s
llvm/test/MC/AArch64/SME/ld1d-diagnostics.s
llvm/test/MC/AArch64/SME/ld1d.s
llvm/test/MC/AArch64/SME/ld1h-diagnostics.s
llvm/test/MC/AArch64/SME/ld1h.s
llvm/test/MC/AArch64/SME/ld1q-diagnostics.s
llvm/test/MC/AArch64/SME/ld1q.s
llvm/test/MC/AArch64/SME/ld1w-diagnostics.s
llvm/test/MC/AArch64/SME/ld1w.s
llvm/test/MC/AArch64/SME/st1b-diagnostics.s
llvm/test/MC/AArch64/SME/st1b.s
llvm/test/MC/AArch64/SME/st1d-diagnostics.s
llvm/test/MC/AArch64/SME/st1d.s
llvm/test/MC/AArch64/SME/st1h-diagnostics.s
llvm/test/MC/AArch64/SME/st1h.s
llvm/test/MC/AArch64/SME/st1q-diagnostics.s
llvm/test/MC/AArch64/SME/st1q.s
llvm/test/MC/AArch64/SME/st1w-diagnostics.s
llvm/test/MC/AArch64/SME/st1w.s
llvm/test/MC/AArch64/neon-diagnostics.s
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D105572.357018.patch
Type: text/x-patch
Size: 190001 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20210707/9608d307/attachment-0001.bin>
More information about the llvm-commits
mailing list