This is an archive of the discontinued LLVM Phabricator instance.

[AArch64][GlobalISel] Add legalization for some vector G_LSR and G_ASHR
ClosedPublic

Authored by aemerson on Apr 8 2019, 6:20 PM.

Details

Summary

This is needed for some future support for vector ICMP.

Also make G_TRUNC always legal as we need it as a legalization artifact, and the current legacy rules don't cover some vector types.

Diff Detail

Repository
rL LLVM

Event Timeline

aemerson created this revision.Apr 8 2019, 6:20 PM
paquette accepted this revision.Apr 9 2019, 9:37 AM

LGTM

llvm/lib/Target/AArch64/AArch64LegalizerInfo.cpp
277 ↗(On Diff #194230)

Not for this patch, but in general, I wonder if we should just have a .alwaysLegal() or something.

This revision is now accepted and ready to land.Apr 9 2019, 9:37 AM
aemerson marked an inline comment as done.Apr 9 2019, 9:51 AM
aemerson added inline comments.
llvm/lib/Target/AArch64/AArch64LegalizerInfo.cpp
277 ↗(On Diff #194230)

Yes, that's a good idea.

This revision was automatically updated to reflect the committed changes.