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 i32 @foo(i32 %aa, i32 %bb) nounwind { | 4 define i32 @foo(i32 %aa, i32 %bb) nounwind { |
5 entry: | 5 entry: |
6 | 6 |
7 ; CHECK: sub sp, sp, #16 | 7 ; CHECK: sub sp, sp, #16 |
8 ; CHECK-NEXT: bic» sp, sp, #3221225472 | 8 ; CHECK-NEXT: bic» sp, sp, #-1073741824 |
9 | 9 |
10 %aa.addr = alloca i32, align 4 | 10 %aa.addr = alloca i32, align 4 |
11 %bb.addr = alloca i32, align 4 | 11 %bb.addr = alloca i32, align 4 |
12 %cc = alloca i32, align 4 | 12 %cc = alloca i32, align 4 |
13 %dd = alloca i32, align 4 | 13 %dd = alloca i32, align 4 |
14 store i32 %aa, i32* %aa.addr, align 4 | 14 store i32 %aa, i32* %aa.addr, align 4 |
15 store i32 %bb, i32* %bb.addr, align 4 | 15 store i32 %bb, i32* %bb.addr, align 4 |
16 %0 = load i32* %aa.addr, align 4 | 16 %0 = load i32, i32* %aa.addr, align 4 |
17 %1 = load i32* %bb.addr, align 4 | 17 %1 = load i32, i32* %bb.addr, align 4 |
18 %mul = mul nsw i32 %0, %1 | 18 %mul = mul nsw i32 %0, %1 |
19 store i32 %mul, i32* %cc, align 4 | 19 store i32 %mul, i32* %cc, align 4 |
20 %2 = load i32* %aa.addr, align 4 | 20 %2 = load i32, i32* %aa.addr, align 4 |
21 %mul1 = mul nsw i32 %2, 17 | 21 %mul1 = mul nsw i32 %2, 17 |
22 %3 = load i32* %cc, align 4 | 22 %3 = load i32, i32* %cc, align 4 |
23 %sub = sub nsw i32 %mul1, %3 | 23 %sub = sub nsw i32 %mul1, %3 |
24 store i32 %sub, i32* %dd, align 4 | 24 store i32 %sub, i32* %dd, align 4 |
25 %4 = load i32* %dd, align 4 | 25 %4 = load i32, i32* %dd, align 4 |
26 ret i32 %4 | 26 ret i32 %4 |
27 | 27 |
28 ; The nop here is to prevent add/bic to straddle a bundle boundary | 28 ; The nop here is to prevent add/bic to straddle a bundle boundary |
29 ; CHECK: nop | 29 ; CHECK: nop |
30 ; CHECK-NEXT: add sp, sp, #16 | 30 ; CHECK-NEXT: add sp, sp, #16 |
31 ; CHECK-NEXT: bic» sp, sp, #3221225472 | 31 ; CHECK-NEXT: bic» sp, sp, #-1073741824 |
32 | 32 |
33 } | 33 } |
34 | 34 |
OLD | NEW |