OLD | NEW |
(Empty) | |
| 1 ; RUN: pnacl-llc -mtriple=armv7-unknown-nacl -filetype=obj %s -o - \ |
| 2 ; RUN: | llvm-objdump -disassemble -triple armv7 - | FileCheck %s |
| 3 |
| 4 define i32 @foo(i32 %aa, i32 %bb) nounwind { |
| 5 entry: |
| 6 |
| 7 ; CHECK: sub sp, sp, #16 |
| 8 ; CHECK-NEXT: bic sp, sp, #3221225472 |
| 9 |
| 10 %aa.addr = alloca i32, align 4 |
| 11 %bb.addr = alloca i32, align 4 |
| 12 %cc = alloca i32, align 4 |
| 13 %dd = alloca i32, align 4 |
| 14 store i32 %aa, i32* %aa.addr, align 4 |
| 15 store i32 %bb, i32* %bb.addr, align 4 |
| 16 %0 = load i32* %aa.addr, align 4 |
| 17 %1 = load i32* %bb.addr, align 4 |
| 18 %mul = mul nsw i32 %0, %1 |
| 19 store i32 %mul, i32* %cc, align 4 |
| 20 %2 = load i32* %aa.addr, align 4 |
| 21 %mul1 = mul nsw i32 %2, 17 |
| 22 %3 = load i32* %cc, align 4 |
| 23 %sub = sub nsw i32 %mul1, %3 |
| 24 store i32 %sub, i32* %dd, align 4 |
| 25 %4 = load i32* %dd, align 4 |
| 26 ret i32 %4 |
| 27 |
| 28 ; The nop here is to prevent add/bic to straddle a bundle boundary |
| 29 ; CHECK: nop |
| 30 ; CHECK-NEXT: add sp, sp, #16 |
| 31 ; CHECK-NEXT: bic sp, sp, #3221225472 |
| 32 |
| 33 } |
| 34 |
OLD | NEW |