This is an archive of the discontinued LLVM Phabricator instance.

[AArch64][SME2] Add multi-vector min/max intrinsics
ClosedPublic

Authored by kmclaughlin on Jan 24 2023, 9:13 AM.

Details

Summary

Adds intrinsics for the following SME2 instructions:

  • smax, umax, fmax (single, 2 & 4 vector)
  • smax, umax, fmax (multi, 2 & 4 vector)
  • smin, umin, fmin (single, 2 & 4 vector)
  • smin, umin, fmin (multi, 2 & 4 vector)
NOTE: These intrinsics are still in development and are subject to future changes.

Diff Detail

Event Timeline

kmclaughlin created this revision.Jan 24 2023, 9:13 AM
Herald added a project: Restricted Project. · View Herald TranscriptJan 24 2023, 9:13 AM
kmclaughlin requested review of this revision.Jan 24 2023, 9:13 AM
Herald added a project: Restricted Project. · View Herald TranscriptJan 24 2023, 9:13 AM
david-arm added inline comments.Jan 30 2023, 1:04 AM
llvm/test/CodeGen/AArch64/sme2-intrinsics-max.ll
5

HI @kmclaughlin, I don't suppose you could add a dummy unused operand for these tests similar to D142732?

kmclaughlin marked an inline comment as done.
  • Added an %unused argument to the tests to ensure the multi-vector lists start with a multiple of 2 or 4.
david-arm accepted this revision.Jan 30 2023, 6:17 AM

LGTM! Thanks adding the extra parameters @kmclaughlin!

This revision is now accepted and ready to land.Jan 30 2023, 6:17 AM
This revision was landed with ongoing or failed builds.Jan 31 2023, 4:07 AM
This revision was automatically updated to reflect the committed changes.