This is an archive of the discontinued LLVM Phabricator instance.

[AArch64][GlobalISel] Widen s2 and s4 G_IMPLICIT_DEF + G_FREEZE
ClosedPublic

Authored by paquette on Jul 20 2021, 5:32 PM.

Details

Summary

These had

.clampScalar(0, s1, 64)
.widenScalarToNextPow2(0, 8)

If you have s2 or s4, then widenScalarToNextPow2 does nothing.

This changes the widenScalarToNextPow2 rule to use s8 as the minimum type instead, allowing us to correctly widen s2 and s4.

This does not impact s1, since it's marked as legal already.

Diff Detail

Event Timeline

paquette created this revision.Jul 20 2021, 5:32 PM
paquette requested review of this revision.Jul 20 2021, 5:32 PM
Herald added a project: Restricted Project. · View Herald TranscriptJul 20 2021, 5:32 PM
aemerson accepted this revision.Jul 20 2021, 11:33 PM
This revision is now accepted and ready to land.Jul 20 2021, 11:33 PM
This revision was landed with ongoing or failed builds.Jul 21 2021, 12:59 PM
This revision was automatically updated to reflect the committed changes.