[X86][SSE] Added missing stack folding test for SQRTSD and SQRTSS instructions.
[oota-llvm.git] / test / CodeGen / X86 / pic.ll
index dc5fcd78dc84afd54a4b9653a5a8c490400f913a..73be234db81c005ecc5e2f4c145cd04c4b6b818f 100644 (file)
@@ -1,4 +1,4 @@
-; RUN: llc < %s -mtriple=i686-pc-linux-gnu -relocation-model=pic -asm-verbose=false -post-RA-scheduler=false | FileCheck %s -check-prefix=LINUX
+; RUN: llc < %s -mcpu=generic -mtriple=i686-pc-linux-gnu -relocation-model=pic -asm-verbose=false -post-RA-scheduler=false | FileCheck %s -check-prefix=LINUX
 
 @ptr = external global i32* 
 @dst = external global i32 
@@ -7,11 +7,11 @@
 define void @test0() nounwind {
 entry:
     store i32* @dst, i32** @ptr
-    %tmp.s = load i32* @src
+    %tmp.s = load i32, i32* @src
     store i32 %tmp.s, i32* @dst
     ret void
     
-; LINUX:    test0:
+; LINUX-LABEL:    test0:
 ; LINUX:       calll   .L0$pb
 ; LINUX-NEXT: .L0$pb:
 ; LINUX-NEXT:  popl
@@ -29,11 +29,11 @@ entry:
 define void @test1() nounwind {
 entry:
     store i32* @dst2, i32** @ptr2
-    %tmp.s = load i32* @src2
+    %tmp.s = load i32, i32* @src2
     store i32 %tmp.s, i32* @dst2
     ret void
     
-; LINUX: test1:
+; LINUX-LABEL: test1:
 ; LINUX:       calll   .L1$pb
 ; LINUX-NEXT: .L1$pb:
 ; LINUX-NEXT:  popl
@@ -51,7 +51,7 @@ define void @test2() nounwind {
 entry:
     %ptr = call i8* @malloc(i32 40)
     ret void
-; LINUX: test2:
+; LINUX-LABEL: test2:
 ; LINUX:       pushl   %ebx
 ; LINUX-NEXT:  subl    $8, %esp
 ; LINUX-NEXT:  calll   .L2$pb
@@ -69,18 +69,18 @@ entry:
 
 define void @test3() nounwind {
 entry:
-    %tmp = call void(...)*(...)* @afoo()
+    %tmp = call void(...)*(...) @afoo()
     store void(...)* %tmp, void(...)** @pfoo
-    %tmp1 = load void(...)** @pfoo
-    call void(...)* %tmp1()
+    %tmp1 = load void(...)*, void(...)** @pfoo
+    call void(...) %tmp1()
     ret void
-; LINUX: test3:
+; LINUX-LABEL: test3:
 ; LINUX:       calll   .L3$pb
 ; LINUX-NEXT: .L3$pb:
 ; LINUX:       popl
 ; LINUX:       addl    $_GLOBAL_OFFSET_TABLE_+(.L{{.*}}-.L3$pb), %[[REG3:e..]]
-; LINUX:       movl    pfoo@GOT(%[[REG3]]),
 ; LINUX:       calll   afoo@PLT
+; LINUX:       movl    pfoo@GOT(%[[REG3]]),
 ; LINUX:       calll   *
 }
 
@@ -88,9 +88,9 @@ declare void(...)* @afoo(...)
 
 define void @test4() nounwind {
 entry:
-    call void(...)* @foo()
+    call void(...) @foo()
     ret void
-; LINUX: test4:
+; LINUX-LABEL: test4:
 ; LINUX: calll .L4$pb
 ; LINUX: popl  %ebx
 ; LINUX: addl  $_GLOBAL_OFFSET_TABLE_+(.L{{.*}}-.L4$pb), %ebx
@@ -107,11 +107,11 @@ declare void @foo(...)
 define void @test5() nounwind {
 entry:
     store i32* @dst6, i32** @ptr6
-    %tmp.s = load i32* @src6
+    %tmp.s = load i32, i32* @src6
     store i32 %tmp.s, i32* @dst6
     ret void
     
-; LINUX: test5:
+; LINUX-LABEL: test5:
 ; LINUX:       calll   .L5$pb
 ; LINUX-NEXT: .L5$pb:
 ; LINUX-NEXT:  popl    %eax
@@ -133,7 +133,7 @@ entry:
 
 ; LINUX: .LCPI6_0:
 
-; LINUX: test6:
+; LINUX-LABEL: test6:
 ; LINUX:    calll .L6$pb
 ; LINUX: .L6$pb:
 ; LINUX:    addl       $_GLOBAL_OFFSET_TABLE_+(.L{{.*}}-.L6$pb), 
@@ -146,58 +146,61 @@ define void @test7(i32 %n.u) nounwind {
 entry:
     switch i32 %n.u, label %bb12 [i32 1, label %bb i32 2, label %bb6 i32 4, label %bb7 i32 5, label %bb8 i32 6, label %bb10 i32 7, label %bb1 i32 8, label %bb3 i32 9, label %bb4 i32 10, label %bb9 i32 11, label %bb2 i32 12, label %bb5 i32 13, label %bb11 ]
 bb:
-    tail call void(...)* @foo1()
+    tail call void(...) @foo1()
     ret void
 bb1:
-    tail call void(...)* @foo2()
+    tail call void(...) @foo2()
     ret void
 bb2:
-    tail call void(...)* @foo6()
+    tail call void(...) @foo6()
     ret void
 bb3:
-    tail call void(...)* @foo3()
+    tail call void(...) @foo3()
     ret void
 bb4:
-    tail call void(...)* @foo4()
+    tail call void(...) @foo4()
     ret void
 bb5:
-    tail call void(...)* @foo5()
+    tail call void(...) @foo5()
     ret void
 bb6:
-    tail call void(...)* @foo1()
+    tail call void(...) @foo1()
     ret void
 bb7:
-    tail call void(...)* @foo2()
+    tail call void(...) @foo2()
     ret void
 bb8:
-    tail call void(...)* @foo6()
+    tail call void(...) @foo6()
     ret void
 bb9:
-    tail call void(...)* @foo3()
+    tail call void(...) @foo3()
     ret void
 bb10:
-    tail call void(...)* @foo4()
+    tail call void(...) @foo4()
     ret void
 bb11:
-    tail call void(...)* @foo5()
+    tail call void(...) @foo5()
     ret void
 bb12:
-    tail call void(...)* @foo6()
+    tail call void(...) @foo6()
     ret void
     
-; LINUX: test7:
+; LINUX-LABEL: test7:
 ; LINUX:   calll       .L7$pb
 ; LINUX: .L7$pb:
 ; LINUX:   addl        $_GLOBAL_OFFSET_TABLE_+(.L{{.*}}-.L7$pb),
 ; LINUX:   .LJTI7_0@GOTOFF(
 ; LINUX:   jmpl        *
 
-; LINUX: .LJTI7_0:
+; LINUX: .align 4
+; LINUX-NEXT: .LJTI7_0:
 ; LINUX:   .long        .LBB7_2@GOTOFF
 ; LINUX:   .long        .LBB7_8@GOTOFF
-; LINUX:   .long        .LBB7_14@GOTOFF
-; LINUX:   .long        .LBB7_9@GOTOFF
-; LINUX:   .long        .LBB7_10@GOTOFF
+; LINUX:   .long        .LBB7_4@GOTOFF
+; LINUX:   .long        .LBB7_6@GOTOFF
+; LINUX:   .long        .LBB7_5@GOTOFF
+; LINUX:   .long        .LBB7_8@GOTOFF
+; LINUX:   .long        .LBB7_7@GOTOFF
 }
 
 declare void @foo1(...)