Daniel Sanders | 8008de5 | 2015-10-15 14:34:23 +0000 | [diff] [blame] | 1 | ; RUN: llc -march=mipsel -mattr=mips16 -relocation-model=static < %s | FileCheck %s -check-prefix=16 |
Reed Kotler | b9bf8dc | 2013-02-08 21:42:56 +0000 | [diff] [blame] | 2 | |
| 3 | @i = global i32 6, align 4 |
| 4 | @j = global i32 12, align 4 |
| 5 | @k = global i32 15, align 4 |
| 6 | @l = global i32 20, align 4 |
| 7 | @.str = private unnamed_addr constant [13 x i8] c"%i %i %i %i\0A\00", align 1 |
| 8 | |
| 9 | define void @foo() nounwind { |
| 10 | entry: |
David Blaikie | a79ac14 | 2015-02-27 21:17:42 +0000 | [diff] [blame] | 11 | %0 = load i32, i32* @i, align 4 |
Reed Kotler | b9bf8dc | 2013-02-08 21:42:56 +0000 | [diff] [blame] | 12 | %add = add nsw i32 %0, 5 |
| 13 | store i32 %add, i32* @i, align 4 |
David Blaikie | a79ac14 | 2015-02-27 21:17:42 +0000 | [diff] [blame] | 14 | %1 = load i32, i32* @j, align 4 |
Reed Kotler | b9bf8dc | 2013-02-08 21:42:56 +0000 | [diff] [blame] | 15 | %sub = sub nsw i32 %1, 5 |
| 16 | store i32 %sub, i32* @j, align 4 |
David Blaikie | a79ac14 | 2015-02-27 21:17:42 +0000 | [diff] [blame] | 17 | %2 = load i32, i32* @k, align 4 |
Reed Kotler | b9bf8dc | 2013-02-08 21:42:56 +0000 | [diff] [blame] | 18 | %add1 = add nsw i32 %2, 10000 |
| 19 | store i32 %add1, i32* @k, align 4 |
David Blaikie | a79ac14 | 2015-02-27 21:17:42 +0000 | [diff] [blame] | 20 | %3 = load i32, i32* @l, align 4 |
Reed Kotler | b9bf8dc | 2013-02-08 21:42:56 +0000 | [diff] [blame] | 21 | %sub2 = sub nsw i32 %3, 10000 |
| 22 | store i32 %sub2, i32* @l, align 4 |
| 23 | ; 16: addiu ${{[0-9]+}}, 5 # 16 bit inst |
| 24 | ; 16: addiu ${{[0-9]+}}, -5 # 16 bit inst |
| 25 | ; 16: addiu ${{[0-9]+}}, 10000 |
| 26 | ; 16: addiu ${{[0-9]+}}, -10000 |
| 27 | ret void |
| 28 | } |
| 29 | |
| 30 | |