Fix vbroadcast matching logic to early unmatch if the node doesn't have
[oota-llvm.git] / test / CodeGen / X86 / coalescer-commute3.ll
1 ; RUN: llc < %s -mtriple=i686-apple-darwin -mattr=+sse2 | grep mov | count 6
2
3         %struct.quad_struct = type { i32, i32, %struct.quad_struct*, %struct.quad_struct*, %struct.quad_struct*, %struct.quad_struct*, %struct.quad_struct* }
4
5 define  i32 @perimeter(%struct.quad_struct* %tree, i32 %size) nounwind  {
6 entry:
7         switch i32 %size, label %UnifiedReturnBlock [
8                  i32 2, label %bb
9                  i32 0, label %bb50
10         ]
11
12 bb:             ; preds = %entry
13         %tmp31 = tail call  i32 @perimeter( %struct.quad_struct* null, i32 0 ) nounwind                 ; <i32> [#uses=1]
14         %tmp40 = tail call  i32 @perimeter( %struct.quad_struct* null, i32 0 ) nounwind                 ; <i32> [#uses=1]
15         %tmp33 = add i32 0, %tmp31              ; <i32> [#uses=1]
16         %tmp42 = add i32 %tmp33, %tmp40         ; <i32> [#uses=1]
17         ret i32 %tmp42
18
19 bb50:           ; preds = %entry
20         ret i32 0
21
22 UnifiedReturnBlock:             ; preds = %entry
23         ret i32 0
24 }