This is an archive of the discontinued LLVM Phabricator instance.

[VE] Split unsupported v512.32 ops
ClosedPublic

Authored by simoll on Feb 18 2022, 10:17 AM.

Details

Summary

Split v512.32 binary ops into two v256.32 ops using packing support opcodes (vec_unpack_lo|hi, vec_pack).

Depends on D120053 for packing opcodes.

Diff Detail

Event Timeline

simoll created this revision.Feb 18 2022, 10:17 AM
simoll requested review of this revision.Feb 18 2022, 10:17 AM
Herald added a project: Restricted Project. · View Herald TranscriptFeb 18 2022, 10:17 AM
kaz7 added inline comments.Feb 19 2022, 10:43 PM
llvm/lib/Target/VE/VEISelLowering.cpp
1684–1685

Is it possible to add some comments why returning Legal to isPackingSupportOpcode is correct. This function is basically returning legal in general and returning custom for special opcodes. So, adding one more special treatment to return legal looks like strange for me.

simoll updated this revision to Diff 410292.Feb 21 2022, 6:26 AM

Added comment and assertion to document that vec_pack and vec_unpack_lo|hi are always pack legalized.

kaz7 accepted this revision.Feb 22 2022, 12:49 AM
This revision is now accepted and ready to land.Feb 22 2022, 12:49 AM
This revision was landed with ongoing or failed builds.Feb 22 2022, 5:31 AM
This revision was automatically updated to reflect the committed changes.