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.