This is an archive of the discontinued LLVM Phabricator instance.

[ARM] Tighten f64<->f16 conversion requirements
ClosedPublic

Authored by bogden on Sep 4 2018, 7:36 AM.

Details

Summary

Some uses of FullFP16Pat and FP16Pat were missing
needed Requires field.

It seems that in practice this never caused a problem.
There is no full FP16 supporting target that does not
support the relevant instructions, so FullFP16Pat did
not introduce any bug.

ARM v8-R does not support the relevant instructions if
it does not support single-precision. In this case the
FP16Pat can match when it should not, but this does
not matter because ARMISelLowering.cpp has an Extend
that effectively enforces the requirements.

AArch64 does not come into play because 8-R is the only
target where there can be a problem.

Diff Detail

Repository
rL LLVM

Event Timeline

bogden created this revision.Sep 4 2018, 7:36 AM
t.p.northover accepted this revision.Sep 5 2018, 4:48 AM
t.p.northover added a subscriber: t.p.northover.

LGTM!

This revision is now accepted and ready to land.Sep 5 2018, 4:48 AM
This revision was automatically updated to reflect the committed changes.