This is an archive of the discontinued LLVM Phabricator instance.

AArch6+GISel: support larger return types like i128
ClosedPublic

Authored by t.p.northover on Jul 22 2021, 6:31 AM.

Details

Reviewers
paquette
aemerson
Summary

The generic argument lowering code for GISel can already handle i128 (as it does for function calls) so we just need to bypass the weird extend/pad edge-cases to support i128 in returns as well.

It also seems to work for larger vectors as a bonus.

Diff Detail

Event Timeline

t.p.northover created this revision.Jul 22 2021, 6:31 AM
t.p.northover requested review of this revision.Jul 22 2021, 6:31 AM
Herald added a project: Restricted Project. · View Herald TranscriptJul 22 2021, 6:31 AM
paquette added inline comments.Jul 22 2021, 9:21 AM
llvm/test/CodeGen/AArch64/GlobalISel/arm64-fallback.ll
18

I feel like this should be moved to the translate-ret case rather than just be deleted.

paquette accepted this revision.Jul 22 2021, 5:59 PM

LGTM with test nit

This revision is now accepted and ready to land.Jul 22 2021, 5:59 PM
t.p.northover closed this revision.Jul 26 2021, 6:17 AM

Thanks. Committed as a487a49acc5a.