OLD | NEW |
1 ; RUN: pnacl-llc -mtriple=armv7-unknown-nacl -filetype=obj %s -o - \ | 1 ; RUN: pnacl-llc -mtriple=armv7-unknown-nacl -filetype=obj %s -o - \ |
2 ; RUN: | llvm-objdump -disassemble -triple armv7 - | FileCheck %s | 2 ; RUN: | llvm-objdump -disassemble -triple armv7 - | FileCheck %s |
3 | 3 |
4 define void @foo(i32* %input, i32* %output) nounwind { | 4 define void @foo(i32* %input, i32* %output) nounwind { |
5 entry: | 5 entry: |
6 %input.addr = alloca i32*, align 4 | 6 %input.addr = alloca i32*, align 4 |
7 %output.addr = alloca i32*, align 4 | 7 %output.addr = alloca i32*, align 4 |
8 %temp = alloca i32, align 4 | 8 %temp = alloca i32, align 4 |
9 | 9 |
10 ; CHECK: sub sp, sp | 10 ; CHECK: sub sp, sp |
11 ; CHECK-NEXT: bic sp, sp, #3221225472 | 11 ; CHECK-NEXT: bic sp, sp, #-1073741824 |
12 | 12 |
13 store i32* %input, i32** %input.addr, align 4 | 13 store i32* %input, i32** %input.addr, align 4 |
14 store i32* %output, i32** %output.addr, align 4 | 14 store i32* %output, i32** %output.addr, align 4 |
15 %0 = load i32** %input.addr, align 4 | 15 %0 = load i32*, i32** %input.addr, align 4 |
16 %arrayidx = getelementptr inbounds i32* %0, i32 1 | 16 %arrayidx = getelementptr inbounds i32, i32* %0, i32 1 |
17 %1 = load i32* %arrayidx, align 4 | 17 %1 = load i32, i32* %arrayidx, align 4 |
18 store i32 %1, i32* %temp, align 4 | 18 store i32 %1, i32* %temp, align 4 |
19 %2 = load i32* %temp, align 4 | 19 %2 = load i32, i32* %temp, align 4 |
20 %3 = load i32** %output.addr, align 4 | 20 %3 = load i32*, i32** %output.addr, align 4 |
21 %arrayidx1 = getelementptr inbounds i32* %3, i32 0 | 21 %arrayidx1 = getelementptr inbounds i32, i32* %3, i32 0 |
22 store i32 %2, i32* %arrayidx1, align 4 | 22 store i32 %2, i32* %arrayidx1, align 4 |
23 | 23 |
24 ; CHECK: add sp, sp | 24 ; CHECK: add sp, sp |
25 ; CHECK-NEXT: bic sp, sp, #3221225472 | 25 ; CHECK-NEXT: bic sp, sp, #-1073741824 |
26 | 26 |
27 ret void | 27 ret void |
28 } | 28 } |
OLD | NEW |