[opaque pointer type] Add textual IR support for explicit type parameter to the call...
[oota-llvm.git] / test / CodeGen / X86 / pr1489.ll
index a7f3e795c69771c533717c9bb2c39bd9c28e237e..13ced2a327459fd81078fbc7ec1f06fe2dd1fa34 100644 (file)
@@ -1,12 +1,12 @@
-; RUN: llvm-as < %s | llc -disable-fp-elim -fast -mcpu=i486 | grep 1082126238 | count 3
-; RUN: llvm-as < %s | llc -disable-fp-elim -fast -mcpu=i486 | grep 3058016715 | count 1
+; RUN: llc < %s -disable-fp-elim -O0 -mcpu=i486 | grep 1082126238 | count 3
+; RUN: llc < %s -disable-fp-elim -O0 -mcpu=i486 | grep -- -1236950581 | count 1
 ;; magic constants are 3.999f and half of 3.999
 ; ModuleID = '1489.c'
 target datalayout = "e-p:32:32:32-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:32:64-f32:32:32-f64:32:64-v64:64:64-v128:128:128-a0:0:64"
 target triple = "i686-apple-darwin8"
 @.str = internal constant [13 x i8] c"%d %d %d %d\0A\00"               ; <[13 x i8]*> [#uses=1]
 
-define i32 @quux() {
+define i32 @quux() nounwind {
 entry:
        %tmp1 = tail call i32 @lrintf( float 0x400FFDF3C0000000 )               ; <i32> [#uses=1]
        %tmp2 = icmp slt i32 %tmp1, 1           ; <i1> [#uses=1]
@@ -16,7 +16,7 @@ entry:
 
 declare i32 @lrintf(float)
 
-define i32 @foo() {
+define i32 @foo() nounwind {
 entry:
        %tmp1 = tail call i32 @lrint( double 3.999000e+00 )             ; <i32> [#uses=1]
        %tmp2 = icmp slt i32 %tmp1, 1           ; <i1> [#uses=1]
@@ -26,7 +26,7 @@ entry:
 
 declare i32 @lrint(double)
 
-define i32 @bar() {
+define i32 @bar() nounwind {
 entry:
        %tmp1 = tail call i32 @lrintf( float 0x400FFDF3C0000000 )               ; <i32> [#uses=1]
        %tmp2 = icmp slt i32 %tmp1, 1           ; <i1> [#uses=1]
@@ -34,7 +34,7 @@ entry:
        ret i32 %tmp23
 }
 
-define i32 @baz() {
+define i32 @baz() nounwind {
 entry:
        %tmp1 = tail call i32 @lrintf( float 0x400FFDF3C0000000 )               ; <i32> [#uses=1]
        %tmp2 = icmp slt i32 %tmp1, 1           ; <i1> [#uses=1]
@@ -42,13 +42,13 @@ entry:
        ret i32 %tmp23
 }
 
-define i32 @main() {
+define i32 @main() nounwind {
 entry:
        %tmp = tail call i32 @baz( )            ; <i32> [#uses=1]
        %tmp1 = tail call i32 @bar( )           ; <i32> [#uses=1]
        %tmp2 = tail call i32 @foo( )           ; <i32> [#uses=1]
        %tmp3 = tail call i32 @quux( )          ; <i32> [#uses=1]
-       %tmp5 = tail call i32 (i8*, ...)* @printf( i8* getelementptr ([13 x i8]* @.str, i32 0, i32 0), i32 %tmp3, i32 %tmp2, i32 %tmp1, i32 %tmp )              ; <i32> [#uses=0]
+       %tmp5 = tail call i32 (i8*, ...) @printf( i8* getelementptr ([13 x i8], [13 x i8]* @.str, i32 0, i32 0), i32 %tmp3, i32 %tmp2, i32 %tmp1, i32 %tmp )            ; <i32> [#uses=0]
        ret i32 undef
 }