This is an archive of the discontinued LLVM Phabricator instance.

[LegalizeTypes][VP] Add split operand support for VP_FPTOSI/VP_FPTOUI/VP_SITOFP/VP_UITOFP
ClosedPublic

Authored by Jimerlife on Jul 28 2022, 12:08 AM.

Details

Diff Detail

Event Timeline

Jimerlife created this revision.Jul 28 2022, 12:08 AM
Jimerlife requested review of this revision.Jul 28 2022, 12:08 AM

The change LGTM but I'd like to know why only VP INT_TO_FP nodes are handled in this code.

Just FYI I also opened D130967. I thought it better we keep these VP ISD nodes named in line with the non-VP ones.

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

That's interesting - how come ISD::SINT_TO_FP and ISD::STRICT_SINT_TO_FP aren't handled here? Are they handled elsewhere or is there a bug somewhere?

Jimerlife added inline comments.Aug 2 2022, 1:19 AM
llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
2742

ISD::SINT_TO_FP and ISD::STRICT_SINT_TO_FP are handled in line 2724. Maybe I need to add VP_SITOFP and VP_UITOFP in line 2724.

Jimerlife updated this revision to Diff 449229.Aug 2 2022, 2:01 AM

Move VP_SITOFP and VP_UITOFP to line 2728

Jimerlife updated this revision to Diff 449616.Aug 3 2022, 2:56 AM

rebase to use new ISD name

frasercrmck accepted this revision.Aug 3 2022, 2:58 AM

LGTM

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

Ah, nice. I didn't notice that. Yeah I think keeping them together is best. Thanks

This revision is now accepted and ready to land.Aug 3 2022, 2:58 AM
This revision was landed with ongoing or failed builds.Aug 4 2022, 12:53 AM
This revision was automatically updated to reflect the committed changes.