Simon Pilgrim | fc4d4b2 | 2016-07-19 13:35:11 +0000 | [diff] [blame] | 1 | ; RUN: llc < %s -mtriple=arm64-eabi -aarch64-redzone | FileCheck %s |
Tim Northover | 3b0846e | 2014-05-24 12:50:23 +0000 | [diff] [blame] | 2 | |
| 3 | define i32 @foo(i32 %a, i32 %b) nounwind ssp { |
| 4 | ; CHECK-LABEL: foo: |
| 5 | ; CHECK-NOT: sub sp, sp |
| 6 | ; CHECK: ret |
| 7 | %a.addr = alloca i32, align 4 |
| 8 | %b.addr = alloca i32, align 4 |
| 9 | %x = alloca i32, align 4 |
| 10 | store i32 %a, i32* %a.addr, align 4 |
| 11 | store i32 %b, i32* %b.addr, align 4 |
David Blaikie | a79ac14 | 2015-02-27 21:17:42 +0000 | [diff] [blame] | 12 | %tmp = load i32, i32* %a.addr, align 4 |
| 13 | %tmp1 = load i32, i32* %b.addr, align 4 |
Tim Northover | 3b0846e | 2014-05-24 12:50:23 +0000 | [diff] [blame] | 14 | %add = add nsw i32 %tmp, %tmp1 |
| 15 | store i32 %add, i32* %x, align 4 |
David Blaikie | a79ac14 | 2015-02-27 21:17:42 +0000 | [diff] [blame] | 16 | %tmp2 = load i32, i32* %x, align 4 |
Tim Northover | 3b0846e | 2014-05-24 12:50:23 +0000 | [diff] [blame] | 17 | ret i32 %tmp2 |
| 18 | } |