blob: 893bd0fdaef454e3b4abbc0ffb68249a64313680 [file] [log] [blame]
Evan Cheng6f29ad92009-10-31 23:46:45 +00001; RUN: llc < %s -mtriple=thumbv7-apple-darwin -mcpu=cortex-a8 | FileCheck %s
2; rdar://7354379
3
Owen Anderson0b9b9da2011-12-08 19:32:14 +00004declare double @foo(double) nounwind readnone
Evan Cheng6f29ad92009-10-31 23:46:45 +00005
Stuart Hastingsaa02c082011-05-13 00:51:54 +00006define void @t(i32 %c, double %b) {
Evan Cheng6f29ad92009-10-31 23:46:45 +00007entry:
Stuart Hastingsaa02c082011-05-13 00:51:54 +00008 %cmp1 = icmp ne i32 %c, 0
9 br i1 %cmp1, label %bb3, label %bb1
Evan Cheng6f29ad92009-10-31 23:46:45 +000010
11bb1: ; preds = %entry
12 unreachable
13
14bb3: ; preds = %entry
Stuart Hastingsaa02c082011-05-13 00:51:54 +000015 %cmp2 = icmp ne i32 %c, 0
16 br i1 %cmp2, label %bb7, label %bb5
Evan Cheng6f29ad92009-10-31 23:46:45 +000017
18bb5: ; preds = %bb3
19 unreachable
20
21bb7: ; preds = %bb3
Stuart Hastingsaa02c082011-05-13 00:51:54 +000022 %cmp3 = icmp ne i32 %c, 0
23 br i1 %cmp3, label %bb11, label %bb9
Evan Cheng6f29ad92009-10-31 23:46:45 +000024
25bb9: ; preds = %bb7
Stuart Hastingsaa02c082011-05-13 00:51:54 +000026; CHECK: cmp r0, #0
Stuart Hastingsaa02c082011-05-13 00:51:54 +000027; CHECK-NEXT: cbnz
Owen Anderson0b9b9da2011-12-08 19:32:14 +000028 %0 = tail call double @foo(double %b) nounwind readnone ; <double> [#uses=0]
Evan Cheng6f29ad92009-10-31 23:46:45 +000029 br label %bb11
30
31bb11: ; preds = %bb9, %bb7
32 %1 = getelementptr i32* undef, i32 0
33 store i32 0, i32* %1
34 ret void
35}