This is an archive of the discontinued LLVM Phabricator instance.

[RISCV] Support scalable-vector masked scatter operations
ClosedPublic

Authored by frasercrmck on Feb 11 2021, 3:47 AM.

Details

Summary

This patch adds support for masked scatter intrinsics on scalable vector
types. It is mostly an extension of the earlier masked gather support
introduced in D96263, since the addressing mode legalization is the
same.

Diff Detail

Event Timeline

frasercrmck created this revision.Feb 11 2021, 3:47 AM
frasercrmck requested review of this revision.Feb 11 2021, 3:47 AM
Herald added a project: Restricted Project. · View Herald TranscriptFeb 11 2021, 3:47 AM
craig.topper added inline comments.Feb 11 2021, 1:11 PM
llvm/lib/Target/RISCV/RISCVISelLowering.cpp
3511

Is there a truncating scatter? Should we assert that this isn't one like we do for extending MGATHER?

frasercrmck marked an inline comment as done.
  • add assertion against truncating scatters
llvm/lib/Target/RISCV/RISCVISelLowering.cpp
3511

Yes, we should. It was tested in this MR but I forgot to put the assert in. Cheers!

  • rebase
  • add tests for splitting of illegal vectors
This revision is now accepted and ready to land.Mar 17 2021, 11:53 AM