blob: ffa428ec5a6f5e506f70fbb3e11b410b815fd472 [file] [log] [blame]
Evan Chenga5cb5642006-11-30 22:07:00 +00001; RUN: llvm-as < %s | llc -march=x86-64 &&
2; RUN: llvm-as < %s | llc -march=x86-64 | grep GOTPCREL | wc -l | grep 4 &&
3; RUN: llvm-as < %s | llc -march=x86-64 | grep rip | wc -l | grep 6 &&
4; RUN: llvm-as < %s | llc -march=x86-64 | grep movq | wc -l | grep 6 &&
5; RUN: llvm-as < %s | llc -march=x86-64 | grep leaq | wc -l | grep 1 &&
6; RUN: llvm-as < %s | llc -march=x86-64 -relocation-model=static | grep rip | wc -l | grep 4 &&
7; RUN: llvm-as < %s | llc -march=x86-64 -relocation-model=static | grep movl | wc -l | grep 2 &&
8; RUN: llvm-as < %s | llc -march=x86-64 -relocation-model=static | grep movq | wc -l | grep 2
9
10%ptr = external global int*
11%src = external global [0 x int]
12%dst = external global [0 x int]
13%lptr = internal global int* null
14%ldst = internal global [500 x int] zeroinitializer, align 32
15%lsrc = internal global [500 x int] zeroinitializer, align 32
16%bsrc = internal global [500000 x int] zeroinitializer, align 32
17%bdst = internal global [500000 x int] zeroinitializer, align 32
18
19void %test1() {
20 %tmp = load int* getelementptr ([0 x int]* %src, int 0, int 0)
21 store int %tmp, int* getelementptr ([0 x int]* %dst, int 0, int 0)
22 ret void
23}
24
25void %test2() {
26 store int* getelementptr ([0 x int]* %dst, int 0, int 0), int** %ptr
27 ret void
28}
29
30void %test3() {
31 store int* getelementptr ([500 x int]* %ldst, int 0, int 0), int** %lptr
32 br label %return
33
34return:
35 ret void
36}