blob: 9a42c3ef32a1f0ebbcb8cb10087c98918ebb3e3e [file] [log] [blame]
Dan Gohmanfce288f2009-09-09 00:09:15 +00001; RUN: llc < %s
Chris Lattner459ced22005-04-30 04:07:15 +00002
Chris Lattnerac766dc2005-04-30 04:41:27 +00003;; SQRT
Tanya Lattner53a66d12008-02-19 01:41:04 +00004declare float @llvm.sqrt.f32(float)
5
6declare double @llvm.sqrt.f64(double)
7
8define double @test_sqrt(float %F) {
9 %G = call float @llvm.sqrt.f32( float %F ) ; <float> [#uses=1]
10 %H = fpext float %G to double ; <double> [#uses=1]
11 %I = call double @llvm.sqrt.f64( double %H ) ; <double> [#uses=1]
12 ret double %I
Chris Lattner459ced22005-04-30 04:07:15 +000013}
Chris Lattnerac766dc2005-04-30 04:41:27 +000014
Tanya Lattner53a66d12008-02-19 01:41:04 +000015
Chris Lattnerac766dc2005-04-30 04:41:27 +000016; SIN
Tanya Lattner53a66d12008-02-19 01:41:04 +000017declare float @sinf(float)
18
19declare double @sin(double)
20
21define double @test_sin(float %F) {
22 %G = call float @sinf( float %F ) ; <float> [#uses=1]
23 %H = fpext float %G to double ; <double> [#uses=1]
24 %I = call double @sin( double %H ) ; <double> [#uses=1]
25 ret double %I
Chris Lattnerac766dc2005-04-30 04:41:27 +000026}
27
Tanya Lattner53a66d12008-02-19 01:41:04 +000028
Chris Lattnerac766dc2005-04-30 04:41:27 +000029; COS
Tanya Lattner53a66d12008-02-19 01:41:04 +000030declare float @cosf(float)
31
32declare double @cos(double)
33
34define double @test_cos(float %F) {
35 %G = call float @cosf( float %F ) ; <float> [#uses=1]
36 %H = fpext float %G to double ; <double> [#uses=1]
37 %I = call double @cos( double %H ) ; <double> [#uses=1]
38 ret double %I
Chris Lattnerac766dc2005-04-30 04:41:27 +000039}
Tanya Lattner53a66d12008-02-19 01:41:04 +000040