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.
Paths
| Differential D120146
[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
Comment Actions Added comment and assertion to document that vec_pack and vec_unpack_lo|hi are always pack legalized. 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 Closed by commit rG4fd77129f2de: [VE] Split unsupported v512.32 ops (authored by simoll). · Explain Why This revision was automatically updated to reflect the committed changes.
Revision Contents
Diff 409970 llvm/lib/Target/VE/VECustomDAG.h
llvm/lib/Target/VE/VECustomDAG.cpp
llvm/lib/Target/VE/VEISelLowering.h
llvm/lib/Target/VE/VEISelLowering.cpp
llvm/lib/Target/VE/VEInstrPatternsVec.td
llvm/lib/Target/VE/VVPISelLowering.cpp
llvm/lib/Target/VE/VVPNodes.def
llvm/test/CodeGen/VE/Packed/vp_fdiv.ll
llvm/test/CodeGen/VE/Packed/vp_mul.ll
llvm/test/CodeGen/VE/Packed/vp_sdiv.ll
llvm/test/CodeGen/VE/Packed/vp_udiv.ll
|
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.