This is an archive of the discontinued LLVM Phabricator instance.

[SVE] Lower fixed length vector integer ISD::SETCC operations.
ClosedPublic

Authored by paulwalker-arm on Aug 12 2020, 5:37 AM.

Diff Detail

Event Timeline

paulwalker-arm created this revision.Aug 12 2020, 5:37 AM
paulwalker-arm requested review of this revision.Aug 12 2020, 5:37 AM

The floating-point side requires some refactoring so I'll do that separately.

llvm/test/CodeGen/AArch64/sve-fixed-length-int-compares.ll
447

I believe I've covered all the combinations for the EQ tests and there should already be tests for the ISEL patterns required for SETCC_MERGE_ZERO. For these reasons there doesn't look to be a good reason to repeat the vector combinations for each comparison type, so I'm instead just testing a single but different vector length for the following compare tests.

Add extra assert to LowerFixedLengthVectorSetccToSVE.

cameron.mcinally accepted this revision.Aug 12 2020, 2:46 PM

LGTM

llvm/test/CodeGen/AArch64/sve-fixed-length-int-compares.ll
447

That sounds fair. @efriedma, are you okay with this? I suppose it can be fixed post-commit if it's a problem...

This revision is now accepted and ready to land.Aug 12 2020, 2:46 PM
efriedma added inline comments.Aug 12 2020, 2:47 PM
llvm/test/CodeGen/AArch64/sve-fixed-length-int-compares.ll
447

Seems fine.

This revision was landed with ongoing or failed builds.Aug 13 2020, 4:04 AM
This revision was automatically updated to reflect the committed changes.