Daniel Sanders | 8008de5 | 2015-10-15 14:34:23 +0000 | [diff] [blame] | 1 | ; RUN: llc -march=mipsel -mattr=mips16 -relocation-model=pic -O3 < %s | FileCheck %s -check-prefix=16 |
Hrvoje Varga | 2db00ce | 2016-07-22 07:18:33 +0000 | [diff] [blame] | 2 | ; RUN: llc -march=mips -mcpu=mips32r6 -mattr=micromips -relocation-model=pic -O3 < %s | FileCheck %s -check-prefix=MMR6 |
Reed Kotler | 164bb37 | 2012-10-23 01:35:48 +0000 | [diff] [blame] | 3 | |
| 4 | @i = global i32 0, align 4 |
| 5 | @j = global i32 99, align 4 |
| 6 | @r1 = common global i32 0, align 4 |
| 7 | @r2 = common global i32 0, align 4 |
| 8 | |
| 9 | define void @test() 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 | 164bb37 | 2012-10-23 01:35:48 +0000 | [diff] [blame] | 12 | %cmp = icmp eq i32 %0, 0 |
| 13 | %conv = zext i1 %cmp to i32 |
| 14 | store i32 %conv, i32* @r1, align 4 |
Hrvoje Varga | 2db00ce | 2016-07-22 07:18:33 +0000 | [diff] [blame] | 15 | ; 16: sltiu ${{[0-9]+}}, 1 |
| 16 | ; MMR6: sltiu ${{[0-9]+}}, ${{[0-9]+}}, 1 |
| 17 | ; 16: move ${{[0-9]+}}, $24 |
David Blaikie | a79ac14 | 2015-02-27 21:17:42 +0000 | [diff] [blame] | 18 | %1 = load i32, i32* @j, align 4 |
Reed Kotler | 164bb37 | 2012-10-23 01:35:48 +0000 | [diff] [blame] | 19 | %cmp1 = icmp eq i32 %1, 99 |
| 20 | %conv2 = zext i1 %cmp1 to i32 |
| 21 | store i32 %conv2, i32* @r2, align 4 |
Hrvoje Varga | 2db00ce | 2016-07-22 07:18:33 +0000 | [diff] [blame] | 22 | ; 16: xor $[[REGISTER:[0-9A-Ba-b_]+]], ${{[0-9]+}} |
| 23 | ; 16: sltiu $[[REGISTER:[0-9A-Ba-b_]+]], 1 |
| 24 | ; MMR6: sltiu ${{[0-9]+}}, ${{[0-9]+}}, 1 |
| 25 | ; 16: move ${{[0-9]+}}, $24 |
Reed Kotler | 164bb37 | 2012-10-23 01:35:48 +0000 | [diff] [blame] | 26 | ret void |
| 27 | } |