Fix vbroadcast matching logic to early unmatch if the node doesn't have
[oota-llvm.git] / test / CodeGen / X86 / MachineSink-PHIUse.ll
1 ; RUN: llc < %s -mtriple=x86_64-appel-darwin -disable-cgp-branch-opts -stats |& grep {machine-sink}
2
3 define fastcc void @t() nounwind ssp {
4 entry:
5   br i1 undef, label %bb, label %bb4
6
7 bb:                                               ; preds = %entry
8   br i1 undef, label %return, label %bb3
9
10 bb3:                                              ; preds = %bb
11   unreachable
12
13 bb4:                                              ; preds = %entry
14   br i1 undef, label %bb.nph, label %return
15
16 bb.nph:                                           ; preds = %bb4
17   br label %bb5
18
19 bb5:                                              ; preds = %bb9, %bb.nph
20   %indvar = phi i64 [ 0, %bb.nph ], [ %tmp12, %bb9 ] ; <i64> [#uses=1]
21   %tmp12 = add i64 %indvar, 1                     ; <i64> [#uses=2]
22   %tmp13 = trunc i64 %tmp12 to i32                ; <i32> [#uses=0]
23   br i1 undef, label %bb9, label %bb6
24
25 bb6:                                              ; preds = %bb5
26   br i1 undef, label %bb9, label %bb7
27
28 bb7:                                              ; preds = %bb6
29   br i1 undef, label %bb9, label %bb8
30
31 bb8:                                              ; preds = %bb7
32   unreachable
33
34 bb9:                                              ; preds = %bb7, %bb6, %bb5
35   br i1 undef, label %bb5, label %return
36
37 return:                                           ; preds = %bb9, %bb4, %bb
38   ret void
39 }