1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py 2; RUN: llc < %s -mtriple=i686-- | FileCheck %s 3 4 %struct.eebb = type { ptr, ptr } 5 %struct.hf = type { ptr, ptr, ptr, i32, i32, ptr, i32, i32, ptr, ptr, ptr, ptr, ptr, ptr, ptr, %struct.ri, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, [30 x i32], %struct.eebb, i32, ptr } 6 %struct.foo_data = type { i32, i32, i32, ptr, i32, i32, ptr, ptr, i32, i32, i32, i32, i32, i32, i32, i32, ptr, ptr, ptr, ptr, ptr, i32, i32, i32, ptr, ptr, ptr } 7 %struct.ri = type { ptr, i32, ptr, ptr, ptr, i32 } 8 9define fastcc i32 @foo(ptr %eptr, ptr %ecode, ptr %md, i32 %ims) { 10; CHECK-LABEL: foo: 11; CHECK: # %bb.0: # %entry 12; CHECK-NEXT: cmpl $0, 0 13; CHECK-NEXT: je .LBB0_3 14; CHECK-NEXT: # %bb.1: # %cond_next79 15; CHECK-NEXT: cmpl $0, 0 16; CHECK-NEXT: je .LBB0_3 17; CHECK-NEXT: # %bb.2: # %cond_next130 18; CHECK-NEXT: movb $1, %al 19; CHECK-NEXT: testb %al, %al 20; CHECK-NEXT: .LBB0_3: # %cond_true89 21; CHECK-NEXT: xorl %eax, %eax 22; CHECK-NEXT: retl 23entry: 24 %tmp36 = load i32, ptr null, align 4 ; <i32> [#uses=1] 25 %tmp37 = icmp ult i32 0, %tmp36 ; <i1> [#uses=1] 26 br i1 %tmp37, label %cond_next79, label %cond_true 27 28cond_true: ; preds = %entry 29 ret i32 0 30 31cond_next79: ; preds = %entry 32 %tmp85 = load i32, ptr null, align 4 ; <i32> [#uses=1] 33 %tmp86 = icmp ult i32 0, %tmp85 ; <i1> [#uses=1] 34 br i1 %tmp86, label %cond_next130, label %cond_true89 35 36cond_true89: ; preds = %cond_next79 37 ret i32 0 38 39cond_next130: ; preds = %cond_next79 40 %tmp173 = icmp eq i32 0, 0 ; <i1> [#uses=1] 41 br i1 %tmp173, label %cond_next201, label %cond_true176 42 43cond_true176: ; preds = %cond_next130 44 ret i32 0 45 46cond_next201: ; preds = %cond_next130 47 switch i32 0, label %bb19955 [ 48 i32 0, label %bb1266 49 i32 1, label %bb5018 50 i32 2, label %bb5075 51 i32 3, label %cond_true5534 52 i32 4, label %cond_true5534 53 i32 5, label %bb6039 54 i32 6, label %bb6181 55 i32 7, label %bb6323 56 i32 8, label %bb6463 57 i32 9, label %bb6605 58 i32 10, label %bb6746 59 i32 11, label %cond_next5871 60 i32 16, label %bb5452 61 i32 17, label %bb5395 62 i32 19, label %bb4883 63 i32 20, label %bb5136 64 i32 23, label %bb12899 65 i32 64, label %bb2162 66 i32 69, label %bb1447 67 i32 70, label %bb1737 68 i32 71, label %bb1447 69 i32 72, label %bb1737 70 i32 73, label %cond_true1984 71 i32 75, label %bb740 72 i32 80, label %bb552 73 ] 74 75bb552: ; preds = %cond_next201 76 ret i32 0 77 78bb740: ; preds = %cond_next201 79 ret i32 0 80 81bb1266: ; preds = %cond_next201 82 ret i32 0 83 84bb1447: ; preds = %cond_next201, %cond_next201 85 ret i32 0 86 87bb1737: ; preds = %cond_next201, %cond_next201 88 ret i32 0 89 90cond_true1984: ; preds = %cond_next201 91 ret i32 0 92 93bb2162: ; preds = %cond_next201 94 ret i32 0 95 96bb4883: ; preds = %cond_next201 97 ret i32 0 98 99bb5018: ; preds = %cond_next201 100 ret i32 0 101 102bb5075: ; preds = %cond_next201 103 ret i32 0 104 105bb5136: ; preds = %cond_next201 106 ret i32 0 107 108bb5395: ; preds = %cond_next201 109 ret i32 0 110 111bb5452: ; preds = %cond_next201 112 ret i32 0 113 114cond_true5534: ; preds = %cond_next201, %cond_next201 115 ret i32 0 116 117cond_next5871: ; preds = %cond_next201 118 ret i32 0 119 120bb6039: ; preds = %cond_next201 121 ret i32 0 122 123bb6181: ; preds = %cond_next201 124 ret i32 0 125 126bb6323: ; preds = %cond_next201 127 ret i32 0 128 129bb6463: ; preds = %cond_next201 130 ret i32 0 131 132bb6605: ; preds = %cond_next201 133 ret i32 0 134 135bb6746: ; preds = %cond_next201 136 ret i32 0 137 138bb12899: ; preds = %cond_next201 139 ret i32 0 140 141bb19955: ; preds = %cond_next201 142 ret i32 0 143} 144