[cfe-commits] [llvm-commits] [PATCH] Add llvm.fmuladd intrinsic.
scanon at apple.com
Tue Jun 5 14:35:29 PDT 2012
On Jun 5, 2012, at 2:31 PM, Chandler Carruth <chandlerc at google.com> wrote:
> On Tue, Jun 5, 2012 at 2:15 PM, Stephen Canon <scanon at apple.com> wrote:
> The trouble I see with this is that you're going to end up generating an enormous number of start/stop intrinsics for some code (one pair for every source expression containing FP, effectively). I'm not sure how much of a concern that really is, but it feels inelegant to me.
> My idea was essentially that you would only do this where contraction was precluded, which you indicated should be rare (1%). That should restrict the amount of start/stop churn?
> Are you imagining something completely different?
Contraction is precluded across expression boundaries in the standard C numerics model. Assuming we want to support standard C numerics, you would need to insert start/stop for every expression containing FP.
You would actually get to avoid this precisely in the 1% case; if FMA formation is forbidden outright, you only need a single stop.
The "fast math" mode (greedy FMA formation) would only require a single start (or nothing at all), but that mode doesn't conform to C (or C++, as far as I know), and shouldn't be the default mode.
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the cfe-commits