Tanya Lattner | 632e88a | 2008-02-21 07:42:26 +0000 | [diff] [blame] | 1 | ; RUN: llvm-as < %s | llc -march=x86 | grep cmp | count 1 |
| 2 | ; RUN: llvm-as < %s | llc -march=x86 | grep test | count 1 |
Dan Gohman | f17a25c | 2007-07-18 16:29:46 +0000 | [diff] [blame] | 3 | |
Tanya Lattner | 632e88a | 2008-02-21 07:42:26 +0000 | [diff] [blame] | 4 | define i32 @f1(i32 %X, i32* %y) { |
| 5 | %tmp = load i32* %y ; <i32> [#uses=1] |
| 6 | %tmp.upgrd.1 = icmp eq i32 %tmp, 0 ; <i1> [#uses=1] |
| 7 | br i1 %tmp.upgrd.1, label %ReturnBlock, label %cond_true |
Dan Gohman | f17a25c | 2007-07-18 16:29:46 +0000 | [diff] [blame] | 8 | |
Tanya Lattner | 632e88a | 2008-02-21 07:42:26 +0000 | [diff] [blame] | 9 | cond_true: ; preds = %0 |
| 10 | ret i32 1 |
Dan Gohman | f17a25c | 2007-07-18 16:29:46 +0000 | [diff] [blame] | 11 | |
Tanya Lattner | 632e88a | 2008-02-21 07:42:26 +0000 | [diff] [blame] | 12 | ReturnBlock: ; preds = %0 |
| 13 | ret i32 0 |
Dan Gohman | f17a25c | 2007-07-18 16:29:46 +0000 | [diff] [blame] | 14 | } |
| 15 | |
Tanya Lattner | 632e88a | 2008-02-21 07:42:26 +0000 | [diff] [blame] | 16 | define i32 @f2(i32 %X, i32* %y) { |
| 17 | %tmp = load i32* %y ; <i32> [#uses=1] |
| 18 | %tmp1 = shl i32 %tmp, 3 ; <i32> [#uses=1] |
| 19 | %tmp1.upgrd.2 = icmp eq i32 %tmp1, 0 ; <i1> [#uses=1] |
| 20 | br i1 %tmp1.upgrd.2, label %ReturnBlock, label %cond_true |
Dan Gohman | f17a25c | 2007-07-18 16:29:46 +0000 | [diff] [blame] | 21 | |
Tanya Lattner | 632e88a | 2008-02-21 07:42:26 +0000 | [diff] [blame] | 22 | cond_true: ; preds = %0 |
| 23 | ret i32 1 |
Dan Gohman | f17a25c | 2007-07-18 16:29:46 +0000 | [diff] [blame] | 24 | |
Tanya Lattner | 632e88a | 2008-02-21 07:42:26 +0000 | [diff] [blame] | 25 | ReturnBlock: ; preds = %0 |
| 26 | ret i32 0 |
Dan Gohman | f17a25c | 2007-07-18 16:29:46 +0000 | [diff] [blame] | 27 | } |