This is an archive of the discontinued LLVM Phabricator instance.

[AArch64][GlobalISel] Mark G_SBFX/G_UBFX as legal for s32 and s64
ClosedPublic

Authored by paquette on Mar 23 2021, 3:32 PM.

Details

Summary

This isn't perfect, since we should also verify that these only use constants...

Diff Detail

Event Timeline

paquette created this revision.Mar 23 2021, 3:32 PM
paquette requested review of this revision.Mar 23 2021, 3:32 PM
Herald added a project: Restricted Project. · View Herald TranscriptMar 23 2021, 3:32 PM

Legalizer test?

paquette updated this revision to Diff 332829.Mar 23 2021, 5:08 PM

Add legalizer tests

aemerson accepted this revision.Mar 23 2021, 9:50 PM
This revision is now accepted and ready to land.Mar 23 2021, 9:50 PM
This revision was landed with ongoing or failed builds.Mar 24 2021, 11:10 AM
This revision was automatically updated to reflect the committed changes.
arsenm added a subscriber: arsenm.Mar 24 2021, 11:11 AM
arsenm added inline comments.
llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
705

If AArch64 doesn't support these without a constant, then they can't be legal. Legality cannot be contextual. This would need to be custom, and lower if not constant to be technically correct