[LLVMdev] Documentation of fmuladd intrinsic

Hal Finkel hfinkel at anl.gov
Fri Jan 11 12:23:17 PST 2013


----- Original Message -----
> From: "Justin Holewinski" <justin.holewinski at gmail.com>
> To: "Hal Finkel" <hfinkel at anl.gov>
> Cc: "David A. Greene" <dag at cray.com>, "LLVM Developers Mailing List" <llvmdev at cs.uiuc.edu>
> Sent: Friday, January 11, 2013 2:19:01 PM
> Subject: Re: [LLVMdev] Documentation of fmuladd intrinsic
> 
> 
> On Fri, Jan 11, 2013 at 3:16 PM, Hal Finkel < hfinkel at anl.gov >
> wrote:
> 
> 
> 
> 
> 
> ----- Original Message -----
> > From: dag at cray.com
> > To: "Justin Holewinski" < justin.holewinski at gmail.com >
> > Cc: "Hal Finkel" < hfinkel at anl.gov >, "LLVM Developers Mailing
> > List" < llvmdev at cs.uiuc.edu >
> > Sent: Friday, January 11, 2013 2:13:50 PM
> > Subject: Re: [LLVMdev] Documentation of fmuladd intrinsic
> > 
> 
> 
> > Justin Holewinski < justin.holewinski at gmail.com > writes:
> > 
> > > Out of curiosity, what is the use-case for
> > > isFMAFasterThanMulAndAdd?
> > > If a target declares that FMA is actually slower for a given
> > > type,
> > > why not just declare it as illegal for that type? Wouldn't that
> > > accomplish the same thing without another target hook? I feel
> > > like
> > > I'm
> > > missing something here.
> > 
> > It's not expressed in the code Hal posted but I suppose a target
> > could
> > have a slow fma that the user nonetheless wants to use for
> > precision
> > reasons.
> 
> Yes, I believe that's right. This way you can still always get an fma
> with the intrinsic.
> 
> 
> 
> Now I'm confused. If a target declares that fmuladd is "slow" for a
> given type, it will be lowered to mul + add in SDAG anyway
> (according to this code snippet). So how could a user override this?

The user should use the fma intrinsic directly. There are now two intrinsics, fma and fmuladd.

 -Hal

> 
> 
> 
> -Hal
> 
> > 
> > -David
> 
> 
> > 
> 
> --
> Hal Finkel
> Postdoctoral Appointee
> Leadership Computing Facility
> Argonne National Laboratory
> 
> 
> 
> 
> --
> 
> 
> Thanks,
> 
> 
> Justin Holewinski

-- 
Hal Finkel
Postdoctoral Appointee
Leadership Computing Facility
Argonne National Laboratory



More information about the llvm-dev mailing list