Displaying 9 results from an estimated 9 matches for "isfmafasterthanmulandadd".
2013 Jul 08
1
[LLVMdev] API break for out-of-tree targets implementing TargetLoweringBase::isFMAFasterThanMulAndAdd
Hello,
To any out-of-tree targets, please be aware that I intend to commit a
patch that will break the build of any target implementing
TargetLoweringBase::isFMAFasterThanMulAndAdd, for the reasons
described below. (Basically, the current interface definition is
broken and not followed, and no in-tree target was doing the right
thing with it, so it is unlikely any out-of-tree target is either...)
To un-break your build after this patch goes through, you will need to
rename i...
2013 Jan 11
3
[LLVMdev] Documentation of fmuladd intrinsic
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.
On Fri, Jan 11, 2013 at 2:40 PM, Hal Finkel <hfinkel at...
2013 Jan 11
0
[LLVMdev] Documentation of fmuladd intrinsic
...> fma translation. The relevant code is in CodeGen/SelectionDAG/SelectionDAGBuilder.cpp:
case Intrinsic::fmuladd: {
EVT VT = TLI.getValueType(I.getType());
if (TM.Options.AllowFPOpFusion != FPOpFusion::Strict &&
TLI.isOperationLegal(ISD::FMA, VT) &&
TLI.isFMAFasterThanMulAndAdd(VT)){
[ use FMA ]
} else {
[ use MUL + ADD ]
}
-Hal
>
>
> Hope that helps,
> Cameron
>
>
> _______________________________________________
> LLVM Developers mailing list
> LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu
> http://lis...
2013 Jan 11
2
[LLVMdev] Documentation of fmuladd intrinsic
...ng 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.
>
>...
2013 Jan 11
3
[LLVMdev] Documentation of fmuladd intrinsic
On Fri, Jan 11, 2013 at 1:08 PM, Andrew Booker <andrew.booker at arm.com>wrote:
> The fmuladd intrinsic is described as saying that a multiply and
> addition sequence can be fused into an fma instruction "if the code
> generator determines that the fused expression would be legal and
> efficient". (http://llvm.org/docs/LangRef.html#llvm-fma-intrinsic)
>
>
2013 Jan 11
0
[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 p...
2013 Jan 11
1
[LLVMdev] Documentation of fmuladd intrinsic
...code is in
> CodeGen/SelectionDAG/SelectionDAGBuilder.cpp:
>
> case Intrinsic::fmuladd: {
> EVT VT = TLI.getValueType(I.getType());
> if (TM.Options.AllowFPOpFusion != FPOpFusion::Strict &&
> TLI.isOperationLegal(ISD::FMA, VT) &&
> TLI.isFMAFasterThanMulAndAdd(VT)){
>
> [ use FMA ]
> } else {
> [ use MUL + ADD ]
> }
We've written a few TableGen patterns here locally to match FMA and
added a predicate to say in effect TM.Options.AllowFPOpFusion !=
FPOpFusion::Strict. So that's another way to proceed.
In gene...
2013 Jan 11
0
[LLVMdev] Documentation of fmuladd intrinsic
...iuc.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 so...
2013 Jan 11
1
[LLVMdev] Documentation of fmuladd intrinsic
...> 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'...