Displaying 4 results from an estimated 4 matches for "built_in_pow".
2007 Nov 22
2
[LLVMdev] llvm-gcc cannot emit @llvm.pow.* ?
PS: It is possible that the C front-end doesn't need to
explicitly produce BUILT_IN_POW because it is auto-synthesized
somehow from a call to "pow". I wouldn't know. One way to
find out is to compile a testcase and rummage around inside
the gcc trees when they hit llvm-convert.
2007 Nov 22
0
[LLVMdev] llvm-gcc cannot emit @llvm.pow.* ?
Hi,
> Sure. But now the question is the llvm-gcc will not emit llvm.pow.* anytime.
indeed there seems to be no code in llvm-gcc to do so, though there is code for
raising to an integer power (in llvm-convert). Please feel free to investigate
and add some. Presumably it should turn gcc's BUILT_IN_POW into llvm.pow.*.
That said, as far as I can see the C front-end doesn't generate BUILT_IN_POW
at all, though the fortran and java front-ends do. It is true that the gcc
constant folder can fold x*x to pow(x, 2.0) but this has been turned off in
llvm-gcc (PR1631); in any case this is not what y...
2007 Nov 22
0
[LLVMdev] llvm-gcc cannot emit @llvm.pow.* ?
Hi,
2007/11/22, Duncan Sands <baldrick at free.fr>:
>
> PS: It is possible that the C front-end doesn't need to
> explicitly produce BUILT_IN_POW because it is auto-synthesized
> somehow from a call to "pow". I wouldn't know. One way to
> find out is to compile a testcase and rummage around inside
> the gcc trees when they hit llvm-convert.
Yes, they do hit llvm-convert. I created function EmitBuiltinPOW() in
ll...
2007 Nov 22
2
[LLVMdev] llvm-gcc cannot emit @llvm.pow.* ?
2007/11/22, Duncan Sands <baldrick at free.fr>:
>
> Hi,
>
> > Current llvm-gcc cannot emit llvm intrinsic function like llvm.pow.* and
> > llvm.sin.*
> > For example:
> >
> > double foo(double x, double y) {
> > return pow(x,y);
> > }
> >
> > will compiled into ll:
> >
> > define double @foo(double %x, double %y) {