Use the llvm-upgrade program to upgrade llvm assembly.
[oota-llvm.git] / test / CodeGen / X86 / x86-64-mem.ll
1 ; RUN: llvm-upgrade < %s | llvm-as | llc -march=x86-64 &&
2 ; RUN: llvm-upgrade < %s | llvm-as | llc -march=x86-64 | grep GOTPCREL | wc -l | grep 4 &&
3 ; RUN: llvm-upgrade < %s | llvm-as | llc -march=x86-64 | grep rip | wc -l | grep 6 &&
4 ; RUN: llvm-upgrade < %s | llvm-as | llc -march=x86-64 | grep movq | wc -l | grep 6 &&
5 ; RUN: llvm-upgrade < %s | llvm-as | llc -march=x86-64 | grep leaq | wc -l | grep 1 &&
6 ; RUN: llvm-upgrade < %s | llvm-as | llc -march=x86-64 -relocation-model=static | grep rip | wc -l | grep 4 &&
7 ; RUN: llvm-upgrade < %s | llvm-as | llc -march=x86-64 -relocation-model=static | grep movl | wc -l | grep 2 &&
8 ; RUN: llvm-upgrade < %s | llvm-as | 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
19 void %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
25 void %test2() {
26         store int* getelementptr ([0 x int]* %dst, int 0, int 0), int** %ptr
27         ret void
28 }
29
30 void %test3() {
31         store int* getelementptr ([500 x int]* %ldst, int 0, int 0), int** %lptr
32         br label %return
33
34 return:
35         ret void
36 }