This is an archive of the discontinued LLVM Phabricator instance.

[AArch64][SME2] Add multi-vector saturating doubling multiply high intrinsics
ClosedPublic

Authored by kmclaughlin on Jan 23 2023, 7:45 AM.

Details

Summary

Adds intrinsics for the following SME2 instructions:

  • sqdmulh, 2 vector (single & multi)
  • sqdmulh, 4 vector (single & multi)
NOTE: These intrinsics are still in development and are subject to future changes.

Diff Detail

Event Timeline

kmclaughlin created this revision.Jan 23 2023, 7:45 AM
Herald added a project: Restricted Project. · View Herald TranscriptJan 23 2023, 7:45 AM
kmclaughlin requested review of this revision.Jan 23 2023, 7:45 AM
Herald added a project: Restricted Project. · View Herald TranscriptJan 23 2023, 7:45 AM
david-arm added inline comments.Jan 24 2023, 5:42 AM
llvm/test/CodeGen/AArch64/sme2-intrinsics-sqdmulh.ll
6

Is it possible to add an <vscale x 16 x i8> %unused as the first argument for all these tests, just so that we ensure that multi-vector input starts on a multiple of 2/4?

kmclaughlin marked an inline comment as done.
  • Added a new first argument (%unused) to the tests in sme2-intrinsics-sqdmulh.ll, to ensure the multi-vector input starts on a multiple of 2 or 4.
This revision is now accepted and ready to land.Jan 25 2023, 5:58 AM
Matt added a subscriber: Matt.Jan 25 2023, 8:55 AM
This revision was landed with ongoing or failed builds.Jan 26 2023, 2:50 AM
This revision was automatically updated to reflect the committed changes.