search for: built_in_pow

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) {