This is an archive of the discontinued LLVM Phabricator instance.

[AArch64][GlobalISel] Legalize wide vector G_PHIs
ClosedPublic

Authored by paquette on Aug 4 2021, 3:32 PM.

Details

Summary

Clamp the max number of elements when legalizing G_PHI. This allows us to legalize some common fallbacks like 4 x s64.

Here's an example: https://godbolt.org/z/6YocsEYTd

Had to add -global-isel-abort=0 to legalize-phi.mir to account for the G_EXTRACT_VECTOR_ELT from the 32 x s8 G_PHI.

Diff Detail

Event Timeline

paquette created this revision.Aug 4 2021, 3:32 PM
paquette requested review of this revision.Aug 4 2021, 3:32 PM
Herald added a project: Restricted Project. · View Herald TranscriptAug 4 2021, 3:32 PM
jroelofs added inline comments.Aug 4 2021, 3:36 PM
llvm/test/CodeGen/AArch64/GlobalISel/legalize-phi.mir
2

Why is the fallback check being turned off?

2

nvm, just saw the note.

aemerson accepted this revision.Aug 4 2021, 4:28 PM
This revision is now accepted and ready to land.Aug 4 2021, 4:28 PM
This revision was landed with ongoing or failed builds.Aug 4 2021, 4:49 PM
This revision was automatically updated to reflect the committed changes.