This is an archive of the discontinued LLVM Phabricator instance.

[AArch64][SME] Add mova instructions
ClosedPublic

Authored by c-rhodes on Jul 7 2021, 11:36 AM.

Details

Summary

This patch adds the mova instruction to insert/extract an SVE vector
register to/from a ZA tile vector.

The preferred MOV aliases are also implemented.

Depends on D105572.

The reference can be found here:
https://developer.arm.com/documentation/ddi0602/2021-06

Diff Detail

Event Timeline

c-rhodes created this revision.Jul 7 2021, 11:36 AM
c-rhodes requested review of this revision.Jul 7 2021, 11:36 AM
Herald added a project: Restricted Project. · View Herald TranscriptJul 7 2021, 11:36 AM
Matt added a subscriber: Matt.Jul 7 2021, 3:02 PM
c-rhodes updated this revision to Diff 358584.Jul 14 2021, 6:39 AM
c-rhodes edited the summary of this revision. (Show Details)

Changes:

  • Updated sed line in tests to fix Windows precommit.
  • Improved diagnostics tests.
llvm/lib/Target/AArch64/AArch64SMEInstrInfo.td
88

nit: align

llvm/lib/Target/AArch64/Disassembler/AArch64Disassembler.cpp
319

Can you add a comment here to explain the reason for +2?

llvm/lib/Target/AArch64/SMEInstrFormats.td
621

nit:align

c-rhodes updated this revision to Diff 358939.Jul 15 2021, 5:55 AM

Address comments

c-rhodes marked 3 inline comments as done.Jul 15 2021, 5:56 AM
This revision is now accepted and ready to land.Jul 20 2021, 6:43 AM
CarolineConcatto accepted this revision.Jul 20 2021, 9:04 AM
This revision was landed with ongoing or failed builds.Jul 21 2021, 1:35 AM
This revision was automatically updated to reflect the committed changes.
llvm/test/MC/AArch64/SME/mova-diagnostics.s