diff options
Diffstat (limited to 'llvm/test/CodeGen/ARM/ldr_pre.ll')
-rw-r--r-- | llvm/test/CodeGen/ARM/ldr_pre.ll | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/llvm/test/CodeGen/ARM/ldr_pre.ll b/llvm/test/CodeGen/ARM/ldr_pre.ll new file mode 100644 index 00000000000..bd273bc5aed --- /dev/null +++ b/llvm/test/CodeGen/ARM/ldr_pre.ll @@ -0,0 +1,18 @@ +; RUN: llvm-upgrade < %s | llvm-as | llc -march=arm && +; RUN: llvm-upgrade < %s | llvm-as | llc -march=arm | grep "ldr.*\!" | wc -l | grep 2 + +int *%test1(int *%X, int *%dest) { + %Y = getelementptr int* %X, int 4 + %A = load int* %Y + store int %A, int* %dest + ret int* %Y +} + +int %test2(int %a, int %b, int %c) { + %tmp1 = sub int %a, %b + %tmp2 = cast int %tmp1 to int* + %tmp3 = load int* %tmp2 + %tmp4 = sub int %tmp1, %c + %tmp5 = add int %tmp4, %tmp3 + ret int %tmp5 +} |