This is an archive of the discontinued LLVM Phabricator instance.

[AArch64] Update SME load/store intrinsics to work on opaque pointers.
ClosedPublic

Authored by sdesmalen on Jun 24 2022, 1:17 AM.

Details

Summary

These intrinsics should be able to use opaque pointers, because the
load/store type is already encoded in their names and return/operand type.

Diff Detail

Event Timeline

sdesmalen created this revision.Jun 24 2022, 1:17 AM
Herald added a project: Restricted Project. · View Herald TranscriptJun 24 2022, 1:17 AM
sdesmalen requested review of this revision.Jun 24 2022, 1:17 AM
Herald added a project: Restricted Project. · View Herald TranscriptJun 24 2022, 1:17 AM
c-rhodes added inline comments.
llvm/include/llvm/IR/IntrinsicsAArch64.td
2589–2591

a single SME_Load_Store_Intrinsic class will do now since they're all the same?

sdesmalen added inline comments.Jun 24 2022, 1:31 AM
llvm/include/llvm/IR/IntrinsicsAArch64.td
2589–2591

That's true, but that's likely to change in the near future because the we shouldn't be using a nxv16i1 predicate type for all these intrinsics.

This revision is now accepted and ready to land.Jun 24 2022, 1:38 AM
sdesmalen updated this revision to Diff 439667.Jun 24 2022, 1:41 AM

Use single class where predicate type is passed in as argument.

c-rhodes accepted this revision.Jun 24 2022, 1:45 AM

Still looks good, better even :)

This revision was landed with ongoing or failed builds.Jun 28 2022, 1:50 AM
This revision was automatically updated to reflect the committed changes.