similar to: [LLVMdev] [RFC] How to fix sqrt vs llvm.sqrt optimization asymmetry

Displaying 20 results from an estimated 10000 matches similar to: "[LLVMdev] [RFC] How to fix sqrt vs llvm.sqrt optimization asymmetry"

2013 Nov 11
0
[LLVMdev] [RFC] How to fix sqrt vs llvm.sqrt optimization asymmetry
Hi Hal, all. I'm not sure why llvm.sqrt is 'special'. Maybe because there is a SSE packed sqrt instruction (SQRTPS) but not e.g. a packed sin instruction AFAIK. As mentioned in a recent mail to this list, I would like llvm.sqrt to be defined as NaN for argument x < 0. I believe this would bring it more into line with the other intrinsics, and with the libm result, which is
2013 Nov 12
3
[LLVMdev] [RFC] How to fix sqrt vs llvm.sqrt optimization asymmetry
----- Original Message ----- > Hi Hal, all. > > I'm not sure why llvm.sqrt is 'special'. Maybe because there is a > SSE > packed sqrt instruction (SQRTPS) but not e.g. a packed sin > instruction > AFAIK. This seems relevant: http://lists.cs.uiuc.edu/pipermail/llvmdev/2007-August/010248.html Chris, et al., does the decision on how to treat sqrt predate our
2013 Nov 12
3
[LLVMdev] [RFC] How to fix sqrt vs llvm.sqrt optimization asymmetry
----- Original Message ----- > > On Nov 11, 2013, at 9:30 PM, Hal Finkel <hfinkel at anl.gov> wrote: > > > ----- Original Message ----- > >> Hi Hal, all. > >> > >> I'm not sure why llvm.sqrt is 'special'. Maybe because there is a > >> SSE > >> packed sqrt instruction (SQRTPS) but not e.g. a packed sin > >>
2013 Nov 12
0
[LLVMdev] [RFC] How to fix sqrt vs llvm.sqrt optimization asymmetry
On Nov 11, 2013, at 9:30 PM, Hal Finkel <hfinkel at anl.gov> wrote: > ----- Original Message ----- >> Hi Hal, all. >> >> I'm not sure why llvm.sqrt is 'special'. Maybe because there is a >> SSE >> packed sqrt instruction (SQRTPS) but not e.g. a packed sin >> instruction >> AFAIK. > > This seems relevant:
2013 Nov 12
0
[LLVMdev] [RFC] How to fix sqrt vs llvm.sqrt optimization asymmetry
On Nov 11, 2013, at 10:44 PM, Hal Finkel <hfinkel at anl.gov> wrote: >> "Unlike sqrt in libm, however, llvm.sqrt has undefined behavior for >> ..." >> >> to "... produces an undefined value", with a link back to >> ##undefined-values. > > I'm not sure that helps, because it will prevents sqrt + -fno-math-errno (a readnone sqrt)
2013 Nov 01
1
[LLVMdev] llvm.sqrt intrinsic undefined behaviour
> I strongly disagree with this proposal. The purpose of this general > purpose intrinsic is to expose sqrt functionality present on many of > the architectures LLVM supports. If we defined its edge cases, we > won't be able to map it to target functionality freely on targets whose > edge cases don't match that definition. I agree the targets should be the primary focus,
2013 Sep 13
0
[LLVMdev] [RFC] New function attributes for errno-setting functions
Food for thought: If you have a codebase which can't use -fno-math-errno, because it relies on errno values from math functions, it may be a more effective long-term strategy to work on modernizing your codebase, eliminating the dependencies on errno, rather than going through the trouble of adding even more complexity to compilers to keep errno support limping along. Of course, whether this
2013 Sep 13
7
[LLVMdev] [RFC] New function attributes for errno-setting functions
Hello, Our current handling of -fno-math-errno (and this -ffast-math) in Clang is broken on systems for which libm functions do actually set errno. This is because, when -fno-math-errno is in effect, libm functions like sqrt, sin, cos, etc. are marked as readnone. As a result, these calls can be reordered with respect to other calls that set errno, and can clobber errno before it can be read. For
2013 Sep 13
1
[LLVMdev] [RFC] New function attributes for errno-setting functions
It was pointed out to me that I misunderstood what problem you were trying to solve. Sorry for the noise. Dan On Fri, Sep 13, 2013 at 2:02 PM, Dan Gohman <dan433584 at gmail.com> wrote: > Food for thought: If you have a codebase which can't use -fno-math-errno, > because it relies on errno values from math functions, it may be a more > effective long-term strategy to work on
2010 Jan 07
3
[LLVMdev] sqrt
What is the state of sqrt in LLVM? It was an intrinsic but there are no OCaml bindings for it and, last I looked, it generated inefficient code on Linux due to this bug: http://www.llvm.org/PR3219 Is the intrinsic deprecated? Am I losing a lot of performance by calling sqrt from libm instead of using the intrinsic? -- Dr Jon Harrop, Flying Frog Consultancy Ltd.
2010 Jan 07
0
[LLVMdev] sqrt
On Jan 7, 2010, at 7:06 AM, Jon Harrop wrote: > > What is the state of sqrt in LLVM? > > It was an intrinsic but there are no OCaml bindings for it and, last > I looked, > it generated inefficient code on Linux due to this bug: > > http://www.llvm.org/PR3219 > > Is the intrinsic deprecated? Am I losing a lot of performance by > calling sqrt > from libm
2013 May 17
0
[LLVMdev] Inlining sqrt library function in X86
On May 17, 2013, at 3:33 PM, "Gurd, Preston" <preston.gurd at intel.com> wrote: > Using the following example program > > #include <math.h> > > double f(double d){ > return sqrt(d); > } > > and compiling it with “clang –O3 …”, I was trying to determine what it would take to get the X86 code generator to replace the call to sqrt with a
2014 Sep 25
3
[LLVMdev] Optimization of sqrt() with invalid argument
My colleague Will Schmidt recently discovered (http://llvm.org/bugs/show_bug.cgi?id=21048) that the LLVM optimizers are converting sqrt(n), where n is negative, into 0.0. Now, as Sanjay pointed out, the value of sqrt(n) for negative n other than -0.0 is undefined according to the C99 standard, so this is allowable behavior. But I think that it's not necessarily good behavior, nonetheless.
2005 Jan 07
2
Asymmetry and kurtosis coefficients
Hello everybody, I'm studying descriptive statistics with R and I want to know how to calculate the asymmetry and kurtosis coefficients of a sample using R. I'll appreciate some help. Thanx, Talita Perciano Costa Leite Graduanda em Ci?ncia da Computa??o Universidade Federal de Alagoas - UFAL Departamento de Tecnologia da Informa??o - TCI Constru??o de Conhecimento por Agrupamento de
2013 Jul 18
2
[LLVMdev] LLVM 3.3 JIT code speed
Hi, Our DSL LLVM IR emitted code (optimized with -O3 kind of IR ==> IR passes) runs slower when executed with the LLVM 3.3 JIT, compared to what we had with LLVM 3.1. What could be the reason? I tried to play with TargetOptions without any success… Here is the kind of code we use to allocate the JIT: EngineBuilder builder(fResult->fModule);
2005 Apr 13
1
Fluctuating asymmetry and measurement error
Hi all, Has anyone tested for FA in R? I need to seperate out the variance due to measurement error from variation between individuals (following Palmer & Strobeck 1986). Andy Higginson Animal Behaviour and Ecology Research Group School of Biology University of Nottingham NG7 2RD U.K. This message has been checked for viruses but the contents of an attachment may still contain
2002 Jun 29
2
TO SYMMETRY AND ASYMMETRY-----NOW ADD SUPERSYMMETRY
Open Letter to Developers, Is there any way you can cut through the mob scene at Homeland Defense with a powerful new encryption/decryption formula? The government cryptography bunch are stuck in symmetry and asymmetry and are deaf/dumb/blind to supersymmetry. When it's so easy to line up a supersymmetrical hypercube fractal-to-fractal, pair-to-pair, quantum-to-quantum and slice through
2013 Jul 18
0
[LLVMdev] LLVM 3.3 JIT code speed
On Thu, Jul 18, 2013 at 9:07 AM, Stéphane Letz <letz at grame.fr> wrote: > Hi, > > Our DSL LLVM IR emitted code (optimized with -O3 kind of IR ==> IR passes) runs slower when executed with the LLVM 3.3 JIT, compared to what we had with LLVM 3.1. What could be the reason? > > I tried to play with TargetOptions without any success… > > Here is the kind of code we use to
2013 May 17
3
[LLVMdev] Inlining sqrt library function in X86
Using the following example program #include <math.h> double f(double d){ return sqrt(d); } and compiling it with "clang -O3 ...", I was trying to determine what it would take to get the X86 code generator to replace the call to sqrt with a sqrtsd instruction inline. It turns out that it could do exactly that, were it not for the fact that in the function
2013 Oct 31
3
[LLVMdev] llvm.sqrt intrinsic undefined behaviour
Hi all, I'm working on a language in which I would like all operations to be well defined. (and efficient) I want to define a sqrt function in my language, that will return NaN for arguments < 0, and NaN for a NaN argument. As far as I know, these semantics map nicely to the SQRTPS SSE instruction, which seems to return NaN on arguments < 0. However, the LLVM lang ref states