For inline asm:
[oota-llvm.git] / test / CodeGen / Generic / intrinsics.ll
index 7c1d1a52bc9365921990d4bf1cc3c5fd9121f7d2..29bc499adfc598e9b0f82668ff3c05858df85d8e 100644 (file)
@@ -1,31 +1,40 @@
-; RUN: llvm-upgrade < %s | llvm-as | llc
+; RUN: llc < %s
 
 ;; SQRT
-declare float %llvm.sqrt(float)
-declare double %llvm.sqrt(double)
-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 float @llvm.sqrt.f32(float)
+
+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)
-declare double %sin(double)
-double %test_sin(float %F) {
-       %G = call float %sinf(float %F)
-       %H = cast float %G to double
-       %I = call double %sin(double %H)
-       ret double %I
+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)
-declare double %cos(double)
-double %test_cos(float %F) {
-       %G = call float %cosf(float %F)
-       %H = cast float %G to double
-       %I = call double %cos(double %H)
-       ret double %I
+declare float @cosf(float) readonly
+
+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
 }
+