summaryrefslogtreecommitdiffstats
path: root/llvm/test/CodeGen/ARM/str_post.ll
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/test/CodeGen/ARM/str_post.ll')
-rw-r--r--llvm/test/CodeGen/ARM/str_post.ll20
1 files changed, 20 insertions, 0 deletions
diff --git a/llvm/test/CodeGen/ARM/str_post.ll b/llvm/test/CodeGen/ARM/str_post.ll
new file mode 100644
index 00000000000..366c9f87353
--- /dev/null
+++ b/llvm/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
+}
OpenPOWER on IntegriCloud