This is an archive of the discontinued LLVM Phabricator instance.

[SME2][AArch64] Add multi-indexed multiply-add long long intrinsics
ClosedPublic

Authored by kmclaughlin on Feb 3 2023, 9:03 AM.

Details

Summary

Adds intrinsics for the following SME2 instructions (1, 2 & 4 vector):

  • smlall
  • umlall
  • smlsll
  • umlsll
  • sumlall
  • usmlall
NOTE: These intrinsics are still in development and are subject to future changes.

Diff Detail

Event Timeline

kmclaughlin created this revision.Feb 3 2023, 9:03 AM
Herald added a project: Restricted Project. · View Herald TranscriptFeb 3 2023, 9:03 AM
kmclaughlin requested review of this revision.Feb 3 2023, 9:03 AM
Herald added a project: Restricted Project. · View Herald TranscriptFeb 3 2023, 9:03 AM
david-arm added inline comments.Feb 9 2023, 5:58 AM
llvm/lib/Target/AArch64/SMEInstrFormats.td
2599

Shouldn't these be VectorIndexH32b_timm to match the type in sme2_mla_ll_array_index_64b?

kmclaughlin marked an inline comment as done.
  • Changed sme2_mla_ll_array_index_64b to use VectorIndexH32b_timm
This revision is now accepted and ready to land.Feb 16 2023, 5:19 AM

Fixed the immediates used in the *za64.lane.vg4x1 tests so that they are within the correct range for VectorIndexH32b.