summaryrefslogtreecommitdiff
path: root/test/CodeGen/ARM/ldr_pre.ll
blob: bd273bc5aedaf93069ca09cf4f9491d25d1a8294 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
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
}