This is an archive of the discontinued LLVM Phabricator instance.

[GlobalISel][AArch64] Add support for widening G_FCEIL
ClosedPublic

Authored by paquette on Dec 20 2018, 4:18 PM.

Details

Reviewers
aemerson
dsanders
Summary

This adds support for widening G_FCEIL in LegalizerHelper and AArch64LegalizerInfo. More specifically, it teaches the AArch64 legalizer to widen G_FCEIL from a 16-bit float to a 32-bit float when the subtarget doesn't support full FP 16.

This also updates AArch64/f16-instructions.ll to show that we perform the correct transformation.

Diff Detail

Event Timeline

paquette created this revision.Dec 20 2018, 4:18 PM
aemerson accepted this revision.Dec 20 2018, 4:59 PM

LGTM with minor change.

lib/CodeGen/GlobalISel/LegalizerHelper.cpp
948

We should return UnableToLegalize instead of asserting.

This revision is now accepted and ready to land.Dec 20 2018, 4:59 PM
paquette updated this revision to Diff 179298.Dec 21 2018, 9:05 AM
paquette marked an inline comment as done.

Updated to reflect minor fix before landing.

paquette closed this revision.Dec 21 2018, 9:09 AM

Aaaaand committed in r349927.

https://reviews.llvm.org/rL349927