blob: 5695eeeda6993fa5a44bc365e2d941141154060a [file] [log] [blame]
Evan Cheng02b985c2007-01-19 09:20:23 +00001; RUN: llvm-upgrade < %s | llvm-as | llc -march=arm &&
2; RUN: llvm-upgrade < %s | llvm-as | llc -march=arm | grep "ldmia" | wc -l | grep 2 &&
3; RUN: llvm-upgrade < %s | llvm-as | llc -march=arm | grep "ldmib" | wc -l | grep 1 &&
4; RUN: llvm-upgrade < %s | llvm-as | llc -march=arm | grep "ldmfd sp\!" | wc -l | grep 3
5
6%X = external global [0 x int]
7
8int %t1() {
9 %tmp = load int* getelementptr ([0 x int]* %X, int 0, int 0)
10 %tmp3 = load int* getelementptr ([0 x int]* %X, int 0, int 1)
11 %tmp4 = tail call int %f1( int %tmp, int %tmp3 )
12 ret int %tmp4
13}
14
15int %t2() {
16 %tmp = load int* getelementptr ([0 x int]* %X, int 0, int 2)
17 %tmp3 = load int* getelementptr ([0 x int]* %X, int 0, int 3)
18 %tmp5 = load int* getelementptr ([0 x int]* %X, int 0, int 4)
19 %tmp6 = tail call int %f2( int %tmp, int %tmp3, int %tmp5 )
20 ret int %tmp6
21}
22
23int %t3() {
24 %tmp = load int* getelementptr ([0 x int]* %X, int 0, int 1)
25 %tmp3 = load int* getelementptr ([0 x int]* %X, int 0, int 2)
26 %tmp5 = load int* getelementptr ([0 x int]* %X, int 0, int 3)
27 %tmp6 = tail call int %f2( int %tmp, int %tmp3, int %tmp5 )
28 ret int %tmp6
29}
30
31declare int %f1(int, int)
32declare int %f2(int, int, int)