Details
Details
- Reviewers
hfinkel
Diff Detail
Diff Detail
Event Timeline
Comment Actions
Under what circumstances do we create a 'fast' fmuladd. Maybe we should canonicalize a 'fast' fmuladd into a 'fast' mul and a 'fast' add instead?
lib/Transforms/InstCombine/InstCombineAddSub.cpp | ||
---|---|---|
434 ↗ | (On Diff #83533) | You're missing a closing ) in the first expression. |
test/Transforms/InstCombine/fmuladd-opt.ll | ||
2 ↗ | (On Diff #83533) | Missing closing ) here too. |
Comment Actions
Interesting. As implemented -ffast-math implies -ffp-contract=fast:
const TargetOptions &Options = DAG.getTarget().Options; bool AllowFusion = (Options.AllowFPOpFusion == FPOpFusion::Fast || Options.UnsafeFPMath);
I think that we should:
- Have -ffast-math imply -ffp-contract=fast in Clang.
and/or
- Canonicalize fast fmuladd into fast mul + fast add.