[PATCH] D147433: [AArch64][SME] Disable ZA LDR/STR addressing optimisations

David Sherwood via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Apr 3 03:43:23 PDT 2023


david-arm created this revision.
david-arm added reviewers: sdesmalen, bryanpkc, aemerson, rsandifo-arm, CarolineConcatto.
Herald added subscribers: hiraditya, kristof.beyls.
Herald added a project: All.
david-arm requested review of this revision.
Herald added a project: LLVM.
Herald added a subscriber: llvm-commits.

Since the same encoded offset is used for both the vector
select offset and the address offset we have to spot two
patterns simulatenously in the ldr/str intrinsic inputs, i.e.

vector select = base + off
address = base + (off * VL)

whereas currently we only look for the address pattern. I
don't think this is possible in tablegen, so I suspect we'll
have to do this manually as part of lowering or as a target
DAG combine. For now, I've removed these tablegen patterns
so that we at least do the correct thing even if the code
quality isn't great.

I've also changed some of the ldr/str tests to pass in the
same vector select pattern (base + off) as the address
pattern.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D147433

Files:
  llvm/lib/Target/AArch64/SMEInstrFormats.td
  llvm/test/CodeGen/AArch64/sme-intrinsics-loads.ll
  llvm/test/CodeGen/AArch64/sme-intrinsics-stores.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D147433.510445.patch
Type: text/x-patch
Size: 4893 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20230403/b884730f/attachment-0001.bin>


More information about the llvm-commits mailing list