1 ; RUN: llc < %s -march=bfin 2 3 ; The switch expansion uses a dynamic shl, and it produces a jumptable 4 5 define void @athlon_fp_unit_ready_cost() { 6 entry: 7 switch i32 0, label %UnifiedReturnBlock [ 8 i32 -1, label %bb2063 9 i32 19, label %bb2035 10 i32 20, label %bb2035 11 i32 21, label %bb2035 12 i32 23, label %bb2035 13 i32 24, label %bb2035 14 i32 27, label %bb2035 15 i32 32, label %bb2035 16 i32 33, label %bb1994 17 i32 35, label %bb2035 18 i32 36, label %bb1994 19 i32 90, label %bb1948 20 i32 94, label %bb1948 21 i32 95, label %bb1948 22 i32 133, label %bb1419 23 i32 135, label %bb1238 24 i32 136, label %bb1238 25 i32 137, label %bb1238 26 i32 138, label %bb1238 27 i32 139, label %bb1201 28 i32 140, label %bb1201 29 i32 141, label %bb1154 30 i32 142, label %bb1126 31 i32 144, label %bb1201 32 i32 145, label %bb1126 33 i32 146, label %bb1201 34 i32 147, label %bb1126 35 i32 148, label %bb1201 36 i32 149, label %bb1126 37 i32 150, label %bb1201 38 i32 151, label %bb1126 39 i32 152, label %bb1096 40 i32 153, label %bb1096 41 i32 154, label %bb1096 42 i32 157, label %bb1096 43 i32 158, label %bb1096 44 i32 159, label %bb1096 45 i32 162, label %bb1096 46 i32 163, label %bb1096 47 i32 164, label %bb1096 48 i32 167, label %bb1201 49 i32 168, label %bb1201 50 i32 170, label %bb1201 51 i32 171, label %bb1201 52 i32 173, label %bb1201 53 i32 174, label %bb1201 54 i32 176, label %bb1201 55 i32 177, label %bb1201 56 i32 179, label %bb993 57 i32 180, label %bb993 58 i32 181, label %bb993 59 i32 182, label %bb993 60 i32 183, label %bb993 61 i32 184, label %bb993 62 i32 365, label %bb1126 63 i32 366, label %bb1126 64 i32 367, label %bb1126 65 i32 368, label %bb1126 66 i32 369, label %bb1126 67 i32 370, label %bb1126 68 i32 371, label %bb1126 69 i32 372, label %bb1126 70 i32 373, label %bb1126 71 i32 384, label %bb1126 72 i32 385, label %bb1126 73 i32 386, label %bb1126 74 i32 387, label %bb1126 75 i32 388, label %bb1126 76 i32 389, label %bb1126 77 i32 390, label %bb1126 78 i32 391, label %bb1126 79 i32 392, label %bb1126 80 i32 525, label %bb919 81 i32 526, label %bb839 82 i32 528, label %bb919 83 i32 529, label %bb839 84 i32 532, label %cond_next6.i97 85 i32 533, label %cond_next6.i81 86 i32 534, label %bb495 87 i32 536, label %cond_next6.i81 88 i32 537, label %cond_next6.i81 89 i32 538, label %bb396 90 i32 539, label %bb288 91 i32 541, label %bb396 92 i32 542, label %bb396 93 i32 543, label %bb396 94 i32 544, label %bb396 95 i32 545, label %bb189 96 i32 546, label %cond_next6.i 97 i32 547, label %bb189 98 i32 548, label %cond_next6.i 99 i32 549, label %bb189 100 i32 550, label %cond_next6.i 101 i32 551, label %bb189 102 i32 552, label %cond_next6.i 103 i32 553, label %bb189 104 i32 554, label %cond_next6.i 105 i32 555, label %bb189 106 i32 556, label %cond_next6.i 107 i32 557, label %bb189 108 i32 558, label %cond_next6.i 109 i32 618, label %bb40 110 i32 619, label %bb18 111 i32 620, label %bb40 112 i32 621, label %bb10 113 i32 622, label %bb10 114 ] 115 116 bb10: 117 ret void 118 119 bb18: 120 ret void 121 122 bb40: 123 ret void 124 125 cond_next6.i: 126 ret void 127 128 bb189: 129 ret void 130 131 bb288: 132 ret void 133 134 bb396: 135 ret void 136 137 bb495: 138 ret void 139 140 cond_next6.i81: 141 ret void 142 143 cond_next6.i97: 144 ret void 145 146 bb839: 147 ret void 148 149 bb919: 150 ret void 151 152 bb993: 153 ret void 154 155 bb1096: 156 ret void 157 158 bb1126: 159 ret void 160 161 bb1154: 162 ret void 163 164 bb1201: 165 ret void 166 167 bb1238: 168 ret void 169 170 bb1419: 171 ret void 172 173 bb1948: 174 ret void 175 176 bb1994: 177 ret void 178 179 bb2035: 180 ret void 181 182 bb2063: 183 ret void 184 185 UnifiedReturnBlock: 186 ret void 187 } 188