This is an archive of the discontinued LLVM Phabricator instance.

[VE] Split v512.32 load store into interleaved v256.32 ops
ClosedPublic

Authored by simoll on Mar 2 2022, 8:21 AM.

Details

Summary

Without passthru for now. Support for packed passthru requires evl-into-mask folding.

Diff Detail

Event Timeline

simoll created this revision.Mar 2 2022, 8:21 AM
Herald added a project: Restricted Project. · View Herald TranscriptMar 2 2022, 8:21 AM
Herald added a subscriber: hiraditya. · View Herald Transcript
simoll requested review of this revision.Mar 2 2022, 8:21 AM
Herald added a project: Restricted Project. · View Herald TranscriptMar 2 2022, 8:21 AM
simoll updated this revision to Diff 412430.Mar 2 2022, 8:25 AM

Add missing test for store

simoll updated this revision to Diff 412652.Mar 3 2022, 3:02 AM

NFC. Formatting

kaz7 added inline comments.Mar 4 2022, 2:10 AM
llvm/lib/Target/VE/VVPISelLowering.cpp
151–153

This function is implemented for only PackedLoad and PackedStore, isn't this?

If so, I think splitPackedLoadStore is better name for this function. I also think adding an assert to check PackedVector type or something related to packed-load and packed-store if it is possible.

simoll updated this revision to Diff 413381.Mar 7 2022, 1:50 AM
simoll marked an inline comment as done.
  • splitLoadStore -> splitPackedLoadStore
  • Add assertion for packed mode
  • Rebased
kaz7 accepted this revision.Mar 7 2022, 6:01 AM

LGTM.

This revision is now accepted and ready to land.Mar 7 2022, 6:01 AM
This revision was landed with ongoing or failed builds.Mar 7 2022, 8:40 AM
This revision was automatically updated to reflect the committed changes.
hctim added a subscriber: hctim.Mar 7 2022, 11:53 AM
hctim added inline comments.
llvm/lib/Target/VE/VVPISelLowering.cpp
161

Unused variable in opt build, might cause some bots to trap with -Wall.