This is an archive of the discontinued LLVM Phabricator instance.

[AArch64][SVE] Implement structured store intrinsics
ClosedPublic

Authored by c-rhodes on Mar 10 2020, 10:35 AM.

Details

Summary

This patch adds initial support for the following intrinsics:

  • llvm.aarch64.sve.st2
  • llvm.aarch64.sve.st3
  • llvm.aarch64.sve.st4

For storing two, three and four vectors worth of data. Basic codegen for
reg+immediate forms are implemented. Reg+reg addressing modes will be
addressed in a later patch.

These intrinsics are intended for use in the Arm C Language Extension
(ACLE).

Diff Detail

Event Timeline

c-rhodes created this revision.Mar 10 2020, 10:35 AM
Herald added a project: Restricted Project. · View Herald Transcript
This revision is now accepted and ready to land.Mar 10 2020, 1:39 PM
This revision was automatically updated to reflect the committed changes.

I updated the tests to remove the dependency on sve.tuple.get intrinsic whilst we investigate an issue there, the individual tuple vectors are now passed as arguments to the functions. Thanks for review @efriedma!