| 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 |  |