This is an archive of the discontinued LLVM Phabricator instance.

[AArch64][SVE] Implement masked store intrinsics
ClosedPublic

Authored by kmclaughlin on Oct 24 2019, 5:35 AM.

Details

Summary

Adds support for codegen of masked stores, with non-truncating
and truncating variants.

Diff Detail

Event Timeline

kmclaughlin created this revision.Oct 24 2019, 5:35 AM
Herald added a project: Restricted Project. · View Herald TranscriptOct 24 2019, 5:35 AM
dmgreen accepted this revision.Oct 24 2019, 8:32 AM

Looks good to me. (Stores are easier than loads)

This revision is now accepted and ready to land.Oct 24 2019, 8:32 AM
kmclaughlin added a reviewer: sdesmalen.
  • Split functions in sve-masked-ldst-nonext.ll into separate load & store tests
  • Removed masked load tests from sve-masked-ldst-trunc.ll

Thanks for the changes to the tests.

llvm/test/CodeGen/AArch64/sve-masked-ldst-trunc.ll
10

I think it may be worth testing for z1.d explicitly and use CHECK-NEXT to make sure there are no other instructions that could do the truncation.

  • Improve CHECK lines used in sve-masked-ldst-nonext.ll & sve-masked-ldst-trunc.ll
sdesmalen accepted this revision.Oct 30 2019, 4:07 AM

Nice one! LGTM!

This revision was automatically updated to reflect the committed changes.