Eric Christopher | 76dda7e | 2010-11-15 21:11:06 +0000 | [diff] [blame] | 1 | ; RUN: llc < %s -O0 -fast-isel-abort -mtriple=armv7-apple-darwin |
| 2 | ; RUN: llc < %s -O0 -fast-isel-abort -mtriple=thumbv7-apple-darwin |
Eric Christopher | ab69588 | 2010-07-21 22:26:11 +0000 | [diff] [blame] | 3 | |
| 4 | ; Very basic fast-isel functionality. |
| 5 | |
Eric Christopher | f260541 | 2010-09-08 19:32:34 +0000 | [diff] [blame] | 6 | define i32 @add(i32 %a, i32 %b) nounwind { |
Eric Christopher | ab69588 | 2010-07-21 22:26:11 +0000 | [diff] [blame] | 7 | entry: |
| 8 | %a.addr = alloca i32, align 4 |
| 9 | %b.addr = alloca i32, align 4 |
| 10 | store i32 %a, i32* %a.addr |
| 11 | store i32 %b, i32* %b.addr |
| 12 | %tmp = load i32* %a.addr |
| 13 | %tmp1 = load i32* %b.addr |
| 14 | %add = add nsw i32 %tmp, %tmp1 |
| 15 | ret i32 %add |
Eric Christopher | bcf26ae | 2011-04-29 20:02:39 +0000 | [diff] [blame] | 16 | } |
| 17 | |
| 18 | define void @test1(i32 %tmp) nounwind { |
| 19 | entry: |
| 20 | %tobool = trunc i32 %tmp to i1 |
| 21 | br i1 %tobool, label %if.then, label %if.end |
| 22 | |
| 23 | if.then: ; preds = %entry |
| 24 | call void @test1(i32 0) |
| 25 | br label %if.end |
| 26 | |
| 27 | if.end: ; preds = %if.then, %entry |
| 28 | ret void |
| 29 | ; CHECK: test1: |
| 30 | ; CHECK: tst r0, #1 |
| 31 | } |