• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1; Testcase for calls to the standard C "pow" function
2;
3; RUN: opt < %s -simplify-libcalls -S | not grep {call .pow}
4
5
6declare double @pow(double, double)
7declare float @powf(float, float)
8
9define double @test1(double %X) {
10	%Y = call double @pow( double %X, double 0.000000e+00 )		; <double> [#uses=1]
11	ret double %Y
12}
13
14define double @test2(double %X) {
15	%Y = call double @pow( double %X, double -0.000000e+00 )		; <double> [#uses=1]
16	ret double %Y
17}
18
19define double @test3(double %X) {
20	%Y = call double @pow( double 1.000000e+00, double %X )		; <double> [#uses=1]
21	ret double %Y
22}
23
24define double @test4(double %X) {
25	%Y = call double @pow( double %X, double 2.0)
26	ret double %Y
27}
28
29define float @test4f(float %X) {
30	%Y = call float @powf( float %X, float 2.0)
31	ret float %Y
32}
33
34define float @test5f(float %X) {
35	%Y = call float @powf(float 2.0, float %X)  ;; exp2
36	ret float %Y
37}
38