[PATCH] D142031: [AArch64][SME2] Add intrinsics to move multi-vectors to/from ZA.

Kerry McLaughlin via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Jan 18 08:46:50 PST 2023


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

Adds intrinsics for the following:

- mova: array to vector / vector to array
- mova: tile to vector / vector to tile

Tablegen patterns have been added to match the ZA write intrinsics. As the
read intrinsics return a multi-vector, a function called SelectMultiVectorMove
has been added to AArch64ISelDAGToDAG to select the correct instruction. The
SelectSMETile function has also been added to check that the tile number
passed to read intrinsics is valid for the base register.

NOTE: These intrinsics are still in development and are subject to future changes.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D142031

Files:
  llvm/include/llvm/IR/IntrinsicsAArch64.td
  llvm/lib/Target/AArch64/AArch64ISelDAGToDAG.cpp
  llvm/lib/Target/AArch64/AArch64SMEInstrInfo.td
  llvm/lib/Target/AArch64/SMEInstrFormats.td
  llvm/test/CodeGen/AArch64/sme2-intrinsics-extract-mova.ll
  llvm/test/CodeGen/AArch64/sme2-intrinsics-insert-mova.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D142031.490189.patch
Type: text/x-patch
Size: 97300 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20230118/29683e0e/attachment.bin>


More information about the llvm-commits mailing list