summaryrefslogtreecommitdiffstats
path: root/llvm/test/CodeGen/ARM/ldm.ll
diff options
context:
space:
mode:
authorEvan Cheng <evan.cheng@apple.com>2007-01-19 09:20:23 +0000
committerEvan Cheng <evan.cheng@apple.com>2007-01-19 09:20:23 +0000
commita5007faaa68de9487fe63b690bea6e16c3c5f770 (patch)
tree07322d3e08789b6620893863778d9927e5cf80ce /llvm/test/CodeGen/ARM/ldm.ll
parent10043e215bcfd6d2b09a6ce3ad461fd686f686b8 (diff)
downloadbcm5719-llvm-a5007faaa68de9487fe63b690bea6e16c3c5f770.tar.gz
bcm5719-llvm-a5007faaa68de9487fe63b690bea6e16c3c5f770.zip
ARM test cases contributed by Apple.
llvm-svn: 33354
Diffstat (limited to 'llvm/test/CodeGen/ARM/ldm.ll')
-rw-r--r--llvm/test/CodeGen/ARM/ldm.ll32
1 files changed, 32 insertions, 0 deletions
diff --git a/llvm/test/CodeGen/ARM/ldm.ll b/llvm/test/CodeGen/ARM/ldm.ll
new file mode 100644
index 00000000000..5695eeeda69
--- /dev/null
+++ b/llvm/test/CodeGen/ARM/ldm.ll
@@ -0,0 +1,32 @@
+; RUN: llvm-upgrade < %s | llvm-as | llc -march=arm &&
+; RUN: llvm-upgrade < %s | llvm-as | llc -march=arm | grep "ldmia" | wc -l | grep 2 &&
+; RUN: llvm-upgrade < %s | llvm-as | llc -march=arm | grep "ldmib" | wc -l | grep 1 &&
+; RUN: llvm-upgrade < %s | llvm-as | llc -march=arm | grep "ldmfd sp\!" | wc -l | grep 3
+
+%X = external global [0 x int]
+
+int %t1() {
+ %tmp = load int* getelementptr ([0 x int]* %X, int 0, int 0)
+ %tmp3 = load int* getelementptr ([0 x int]* %X, int 0, int 1)
+ %tmp4 = tail call int %f1( int %tmp, int %tmp3 )
+ ret int %tmp4
+}
+
+int %t2() {
+ %tmp = load int* getelementptr ([0 x int]* %X, int 0, int 2)
+ %tmp3 = load int* getelementptr ([0 x int]* %X, int 0, int 3)
+ %tmp5 = load int* getelementptr ([0 x int]* %X, int 0, int 4)
+ %tmp6 = tail call int %f2( int %tmp, int %tmp3, int %tmp5 )
+ ret int %tmp6
+}
+
+int %t3() {
+ %tmp = load int* getelementptr ([0 x int]* %X, int 0, int 1)
+ %tmp3 = load int* getelementptr ([0 x int]* %X, int 0, int 2)
+ %tmp5 = load int* getelementptr ([0 x int]* %X, int 0, int 3)
+ %tmp6 = tail call int %f2( int %tmp, int %tmp3, int %tmp5 )
+ ret int %tmp6
+}
+
+declare int %f1(int, int)
+declare int %f2(int, int, int)
OpenPOWER on IntegriCloud