This is an archive of the discontinued LLVM Phabricator instance.

[AArch64] SME2 Multiple vectors int/float binary accumulator and two/four ZA single-vector
ClosedPublic

Authored by CarolineConcatto on Oct 10 2022, 2:43 AM.

Details

Summary

This patch adds the assembly/disassembly for the following instructions:
INT :

ADD (array accumulators): Add multi-vector to ZA array vector accumulators.
SUB  (array accumulators): Subtract multi-vector from ZA array vector accumulators.

FP:

FADD : Floating-point add multi-vector to ZA array vector accumulators.
FSUB : Floating-point subtract multi-vector from ZA array vector accumulators.

For Two and Four ZA single-vectors

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

Depends on: D135563

Diff Detail

Event Timeline

Herald added a project: Restricted Project. · View Herald TranscriptOct 10 2022, 2:43 AM
CarolineConcatto requested review of this revision.Oct 10 2022, 2:43 AM
Herald added a project: Restricted Project. · View Herald TranscriptOct 10 2022, 2:43 AM
  • Add the instructions under the flag sme-i64 and sme-f64 when size = 1
Matt added a subscriber: Matt.Oct 10 2022, 10:53 PM
CarolineConcatto retitled this revision from [AArch64] SME2 Multiple vectors binary int/float and two/four ZA single-vector to [AArch64] SME2 Multiple vectors int/float binary accumulator and two/four ZA single-vector.Oct 19 2022, 3:01 AM
CarolineConcatto edited the summary of this revision. (Show Details)
david-arm added inline comments.Oct 20 2022, 5:57 AM
llvm/lib/Target/AArch64/AArch64SMEInstrInfo.td
287

nit: whitespace

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

nit: Perhaps insert a space before sz?

1381

nit: Can you align this with mnemonic above?

1389

nit: Alignment

1408

nit: Alignment

1416

nit: Alignment

1477

nit: whitespace

llvm/test/MC/AArch64/SME2/add.s
41

Is this output still correct? I was expecting the vector list to be printed out as { z0.s, z1.s }. Perhaps this patch just needs a rebase?

CarolineConcatto marked 7 inline comments as done.
  • Address review comments
  • Rebase
llvm/test/MC/AArch64/SME2/add.s
41

Yes, it was not rebased on the changes for the printVectorList

sdesmalen accepted this revision.Oct 21 2022, 3:56 AM
This revision is now accepted and ready to land.Oct 21 2022, 3:56 AM
This revision was landed with ongoing or failed builds.Oct 21 2022, 6:47 AM
This revision was automatically updated to reflect the committed changes.