Dan Gohman | f17a25c | 2007-07-18 16:29:46 +0000 | [diff] [blame] | 1 | ; RUN: llvm-upgrade < %s | llvm-as | llc -mtriple=x86_64-apple-darwin -o %t1 -f |
| 2 | ; RUN: grep GOTPCREL %t1 | wc -l | grep 4 |
| 3 | ; RUN: grep rip %t1 | wc -l | grep 6 |
| 4 | ; RUN: grep movq %t1 | wc -l | grep 6 |
| 5 | ; RUN: grep leaq %t1 | wc -l | grep 1 |
| 6 | ; RUN: llvm-upgrade < %s | llvm-as | \ |
Evan Cheng | c9cb89b | 2007-08-02 05:04:16 +0000 | [diff] [blame^] | 7 | ; RUN: llc -mtriple=x86_64-pc-linux -relocation-model=static -o %t2 -f |
Dan Gohman | f17a25c | 2007-07-18 16:29:46 +0000 | [diff] [blame] | 8 | ; RUN: grep rip %t2 | wc -l | grep 4 |
| 9 | ; RUN: grep movl %t2 | wc -l | grep 2 |
| 10 | ; RUN: grep movq %t2 | wc -l | grep 2 |
| 11 | |
| 12 | %ptr = external global int* |
| 13 | %src = external global [0 x int] |
| 14 | %dst = external global [0 x int] |
| 15 | %lptr = internal global int* null |
| 16 | %ldst = internal global [500 x int] zeroinitializer, align 32 |
| 17 | %lsrc = internal global [500 x int] zeroinitializer, align 32 |
| 18 | %bsrc = internal global [500000 x int] zeroinitializer, align 32 |
| 19 | %bdst = internal global [500000 x int] zeroinitializer, align 32 |
| 20 | |
| 21 | void %test1() { |
| 22 | %tmp = load int* getelementptr ([0 x int]* %src, int 0, int 0) |
| 23 | store int %tmp, int* getelementptr ([0 x int]* %dst, int 0, int 0) |
| 24 | ret void |
| 25 | } |
| 26 | |
| 27 | void %test2() { |
| 28 | store int* getelementptr ([0 x int]* %dst, int 0, int 0), int** %ptr |
| 29 | ret void |
| 30 | } |
| 31 | |
| 32 | void %test3() { |
| 33 | store int* getelementptr ([500 x int]* %ldst, int 0, int 0), int** %lptr |
| 34 | br label %return |
| 35 | |
| 36 | return: |
| 37 | ret void |
| 38 | } |