blob: 46917252e84c857a879457e9961ac722f227768a [file] [log] [blame]
Reid Spencereb1d74e2007-04-16 17:36:08 +00001; RUN: llvm-upgrade < %s | llvm-as | llc -march=arm | \
Dan Gohman28beeea2007-08-15 13:36:28 +00002; RUN: grep ldmia | count 2
Reid Spencereb1d74e2007-04-16 17:36:08 +00003; RUN: llvm-upgrade < %s | llvm-as | llc -march=arm | \
Dan Gohman28beeea2007-08-15 13:36:28 +00004; RUN: grep ldmib | count 1
Reid Spencereb1d74e2007-04-16 17:36:08 +00005; RUN: llvm-upgrade < %s | llvm-as | llc -mtriple=arm-apple-darwin | \
Dan Gohman28beeea2007-08-15 13:36:28 +00006; RUN: grep {ldmfd sp\!} | count 3
Evan Cheng02b985c2007-01-19 09:20:23 +00007
8%X = external global [0 x int]
9
10int %t1() {
11 %tmp = load int* getelementptr ([0 x int]* %X, int 0, int 0)
12 %tmp3 = load int* getelementptr ([0 x int]* %X, int 0, int 1)
13 %tmp4 = tail call int %f1( int %tmp, int %tmp3 )
14 ret int %tmp4
15}
16
17int %t2() {
18 %tmp = load int* getelementptr ([0 x int]* %X, int 0, int 2)
19 %tmp3 = load int* getelementptr ([0 x int]* %X, int 0, int 3)
20 %tmp5 = load int* getelementptr ([0 x int]* %X, int 0, int 4)
21 %tmp6 = tail call int %f2( int %tmp, int %tmp3, int %tmp5 )
22 ret int %tmp6
23}
24
25int %t3() {
26 %tmp = load int* getelementptr ([0 x int]* %X, int 0, int 1)
27 %tmp3 = load int* getelementptr ([0 x int]* %X, int 0, int 2)
28 %tmp5 = load int* getelementptr ([0 x int]* %X, int 0, int 3)
29 %tmp6 = tail call int %f2( int %tmp, int %tmp3, int %tmp5 )
30 ret int %tmp6
31}
32
33declare int %f1(int, int)
34declare int %f2(int, int, int)