aboutsummaryrefslogtreecommitdiff
path: root/test/CodeGen/ARM/str_post.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
commit02b985c50faa7b0f43ef4100761c633ed4b8d6d2 (patch)
tree0d21bd626b6931c8fd248b5094331f5bb53f3b54 /test/CodeGen/ARM/str_post.ll
parenta8e2989ece6dc46df59b0768184028257f913843 (diff)
ARM test cases contributed by Apple.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33354 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/CodeGen/ARM/str_post.ll')
-rw-r--r--test/CodeGen/ARM/str_post.ll20
1 files changed, 20 insertions, 0 deletions
diff --git a/test/CodeGen/ARM/str_post.ll b/test/CodeGen/ARM/str_post.ll
new file mode 100644
index 0000000000..366c9f8735
--- /dev/null
+++ b/test/CodeGen/ARM/str_post.ll
@@ -0,0 +1,20 @@
+; RUN: llvm-upgrade < %s | llvm-as | llc -march=arm &&
+; RUN: llvm-upgrade < %s | llvm-as | llc -march=arm | grep "strh .*\[.*], #-4" | wc -l | grep 1 &&
+; RUN: llvm-upgrade < %s | llvm-as | llc -march=arm | grep "str .*\[.*]," | wc -l | grep 1
+
+short %test1(int *%X, short *%A) {
+ %Y = load int* %X
+ %tmp1 = cast int %Y to short
+ store short %tmp1, short* %A
+ %tmp2 = cast short* %A to short
+ %tmp3 = sub short %tmp2, 4
+ ret short %tmp3
+}
+
+int %test2(int *%X, int *%A) {
+ %Y = load int* %X
+ store int %Y, int* %A
+ %tmp1 = cast int* %A to int
+ %tmp2 = sub int %tmp1, 4
+ ret int %tmp2
+}