Covert this test to .s form.
[oota-llvm.git] / test / CodeGen / Generic / intrinsics.ll
index ae0f3f7055fbafd51163a902bbc34f95d4f1dafc..29bc499adfc598e9b0f82668ff3c05858df85d8e 100644 (file)
@@ -1,13 +1,40 @@
-; RUN: llvm-as < %s | llc
+; RUN: llc < %s
 
+;; SQRT
+declare float @llvm.sqrt.f32(float)
 
-declare float %llvm.sqrt(float)
-declare double %llvm.sqrt(double)
+declare double @llvm.sqrt.f64(double)
 
+define double @test_sqrt(float %F) {
+        %G = call float @llvm.sqrt.f32( float %F )              ; <float> [#uses=1]
+        %H = fpext float %G to double           ; <double> [#uses=1]
+        %I = call double @llvm.sqrt.f64( double %H )            ; <double> [#uses=1]
+        ret double %I
+}
+
+
+; SIN
+declare float @sinf(float) readonly
+
+declare double @sin(double) readonly
+
+define double @test_sin(float %F) {
+        %G = call float @sinf( float %F )               ; <float> [#uses=1]
+        %H = fpext float %G to double           ; <double> [#uses=1]
+        %I = call double @sin( double %H )              ; <double> [#uses=1]
+        ret double %I
+}
+
+
+; COS
+declare float @cosf(float) readonly
 
-double %test_sqrt(float %F) {
-       %G = call float %llvm.sqrt(float %F)
-       %H = cast float %G to double
-       %I = call double %llvm.sqrt(double %H)
-       ret double %I
+declare double @cos(double) readonly
+
+define double @test_cos(float %F) {
+        %G = call float @cosf( float %F )               ; <float> [#uses=1]
+        %H = fpext float %G to double           ; <double> [#uses=1]
+        %I = call double @cos( double %H )              ; <double> [#uses=1]
+        ret double %I
 }
+