This is an archive of the discontinued LLVM Phabricator instance.

[LegalizeTypes][VP] Add widen and split support for VP_SIGN_EXTEND and VP_ZERO_EXTEND.
ClosedPublic

Authored by jacquesguan on May 25 2022, 8:17 PM.

Diff Detail

Event Timeline

jacquesguan created this revision.May 25 2022, 8:17 PM
Herald added a project: Restricted Project. · View Herald TranscriptMay 25 2022, 8:17 PM
jacquesguan requested review of this revision.May 25 2022, 8:17 PM
craig.topper added inline comments.May 25 2022, 10:03 PM
llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
1052

You should call SplitVecRes_UnaryOp for VP_SIGN_EXTEND/VP_ZERO_EXTEND. There's code in SplitVecRes_ExtendOp that hasn't been updated for VP intrinsics. I'm not sure if it can be exercised or not. But best to avoid it and leave a FIXME.

address comment.

llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
1052

Done, I changed SplitVecRes_UnaryOp to support VP op.

This revision is now accepted and ready to land.Jun 1 2022, 9:06 AM
This revision was landed with ongoing or failed builds.Jun 1 2022, 7:21 PM
This revision was automatically updated to reflect the committed changes.