This is an archive of the discontinued LLVM Phabricator instance.

[FPEnv] Support constrained FREM intrinsic
ClosedPublic

Authored by cameron.mcinally on Aug 20 2018, 9:25 AM.

Details

Summary

The constrained FREM intrinsic fell through the cracks. Add support and tests for it.

Diff Detail

Repository
rL LLVM

Event Timeline

craig.topper added inline comments.Aug 20 2018, 10:10 AM
lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
4203 ↗(On Diff #161495)

Should STRICT_FADD be here? Same question for MUL and SUB

lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
4203 ↗(On Diff #161495)

Good call. I'll add those in and see if I can find a test case that expands on x86. Maybe FP128 or something...

lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
4203 ↗(On Diff #161495)

Ah, selecting the runtime FP128 calls is going to take good deal of work. Too much work to quickly tack on to this FREM change.

Craig, are you okay with me addressing those changes (ADD/SUB/MUL/DIV) in a separate Diff?

craig.topper accepted this revision.Aug 20 2018, 12:06 PM

LGTM

lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
4203 ↗(On Diff #161495)

Yeah it should be separate

This revision is now accepted and ready to land.Aug 20 2018, 12:06 PM
This revision was automatically updated to reflect the committed changes.