This is an archive of the discontinued LLVM Phabricator instance.

[AArch64][GlobalISel] Assign FPR banks to loads which are used by integer->float conversions.
ClosedPublic

Authored by aemerson on Jan 14 2021, 11:27 AM.

Details

Summary

G_[US]ITOFP users of loads on AArch64 can operate on both gpr and fpr banks for scalars. Because of this, if their source is a load, then that load can be assigned to an fpr bank and therefore avoid having to do a cross bank copy via a gpr->fpr conversion.

Diff Detail

Event Timeline

aemerson created this revision.Jan 14 2021, 11:27 AM
paquette accepted this revision.Jan 14 2021, 12:19 PM

LGTM

llvm/test/CodeGen/AArch64/GlobalISel/regbank-fp-use-def.mir
384

Doesn't look like the G_FCONSTANTs are used here, or in the other test?

This revision is now accepted and ready to land.Jan 14 2021, 12:19 PM
aemerson added inline comments.Jan 14 2021, 4:12 PM
llvm/test/CodeGen/AArch64/GlobalISel/regbank-fp-use-def.mir
384

Yep, will remove.