Evan Cheng | 6f29ad9 | 2009-10-31 23:46:45 +0000 | [diff] [blame] | 1 | ; RUN: llc < %s -mtriple=thumbv7-apple-darwin -mcpu=cortex-a8 | FileCheck %s |
| 2 | ; rdar://7354379 |
| 3 | |
Owen Anderson | 0b9b9da | 2011-12-08 19:32:14 +0000 | [diff] [blame] | 4 | declare double @foo(double) nounwind readnone |
Evan Cheng | 6f29ad9 | 2009-10-31 23:46:45 +0000 | [diff] [blame] | 5 | |
Stuart Hastings | aa02c08 | 2011-05-13 00:51:54 +0000 | [diff] [blame] | 6 | define void @t(i32 %c, double %b) { |
Evan Cheng | 6f29ad9 | 2009-10-31 23:46:45 +0000 | [diff] [blame] | 7 | entry: |
Stuart Hastings | aa02c08 | 2011-05-13 00:51:54 +0000 | [diff] [blame] | 8 | %cmp1 = icmp ne i32 %c, 0 |
| 9 | br i1 %cmp1, label %bb3, label %bb1 |
Evan Cheng | 6f29ad9 | 2009-10-31 23:46:45 +0000 | [diff] [blame] | 10 | |
| 11 | bb1: ; preds = %entry |
| 12 | unreachable |
| 13 | |
| 14 | bb3: ; preds = %entry |
Stuart Hastings | aa02c08 | 2011-05-13 00:51:54 +0000 | [diff] [blame] | 15 | %cmp2 = icmp ne i32 %c, 0 |
| 16 | br i1 %cmp2, label %bb7, label %bb5 |
Evan Cheng | 6f29ad9 | 2009-10-31 23:46:45 +0000 | [diff] [blame] | 17 | |
| 18 | bb5: ; preds = %bb3 |
| 19 | unreachable |
| 20 | |
| 21 | bb7: ; preds = %bb3 |
Stuart Hastings | aa02c08 | 2011-05-13 00:51:54 +0000 | [diff] [blame] | 22 | %cmp3 = icmp ne i32 %c, 0 |
| 23 | br i1 %cmp3, label %bb11, label %bb9 |
Evan Cheng | 6f29ad9 | 2009-10-31 23:46:45 +0000 | [diff] [blame] | 24 | |
| 25 | bb9: ; preds = %bb7 |
Stuart Hastings | aa02c08 | 2011-05-13 00:51:54 +0000 | [diff] [blame] | 26 | ; CHECK: cmp r0, #0 |
Stuart Hastings | aa02c08 | 2011-05-13 00:51:54 +0000 | [diff] [blame] | 27 | ; CHECK-NEXT: cbnz |
Owen Anderson | 0b9b9da | 2011-12-08 19:32:14 +0000 | [diff] [blame] | 28 | %0 = tail call double @foo(double %b) nounwind readnone ; <double> [#uses=0] |
Evan Cheng | 6f29ad9 | 2009-10-31 23:46:45 +0000 | [diff] [blame] | 29 | br label %bb11 |
| 30 | |
| 31 | bb11: ; preds = %bb9, %bb7 |
| 32 | %1 = getelementptr i32* undef, i32 0 |
| 33 | store i32 0, i32* %1 |
| 34 | ret void |
| 35 | } |