blob: 29bc499adfc598e9b0f82668ff3c05858df85d8e [file] [log] [blame]
Dan Gohmanc8054d92009-09-09 00:09:15 +00001; RUN: llc < %s
Chris Lattner7100fcd2005-04-30 04:07:15 +00002
Chris Lattner9efa7e72005-04-30 04:41:27 +00003;; SQRT
Tanya Lattner3f047732008-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 Lattner7100fcd2005-04-30 04:07:15 +000013}
Chris Lattner9efa7e72005-04-30 04:41:27 +000014
Tanya Lattner3f047732008-02-19 01:41:04 +000015
Chris Lattner9efa7e72005-04-30 04:41:27 +000016; SIN
Nate Begemana21bc752009-11-03 02:19:31 +000017declare float @sinf(float) readonly
Tanya Lattner3f047732008-02-19 01:41:04 +000018
Nate Begemana21bc752009-11-03 02:19:31 +000019declare double @sin(double) readonly
Tanya Lattner3f047732008-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
Chris Lattner9efa7e72005-04-30 04:41:27 +000026}
27
Tanya Lattner3f047732008-02-19 01:41:04 +000028
Chris Lattner9efa7e72005-04-30 04:41:27 +000029; COS
Nate Begemana21bc752009-11-03 02:19:31 +000030declare float @cosf(float) readonly
Tanya Lattner3f047732008-02-19 01:41:04 +000031
Nate Begemana21bc752009-11-03 02:19:31 +000032declare double @cos(double) readonly
Tanya Lattner3f047732008-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
Chris Lattner9efa7e72005-04-30 04:41:27 +000039}
Tanya Lattner3f047732008-02-19 01:41:04 +000040