[cfe-commits] [llvm-commits] [PATCH] Add llvm.fmuladd intrinsic.

Stephen Canon 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.

- Steve
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20120605/d035aa64/attachment.html>

More information about the cfe-commits mailing list