search for: isfmafasterthanmulandadd

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'...