blob: 29bc499adfc598e9b0f82668ff3c05858df85d8e [file] [log] [blame]
Dan Gohmanda594cf2009-09-09 00:09:15 +00001; RUN: llc < %s
Dan Gohmanf17a25c2007-07-18 16:29:46 +00002
3;; SQRT
Tanya Lattnerf28e0ce2008-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
Dan Gohmanf17a25c2007-07-18 16:29:46 +000013}
14
Tanya Lattnerf28e0ce2008-02-19 01:41:04 +000015
Dan Gohmanf17a25c2007-07-18 16:29:46 +000016; SIN
Nate Begemanb00cf592009-11-03 02:19:31 +000017declare float @sinf(float) readonly
Tanya Lattnerf28e0ce2008-02-19 01:41:04 +000018
Nate Begemanb00cf592009-11-03 02:19:31 +000019declare double @sin(double) readonly
Tanya Lattnerf28e0ce2008-02-19 01:41:04 +000020
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
Dan Gohmanf17a25c2007-07-18 16:29:46 +000026}
27
Tanya Lattnerf28e0ce2008-02-19 01:41:04 +000028
Dan Gohmanf17a25c2007-07-18 16:29:46 +000029; COS
Nate Begemanb00cf592009-11-03 02:19:31 +000030declare float @cosf(float) readonly
Tanya Lattnerf28e0ce2008-02-19 01:41:04 +000031
Nate Begemanb00cf592009-11-03 02:19:31 +000032declare double @cos(double) readonly
Tanya Lattnerf28e0ce2008-02-19 01:41:04 +000033
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
Dan Gohmanf17a25c2007-07-18 16:29:46 +000039}
Tanya Lattnerf28e0ce2008-02-19 01:41:04 +000040