-; RUN: llvm-upgrade < %s | llvm-as | llc -march=x86-64 &&
-; RUN: llvm-upgrade < %s | llvm-as | llc -march=x86-64 | grep GOTPCREL | wc -l | grep 4 &&
-; RUN: llvm-upgrade < %s | llvm-as | llc -march=x86-64 | grep rip | wc -l | grep 6 &&
-; RUN: llvm-upgrade < %s | llvm-as | llc -march=x86-64 | grep movq | wc -l | grep 6 &&
-; RUN: llvm-upgrade < %s | llvm-as | llc -march=x86-64 | grep leaq | wc -l | grep 1 &&
-; RUN: llvm-upgrade < %s | llvm-as | llc -march=x86-64 -relocation-model=static | grep rip | wc -l | grep 4 &&
-; RUN: llvm-upgrade < %s | llvm-as | llc -march=x86-64 -relocation-model=static | grep movl | wc -l | grep 2 &&
-; RUN: llvm-upgrade < %s | llvm-as | llc -march=x86-64 -relocation-model=static | grep movq | wc -l | grep 2
+; RUN: llvm-as < %s | llc -mtriple=x86_64-apple-darwin -o %t1 -f
+; RUN: grep GOTPCREL %t1 | count 4
+; RUN: grep %%rip %t1 | count 6
+; RUN: grep movq %t1 | count 6
+; RUN: grep leaq %t1 | count 1
+; RUN: llvm-as < %s | \
+; RUN: llc -mtriple=x86_64-pc-linux -relocation-model=static -o %t2 -f
+; RUN: grep movl %t2 | count 2
+; RUN: grep movq %t2 | count 2
-%ptr = external global int*
-%src = external global [0 x int]
-%dst = external global [0 x int]
-%lptr = internal global int* null
-%ldst = internal global [500 x int] zeroinitializer, align 32
-%lsrc = internal global [500 x int] zeroinitializer, align 32
-%bsrc = internal global [500000 x int] zeroinitializer, align 32
-%bdst = internal global [500000 x int] zeroinitializer, align 32
+@ptr = external global i32* ; <i32**> [#uses=1]
+@src = external global [0 x i32] ; <[0 x i32]*> [#uses=1]
+@dst = external global [0 x i32] ; <[0 x i32]*> [#uses=1]
+@lptr = internal global i32* null ; <i32**> [#uses=1]
+@ldst = internal global [500 x i32] zeroinitializer, align 32 ; <[500 x i32]*> [#uses=1]
+@lsrc = internal global [500 x i32] zeroinitializer, align 32 ; <[500 x i32]*> [#uses=0]
+@bsrc = internal global [500000 x i32] zeroinitializer, align 32 ; <[500000 x i32]*> [#uses=0]
+@bdst = internal global [500000 x i32] zeroinitializer, align 32 ; <[500000 x i32]*> [#uses=0]
-void %test1() {
- %tmp = load int* getelementptr ([0 x int]* %src, int 0, int 0)
- store int %tmp, int* getelementptr ([0 x int]* %dst, int 0, int 0)
+define void @test1() nounwind {
+ %tmp = load i32* getelementptr ([0 x i32]* @src, i32 0, i32 0) ; <i32> [#uses=1]
+ store i32 %tmp, i32* getelementptr ([0 x i32]* @dst, i32 0, i32 0)
ret void
}
-void %test2() {
- store int* getelementptr ([0 x int]* %dst, int 0, int 0), int** %ptr
+define void @test2() nounwind {
+ store i32* getelementptr ([0 x i32]* @dst, i32 0, i32 0), i32** @ptr
ret void
}
-void %test3() {
- store int* getelementptr ([500 x int]* %ldst, int 0, int 0), int** %lptr
+define void @test3() nounwind {
+ store i32* getelementptr ([500 x i32]* @ldst, i32 0, i32 0), i32** @lptr
br label %return
-return:
+return: ; preds = %0
ret void
}