Displaying 20 results from an estimated 2000 matches similar to: "[LLVMdev] API break for out-of-tree targets implementing TargetLoweringBase::isFMAFasterThanMulAndAdd"
2013 Jan 11
0
[LLVMdev] Documentation of fmuladd intrinsic
----- Original Message -----
> From: "Cameron McInally" <cameron.mcinally at nyu.edu>
> To: "Andrew Booker" <andrew.booker at arm.com>
> Cc: llvmdev at cs.uiuc.edu
> Sent: Friday, January 11, 2013 12:37:07 PM
> Subject: Re: [LLVMdev] Documentation of fmuladd intrinsic
>
>
> On Fri, Jan 11, 2013 at 1:08 PM, Andrew Booker <
>
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 anl.gov> wrote:
> -----
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
1
[LLVMdev] Documentation of fmuladd intrinsic
Hal Finkel <hfinkel at anl.gov> writes:
> There are a few conditions that contribute to the decision of whether
> or not to make the fmuladd -> fma translation. The relevant code is in
> CodeGen/SelectionDAG/SelectionDAGBuilder.cpp:
>
> case Intrinsic::fmuladd: {
> EVT VT = TLI.getValueType(I.getType());
> if (TM.Options.AllowFPOpFusion !=
2016 Nov 19
2
FMA canonicalization in IR
Sent from my Verizon Wireless 4G LTE DROID
On Nov 19, 2016 10:26 AM, Sanjay Patel <spatel at rotateright.com<mailto:spatel at rotateright.com>> wrote:
>
> If I have my FMA intrinsics story straight now (thanks for the explanation, Hal!), I think it raises another question about IR canonicalization (and may affect the proposed revision to IR FMF):
No, I think that we specifically
2013 Jan 11
1
[LLVMdev] Documentation of fmuladd intrinsic
----- 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
2013 Jan 11
2
[LLVMdev] Documentation of fmuladd intrinsic
----- 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
2013 Jan 11
0
[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,
2016 Nov 20
5
FMA canonicalization in IR
The potential advantage I was considering would be more accurate cost
modeling in the vectorizer, inliner, etc. Like min/max, this is another
case where the sum of the IR parts is greater than the actual cost.
Beyond that, it seems odd to me that we'd choose the longer IR expression
of something that could be represented in a minimal form. I know we make
practical concessions in IR based on
2016 Nov 18
2
what does -ffp-contract=fast allow?
----- Original Message -----
> From: "Sanjay Patel" <spatel at rotateright.com>
> To: "Hal J. Finkel" <hfinkel at anl.gov>
> Cc: "Mehdi Amini" <mehdi.amini at apple.com>, "llvm-dev"
> <llvm-dev at lists.llvm.org>, "cfe-dev" <cfe-dev at lists.llvm.org>,
> "andrew kaylor" <andrew.kaylor at
2014 Dec 10
2
[LLVMdev] Best way for JIT to query whether llvm.fma.* is fast?
Thanks! That’s probably close enough for practical purposes. I looked at the overrides on various targets, and they all return true if the FMA hardware exists.
- Arch
From: Jingyue Wu [mailto:jingyue at google.com]
Sent: Wednesday, December 10, 2014 2:56 PM
To: Robison, Arch
Cc: llvmdev at cs.uiuc.edu
Subject: Re: [LLVMdev] Best way for JIT to query whether llvm.fma.* is fast?
Does
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.
2016 Nov 18
2
what does -ffp-contract=fast allow?
Sent from my Verizon Wireless 4G LTE DROID
On Nov 17, 2016 5:53 PM, Mehdi Amini <mehdi.amini at apple.com<mailto:mehdi.amini at apple.com>> wrote:
>
>
>> On Nov 17, 2016, at 4:33 PM, Hal Finkel <hfinkel at anl.gov<mailto:hfinkel at anl.gov>> wrote:
>>
>>
>> ________________________________
>>>
>>> From: "Warren
2015 Jan 29
4
[LLVMdev] RFC: Add ISD nodes for mad
> On Jan 28, 2015, at 3:47 PM, Hal Finkel <hfinkel at anl.gov> wrote:
>
> ----- Original Message -----
>> From: "Matt Arsenault" <Matthew.Arsenault at amd.com>
>> To: "llvmdev at cs.uiuc.edu" <LLVMdev at cs.uiuc.edu>
>> Sent: Wednesday, January 28, 2015 1:52:59 PM
>> Subject: [LLVMdev] RFC: Add ISD nodes for mad
>>
2012 Dec 13
3
[LLVMdev] Question about FMA formation
A little background:
The fmuladd intrinsic was introduced to support the FP_CONTRACT pragma in
C. llvm.fmuladd.* is generated by clang when it sees an expression of the
form 'a * b + c' within a single source statement.
If you want to opportunistically form FMA target instructions my
inclination would be to skip llvm.fmuladd.* and just form them from a*b+c
expressions at isel time. I
2012 Dec 13
0
[LLVMdev] Question about FMA formation
Hi, Eli, Mike and Lang:
Thank you all for the input. This is one e.g which might be
difficult for isel:
a*b + c*d + e => a*b + (c*d + e).
Thanks
Shuxin
On 12/12/12 4:43 PM, Lang Hames wrote:
> A little background:
>
> The fmuladd intrinsic was introduced to support the FP_CONTRACT pragma
> in C. llvm.fmuladd.* is generated by clang when it sees an expression
> of the
2012 Dec 13
0
[LLVMdev] Question about FMA formation
On Dec 12, 2012, at 3:40 PM, Shuxin Yang <shuxin.llvm at gmail.com> wrote:
> Hi, Dear All:
>
> I'm going implement FMA formation. On some architectures, "FMA a, b, c" is more precise than
> "a * b + c". I'm wondering if FMA could be less precise. In the former case, can we enable FMA
> formation despite restrictive FP mode?
>
I believe
2019 Jul 10
2
RFC: change -fp-contract=off to actually disable FMAs
There is no way to disable FMAs with 'fast' ops in LLVM. I would like to
propose that LLVM's -fp-contract=off should disable fusion, regardless of
any other flags since the Clang option suggests this to be the case:
$ clang --help | grep fp-contract
-ffp-contract=<value> Form fused FP ops (e.g. FMAs): fast (everywhere)
| on (according to FP_CONTRACT pragma, default) | off
2019 Sep 02
2
AVX2 codegen - question reg. FMA generation
On Mon, 2 Sep 2019 at 16:59, Roman Lebedev <lebedev.ri at gmail.com> wrote:
>
> It appears you need 'reassoc' on fmul/fadd:
> https://godbolt.org/z/nuTzx2
Thanks very much, that was it. Either that or providing
-enable-unsafe-fp-math to llc yielded FMAs. I didn't expect this since
using FMAs here instead of mul/add appears to be safer (the reverse is
unsafe).
~ Uday
2015 Jan 28
4
[LLVMdev] RFC: Add ISD nodes for mad
Hi,
I would like to add an ISD node for an fmad operation (named either FMAD
or FMULADD). It will have the semantics of returning the same result as
the separate multiply and add with the intermediate rounding step, and
not a differently rounded result. The motivation is to share code with
the various FMA forming DAG combines, but will be generally more useful
on targets that support it