| OLD | NEW |
| (Empty) | |
| 1 define internal i32 @_Z7testAddbb(i32 %a, i32 %b) { |
| 2 entry: |
| 3 %b.arg_trunc = trunc i32 %b to i1 |
| 4 %a.arg_trunc = trunc i32 %a to i1 |
| 5 %conv = zext i1 %a.arg_trunc to i32 |
| 6 %add = sext i1 %b.arg_trunc to i32 |
| 7 %tobool4 = icmp ne i32 %conv, %add |
| 8 %tobool4.ret_ext = zext i1 %tobool4 to i32 |
| 9 ret i32 %tobool4.ret_ext |
| 10 } |
| 11 |
| 12 define internal i32 @_Z7testAddhh(i32 %a, i32 %b) { |
| 13 entry: |
| 14 %b.arg_trunc = trunc i32 %b to i8 |
| 15 %a.arg_trunc = trunc i32 %a to i8 |
| 16 %conv = zext i8 %a.arg_trunc to i32 |
| 17 %conv1 = zext i8 %b.arg_trunc to i32 |
| 18 %add = add i32 %conv1, %conv |
| 19 ; %conv2 = trunc i32 %add to i8 |
| 20 %conv2 = add i8 %a.arg_trunc, %b.arg_trunc ; INSERTED |
| 21 %conv2.ret_ext = zext i8 %conv2 to i32 |
| 22 ret i32 %conv2.ret_ext |
| 23 } |
| 24 |
| 25 define internal i32 @_Z7testAddtt(i32 %a, i32 %b) { |
| 26 entry: |
| 27 %b.arg_trunc = trunc i32 %b to i16 |
| 28 %a.arg_trunc = trunc i32 %a to i16 |
| 29 %conv = zext i16 %a.arg_trunc to i32 |
| 30 %conv1 = zext i16 %b.arg_trunc to i32 |
| 31 %add = add i32 %conv1, %conv |
| 32 ; %conv2 = trunc i32 %add to i16 |
| 33 %conv2 = add i16 %a.arg_trunc, %b.arg_trunc ; INSERTED |
| 34 %conv2.ret_ext = zext i16 %conv2 to i32 |
| 35 ret i32 %conv2.ret_ext |
| 36 } |
| 37 |
| 38 define internal i32 @_Z7testAddjj(i32 %a, i32 %b) { |
| 39 entry: |
| 40 %add = add i32 %b, %a |
| 41 ret i32 %add |
| 42 } |
| 43 |
| 44 define internal i64 @_Z7testAddyy(i64 %a, i64 %b) { |
| 45 entry: |
| 46 %add = add i64 %b, %a |
| 47 ret i64 %add |
| 48 } |
| 49 |
| 50 define internal <4 x i32> @_Z7testAddDv4_jS_(<4 x i32> %a, <4 x i32> %b) { |
| 51 entry: |
| 52 %add = add <4 x i32> %b, %a |
| 53 ret <4 x i32> %add |
| 54 } |
| 55 |
| 56 define internal <8 x i16> @_Z7testAddDv8_tS_(<8 x i16> %a, <8 x i16> %b) { |
| 57 entry: |
| 58 %add = add <8 x i16> %b, %a |
| 59 ret <8 x i16> %add |
| 60 } |
| 61 |
| 62 define internal <16 x i8> @_Z7testAddDv16_hS_(<16 x i8> %a, <16 x i8> %b) { |
| 63 entry: |
| 64 %add = add <16 x i8> %b, %a |
| 65 ret <16 x i8> %add |
| 66 } |
| 67 |
| 68 define internal i32 @_Z7testSubbb(i32 %a, i32 %b) { |
| 69 entry: |
| 70 %b.arg_trunc = trunc i32 %b to i1 |
| 71 %a.arg_trunc = trunc i32 %a to i1 |
| 72 %tobool4 = xor i1 %a.arg_trunc, %b.arg_trunc |
| 73 %tobool4.ret_ext = zext i1 %tobool4 to i32 |
| 74 ret i32 %tobool4.ret_ext |
| 75 } |
| 76 |
| 77 define internal i32 @_Z7testSubhh(i32 %a, i32 %b) { |
| 78 entry: |
| 79 %b.arg_trunc = trunc i32 %b to i8 |
| 80 %a.arg_trunc = trunc i32 %a to i8 |
| 81 %conv = zext i8 %a.arg_trunc to i32 |
| 82 %conv1 = zext i8 %b.arg_trunc to i32 |
| 83 %sub = sub i32 %conv, %conv1 |
| 84 ; %conv2 = trunc i32 %sub to i8 |
| 85 %conv2 = sub i8 %a.arg_trunc, %b.arg_trunc ; INSERTED |
| 86 %conv2.ret_ext = zext i8 %conv2 to i32 |
| 87 ret i32 %conv2.ret_ext |
| 88 } |
| 89 |
| 90 define internal i32 @_Z7testSubtt(i32 %a, i32 %b) { |
| 91 entry: |
| 92 %b.arg_trunc = trunc i32 %b to i16 |
| 93 %a.arg_trunc = trunc i32 %a to i16 |
| 94 %conv = zext i16 %a.arg_trunc to i32 |
| 95 %conv1 = zext i16 %b.arg_trunc to i32 |
| 96 %sub = sub i32 %conv, %conv1 |
| 97 ; %conv2 = trunc i32 %sub to i16 |
| 98 %conv2 = sub i16 %a.arg_trunc, %b.arg_trunc ; INSERTED |
| 99 %conv2.ret_ext = zext i16 %conv2 to i32 |
| 100 ret i32 %conv2.ret_ext |
| 101 } |
| 102 |
| 103 define internal i32 @_Z7testSubjj(i32 %a, i32 %b) { |
| 104 entry: |
| 105 %sub = sub i32 %a, %b |
| 106 ret i32 %sub |
| 107 } |
| 108 |
| 109 define internal i64 @_Z7testSubyy(i64 %a, i64 %b) { |
| 110 entry: |
| 111 %sub = sub i64 %a, %b |
| 112 ret i64 %sub |
| 113 } |
| 114 |
| 115 define internal <4 x i32> @_Z7testSubDv4_jS_(<4 x i32> %a, <4 x i32> %b) { |
| 116 entry: |
| 117 %sub = sub <4 x i32> %a, %b |
| 118 ret <4 x i32> %sub |
| 119 } |
| 120 |
| 121 define internal <8 x i16> @_Z7testSubDv8_tS_(<8 x i16> %a, <8 x i16> %b) { |
| 122 entry: |
| 123 %sub = sub <8 x i16> %a, %b |
| 124 ret <8 x i16> %sub |
| 125 } |
| 126 |
| 127 define internal <16 x i8> @_Z7testSubDv16_hS_(<16 x i8> %a, <16 x i8> %b) { |
| 128 entry: |
| 129 %sub = sub <16 x i8> %a, %b |
| 130 ret <16 x i8> %sub |
| 131 } |
| 132 |
| 133 define internal i32 @_Z7testMulbb(i32 %a, i32 %b) { |
| 134 entry: |
| 135 %b.arg_trunc = trunc i32 %b to i1 |
| 136 %a.arg_trunc = trunc i32 %a to i1 |
| 137 %tobool4 = and i1 %a.arg_trunc, %b.arg_trunc |
| 138 %tobool4.ret_ext = zext i1 %tobool4 to i32 |
| 139 ret i32 %tobool4.ret_ext |
| 140 } |
| 141 |
| 142 define internal i32 @_Z7testMulhh(i32 %a, i32 %b) { |
| 143 entry: |
| 144 %b.arg_trunc = trunc i32 %b to i8 |
| 145 %a.arg_trunc = trunc i32 %a to i8 |
| 146 %conv = zext i8 %a.arg_trunc to i32 |
| 147 %conv1 = zext i8 %b.arg_trunc to i32 |
| 148 %mul = mul i32 %conv1, %conv |
| 149 ; %conv2 = trunc i32 %mul to i8 |
| 150 %conv2 = mul i8 %a.arg_trunc, %b.arg_trunc ; INSERTED |
| 151 %conv2.ret_ext = zext i8 %conv2 to i32 |
| 152 ret i32 %conv2.ret_ext |
| 153 } |
| 154 |
| 155 define internal i32 @_Z7testMultt(i32 %a, i32 %b) { |
| 156 entry: |
| 157 %b.arg_trunc = trunc i32 %b to i16 |
| 158 %a.arg_trunc = trunc i32 %a to i16 |
| 159 %conv = zext i16 %a.arg_trunc to i32 |
| 160 %conv1 = zext i16 %b.arg_trunc to i32 |
| 161 %mul = mul i32 %conv1, %conv |
| 162 ; %conv2 = trunc i32 %mul to i16 |
| 163 %conv2 = mul i16 %a.arg_trunc, %b.arg_trunc ; INSERTED |
| 164 %conv2.ret_ext = zext i16 %conv2 to i32 |
| 165 ret i32 %conv2.ret_ext |
| 166 } |
| 167 |
| 168 define internal i32 @_Z7testMuljj(i32 %a, i32 %b) { |
| 169 entry: |
| 170 %mul = mul i32 %b, %a |
| 171 ret i32 %mul |
| 172 } |
| 173 |
| 174 define internal i64 @_Z7testMulyy(i64 %a, i64 %b) { |
| 175 entry: |
| 176 %mul = mul i64 %b, %a |
| 177 ret i64 %mul |
| 178 } |
| 179 |
| 180 define internal <4 x i32> @_Z7testMulDv4_jS_(<4 x i32> %a, <4 x i32> %b) { |
| 181 entry: |
| 182 %mul = mul <4 x i32> %b, %a |
| 183 ret <4 x i32> %mul |
| 184 } |
| 185 |
| 186 define internal <8 x i16> @_Z7testMulDv8_tS_(<8 x i16> %a, <8 x i16> %b) { |
| 187 entry: |
| 188 %mul = mul <8 x i16> %b, %a |
| 189 ret <8 x i16> %mul |
| 190 } |
| 191 |
| 192 define internal <16 x i8> @_Z7testMulDv16_hS_(<16 x i8> %a, <16 x i8> %b) { |
| 193 entry: |
| 194 %mul = mul <16 x i8> %b, %a |
| 195 ret <16 x i8> %mul |
| 196 } |
| 197 |
| 198 define internal i32 @_Z8testUdivbb(i32 %a, i32 %b) { |
| 199 entry: |
| 200 %a.arg_trunc = trunc i32 %a to i1 |
| 201 %a.arg_trunc.ret_ext = zext i1 %a.arg_trunc to i32 |
| 202 ret i32 %a.arg_trunc.ret_ext |
| 203 } |
| 204 |
| 205 define internal i32 @_Z8testUdivhh(i32 %a, i32 %b) { |
| 206 entry: |
| 207 %b.arg_trunc = trunc i32 %b to i8 |
| 208 %a.arg_trunc = trunc i32 %a to i8 |
| 209 %div3 = udiv i8 %a.arg_trunc, %b.arg_trunc |
| 210 %div3.ret_ext = zext i8 %div3 to i32 |
| 211 ret i32 %div3.ret_ext |
| 212 } |
| 213 |
| 214 define internal i32 @_Z8testUdivtt(i32 %a, i32 %b) { |
| 215 entry: |
| 216 %b.arg_trunc = trunc i32 %b to i16 |
| 217 %a.arg_trunc = trunc i32 %a to i16 |
| 218 %div3 = udiv i16 %a.arg_trunc, %b.arg_trunc |
| 219 %div3.ret_ext = zext i16 %div3 to i32 |
| 220 ret i32 %div3.ret_ext |
| 221 } |
| 222 |
| 223 define internal i32 @_Z8testUdivjj(i32 %a, i32 %b) { |
| 224 entry: |
| 225 %div = udiv i32 %a, %b |
| 226 ret i32 %div |
| 227 } |
| 228 |
| 229 define internal i64 @_Z8testUdivyy(i64 %a, i64 %b) { |
| 230 entry: |
| 231 %div = udiv i64 %a, %b |
| 232 ret i64 %div |
| 233 } |
| 234 |
| 235 define internal <4 x i32> @_Z8testUdivDv4_jS_(<4 x i32> %a, <4 x i32> %b) { |
| 236 entry: |
| 237 %div = udiv <4 x i32> %a, %b |
| 238 ret <4 x i32> %div |
| 239 } |
| 240 |
| 241 define internal <8 x i16> @_Z8testUdivDv8_tS_(<8 x i16> %a, <8 x i16> %b) { |
| 242 entry: |
| 243 %div = udiv <8 x i16> %a, %b |
| 244 ret <8 x i16> %div |
| 245 } |
| 246 |
| 247 define internal <16 x i8> @_Z8testUdivDv16_hS_(<16 x i8> %a, <16 x i8> %b) { |
| 248 entry: |
| 249 %div = udiv <16 x i8> %a, %b |
| 250 ret <16 x i8> %div |
| 251 } |
| 252 |
| 253 define internal i32 @_Z8testUrembb(i32 %a, i32 %b) { |
| 254 entry: |
| 255 %.ret_ext = zext i1 false to i32 |
| 256 ret i32 %.ret_ext |
| 257 } |
| 258 |
| 259 define internal i32 @_Z8testUremhh(i32 %a, i32 %b) { |
| 260 entry: |
| 261 %b.arg_trunc = trunc i32 %b to i8 |
| 262 %a.arg_trunc = trunc i32 %a to i8 |
| 263 %0 = urem i8 %a.arg_trunc, %b.arg_trunc |
| 264 %.ret_ext = zext i8 %0 to i32 |
| 265 ret i32 %.ret_ext |
| 266 } |
| 267 |
| 268 define internal i32 @_Z8testUremtt(i32 %a, i32 %b) { |
| 269 entry: |
| 270 %b.arg_trunc = trunc i32 %b to i16 |
| 271 %a.arg_trunc = trunc i32 %a to i16 |
| 272 %0 = urem i16 %a.arg_trunc, %b.arg_trunc |
| 273 %.ret_ext = zext i16 %0 to i32 |
| 274 ret i32 %.ret_ext |
| 275 } |
| 276 |
| 277 define internal i32 @_Z8testUremjj(i32 %a, i32 %b) { |
| 278 entry: |
| 279 %rem = urem i32 %a, %b |
| 280 ret i32 %rem |
| 281 } |
| 282 |
| 283 define internal i64 @_Z8testUremyy(i64 %a, i64 %b) { |
| 284 entry: |
| 285 %rem = urem i64 %a, %b |
| 286 ret i64 %rem |
| 287 } |
| 288 |
| 289 define internal <4 x i32> @_Z8testUremDv4_jS_(<4 x i32> %a, <4 x i32> %b) { |
| 290 entry: |
| 291 %rem = urem <4 x i32> %a, %b |
| 292 ret <4 x i32> %rem |
| 293 } |
| 294 |
| 295 define internal <8 x i16> @_Z8testUremDv8_tS_(<8 x i16> %a, <8 x i16> %b) { |
| 296 entry: |
| 297 %rem = urem <8 x i16> %a, %b |
| 298 ret <8 x i16> %rem |
| 299 } |
| 300 |
| 301 define internal <16 x i8> @_Z8testUremDv16_hS_(<16 x i8> %a, <16 x i8> %b) { |
| 302 entry: |
| 303 %rem = urem <16 x i8> %a, %b |
| 304 ret <16 x i8> %rem |
| 305 } |
| 306 |
| 307 define internal i32 @_Z7testShlbb(i32 %a, i32 %b) { |
| 308 entry: |
| 309 %b.arg_trunc = trunc i32 %b to i1 |
| 310 %a.arg_trunc = trunc i32 %a to i1 |
| 311 %conv = zext i1 %a.arg_trunc to i32 |
| 312 %conv3 = zext i1 %b.arg_trunc to i32 |
| 313 %shl = shl i32 %conv, %conv3 |
| 314 %tobool4 = icmp ne i32 %shl, 0 |
| 315 %tobool4.ret_ext = zext i1 %tobool4 to i32 |
| 316 ret i32 %tobool4.ret_ext |
| 317 } |
| 318 |
| 319 define internal i32 @_Z7testShlhh(i32 %a, i32 %b) { |
| 320 entry: |
| 321 %b.arg_trunc = trunc i32 %b to i8 |
| 322 %a.arg_trunc = trunc i32 %a to i8 |
| 323 %conv = zext i8 %a.arg_trunc to i32 |
| 324 %conv1 = zext i8 %b.arg_trunc to i32 |
| 325 %shl = shl i32 %conv, %conv1 |
| 326 ; %conv2 = trunc i32 %shl to i8 |
| 327 %conv2 = shl i8 %a.arg_trunc, %b.arg_trunc ; INSERTED |
| 328 %conv2.ret_ext = zext i8 %conv2 to i32 |
| 329 ret i32 %conv2.ret_ext |
| 330 } |
| 331 |
| 332 define internal i32 @_Z7testShltt(i32 %a, i32 %b) { |
| 333 entry: |
| 334 %b.arg_trunc = trunc i32 %b to i16 |
| 335 %a.arg_trunc = trunc i32 %a to i16 |
| 336 %conv = zext i16 %a.arg_trunc to i32 |
| 337 %conv1 = zext i16 %b.arg_trunc to i32 |
| 338 %shl = shl i32 %conv, %conv1 |
| 339 ; %conv2 = trunc i32 %shl to i16 |
| 340 %conv2 = shl i16 %a.arg_trunc, %b.arg_trunc ; INSERTED |
| 341 %conv2.ret_ext = zext i16 %conv2 to i32 |
| 342 ret i32 %conv2.ret_ext |
| 343 } |
| 344 |
| 345 define internal i32 @_Z7testShljj(i32 %a, i32 %b) { |
| 346 entry: |
| 347 %shl = shl i32 %a, %b |
| 348 ret i32 %shl |
| 349 } |
| 350 |
| 351 define internal i64 @_Z7testShlyy(i64 %a, i64 %b) { |
| 352 entry: |
| 353 %shl = shl i64 %a, %b |
| 354 ret i64 %shl |
| 355 } |
| 356 |
| 357 define internal <4 x i32> @_Z7testShlDv4_jS_(<4 x i32> %a, <4 x i32> %b) { |
| 358 entry: |
| 359 %shl = shl <4 x i32> %a, %b |
| 360 ret <4 x i32> %shl |
| 361 } |
| 362 |
| 363 define internal <8 x i16> @_Z7testShlDv8_tS_(<8 x i16> %a, <8 x i16> %b) { |
| 364 entry: |
| 365 %shl = shl <8 x i16> %a, %b |
| 366 ret <8 x i16> %shl |
| 367 } |
| 368 |
| 369 define internal <16 x i8> @_Z7testShlDv16_hS_(<16 x i8> %a, <16 x i8> %b) { |
| 370 entry: |
| 371 %shl = shl <16 x i8> %a, %b |
| 372 ret <16 x i8> %shl |
| 373 } |
| 374 |
| 375 define internal i32 @_Z8testLshrbb(i32 %a, i32 %b) { |
| 376 entry: |
| 377 %b.arg_trunc = trunc i32 %b to i1 |
| 378 %a.arg_trunc = trunc i32 %a to i1 |
| 379 %conv = zext i1 %a.arg_trunc to i32 |
| 380 %conv3 = zext i1 %b.arg_trunc to i32 |
| 381 %shr = lshr i32 %conv, %conv3 |
| 382 %tobool4 = icmp ne i32 %shr, 0 |
| 383 %tobool4.ret_ext = zext i1 %tobool4 to i32 |
| 384 ret i32 %tobool4.ret_ext |
| 385 } |
| 386 |
| 387 define internal i32 @_Z8testLshrhh(i32 %a, i32 %b) { |
| 388 entry: |
| 389 %b.arg_trunc = trunc i32 %b to i8 |
| 390 %a.arg_trunc = trunc i32 %a to i8 |
| 391 %conv = zext i8 %a.arg_trunc to i32 |
| 392 %conv1 = zext i8 %b.arg_trunc to i32 |
| 393 %shr = lshr i32 %conv, %conv1 |
| 394 ; %conv2 = trunc i32 %shr to i8 |
| 395 %conv2 = lshr i8 %a.arg_trunc, %b.arg_trunc ; INSERTED |
| 396 %conv2.ret_ext = zext i8 %conv2 to i32 |
| 397 ret i32 %conv2.ret_ext |
| 398 } |
| 399 |
| 400 define internal i32 @_Z8testLshrtt(i32 %a, i32 %b) { |
| 401 entry: |
| 402 %b.arg_trunc = trunc i32 %b to i16 |
| 403 %a.arg_trunc = trunc i32 %a to i16 |
| 404 %conv = zext i16 %a.arg_trunc to i32 |
| 405 %conv1 = zext i16 %b.arg_trunc to i32 |
| 406 %shr = lshr i32 %conv, %conv1 |
| 407 ; %conv2 = trunc i32 %shr to i16 |
| 408 %conv2 = lshr i16 %a.arg_trunc, %b.arg_trunc ; INSERTED |
| 409 %conv2.ret_ext = zext i16 %conv2 to i32 |
| 410 ret i32 %conv2.ret_ext |
| 411 } |
| 412 |
| 413 define internal i32 @_Z8testLshrjj(i32 %a, i32 %b) { |
| 414 entry: |
| 415 %shr = lshr i32 %a, %b |
| 416 ret i32 %shr |
| 417 } |
| 418 |
| 419 define internal i64 @_Z8testLshryy(i64 %a, i64 %b) { |
| 420 entry: |
| 421 %shr = lshr i64 %a, %b |
| 422 ret i64 %shr |
| 423 } |
| 424 |
| 425 define internal <4 x i32> @_Z8testLshrDv4_jS_(<4 x i32> %a, <4 x i32> %b) { |
| 426 entry: |
| 427 %shr = lshr <4 x i32> %a, %b |
| 428 ret <4 x i32> %shr |
| 429 } |
| 430 |
| 431 define internal <8 x i16> @_Z8testLshrDv8_tS_(<8 x i16> %a, <8 x i16> %b) { |
| 432 entry: |
| 433 %shr = lshr <8 x i16> %a, %b |
| 434 ret <8 x i16> %shr |
| 435 } |
| 436 |
| 437 define internal <16 x i8> @_Z8testLshrDv16_hS_(<16 x i8> %a, <16 x i8> %b) { |
| 438 entry: |
| 439 %shr = lshr <16 x i8> %a, %b |
| 440 ret <16 x i8> %shr |
| 441 } |
| 442 |
| 443 define internal i32 @_Z7testAndbb(i32 %a, i32 %b) { |
| 444 entry: |
| 445 %b.arg_trunc = trunc i32 %b to i1 |
| 446 %a.arg_trunc = trunc i32 %a to i1 |
| 447 %and5 = and i1 %a.arg_trunc, %b.arg_trunc |
| 448 %and5.ret_ext = zext i1 %and5 to i32 |
| 449 ret i32 %and5.ret_ext |
| 450 } |
| 451 |
| 452 define internal i32 @_Z7testAndhh(i32 %a, i32 %b) { |
| 453 entry: |
| 454 %b.arg_trunc = trunc i32 %b to i8 |
| 455 %a.arg_trunc = trunc i32 %a to i8 |
| 456 %and3 = and i8 %b.arg_trunc, %a.arg_trunc |
| 457 %and3.ret_ext = zext i8 %and3 to i32 |
| 458 ret i32 %and3.ret_ext |
| 459 } |
| 460 |
| 461 define internal i32 @_Z7testAndtt(i32 %a, i32 %b) { |
| 462 entry: |
| 463 %b.arg_trunc = trunc i32 %b to i16 |
| 464 %a.arg_trunc = trunc i32 %a to i16 |
| 465 %and3 = and i16 %b.arg_trunc, %a.arg_trunc |
| 466 %and3.ret_ext = zext i16 %and3 to i32 |
| 467 ret i32 %and3.ret_ext |
| 468 } |
| 469 |
| 470 define internal i32 @_Z7testAndjj(i32 %a, i32 %b) { |
| 471 entry: |
| 472 %and = and i32 %b, %a |
| 473 ret i32 %and |
| 474 } |
| 475 |
| 476 define internal i64 @_Z7testAndyy(i64 %a, i64 %b) { |
| 477 entry: |
| 478 %and = and i64 %b, %a |
| 479 ret i64 %and |
| 480 } |
| 481 |
| 482 define internal <4 x i32> @_Z7testAndDv4_jS_(<4 x i32> %a, <4 x i32> %b) { |
| 483 entry: |
| 484 %and = and <4 x i32> %b, %a |
| 485 ret <4 x i32> %and |
| 486 } |
| 487 |
| 488 define internal <8 x i16> @_Z7testAndDv8_tS_(<8 x i16> %a, <8 x i16> %b) { |
| 489 entry: |
| 490 %and = and <8 x i16> %b, %a |
| 491 ret <8 x i16> %and |
| 492 } |
| 493 |
| 494 define internal <16 x i8> @_Z7testAndDv16_hS_(<16 x i8> %a, <16 x i8> %b) { |
| 495 entry: |
| 496 %and = and <16 x i8> %b, %a |
| 497 ret <16 x i8> %and |
| 498 } |
| 499 |
| 500 define internal i32 @_Z6testOrbb(i32 %a, i32 %b) { |
| 501 entry: |
| 502 %b.arg_trunc = trunc i32 %b to i1 |
| 503 %a.arg_trunc = trunc i32 %a to i1 |
| 504 %or5 = or i1 %a.arg_trunc, %b.arg_trunc |
| 505 %or5.ret_ext = zext i1 %or5 to i32 |
| 506 ret i32 %or5.ret_ext |
| 507 } |
| 508 |
| 509 define internal i32 @_Z6testOrhh(i32 %a, i32 %b) { |
| 510 entry: |
| 511 %b.arg_trunc = trunc i32 %b to i8 |
| 512 %a.arg_trunc = trunc i32 %a to i8 |
| 513 %or3 = or i8 %b.arg_trunc, %a.arg_trunc |
| 514 %or3.ret_ext = zext i8 %or3 to i32 |
| 515 ret i32 %or3.ret_ext |
| 516 } |
| 517 |
| 518 define internal i32 @_Z6testOrtt(i32 %a, i32 %b) { |
| 519 entry: |
| 520 %b.arg_trunc = trunc i32 %b to i16 |
| 521 %a.arg_trunc = trunc i32 %a to i16 |
| 522 %or3 = or i16 %b.arg_trunc, %a.arg_trunc |
| 523 %or3.ret_ext = zext i16 %or3 to i32 |
| 524 ret i32 %or3.ret_ext |
| 525 } |
| 526 |
| 527 define internal i32 @_Z6testOrjj(i32 %a, i32 %b) { |
| 528 entry: |
| 529 %or = or i32 %b, %a |
| 530 ret i32 %or |
| 531 } |
| 532 |
| 533 define internal i64 @_Z6testOryy(i64 %a, i64 %b) { |
| 534 entry: |
| 535 %or = or i64 %b, %a |
| 536 ret i64 %or |
| 537 } |
| 538 |
| 539 define internal <4 x i32> @_Z6testOrDv4_jS_(<4 x i32> %a, <4 x i32> %b) { |
| 540 entry: |
| 541 %or = or <4 x i32> %b, %a |
| 542 ret <4 x i32> %or |
| 543 } |
| 544 |
| 545 define internal <8 x i16> @_Z6testOrDv8_tS_(<8 x i16> %a, <8 x i16> %b) { |
| 546 entry: |
| 547 %or = or <8 x i16> %b, %a |
| 548 ret <8 x i16> %or |
| 549 } |
| 550 |
| 551 define internal <16 x i8> @_Z6testOrDv16_hS_(<16 x i8> %a, <16 x i8> %b) { |
| 552 entry: |
| 553 %or = or <16 x i8> %b, %a |
| 554 ret <16 x i8> %or |
| 555 } |
| 556 |
| 557 define internal i32 @_Z7testXorbb(i32 %a, i32 %b) { |
| 558 entry: |
| 559 %b.arg_trunc = trunc i32 %b to i1 |
| 560 %a.arg_trunc = trunc i32 %a to i1 |
| 561 %xor5 = xor i1 %a.arg_trunc, %b.arg_trunc |
| 562 %xor5.ret_ext = zext i1 %xor5 to i32 |
| 563 ret i32 %xor5.ret_ext |
| 564 } |
| 565 |
| 566 define internal i32 @_Z7testXorhh(i32 %a, i32 %b) { |
| 567 entry: |
| 568 %b.arg_trunc = trunc i32 %b to i8 |
| 569 %a.arg_trunc = trunc i32 %a to i8 |
| 570 %xor3 = xor i8 %b.arg_trunc, %a.arg_trunc |
| 571 %xor3.ret_ext = zext i8 %xor3 to i32 |
| 572 ret i32 %xor3.ret_ext |
| 573 } |
| 574 |
| 575 define internal i32 @_Z7testXortt(i32 %a, i32 %b) { |
| 576 entry: |
| 577 %b.arg_trunc = trunc i32 %b to i16 |
| 578 %a.arg_trunc = trunc i32 %a to i16 |
| 579 %xor3 = xor i16 %b.arg_trunc, %a.arg_trunc |
| 580 %xor3.ret_ext = zext i16 %xor3 to i32 |
| 581 ret i32 %xor3.ret_ext |
| 582 } |
| 583 |
| 584 define internal i32 @_Z7testXorjj(i32 %a, i32 %b) { |
| 585 entry: |
| 586 %xor = xor i32 %b, %a |
| 587 ret i32 %xor |
| 588 } |
| 589 |
| 590 define internal i64 @_Z7testXoryy(i64 %a, i64 %b) { |
| 591 entry: |
| 592 %xor = xor i64 %b, %a |
| 593 ret i64 %xor |
| 594 } |
| 595 |
| 596 define internal <4 x i32> @_Z7testXorDv4_jS_(<4 x i32> %a, <4 x i32> %b) { |
| 597 entry: |
| 598 %xor = xor <4 x i32> %a, %b |
| 599 ret <4 x i32> %xor |
| 600 } |
| 601 |
| 602 define internal <8 x i16> @_Z7testXorDv8_tS_(<8 x i16> %a, <8 x i16> %b) { |
| 603 entry: |
| 604 %xor = xor <8 x i16> %a, %b |
| 605 ret <8 x i16> %xor |
| 606 } |
| 607 |
| 608 define internal <16 x i8> @_Z7testXorDv16_hS_(<16 x i8> %a, <16 x i8> %b) { |
| 609 entry: |
| 610 %xor = xor <16 x i8> %a, %b |
| 611 ret <16 x i8> %xor |
| 612 } |
| 613 |
| 614 define internal i32 @_Z8testSdivbb(i32 %a, i32 %b) { |
| 615 entry: |
| 616 %a.arg_trunc = trunc i32 %a to i1 |
| 617 %a.arg_trunc.ret_ext = zext i1 %a.arg_trunc to i32 |
| 618 ret i32 %a.arg_trunc.ret_ext |
| 619 } |
| 620 |
| 621 define internal i32 @_Z8testSdivaa(i32 %a, i32 %b) { |
| 622 entry: |
| 623 %b.arg_trunc = trunc i32 %b to i8 |
| 624 %a.arg_trunc = trunc i32 %a to i8 |
| 625 %conv = sext i8 %a.arg_trunc to i32 |
| 626 %conv1 = sext i8 %b.arg_trunc to i32 |
| 627 %div = sdiv i32 %conv, %conv1 |
| 628 ; %conv2 = trunc i32 %div to i8 |
| 629 %conv2 = sdiv i8 %a.arg_trunc, %b.arg_trunc ; INSERTED |
| 630 %conv2.ret_ext = sext i8 %conv2 to i32 |
| 631 ret i32 %conv2.ret_ext |
| 632 } |
| 633 |
| 634 define internal i32 @_Z8testSdivss(i32 %a, i32 %b) { |
| 635 entry: |
| 636 %b.arg_trunc = trunc i32 %b to i16 |
| 637 %a.arg_trunc = trunc i32 %a to i16 |
| 638 %conv = sext i16 %a.arg_trunc to i32 |
| 639 %conv1 = sext i16 %b.arg_trunc to i32 |
| 640 %div = sdiv i32 %conv, %conv1 |
| 641 ; %conv2 = trunc i32 %div to i16 |
| 642 %conv2 = sdiv i16 %a.arg_trunc, %b.arg_trunc ; INSERTED |
| 643 %conv2.ret_ext = sext i16 %conv2 to i32 |
| 644 ret i32 %conv2.ret_ext |
| 645 } |
| 646 |
| 647 define internal i32 @_Z8testSdivii(i32 %a, i32 %b) { |
| 648 entry: |
| 649 %div = sdiv i32 %a, %b |
| 650 ret i32 %div |
| 651 } |
| 652 |
| 653 define internal i64 @_Z8testSdivxx(i64 %a, i64 %b) { |
| 654 entry: |
| 655 %div = sdiv i64 %a, %b |
| 656 ret i64 %div |
| 657 } |
| 658 |
| 659 define internal <4 x i32> @_Z8testSdivDv4_iS_(<4 x i32> %a, <4 x i32> %b) { |
| 660 entry: |
| 661 %div = sdiv <4 x i32> %a, %b |
| 662 ret <4 x i32> %div |
| 663 } |
| 664 |
| 665 define internal <8 x i16> @_Z8testSdivDv8_sS_(<8 x i16> %a, <8 x i16> %b) { |
| 666 entry: |
| 667 %div = sdiv <8 x i16> %a, %b |
| 668 ret <8 x i16> %div |
| 669 } |
| 670 |
| 671 define internal <16 x i8> @_Z8testSdivDv16_aS_(<16 x i8> %a, <16 x i8> %b) { |
| 672 entry: |
| 673 %div = sdiv <16 x i8> %a, %b |
| 674 ret <16 x i8> %div |
| 675 } |
| 676 |
| 677 define internal i32 @_Z8testSrembb(i32 %a, i32 %b) { |
| 678 entry: |
| 679 %.ret_ext = zext i1 false to i32 |
| 680 ret i32 %.ret_ext |
| 681 } |
| 682 |
| 683 define internal i32 @_Z8testSremaa(i32 %a, i32 %b) { |
| 684 entry: |
| 685 %b.arg_trunc = trunc i32 %b to i8 |
| 686 %a.arg_trunc = trunc i32 %a to i8 |
| 687 %conv = sext i8 %a.arg_trunc to i32 |
| 688 %conv1 = sext i8 %b.arg_trunc to i32 |
| 689 %rem = srem i32 %conv, %conv1 |
| 690 ; %conv2 = trunc i32 %rem to i8 |
| 691 %conv2 = srem i8 %a.arg_trunc, %b.arg_trunc ; INSERTED |
| 692 %conv2.ret_ext = sext i8 %conv2 to i32 |
| 693 ret i32 %conv2.ret_ext |
| 694 } |
| 695 |
| 696 define internal i32 @_Z8testSremss(i32 %a, i32 %b) { |
| 697 entry: |
| 698 %b.arg_trunc = trunc i32 %b to i16 |
| 699 %a.arg_trunc = trunc i32 %a to i16 |
| 700 %conv = sext i16 %a.arg_trunc to i32 |
| 701 %conv1 = sext i16 %b.arg_trunc to i32 |
| 702 %rem = srem i32 %conv, %conv1 |
| 703 ; %conv2 = trunc i32 %rem to i16 |
| 704 %conv2 = srem i16 %a.arg_trunc, %b.arg_trunc ; INSERTED |
| 705 %conv2.ret_ext = sext i16 %conv2 to i32 |
| 706 ret i32 %conv2.ret_ext |
| 707 } |
| 708 |
| 709 define internal i32 @_Z8testSremii(i32 %a, i32 %b) { |
| 710 entry: |
| 711 %rem = srem i32 %a, %b |
| 712 ret i32 %rem |
| 713 } |
| 714 |
| 715 define internal i64 @_Z8testSremxx(i64 %a, i64 %b) { |
| 716 entry: |
| 717 %rem = srem i64 %a, %b |
| 718 ret i64 %rem |
| 719 } |
| 720 |
| 721 define internal <4 x i32> @_Z8testSremDv4_iS_(<4 x i32> %a, <4 x i32> %b) { |
| 722 entry: |
| 723 %rem = srem <4 x i32> %a, %b |
| 724 ret <4 x i32> %rem |
| 725 } |
| 726 |
| 727 define internal <8 x i16> @_Z8testSremDv8_sS_(<8 x i16> %a, <8 x i16> %b) { |
| 728 entry: |
| 729 %rem = srem <8 x i16> %a, %b |
| 730 ret <8 x i16> %rem |
| 731 } |
| 732 |
| 733 define internal <16 x i8> @_Z8testSremDv16_aS_(<16 x i8> %a, <16 x i8> %b) { |
| 734 entry: |
| 735 %rem = srem <16 x i8> %a, %b |
| 736 ret <16 x i8> %rem |
| 737 } |
| 738 |
| 739 define internal i32 @_Z8testAshrbb(i32 %a, i32 %b) { |
| 740 entry: |
| 741 %b.arg_trunc = trunc i32 %b to i1 |
| 742 %a.arg_trunc = trunc i32 %a to i1 |
| 743 %conv = zext i1 %a.arg_trunc to i32 |
| 744 %conv3 = zext i1 %b.arg_trunc to i32 |
| 745 %shr = lshr i32 %conv, %conv3 |
| 746 %tobool4 = icmp ne i32 %shr, 0 |
| 747 %tobool4.ret_ext = zext i1 %tobool4 to i32 |
| 748 ret i32 %tobool4.ret_ext |
| 749 } |
| 750 |
| 751 define internal i32 @_Z8testAshraa(i32 %a, i32 %b) { |
| 752 entry: |
| 753 %b.arg_trunc = trunc i32 %b to i8 |
| 754 %a.arg_trunc = trunc i32 %a to i8 |
| 755 %conv = sext i8 %a.arg_trunc to i32 |
| 756 %conv1 = sext i8 %b.arg_trunc to i32 |
| 757 %shr = ashr i32 %conv, %conv1 |
| 758 ; %conv2 = trunc i32 %shr to i8 |
| 759 %conv2 = ashr i8 %a.arg_trunc, %b.arg_trunc ; INSERTED |
| 760 %conv2.ret_ext = sext i8 %conv2 to i32 |
| 761 ret i32 %conv2.ret_ext |
| 762 } |
| 763 |
| 764 define internal i32 @_Z8testAshrss(i32 %a, i32 %b) { |
| 765 entry: |
| 766 %b.arg_trunc = trunc i32 %b to i16 |
| 767 %a.arg_trunc = trunc i32 %a to i16 |
| 768 %conv = sext i16 %a.arg_trunc to i32 |
| 769 %conv1 = sext i16 %b.arg_trunc to i32 |
| 770 %shr = ashr i32 %conv, %conv1 |
| 771 ; %conv2 = trunc i32 %shr to i16 |
| 772 %conv2 = ashr i16 %a.arg_trunc, %b.arg_trunc ; INSERTED |
| 773 %conv2.ret_ext = sext i16 %conv2 to i32 |
| 774 ret i32 %conv2.ret_ext |
| 775 } |
| 776 |
| 777 define internal i32 @_Z8testAshrii(i32 %a, i32 %b) { |
| 778 entry: |
| 779 %shr = ashr i32 %a, %b |
| 780 ret i32 %shr |
| 781 } |
| 782 |
| 783 define internal i64 @_Z8testAshrxx(i64 %a, i64 %b) { |
| 784 entry: |
| 785 %shr = ashr i64 %a, %b |
| 786 ret i64 %shr |
| 787 } |
| 788 |
| 789 define internal <4 x i32> @_Z8testAshrDv4_iS_(<4 x i32> %a, <4 x i32> %b) { |
| 790 entry: |
| 791 %shr = ashr <4 x i32> %a, %b |
| 792 ret <4 x i32> %shr |
| 793 } |
| 794 |
| 795 define internal <8 x i16> @_Z8testAshrDv8_sS_(<8 x i16> %a, <8 x i16> %b) { |
| 796 entry: |
| 797 %shr = ashr <8 x i16> %a, %b |
| 798 ret <8 x i16> %shr |
| 799 } |
| 800 |
| 801 define internal <16 x i8> @_Z8testAshrDv16_aS_(<16 x i8> %a, <16 x i8> %b) { |
| 802 entry: |
| 803 %shr = ashr <16 x i8> %a, %b |
| 804 ret <16 x i8> %shr |
| 805 } |
| 806 |
| 807 define internal float @_Z8testFaddff(float %a, float %b) { |
| 808 entry: |
| 809 %add = fadd float %a, %b |
| 810 ret float %add |
| 811 } |
| 812 |
| 813 define internal double @_Z8testFadddd(double %a, double %b) { |
| 814 entry: |
| 815 %add = fadd double %a, %b |
| 816 ret double %add |
| 817 } |
| 818 |
| 819 define internal <4 x float> @_Z8testFaddDv4_fS_(<4 x float> %a, <4 x float> %b)
{ |
| 820 entry: |
| 821 %add = fadd <4 x float> %a, %b |
| 822 ret <4 x float> %add |
| 823 } |
| 824 |
| 825 define internal float @_Z8testFsubff(float %a, float %b) { |
| 826 entry: |
| 827 %sub = fsub float %a, %b |
| 828 ret float %sub |
| 829 } |
| 830 |
| 831 define internal double @_Z8testFsubdd(double %a, double %b) { |
| 832 entry: |
| 833 %sub = fsub double %a, %b |
| 834 ret double %sub |
| 835 } |
| 836 |
| 837 define internal <4 x float> @_Z8testFsubDv4_fS_(<4 x float> %a, <4 x float> %b)
{ |
| 838 entry: |
| 839 %sub = fsub <4 x float> %a, %b |
| 840 ret <4 x float> %sub |
| 841 } |
| 842 |
| 843 define internal float @_Z8testFmulff(float %a, float %b) { |
| 844 entry: |
| 845 %mul = fmul float %a, %b |
| 846 ret float %mul |
| 847 } |
| 848 |
| 849 define internal double @_Z8testFmuldd(double %a, double %b) { |
| 850 entry: |
| 851 %mul = fmul double %a, %b |
| 852 ret double %mul |
| 853 } |
| 854 |
| 855 define internal <4 x float> @_Z8testFmulDv4_fS_(<4 x float> %a, <4 x float> %b)
{ |
| 856 entry: |
| 857 %mul = fmul <4 x float> %a, %b |
| 858 ret <4 x float> %mul |
| 859 } |
| 860 |
| 861 define internal float @_Z8testFdivff(float %a, float %b) { |
| 862 entry: |
| 863 %div = fdiv float %a, %b |
| 864 ret float %div |
| 865 } |
| 866 |
| 867 define internal double @_Z8testFdivdd(double %a, double %b) { |
| 868 entry: |
| 869 %div = fdiv double %a, %b |
| 870 ret double %div |
| 871 } |
| 872 |
| 873 define internal <4 x float> @_Z8testFdivDv4_fS_(<4 x float> %a, <4 x float> %b)
{ |
| 874 entry: |
| 875 %div = fdiv <4 x float> %a, %b |
| 876 ret <4 x float> %div |
| 877 } |
| 878 |
| 879 define internal float @_Z8testFremff(float %a, float %b) { |
| 880 entry: |
| 881 %call = tail call float @_Z6myFremff(float %a, float %b) |
| 882 ret float %call |
| 883 } |
| 884 |
| 885 declare float @_Z6myFremff(float, float) |
| 886 |
| 887 define internal double @_Z8testFremdd(double %a, double %b) { |
| 888 entry: |
| 889 %call = tail call double @_Z6myFremdd(double %a, double %b) |
| 890 ret double %call |
| 891 } |
| 892 |
| 893 declare double @_Z6myFremdd(double, double) |
| 894 |
| 895 define internal <4 x float> @_Z8testFremDv4_fS_(<4 x float> %a, <4 x float> %b)
{ |
| 896 entry: |
| 897 %call = tail call <4 x float> @_Z6myFremDv4_fS_(<4 x float> %a, <4 x float> %b
) |
| 898 ret <4 x float> %call |
| 899 } |
| 900 |
| 901 declare <4 x float> @_Z6myFremDv4_fS_(<4 x float>, <4 x float>) |
| 902 |
| 903 define internal i32 @_Z15testMultiplyBy0bb(i32 %a, i32) { |
| 904 entry: |
| 905 %.ret_ext = zext i1 false to i32 |
| 906 ret i32 %.ret_ext |
| 907 } |
| 908 |
| 909 define internal i32 @_Z18testMultiplyByNeg0bb(i32 %a, i32) { |
| 910 entry: |
| 911 %.ret_ext = zext i1 false to i32 |
| 912 ret i32 %.ret_ext |
| 913 } |
| 914 |
| 915 define internal i32 @_Z15testMultiplyBy0hh(i32 %a, i32) { |
| 916 entry: |
| 917 %.ret_ext = zext i8 0 to i32 |
| 918 ret i32 %.ret_ext |
| 919 } |
| 920 |
| 921 define internal i32 @_Z18testMultiplyByNeg0hh(i32 %a, i32) { |
| 922 entry: |
| 923 %.ret_ext = zext i8 0 to i32 |
| 924 ret i32 %.ret_ext |
| 925 } |
| 926 |
| 927 define internal i32 @_Z15testMultiplyBy0tt(i32 %a, i32) { |
| 928 entry: |
| 929 %.ret_ext = zext i16 0 to i32 |
| 930 ret i32 %.ret_ext |
| 931 } |
| 932 |
| 933 define internal i32 @_Z18testMultiplyByNeg0tt(i32 %a, i32) { |
| 934 entry: |
| 935 %.ret_ext = zext i16 0 to i32 |
| 936 ret i32 %.ret_ext |
| 937 } |
| 938 |
| 939 define internal i32 @_Z15testMultiplyBy0jj(i32 %a, i32) { |
| 940 entry: |
| 941 ret i32 0 |
| 942 } |
| 943 |
| 944 define internal i32 @_Z18testMultiplyByNeg0jj(i32 %a, i32) { |
| 945 entry: |
| 946 ret i32 0 |
| 947 } |
| 948 |
| 949 define internal i64 @_Z15testMultiplyBy0yy(i64 %a, i64) { |
| 950 entry: |
| 951 ret i64 0 |
| 952 } |
| 953 |
| 954 define internal i64 @_Z18testMultiplyByNeg0yy(i64 %a, i64) { |
| 955 entry: |
| 956 ret i64 0 |
| 957 } |
| 958 |
| 959 define internal i32 @_Z15testMultiplyBy1bb(i32 %a, i32) { |
| 960 entry: |
| 961 %a.arg_trunc = trunc i32 %a to i1 |
| 962 %a.arg_trunc.ret_ext = zext i1 %a.arg_trunc to i32 |
| 963 ret i32 %a.arg_trunc.ret_ext |
| 964 } |
| 965 |
| 966 define internal i32 @_Z18testMultiplyByNeg1bb(i32 %a, i32) { |
| 967 entry: |
| 968 %a.arg_trunc = trunc i32 %a to i1 |
| 969 %a.arg_trunc.ret_ext = zext i1 %a.arg_trunc to i32 |
| 970 ret i32 %a.arg_trunc.ret_ext |
| 971 } |
| 972 |
| 973 define internal i32 @_Z15testMultiplyBy1hh(i32 %a, i32) { |
| 974 entry: |
| 975 %a.arg_trunc = trunc i32 %a to i8 |
| 976 %a.arg_trunc.ret_ext = zext i8 %a.arg_trunc to i32 |
| 977 ret i32 %a.arg_trunc.ret_ext |
| 978 } |
| 979 |
| 980 define internal i32 @_Z18testMultiplyByNeg1hh(i32 %a, i32) { |
| 981 entry: |
| 982 %a.arg_trunc = trunc i32 %a to i8 |
| 983 %conv = zext i8 %a.arg_trunc to i32 |
| 984 %mul = sub i32 0, %conv |
| 985 %conv1 = trunc i32 %mul to i8 |
| 986 %conv1.ret_ext = zext i8 %conv1 to i32 |
| 987 ret i32 %conv1.ret_ext |
| 988 } |
| 989 |
| 990 define internal i32 @_Z15testMultiplyBy1tt(i32 %a, i32) { |
| 991 entry: |
| 992 %a.arg_trunc = trunc i32 %a to i16 |
| 993 %a.arg_trunc.ret_ext = zext i16 %a.arg_trunc to i32 |
| 994 ret i32 %a.arg_trunc.ret_ext |
| 995 } |
| 996 |
| 997 define internal i32 @_Z18testMultiplyByNeg1tt(i32 %a, i32) { |
| 998 entry: |
| 999 %a.arg_trunc = trunc i32 %a to i16 |
| 1000 %conv = zext i16 %a.arg_trunc to i32 |
| 1001 %mul = sub i32 0, %conv |
| 1002 %conv1 = trunc i32 %mul to i16 |
| 1003 %conv1.ret_ext = zext i16 %conv1 to i32 |
| 1004 ret i32 %conv1.ret_ext |
| 1005 } |
| 1006 |
| 1007 define internal i32 @_Z15testMultiplyBy1jj(i32 %a, i32) { |
| 1008 entry: |
| 1009 ret i32 %a |
| 1010 } |
| 1011 |
| 1012 define internal i32 @_Z18testMultiplyByNeg1jj(i32 %a, i32) { |
| 1013 entry: |
| 1014 %mul = sub i32 0, %a |
| 1015 ret i32 %mul |
| 1016 } |
| 1017 |
| 1018 define internal i64 @_Z15testMultiplyBy1yy(i64 %a, i64) { |
| 1019 entry: |
| 1020 ret i64 %a |
| 1021 } |
| 1022 |
| 1023 define internal i64 @_Z18testMultiplyByNeg1yy(i64 %a, i64) { |
| 1024 entry: |
| 1025 %mul = sub i64 0, %a |
| 1026 ret i64 %mul |
| 1027 } |
| 1028 |
| 1029 define internal i32 @_Z15testMultiplyBy2bb(i32 %a, i32) { |
| 1030 entry: |
| 1031 %a.arg_trunc = trunc i32 %a to i1 |
| 1032 %a.arg_trunc.ret_ext = zext i1 %a.arg_trunc to i32 |
| 1033 ret i32 %a.arg_trunc.ret_ext |
| 1034 } |
| 1035 |
| 1036 define internal i32 @_Z18testMultiplyByNeg2bb(i32 %a, i32) { |
| 1037 entry: |
| 1038 %a.arg_trunc = trunc i32 %a to i1 |
| 1039 %a.arg_trunc.ret_ext = zext i1 %a.arg_trunc to i32 |
| 1040 ret i32 %a.arg_trunc.ret_ext |
| 1041 } |
| 1042 |
| 1043 define internal i32 @_Z15testMultiplyBy2hh(i32 %a, i32) { |
| 1044 entry: |
| 1045 %a.arg_trunc = trunc i32 %a to i8 |
| 1046 %conv = zext i8 %a.arg_trunc to i32 |
| 1047 %mul = shl i32 %conv, 1 |
| 1048 %conv1 = trunc i32 %mul to i8 |
| 1049 %conv1.ret_ext = zext i8 %conv1 to i32 |
| 1050 ret i32 %conv1.ret_ext |
| 1051 } |
| 1052 |
| 1053 define internal i32 @_Z18testMultiplyByNeg2hh(i32 %a, i32) { |
| 1054 entry: |
| 1055 %a.arg_trunc = trunc i32 %a to i8 |
| 1056 %conv = zext i8 %a.arg_trunc to i32 |
| 1057 %mul = mul i32 %conv, -2 |
| 1058 %conv1 = trunc i32 %mul to i8 |
| 1059 %conv1.ret_ext = zext i8 %conv1 to i32 |
| 1060 ret i32 %conv1.ret_ext |
| 1061 } |
| 1062 |
| 1063 define internal i32 @_Z15testMultiplyBy2tt(i32 %a, i32) { |
| 1064 entry: |
| 1065 %a.arg_trunc = trunc i32 %a to i16 |
| 1066 %conv = zext i16 %a.arg_trunc to i32 |
| 1067 %mul = shl i32 %conv, 1 |
| 1068 %conv1 = trunc i32 %mul to i16 |
| 1069 %conv1.ret_ext = zext i16 %conv1 to i32 |
| 1070 ret i32 %conv1.ret_ext |
| 1071 } |
| 1072 |
| 1073 define internal i32 @_Z18testMultiplyByNeg2tt(i32 %a, i32) { |
| 1074 entry: |
| 1075 %a.arg_trunc = trunc i32 %a to i16 |
| 1076 %conv = zext i16 %a.arg_trunc to i32 |
| 1077 %mul = mul i32 %conv, -2 |
| 1078 %conv1 = trunc i32 %mul to i16 |
| 1079 %conv1.ret_ext = zext i16 %conv1 to i32 |
| 1080 ret i32 %conv1.ret_ext |
| 1081 } |
| 1082 |
| 1083 define internal i32 @_Z15testMultiplyBy2jj(i32 %a, i32) { |
| 1084 entry: |
| 1085 %mul = shl i32 %a, 1 |
| 1086 ret i32 %mul |
| 1087 } |
| 1088 |
| 1089 define internal i32 @_Z18testMultiplyByNeg2jj(i32 %a, i32) { |
| 1090 entry: |
| 1091 %mul = mul i32 %a, -2 |
| 1092 ret i32 %mul |
| 1093 } |
| 1094 |
| 1095 define internal i64 @_Z15testMultiplyBy2yy(i64 %a, i64) { |
| 1096 entry: |
| 1097 %mul = shl i64 %a, 1 |
| 1098 ret i64 %mul |
| 1099 } |
| 1100 |
| 1101 define internal i64 @_Z18testMultiplyByNeg2yy(i64 %a, i64) { |
| 1102 entry: |
| 1103 %mul = mul i64 %a, -2 |
| 1104 ret i64 %mul |
| 1105 } |
| 1106 |
| 1107 define internal i32 @_Z15testMultiplyBy3bb(i32 %a, i32) { |
| 1108 entry: |
| 1109 %a.arg_trunc = trunc i32 %a to i1 |
| 1110 %a.arg_trunc.ret_ext = zext i1 %a.arg_trunc to i32 |
| 1111 ret i32 %a.arg_trunc.ret_ext |
| 1112 } |
| 1113 |
| 1114 define internal i32 @_Z18testMultiplyByNeg3bb(i32 %a, i32) { |
| 1115 entry: |
| 1116 %a.arg_trunc = trunc i32 %a to i1 |
| 1117 %a.arg_trunc.ret_ext = zext i1 %a.arg_trunc to i32 |
| 1118 ret i32 %a.arg_trunc.ret_ext |
| 1119 } |
| 1120 |
| 1121 define internal i32 @_Z15testMultiplyBy3hh(i32 %a, i32) { |
| 1122 entry: |
| 1123 %a.arg_trunc = trunc i32 %a to i8 |
| 1124 %conv = zext i8 %a.arg_trunc to i32 |
| 1125 %mul = mul i32 %conv, 3 |
| 1126 %conv1 = trunc i32 %mul to i8 |
| 1127 %conv1.ret_ext = zext i8 %conv1 to i32 |
| 1128 ret i32 %conv1.ret_ext |
| 1129 } |
| 1130 |
| 1131 define internal i32 @_Z18testMultiplyByNeg3hh(i32 %a, i32) { |
| 1132 entry: |
| 1133 %a.arg_trunc = trunc i32 %a to i8 |
| 1134 %conv = zext i8 %a.arg_trunc to i32 |
| 1135 %mul = mul i32 %conv, -3 |
| 1136 %conv1 = trunc i32 %mul to i8 |
| 1137 %conv1.ret_ext = zext i8 %conv1 to i32 |
| 1138 ret i32 %conv1.ret_ext |
| 1139 } |
| 1140 |
| 1141 define internal i32 @_Z15testMultiplyBy3tt(i32 %a, i32) { |
| 1142 entry: |
| 1143 %a.arg_trunc = trunc i32 %a to i16 |
| 1144 %conv = zext i16 %a.arg_trunc to i32 |
| 1145 %mul = mul i32 %conv, 3 |
| 1146 %conv1 = trunc i32 %mul to i16 |
| 1147 %conv1.ret_ext = zext i16 %conv1 to i32 |
| 1148 ret i32 %conv1.ret_ext |
| 1149 } |
| 1150 |
| 1151 define internal i32 @_Z18testMultiplyByNeg3tt(i32 %a, i32) { |
| 1152 entry: |
| 1153 %a.arg_trunc = trunc i32 %a to i16 |
| 1154 %conv = zext i16 %a.arg_trunc to i32 |
| 1155 %mul = mul i32 %conv, -3 |
| 1156 %conv1 = trunc i32 %mul to i16 |
| 1157 %conv1.ret_ext = zext i16 %conv1 to i32 |
| 1158 ret i32 %conv1.ret_ext |
| 1159 } |
| 1160 |
| 1161 define internal i32 @_Z15testMultiplyBy3jj(i32 %a, i32) { |
| 1162 entry: |
| 1163 %mul = mul i32 %a, 3 |
| 1164 ret i32 %mul |
| 1165 } |
| 1166 |
| 1167 define internal i32 @_Z18testMultiplyByNeg3jj(i32 %a, i32) { |
| 1168 entry: |
| 1169 %mul = mul i32 %a, -3 |
| 1170 ret i32 %mul |
| 1171 } |
| 1172 |
| 1173 define internal i64 @_Z15testMultiplyBy3yy(i64 %a, i64) { |
| 1174 entry: |
| 1175 %mul = mul i64 %a, 3 |
| 1176 ret i64 %mul |
| 1177 } |
| 1178 |
| 1179 define internal i64 @_Z18testMultiplyByNeg3yy(i64 %a, i64) { |
| 1180 entry: |
| 1181 %mul = mul i64 %a, -3 |
| 1182 ret i64 %mul |
| 1183 } |
| 1184 |
| 1185 define internal i32 @_Z15testMultiplyBy4bb(i32 %a, i32) { |
| 1186 entry: |
| 1187 %a.arg_trunc = trunc i32 %a to i1 |
| 1188 %a.arg_trunc.ret_ext = zext i1 %a.arg_trunc to i32 |
| 1189 ret i32 %a.arg_trunc.ret_ext |
| 1190 } |
| 1191 |
| 1192 define internal i32 @_Z18testMultiplyByNeg4bb(i32 %a, i32) { |
| 1193 entry: |
| 1194 %a.arg_trunc = trunc i32 %a to i1 |
| 1195 %a.arg_trunc.ret_ext = zext i1 %a.arg_trunc to i32 |
| 1196 ret i32 %a.arg_trunc.ret_ext |
| 1197 } |
| 1198 |
| 1199 define internal i32 @_Z15testMultiplyBy4hh(i32 %a, i32) { |
| 1200 entry: |
| 1201 %a.arg_trunc = trunc i32 %a to i8 |
| 1202 %conv = zext i8 %a.arg_trunc to i32 |
| 1203 %mul = shl i32 %conv, 2 |
| 1204 %conv1 = trunc i32 %mul to i8 |
| 1205 %conv1.ret_ext = zext i8 %conv1 to i32 |
| 1206 ret i32 %conv1.ret_ext |
| 1207 } |
| 1208 |
| 1209 define internal i32 @_Z18testMultiplyByNeg4hh(i32 %a, i32) { |
| 1210 entry: |
| 1211 %a.arg_trunc = trunc i32 %a to i8 |
| 1212 %conv = zext i8 %a.arg_trunc to i32 |
| 1213 %mul = mul i32 %conv, -4 |
| 1214 %conv1 = trunc i32 %mul to i8 |
| 1215 %conv1.ret_ext = zext i8 %conv1 to i32 |
| 1216 ret i32 %conv1.ret_ext |
| 1217 } |
| 1218 |
| 1219 define internal i32 @_Z15testMultiplyBy4tt(i32 %a, i32) { |
| 1220 entry: |
| 1221 %a.arg_trunc = trunc i32 %a to i16 |
| 1222 %conv = zext i16 %a.arg_trunc to i32 |
| 1223 %mul = shl i32 %conv, 2 |
| 1224 %conv1 = trunc i32 %mul to i16 |
| 1225 %conv1.ret_ext = zext i16 %conv1 to i32 |
| 1226 ret i32 %conv1.ret_ext |
| 1227 } |
| 1228 |
| 1229 define internal i32 @_Z18testMultiplyByNeg4tt(i32 %a, i32) { |
| 1230 entry: |
| 1231 %a.arg_trunc = trunc i32 %a to i16 |
| 1232 %conv = zext i16 %a.arg_trunc to i32 |
| 1233 %mul = mul i32 %conv, -4 |
| 1234 %conv1 = trunc i32 %mul to i16 |
| 1235 %conv1.ret_ext = zext i16 %conv1 to i32 |
| 1236 ret i32 %conv1.ret_ext |
| 1237 } |
| 1238 |
| 1239 define internal i32 @_Z15testMultiplyBy4jj(i32 %a, i32) { |
| 1240 entry: |
| 1241 %mul = shl i32 %a, 2 |
| 1242 ret i32 %mul |
| 1243 } |
| 1244 |
| 1245 define internal i32 @_Z18testMultiplyByNeg4jj(i32 %a, i32) { |
| 1246 entry: |
| 1247 %mul = mul i32 %a, -4 |
| 1248 ret i32 %mul |
| 1249 } |
| 1250 |
| 1251 define internal i64 @_Z15testMultiplyBy4yy(i64 %a, i64) { |
| 1252 entry: |
| 1253 %mul = shl i64 %a, 2 |
| 1254 ret i64 %mul |
| 1255 } |
| 1256 |
| 1257 define internal i64 @_Z18testMultiplyByNeg4yy(i64 %a, i64) { |
| 1258 entry: |
| 1259 %mul = mul i64 %a, -4 |
| 1260 ret i64 %mul |
| 1261 } |
| 1262 |
| 1263 define internal i32 @_Z15testMultiplyBy5bb(i32 %a, i32) { |
| 1264 entry: |
| 1265 %a.arg_trunc = trunc i32 %a to i1 |
| 1266 %a.arg_trunc.ret_ext = zext i1 %a.arg_trunc to i32 |
| 1267 ret i32 %a.arg_trunc.ret_ext |
| 1268 } |
| 1269 |
| 1270 define internal i32 @_Z18testMultiplyByNeg5bb(i32 %a, i32) { |
| 1271 entry: |
| 1272 %a.arg_trunc = trunc i32 %a to i1 |
| 1273 %a.arg_trunc.ret_ext = zext i1 %a.arg_trunc to i32 |
| 1274 ret i32 %a.arg_trunc.ret_ext |
| 1275 } |
| 1276 |
| 1277 define internal i32 @_Z15testMultiplyBy5hh(i32 %a, i32) { |
| 1278 entry: |
| 1279 %a.arg_trunc = trunc i32 %a to i8 |
| 1280 %conv = zext i8 %a.arg_trunc to i32 |
| 1281 %mul = mul i32 %conv, 5 |
| 1282 %conv1 = trunc i32 %mul to i8 |
| 1283 %conv1.ret_ext = zext i8 %conv1 to i32 |
| 1284 ret i32 %conv1.ret_ext |
| 1285 } |
| 1286 |
| 1287 define internal i32 @_Z18testMultiplyByNeg5hh(i32 %a, i32) { |
| 1288 entry: |
| 1289 %a.arg_trunc = trunc i32 %a to i8 |
| 1290 %conv = zext i8 %a.arg_trunc to i32 |
| 1291 %mul = mul i32 %conv, -5 |
| 1292 %conv1 = trunc i32 %mul to i8 |
| 1293 %conv1.ret_ext = zext i8 %conv1 to i32 |
| 1294 ret i32 %conv1.ret_ext |
| 1295 } |
| 1296 |
| 1297 define internal i32 @_Z15testMultiplyBy5tt(i32 %a, i32) { |
| 1298 entry: |
| 1299 %a.arg_trunc = trunc i32 %a to i16 |
| 1300 %conv = zext i16 %a.arg_trunc to i32 |
| 1301 %mul = mul i32 %conv, 5 |
| 1302 %conv1 = trunc i32 %mul to i16 |
| 1303 %conv1.ret_ext = zext i16 %conv1 to i32 |
| 1304 ret i32 %conv1.ret_ext |
| 1305 } |
| 1306 |
| 1307 define internal i32 @_Z18testMultiplyByNeg5tt(i32 %a, i32) { |
| 1308 entry: |
| 1309 %a.arg_trunc = trunc i32 %a to i16 |
| 1310 %conv = zext i16 %a.arg_trunc to i32 |
| 1311 %mul = mul i32 %conv, -5 |
| 1312 %conv1 = trunc i32 %mul to i16 |
| 1313 %conv1.ret_ext = zext i16 %conv1 to i32 |
| 1314 ret i32 %conv1.ret_ext |
| 1315 } |
| 1316 |
| 1317 define internal i32 @_Z15testMultiplyBy5jj(i32 %a, i32) { |
| 1318 entry: |
| 1319 %mul = mul i32 %a, 5 |
| 1320 ret i32 %mul |
| 1321 } |
| 1322 |
| 1323 define internal i32 @_Z18testMultiplyByNeg5jj(i32 %a, i32) { |
| 1324 entry: |
| 1325 %mul = mul i32 %a, -5 |
| 1326 ret i32 %mul |
| 1327 } |
| 1328 |
| 1329 define internal i64 @_Z15testMultiplyBy5yy(i64 %a, i64) { |
| 1330 entry: |
| 1331 %mul = mul i64 %a, 5 |
| 1332 ret i64 %mul |
| 1333 } |
| 1334 |
| 1335 define internal i64 @_Z18testMultiplyByNeg5yy(i64 %a, i64) { |
| 1336 entry: |
| 1337 %mul = mul i64 %a, -5 |
| 1338 ret i64 %mul |
| 1339 } |
| 1340 |
| 1341 define internal i32 @_Z15testMultiplyBy7bb(i32 %a, i32) { |
| 1342 entry: |
| 1343 %a.arg_trunc = trunc i32 %a to i1 |
| 1344 %a.arg_trunc.ret_ext = zext i1 %a.arg_trunc to i32 |
| 1345 ret i32 %a.arg_trunc.ret_ext |
| 1346 } |
| 1347 |
| 1348 define internal i32 @_Z18testMultiplyByNeg7bb(i32 %a, i32) { |
| 1349 entry: |
| 1350 %a.arg_trunc = trunc i32 %a to i1 |
| 1351 %a.arg_trunc.ret_ext = zext i1 %a.arg_trunc to i32 |
| 1352 ret i32 %a.arg_trunc.ret_ext |
| 1353 } |
| 1354 |
| 1355 define internal i32 @_Z15testMultiplyBy7hh(i32 %a, i32) { |
| 1356 entry: |
| 1357 %a.arg_trunc = trunc i32 %a to i8 |
| 1358 %conv = zext i8 %a.arg_trunc to i32 |
| 1359 %mul = mul i32 %conv, 7 |
| 1360 %conv1 = trunc i32 %mul to i8 |
| 1361 %conv1.ret_ext = zext i8 %conv1 to i32 |
| 1362 ret i32 %conv1.ret_ext |
| 1363 } |
| 1364 |
| 1365 define internal i32 @_Z18testMultiplyByNeg7hh(i32 %a, i32) { |
| 1366 entry: |
| 1367 %a.arg_trunc = trunc i32 %a to i8 |
| 1368 %conv = zext i8 %a.arg_trunc to i32 |
| 1369 %mul = mul i32 %conv, -7 |
| 1370 %conv1 = trunc i32 %mul to i8 |
| 1371 %conv1.ret_ext = zext i8 %conv1 to i32 |
| 1372 ret i32 %conv1.ret_ext |
| 1373 } |
| 1374 |
| 1375 define internal i32 @_Z15testMultiplyBy7tt(i32 %a, i32) { |
| 1376 entry: |
| 1377 %a.arg_trunc = trunc i32 %a to i16 |
| 1378 %conv = zext i16 %a.arg_trunc to i32 |
| 1379 %mul = mul i32 %conv, 7 |
| 1380 %conv1 = trunc i32 %mul to i16 |
| 1381 %conv1.ret_ext = zext i16 %conv1 to i32 |
| 1382 ret i32 %conv1.ret_ext |
| 1383 } |
| 1384 |
| 1385 define internal i32 @_Z18testMultiplyByNeg7tt(i32 %a, i32) { |
| 1386 entry: |
| 1387 %a.arg_trunc = trunc i32 %a to i16 |
| 1388 %conv = zext i16 %a.arg_trunc to i32 |
| 1389 %mul = mul i32 %conv, -7 |
| 1390 %conv1 = trunc i32 %mul to i16 |
| 1391 %conv1.ret_ext = zext i16 %conv1 to i32 |
| 1392 ret i32 %conv1.ret_ext |
| 1393 } |
| 1394 |
| 1395 define internal i32 @_Z15testMultiplyBy7jj(i32 %a, i32) { |
| 1396 entry: |
| 1397 %mul = mul i32 %a, 7 |
| 1398 ret i32 %mul |
| 1399 } |
| 1400 |
| 1401 define internal i32 @_Z18testMultiplyByNeg7jj(i32 %a, i32) { |
| 1402 entry: |
| 1403 %mul = mul i32 %a, -7 |
| 1404 ret i32 %mul |
| 1405 } |
| 1406 |
| 1407 define internal i64 @_Z15testMultiplyBy7yy(i64 %a, i64) { |
| 1408 entry: |
| 1409 %mul = mul i64 %a, 7 |
| 1410 ret i64 %mul |
| 1411 } |
| 1412 |
| 1413 define internal i64 @_Z18testMultiplyByNeg7yy(i64 %a, i64) { |
| 1414 entry: |
| 1415 %mul = mul i64 %a, -7 |
| 1416 ret i64 %mul |
| 1417 } |
| 1418 |
| 1419 define internal i32 @_Z15testMultiplyBy8bb(i32 %a, i32) { |
| 1420 entry: |
| 1421 %a.arg_trunc = trunc i32 %a to i1 |
| 1422 %a.arg_trunc.ret_ext = zext i1 %a.arg_trunc to i32 |
| 1423 ret i32 %a.arg_trunc.ret_ext |
| 1424 } |
| 1425 |
| 1426 define internal i32 @_Z18testMultiplyByNeg8bb(i32 %a, i32) { |
| 1427 entry: |
| 1428 %a.arg_trunc = trunc i32 %a to i1 |
| 1429 %a.arg_trunc.ret_ext = zext i1 %a.arg_trunc to i32 |
| 1430 ret i32 %a.arg_trunc.ret_ext |
| 1431 } |
| 1432 |
| 1433 define internal i32 @_Z15testMultiplyBy8hh(i32 %a, i32) { |
| 1434 entry: |
| 1435 %a.arg_trunc = trunc i32 %a to i8 |
| 1436 %conv = zext i8 %a.arg_trunc to i32 |
| 1437 %mul = shl i32 %conv, 3 |
| 1438 %conv1 = trunc i32 %mul to i8 |
| 1439 %conv1.ret_ext = zext i8 %conv1 to i32 |
| 1440 ret i32 %conv1.ret_ext |
| 1441 } |
| 1442 |
| 1443 define internal i32 @_Z18testMultiplyByNeg8hh(i32 %a, i32) { |
| 1444 entry: |
| 1445 %a.arg_trunc = trunc i32 %a to i8 |
| 1446 %conv = zext i8 %a.arg_trunc to i32 |
| 1447 %mul = mul i32 %conv, -8 |
| 1448 %conv1 = trunc i32 %mul to i8 |
| 1449 %conv1.ret_ext = zext i8 %conv1 to i32 |
| 1450 ret i32 %conv1.ret_ext |
| 1451 } |
| 1452 |
| 1453 define internal i32 @_Z15testMultiplyBy8tt(i32 %a, i32) { |
| 1454 entry: |
| 1455 %a.arg_trunc = trunc i32 %a to i16 |
| 1456 %conv = zext i16 %a.arg_trunc to i32 |
| 1457 %mul = shl i32 %conv, 3 |
| 1458 %conv1 = trunc i32 %mul to i16 |
| 1459 %conv1.ret_ext = zext i16 %conv1 to i32 |
| 1460 ret i32 %conv1.ret_ext |
| 1461 } |
| 1462 |
| 1463 define internal i32 @_Z18testMultiplyByNeg8tt(i32 %a, i32) { |
| 1464 entry: |
| 1465 %a.arg_trunc = trunc i32 %a to i16 |
| 1466 %conv = zext i16 %a.arg_trunc to i32 |
| 1467 %mul = mul i32 %conv, -8 |
| 1468 %conv1 = trunc i32 %mul to i16 |
| 1469 %conv1.ret_ext = zext i16 %conv1 to i32 |
| 1470 ret i32 %conv1.ret_ext |
| 1471 } |
| 1472 |
| 1473 define internal i32 @_Z15testMultiplyBy8jj(i32 %a, i32) { |
| 1474 entry: |
| 1475 %mul = shl i32 %a, 3 |
| 1476 ret i32 %mul |
| 1477 } |
| 1478 |
| 1479 define internal i32 @_Z18testMultiplyByNeg8jj(i32 %a, i32) { |
| 1480 entry: |
| 1481 %mul = mul i32 %a, -8 |
| 1482 ret i32 %mul |
| 1483 } |
| 1484 |
| 1485 define internal i64 @_Z15testMultiplyBy8yy(i64 %a, i64) { |
| 1486 entry: |
| 1487 %mul = shl i64 %a, 3 |
| 1488 ret i64 %mul |
| 1489 } |
| 1490 |
| 1491 define internal i64 @_Z18testMultiplyByNeg8yy(i64 %a, i64) { |
| 1492 entry: |
| 1493 %mul = mul i64 %a, -8 |
| 1494 ret i64 %mul |
| 1495 } |
| 1496 |
| 1497 define internal i32 @_Z15testMultiplyBy9bb(i32 %a, i32) { |
| 1498 entry: |
| 1499 %a.arg_trunc = trunc i32 %a to i1 |
| 1500 %a.arg_trunc.ret_ext = zext i1 %a.arg_trunc to i32 |
| 1501 ret i32 %a.arg_trunc.ret_ext |
| 1502 } |
| 1503 |
| 1504 define internal i32 @_Z18testMultiplyByNeg9bb(i32 %a, i32) { |
| 1505 entry: |
| 1506 %a.arg_trunc = trunc i32 %a to i1 |
| 1507 %a.arg_trunc.ret_ext = zext i1 %a.arg_trunc to i32 |
| 1508 ret i32 %a.arg_trunc.ret_ext |
| 1509 } |
| 1510 |
| 1511 define internal i32 @_Z15testMultiplyBy9hh(i32 %a, i32) { |
| 1512 entry: |
| 1513 %a.arg_trunc = trunc i32 %a to i8 |
| 1514 %conv = zext i8 %a.arg_trunc to i32 |
| 1515 %mul = mul i32 %conv, 9 |
| 1516 %conv1 = trunc i32 %mul to i8 |
| 1517 %conv1.ret_ext = zext i8 %conv1 to i32 |
| 1518 ret i32 %conv1.ret_ext |
| 1519 } |
| 1520 |
| 1521 define internal i32 @_Z18testMultiplyByNeg9hh(i32 %a, i32) { |
| 1522 entry: |
| 1523 %a.arg_trunc = trunc i32 %a to i8 |
| 1524 %conv = zext i8 %a.arg_trunc to i32 |
| 1525 %mul = mul i32 %conv, -9 |
| 1526 %conv1 = trunc i32 %mul to i8 |
| 1527 %conv1.ret_ext = zext i8 %conv1 to i32 |
| 1528 ret i32 %conv1.ret_ext |
| 1529 } |
| 1530 |
| 1531 define internal i32 @_Z15testMultiplyBy9tt(i32 %a, i32) { |
| 1532 entry: |
| 1533 %a.arg_trunc = trunc i32 %a to i16 |
| 1534 %conv = zext i16 %a.arg_trunc to i32 |
| 1535 %mul = mul i32 %conv, 9 |
| 1536 %conv1 = trunc i32 %mul to i16 |
| 1537 %conv1.ret_ext = zext i16 %conv1 to i32 |
| 1538 ret i32 %conv1.ret_ext |
| 1539 } |
| 1540 |
| 1541 define internal i32 @_Z18testMultiplyByNeg9tt(i32 %a, i32) { |
| 1542 entry: |
| 1543 %a.arg_trunc = trunc i32 %a to i16 |
| 1544 %conv = zext i16 %a.arg_trunc to i32 |
| 1545 %mul = mul i32 %conv, -9 |
| 1546 %conv1 = trunc i32 %mul to i16 |
| 1547 %conv1.ret_ext = zext i16 %conv1 to i32 |
| 1548 ret i32 %conv1.ret_ext |
| 1549 } |
| 1550 |
| 1551 define internal i32 @_Z15testMultiplyBy9jj(i32 %a, i32) { |
| 1552 entry: |
| 1553 %mul = mul i32 %a, 9 |
| 1554 ret i32 %mul |
| 1555 } |
| 1556 |
| 1557 define internal i32 @_Z18testMultiplyByNeg9jj(i32 %a, i32) { |
| 1558 entry: |
| 1559 %mul = mul i32 %a, -9 |
| 1560 ret i32 %mul |
| 1561 } |
| 1562 |
| 1563 define internal i64 @_Z15testMultiplyBy9yy(i64 %a, i64) { |
| 1564 entry: |
| 1565 %mul = mul i64 %a, 9 |
| 1566 ret i64 %mul |
| 1567 } |
| 1568 |
| 1569 define internal i64 @_Z18testMultiplyByNeg9yy(i64 %a, i64) { |
| 1570 entry: |
| 1571 %mul = mul i64 %a, -9 |
| 1572 ret i64 %mul |
| 1573 } |
| 1574 |
| 1575 define internal i32 @_Z16testMultiplyBy10bb(i32 %a, i32) { |
| 1576 entry: |
| 1577 %a.arg_trunc = trunc i32 %a to i1 |
| 1578 %a.arg_trunc.ret_ext = zext i1 %a.arg_trunc to i32 |
| 1579 ret i32 %a.arg_trunc.ret_ext |
| 1580 } |
| 1581 |
| 1582 define internal i32 @_Z19testMultiplyByNeg10bb(i32 %a, i32) { |
| 1583 entry: |
| 1584 %a.arg_trunc = trunc i32 %a to i1 |
| 1585 %a.arg_trunc.ret_ext = zext i1 %a.arg_trunc to i32 |
| 1586 ret i32 %a.arg_trunc.ret_ext |
| 1587 } |
| 1588 |
| 1589 define internal i32 @_Z16testMultiplyBy10hh(i32 %a, i32) { |
| 1590 entry: |
| 1591 %a.arg_trunc = trunc i32 %a to i8 |
| 1592 %conv = zext i8 %a.arg_trunc to i32 |
| 1593 %mul = mul i32 %conv, 10 |
| 1594 %conv1 = trunc i32 %mul to i8 |
| 1595 %conv1.ret_ext = zext i8 %conv1 to i32 |
| 1596 ret i32 %conv1.ret_ext |
| 1597 } |
| 1598 |
| 1599 define internal i32 @_Z19testMultiplyByNeg10hh(i32 %a, i32) { |
| 1600 entry: |
| 1601 %a.arg_trunc = trunc i32 %a to i8 |
| 1602 %conv = zext i8 %a.arg_trunc to i32 |
| 1603 %mul = mul i32 %conv, -10 |
| 1604 %conv1 = trunc i32 %mul to i8 |
| 1605 %conv1.ret_ext = zext i8 %conv1 to i32 |
| 1606 ret i32 %conv1.ret_ext |
| 1607 } |
| 1608 |
| 1609 define internal i32 @_Z16testMultiplyBy10tt(i32 %a, i32) { |
| 1610 entry: |
| 1611 %a.arg_trunc = trunc i32 %a to i16 |
| 1612 %conv = zext i16 %a.arg_trunc to i32 |
| 1613 %mul = mul i32 %conv, 10 |
| 1614 %conv1 = trunc i32 %mul to i16 |
| 1615 %conv1.ret_ext = zext i16 %conv1 to i32 |
| 1616 ret i32 %conv1.ret_ext |
| 1617 } |
| 1618 |
| 1619 define internal i32 @_Z19testMultiplyByNeg10tt(i32 %a, i32) { |
| 1620 entry: |
| 1621 %a.arg_trunc = trunc i32 %a to i16 |
| 1622 %conv = zext i16 %a.arg_trunc to i32 |
| 1623 %mul = mul i32 %conv, -10 |
| 1624 %conv1 = trunc i32 %mul to i16 |
| 1625 %conv1.ret_ext = zext i16 %conv1 to i32 |
| 1626 ret i32 %conv1.ret_ext |
| 1627 } |
| 1628 |
| 1629 define internal i32 @_Z16testMultiplyBy10jj(i32 %a, i32) { |
| 1630 entry: |
| 1631 %mul = mul i32 %a, 10 |
| 1632 ret i32 %mul |
| 1633 } |
| 1634 |
| 1635 define internal i32 @_Z19testMultiplyByNeg10jj(i32 %a, i32) { |
| 1636 entry: |
| 1637 %mul = mul i32 %a, -10 |
| 1638 ret i32 %mul |
| 1639 } |
| 1640 |
| 1641 define internal i64 @_Z16testMultiplyBy10yy(i64 %a, i64) { |
| 1642 entry: |
| 1643 %mul = mul i64 %a, 10 |
| 1644 ret i64 %mul |
| 1645 } |
| 1646 |
| 1647 define internal i64 @_Z19testMultiplyByNeg10yy(i64 %a, i64) { |
| 1648 entry: |
| 1649 %mul = mul i64 %a, -10 |
| 1650 ret i64 %mul |
| 1651 } |
| 1652 |
| 1653 define internal i32 @_Z16testMultiplyBy25bb(i32 %a, i32) { |
| 1654 entry: |
| 1655 %a.arg_trunc = trunc i32 %a to i1 |
| 1656 %a.arg_trunc.ret_ext = zext i1 %a.arg_trunc to i32 |
| 1657 ret i32 %a.arg_trunc.ret_ext |
| 1658 } |
| 1659 |
| 1660 define internal i32 @_Z19testMultiplyByNeg25bb(i32 %a, i32) { |
| 1661 entry: |
| 1662 %a.arg_trunc = trunc i32 %a to i1 |
| 1663 %a.arg_trunc.ret_ext = zext i1 %a.arg_trunc to i32 |
| 1664 ret i32 %a.arg_trunc.ret_ext |
| 1665 } |
| 1666 |
| 1667 define internal i32 @_Z16testMultiplyBy25hh(i32 %a, i32) { |
| 1668 entry: |
| 1669 %a.arg_trunc = trunc i32 %a to i8 |
| 1670 %conv = zext i8 %a.arg_trunc to i32 |
| 1671 %mul = mul i32 %conv, 25 |
| 1672 %conv1 = trunc i32 %mul to i8 |
| 1673 %conv1.ret_ext = zext i8 %conv1 to i32 |
| 1674 ret i32 %conv1.ret_ext |
| 1675 } |
| 1676 |
| 1677 define internal i32 @_Z19testMultiplyByNeg25hh(i32 %a, i32) { |
| 1678 entry: |
| 1679 %a.arg_trunc = trunc i32 %a to i8 |
| 1680 %conv = zext i8 %a.arg_trunc to i32 |
| 1681 %mul = mul i32 %conv, -25 |
| 1682 %conv1 = trunc i32 %mul to i8 |
| 1683 %conv1.ret_ext = zext i8 %conv1 to i32 |
| 1684 ret i32 %conv1.ret_ext |
| 1685 } |
| 1686 |
| 1687 define internal i32 @_Z16testMultiplyBy25tt(i32 %a, i32) { |
| 1688 entry: |
| 1689 %a.arg_trunc = trunc i32 %a to i16 |
| 1690 %conv = zext i16 %a.arg_trunc to i32 |
| 1691 %mul = mul i32 %conv, 25 |
| 1692 %conv1 = trunc i32 %mul to i16 |
| 1693 %conv1.ret_ext = zext i16 %conv1 to i32 |
| 1694 ret i32 %conv1.ret_ext |
| 1695 } |
| 1696 |
| 1697 define internal i32 @_Z19testMultiplyByNeg25tt(i32 %a, i32) { |
| 1698 entry: |
| 1699 %a.arg_trunc = trunc i32 %a to i16 |
| 1700 %conv = zext i16 %a.arg_trunc to i32 |
| 1701 %mul = mul i32 %conv, -25 |
| 1702 %conv1 = trunc i32 %mul to i16 |
| 1703 %conv1.ret_ext = zext i16 %conv1 to i32 |
| 1704 ret i32 %conv1.ret_ext |
| 1705 } |
| 1706 |
| 1707 define internal i32 @_Z16testMultiplyBy25jj(i32 %a, i32) { |
| 1708 entry: |
| 1709 %mul = mul i32 %a, 25 |
| 1710 ret i32 %mul |
| 1711 } |
| 1712 |
| 1713 define internal i32 @_Z19testMultiplyByNeg25jj(i32 %a, i32) { |
| 1714 entry: |
| 1715 %mul = mul i32 %a, -25 |
| 1716 ret i32 %mul |
| 1717 } |
| 1718 |
| 1719 define internal i64 @_Z16testMultiplyBy25yy(i64 %a, i64) { |
| 1720 entry: |
| 1721 %mul = mul i64 %a, 25 |
| 1722 ret i64 %mul |
| 1723 } |
| 1724 |
| 1725 define internal i64 @_Z19testMultiplyByNeg25yy(i64 %a, i64) { |
| 1726 entry: |
| 1727 %mul = mul i64 %a, -25 |
| 1728 ret i64 %mul |
| 1729 } |
| 1730 |
| 1731 define internal i32 @_Z17testMultiplyBy100bb(i32 %a, i32) { |
| 1732 entry: |
| 1733 %a.arg_trunc = trunc i32 %a to i1 |
| 1734 %a.arg_trunc.ret_ext = zext i1 %a.arg_trunc to i32 |
| 1735 ret i32 %a.arg_trunc.ret_ext |
| 1736 } |
| 1737 |
| 1738 define internal i32 @_Z20testMultiplyByNeg100bb(i32 %a, i32) { |
| 1739 entry: |
| 1740 %a.arg_trunc = trunc i32 %a to i1 |
| 1741 %a.arg_trunc.ret_ext = zext i1 %a.arg_trunc to i32 |
| 1742 ret i32 %a.arg_trunc.ret_ext |
| 1743 } |
| 1744 |
| 1745 define internal i32 @_Z17testMultiplyBy100hh(i32 %a, i32) { |
| 1746 entry: |
| 1747 %a.arg_trunc = trunc i32 %a to i8 |
| 1748 %conv = zext i8 %a.arg_trunc to i32 |
| 1749 %mul = mul i32 %conv, 100 |
| 1750 %conv1 = trunc i32 %mul to i8 |
| 1751 %conv1.ret_ext = zext i8 %conv1 to i32 |
| 1752 ret i32 %conv1.ret_ext |
| 1753 } |
| 1754 |
| 1755 define internal i32 @_Z20testMultiplyByNeg100hh(i32 %a, i32) { |
| 1756 entry: |
| 1757 %a.arg_trunc = trunc i32 %a to i8 |
| 1758 %conv = zext i8 %a.arg_trunc to i32 |
| 1759 %mul = mul i32 %conv, -100 |
| 1760 %conv1 = trunc i32 %mul to i8 |
| 1761 %conv1.ret_ext = zext i8 %conv1 to i32 |
| 1762 ret i32 %conv1.ret_ext |
| 1763 } |
| 1764 |
| 1765 define internal i32 @_Z17testMultiplyBy100tt(i32 %a, i32) { |
| 1766 entry: |
| 1767 %a.arg_trunc = trunc i32 %a to i16 |
| 1768 %conv = zext i16 %a.arg_trunc to i32 |
| 1769 %mul = mul i32 %conv, 100 |
| 1770 %conv1 = trunc i32 %mul to i16 |
| 1771 %conv1.ret_ext = zext i16 %conv1 to i32 |
| 1772 ret i32 %conv1.ret_ext |
| 1773 } |
| 1774 |
| 1775 define internal i32 @_Z20testMultiplyByNeg100tt(i32 %a, i32) { |
| 1776 entry: |
| 1777 %a.arg_trunc = trunc i32 %a to i16 |
| 1778 %conv = zext i16 %a.arg_trunc to i32 |
| 1779 %mul = mul i32 %conv, -100 |
| 1780 %conv1 = trunc i32 %mul to i16 |
| 1781 %conv1.ret_ext = zext i16 %conv1 to i32 |
| 1782 ret i32 %conv1.ret_ext |
| 1783 } |
| 1784 |
| 1785 define internal i32 @_Z17testMultiplyBy100jj(i32 %a, i32) { |
| 1786 entry: |
| 1787 %mul = mul i32 %a, 100 |
| 1788 ret i32 %mul |
| 1789 } |
| 1790 |
| 1791 define internal i32 @_Z20testMultiplyByNeg100jj(i32 %a, i32) { |
| 1792 entry: |
| 1793 %mul = mul i32 %a, -100 |
| 1794 ret i32 %mul |
| 1795 } |
| 1796 |
| 1797 define internal i64 @_Z17testMultiplyBy100yy(i64 %a, i64) { |
| 1798 entry: |
| 1799 %mul = mul i64 %a, 100 |
| 1800 ret i64 %mul |
| 1801 } |
| 1802 |
| 1803 define internal i64 @_Z20testMultiplyByNeg100yy(i64 %a, i64) { |
| 1804 entry: |
| 1805 %mul = mul i64 %a, -100 |
| 1806 ret i64 %mul |
| 1807 } |
| 1808 |
| 1809 define internal i32 @_Z17testMultiplyBy232bb(i32 %a, i32) { |
| 1810 entry: |
| 1811 %a.arg_trunc = trunc i32 %a to i1 |
| 1812 %a.arg_trunc.ret_ext = zext i1 %a.arg_trunc to i32 |
| 1813 ret i32 %a.arg_trunc.ret_ext |
| 1814 } |
| 1815 |
| 1816 define internal i32 @_Z20testMultiplyByNeg232bb(i32 %a, i32) { |
| 1817 entry: |
| 1818 %a.arg_trunc = trunc i32 %a to i1 |
| 1819 %a.arg_trunc.ret_ext = zext i1 %a.arg_trunc to i32 |
| 1820 ret i32 %a.arg_trunc.ret_ext |
| 1821 } |
| 1822 |
| 1823 define internal i32 @_Z17testMultiplyBy232hh(i32 %a, i32) { |
| 1824 entry: |
| 1825 %a.arg_trunc = trunc i32 %a to i8 |
| 1826 %conv = zext i8 %a.arg_trunc to i32 |
| 1827 %mul = mul i32 %conv, 232 |
| 1828 %conv1 = trunc i32 %mul to i8 |
| 1829 %conv1.ret_ext = zext i8 %conv1 to i32 |
| 1830 ret i32 %conv1.ret_ext |
| 1831 } |
| 1832 |
| 1833 define internal i32 @_Z20testMultiplyByNeg232hh(i32 %a, i32) { |
| 1834 entry: |
| 1835 %a.arg_trunc = trunc i32 %a to i8 |
| 1836 %conv = zext i8 %a.arg_trunc to i32 |
| 1837 %mul = mul i32 %conv, -232 |
| 1838 %conv1 = trunc i32 %mul to i8 |
| 1839 %conv1.ret_ext = zext i8 %conv1 to i32 |
| 1840 ret i32 %conv1.ret_ext |
| 1841 } |
| 1842 |
| 1843 define internal i32 @_Z17testMultiplyBy232tt(i32 %a, i32) { |
| 1844 entry: |
| 1845 %a.arg_trunc = trunc i32 %a to i16 |
| 1846 %conv = zext i16 %a.arg_trunc to i32 |
| 1847 %mul = mul i32 %conv, 232 |
| 1848 %conv1 = trunc i32 %mul to i16 |
| 1849 %conv1.ret_ext = zext i16 %conv1 to i32 |
| 1850 ret i32 %conv1.ret_ext |
| 1851 } |
| 1852 |
| 1853 define internal i32 @_Z20testMultiplyByNeg232tt(i32 %a, i32) { |
| 1854 entry: |
| 1855 %a.arg_trunc = trunc i32 %a to i16 |
| 1856 %conv = zext i16 %a.arg_trunc to i32 |
| 1857 %mul = mul i32 %conv, -232 |
| 1858 %conv1 = trunc i32 %mul to i16 |
| 1859 %conv1.ret_ext = zext i16 %conv1 to i32 |
| 1860 ret i32 %conv1.ret_ext |
| 1861 } |
| 1862 |
| 1863 define internal i32 @_Z17testMultiplyBy232jj(i32 %a, i32) { |
| 1864 entry: |
| 1865 %mul = mul i32 %a, 232 |
| 1866 ret i32 %mul |
| 1867 } |
| 1868 |
| 1869 define internal i32 @_Z20testMultiplyByNeg232jj(i32 %a, i32) { |
| 1870 entry: |
| 1871 %mul = mul i32 %a, -232 |
| 1872 ret i32 %mul |
| 1873 } |
| 1874 |
| 1875 define internal i64 @_Z17testMultiplyBy232yy(i64 %a, i64) { |
| 1876 entry: |
| 1877 %mul = mul i64 %a, 232 |
| 1878 ret i64 %mul |
| 1879 } |
| 1880 |
| 1881 define internal i64 @_Z20testMultiplyByNeg232yy(i64 %a, i64) { |
| 1882 entry: |
| 1883 %mul = mul i64 %a, -232 |
| 1884 ret i64 %mul |
| 1885 } |
| 1886 |
| 1887 define internal i32 @_Z24testMultiplyBy0x00FFF001bb(i32 %a, i32) { |
| 1888 entry: |
| 1889 %a.arg_trunc = trunc i32 %a to i1 |
| 1890 %a.arg_trunc.ret_ext = zext i1 %a.arg_trunc to i32 |
| 1891 ret i32 %a.arg_trunc.ret_ext |
| 1892 } |
| 1893 |
| 1894 define internal i32 @_Z27testMultiplyByNeg0x00FFF001bb(i32 %a, i32) { |
| 1895 entry: |
| 1896 %a.arg_trunc = trunc i32 %a to i1 |
| 1897 %a.arg_trunc.ret_ext = zext i1 %a.arg_trunc to i32 |
| 1898 ret i32 %a.arg_trunc.ret_ext |
| 1899 } |
| 1900 |
| 1901 define internal i32 @_Z24testMultiplyBy0x00FFF001hh(i32 %a, i32) { |
| 1902 entry: |
| 1903 %a.arg_trunc = trunc i32 %a to i8 |
| 1904 %conv = zext i8 %a.arg_trunc to i32 |
| 1905 %mul = mul i32 %conv, 16773121 |
| 1906 %conv1 = trunc i32 %mul to i8 |
| 1907 %conv1.ret_ext = zext i8 %conv1 to i32 |
| 1908 ret i32 %conv1.ret_ext |
| 1909 } |
| 1910 |
| 1911 define internal i32 @_Z27testMultiplyByNeg0x00FFF001hh(i32 %a, i32) { |
| 1912 entry: |
| 1913 %a.arg_trunc = trunc i32 %a to i8 |
| 1914 %conv = zext i8 %a.arg_trunc to i32 |
| 1915 %mul = mul i32 %conv, -16773121 |
| 1916 %conv1 = trunc i32 %mul to i8 |
| 1917 %conv1.ret_ext = zext i8 %conv1 to i32 |
| 1918 ret i32 %conv1.ret_ext |
| 1919 } |
| 1920 |
| 1921 define internal i32 @_Z24testMultiplyBy0x00FFF001tt(i32 %a, i32) { |
| 1922 entry: |
| 1923 %a.arg_trunc = trunc i32 %a to i16 |
| 1924 %conv = zext i16 %a.arg_trunc to i32 |
| 1925 %mul = mul i32 %conv, 16773121 |
| 1926 %conv1 = trunc i32 %mul to i16 |
| 1927 %conv1.ret_ext = zext i16 %conv1 to i32 |
| 1928 ret i32 %conv1.ret_ext |
| 1929 } |
| 1930 |
| 1931 define internal i32 @_Z27testMultiplyByNeg0x00FFF001tt(i32 %a, i32) { |
| 1932 entry: |
| 1933 %a.arg_trunc = trunc i32 %a to i16 |
| 1934 %conv = zext i16 %a.arg_trunc to i32 |
| 1935 %mul = mul i32 %conv, -16773121 |
| 1936 %conv1 = trunc i32 %mul to i16 |
| 1937 %conv1.ret_ext = zext i16 %conv1 to i32 |
| 1938 ret i32 %conv1.ret_ext |
| 1939 } |
| 1940 |
| 1941 define internal i32 @_Z24testMultiplyBy0x00FFF001jj(i32 %a, i32) { |
| 1942 entry: |
| 1943 %mul = mul i32 %a, 16773121 |
| 1944 ret i32 %mul |
| 1945 } |
| 1946 |
| 1947 define internal i32 @_Z27testMultiplyByNeg0x00FFF001jj(i32 %a, i32) { |
| 1948 entry: |
| 1949 %mul = mul i32 %a, -16773121 |
| 1950 ret i32 %mul |
| 1951 } |
| 1952 |
| 1953 define internal i64 @_Z24testMultiplyBy0x00FFF001yy(i64 %a, i64) { |
| 1954 entry: |
| 1955 %mul = mul i64 %a, 16773121 |
| 1956 ret i64 %mul |
| 1957 } |
| 1958 |
| 1959 define internal i64 @_Z27testMultiplyByNeg0x00FFF001yy(i64 %a, i64) { |
| 1960 entry: |
| 1961 %mul = mul i64 %a, -16773121 |
| 1962 ret i64 %mul |
| 1963 } |
| 1964 |
| 1965 define internal i32 @_Z24testMultiplyBy0x01000000bb(i32 %a, i32) { |
| 1966 entry: |
| 1967 %a.arg_trunc = trunc i32 %a to i1 |
| 1968 %a.arg_trunc.ret_ext = zext i1 %a.arg_trunc to i32 |
| 1969 ret i32 %a.arg_trunc.ret_ext |
| 1970 } |
| 1971 |
| 1972 define internal i32 @_Z27testMultiplyByNeg0x01000000bb(i32 %a, i32) { |
| 1973 entry: |
| 1974 %a.arg_trunc = trunc i32 %a to i1 |
| 1975 %a.arg_trunc.ret_ext = zext i1 %a.arg_trunc to i32 |
| 1976 ret i32 %a.arg_trunc.ret_ext |
| 1977 } |
| 1978 |
| 1979 define internal i32 @_Z24testMultiplyBy0x01000000hh(i32 %a, i32) { |
| 1980 entry: |
| 1981 %.ret_ext = zext i8 0 to i32 |
| 1982 ret i32 %.ret_ext |
| 1983 } |
| 1984 |
| 1985 define internal i32 @_Z27testMultiplyByNeg0x01000000hh(i32 %a, i32) { |
| 1986 entry: |
| 1987 %.ret_ext = zext i8 0 to i32 |
| 1988 ret i32 %.ret_ext |
| 1989 } |
| 1990 |
| 1991 define internal i32 @_Z24testMultiplyBy0x01000000tt(i32 %a, i32) { |
| 1992 entry: |
| 1993 %.ret_ext = zext i16 0 to i32 |
| 1994 ret i32 %.ret_ext |
| 1995 } |
| 1996 |
| 1997 define internal i32 @_Z27testMultiplyByNeg0x01000000tt(i32 %a, i32) { |
| 1998 entry: |
| 1999 %.ret_ext = zext i16 0 to i32 |
| 2000 ret i32 %.ret_ext |
| 2001 } |
| 2002 |
| 2003 define internal i32 @_Z24testMultiplyBy0x01000000jj(i32 %a, i32) { |
| 2004 entry: |
| 2005 %mul = shl i32 %a, 24 |
| 2006 ret i32 %mul |
| 2007 } |
| 2008 |
| 2009 define internal i32 @_Z27testMultiplyByNeg0x01000000jj(i32 %a, i32) { |
| 2010 entry: |
| 2011 %mul = mul i32 %a, -16777216 |
| 2012 ret i32 %mul |
| 2013 } |
| 2014 |
| 2015 define internal i64 @_Z24testMultiplyBy0x01000000yy(i64 %a, i64) { |
| 2016 entry: |
| 2017 %mul = shl i64 %a, 24 |
| 2018 ret i64 %mul |
| 2019 } |
| 2020 |
| 2021 define internal i64 @_Z27testMultiplyByNeg0x01000000yy(i64 %a, i64) { |
| 2022 entry: |
| 2023 %mul = mul i64 %a, -16777216 |
| 2024 ret i64 %mul |
| 2025 } |
| 2026 |
| 2027 define internal i32 @_Z24testMultiplyBy0x7FFFF07Fbb(i32 %a, i32) { |
| 2028 entry: |
| 2029 %a.arg_trunc = trunc i32 %a to i1 |
| 2030 %a.arg_trunc.ret_ext = zext i1 %a.arg_trunc to i32 |
| 2031 ret i32 %a.arg_trunc.ret_ext |
| 2032 } |
| 2033 |
| 2034 define internal i32 @_Z27testMultiplyByNeg0x7FFFF07Fbb(i32 %a, i32) { |
| 2035 entry: |
| 2036 %a.arg_trunc = trunc i32 %a to i1 |
| 2037 %a.arg_trunc.ret_ext = zext i1 %a.arg_trunc to i32 |
| 2038 ret i32 %a.arg_trunc.ret_ext |
| 2039 } |
| 2040 |
| 2041 define internal i32 @_Z24testMultiplyBy0x7FFFF07Fhh(i32 %a, i32) { |
| 2042 entry: |
| 2043 %a.arg_trunc = trunc i32 %a to i8 |
| 2044 %conv = zext i8 %a.arg_trunc to i32 |
| 2045 %mul = mul i32 %conv, 2147479679 |
| 2046 %conv1 = trunc i32 %mul to i8 |
| 2047 %conv1.ret_ext = zext i8 %conv1 to i32 |
| 2048 ret i32 %conv1.ret_ext |
| 2049 } |
| 2050 |
| 2051 define internal i32 @_Z27testMultiplyByNeg0x7FFFF07Fhh(i32 %a, i32) { |
| 2052 entry: |
| 2053 %a.arg_trunc = trunc i32 %a to i8 |
| 2054 %conv = zext i8 %a.arg_trunc to i32 |
| 2055 %mul = mul i32 %conv, -2147479679 |
| 2056 %conv1 = trunc i32 %mul to i8 |
| 2057 %conv1.ret_ext = zext i8 %conv1 to i32 |
| 2058 ret i32 %conv1.ret_ext |
| 2059 } |
| 2060 |
| 2061 define internal i32 @_Z24testMultiplyBy0x7FFFF07Ftt(i32 %a, i32) { |
| 2062 entry: |
| 2063 %a.arg_trunc = trunc i32 %a to i16 |
| 2064 %conv = zext i16 %a.arg_trunc to i32 |
| 2065 %mul = mul i32 %conv, 2147479679 |
| 2066 %conv1 = trunc i32 %mul to i16 |
| 2067 %conv1.ret_ext = zext i16 %conv1 to i32 |
| 2068 ret i32 %conv1.ret_ext |
| 2069 } |
| 2070 |
| 2071 define internal i32 @_Z27testMultiplyByNeg0x7FFFF07Ftt(i32 %a, i32) { |
| 2072 entry: |
| 2073 %a.arg_trunc = trunc i32 %a to i16 |
| 2074 %conv = zext i16 %a.arg_trunc to i32 |
| 2075 %mul = mul i32 %conv, -2147479679 |
| 2076 %conv1 = trunc i32 %mul to i16 |
| 2077 %conv1.ret_ext = zext i16 %conv1 to i32 |
| 2078 ret i32 %conv1.ret_ext |
| 2079 } |
| 2080 |
| 2081 define internal i32 @_Z24testMultiplyBy0x7FFFF07Fjj(i32 %a, i32) { |
| 2082 entry: |
| 2083 %mul = mul i32 %a, 2147479679 |
| 2084 ret i32 %mul |
| 2085 } |
| 2086 |
| 2087 define internal i32 @_Z27testMultiplyByNeg0x7FFFF07Fjj(i32 %a, i32) { |
| 2088 entry: |
| 2089 %mul = mul i32 %a, -2147479679 |
| 2090 ret i32 %mul |
| 2091 } |
| 2092 |
| 2093 define internal i64 @_Z24testMultiplyBy0x7FFFF07Fyy(i64 %a, i64) { |
| 2094 entry: |
| 2095 %mul = mul i64 %a, 2147479679 |
| 2096 ret i64 %mul |
| 2097 } |
| 2098 |
| 2099 define internal i64 @_Z27testMultiplyByNeg0x7FFFF07Fyy(i64 %a, i64) { |
| 2100 entry: |
| 2101 %mul = mul i64 %a, -2147479679 |
| 2102 ret i64 %mul |
| 2103 } |
| 2104 |
| 2105 define internal i32 @_Z24testMultiplyBy0x80000000bb(i32 %a, i32) { |
| 2106 entry: |
| 2107 %a.arg_trunc = trunc i32 %a to i1 |
| 2108 %a.arg_trunc.ret_ext = zext i1 %a.arg_trunc to i32 |
| 2109 ret i32 %a.arg_trunc.ret_ext |
| 2110 } |
| 2111 |
| 2112 define internal i32 @_Z27testMultiplyByNeg0x80000000bb(i32 %a, i32) { |
| 2113 entry: |
| 2114 %a.arg_trunc = trunc i32 %a to i1 |
| 2115 %a.arg_trunc.ret_ext = zext i1 %a.arg_trunc to i32 |
| 2116 ret i32 %a.arg_trunc.ret_ext |
| 2117 } |
| 2118 |
| 2119 define internal i32 @_Z24testMultiplyBy0x80000000hh(i32 %a, i32) { |
| 2120 entry: |
| 2121 %.ret_ext = zext i8 0 to i32 |
| 2122 ret i32 %.ret_ext |
| 2123 } |
| 2124 |
| 2125 define internal i32 @_Z27testMultiplyByNeg0x80000000hh(i32 %a, i32) { |
| 2126 entry: |
| 2127 %.ret_ext = zext i8 0 to i32 |
| 2128 ret i32 %.ret_ext |
| 2129 } |
| 2130 |
| 2131 define internal i32 @_Z24testMultiplyBy0x80000000tt(i32 %a, i32) { |
| 2132 entry: |
| 2133 %.ret_ext = zext i16 0 to i32 |
| 2134 ret i32 %.ret_ext |
| 2135 } |
| 2136 |
| 2137 define internal i32 @_Z27testMultiplyByNeg0x80000000tt(i32 %a, i32) { |
| 2138 entry: |
| 2139 %.ret_ext = zext i16 0 to i32 |
| 2140 ret i32 %.ret_ext |
| 2141 } |
| 2142 |
| 2143 define internal i32 @_Z24testMultiplyBy0x80000000jj(i32 %a, i32) { |
| 2144 entry: |
| 2145 %mul = shl i32 %a, 31 |
| 2146 ret i32 %mul |
| 2147 } |
| 2148 |
| 2149 define internal i32 @_Z27testMultiplyByNeg0x80000000jj(i32 %a, i32) { |
| 2150 entry: |
| 2151 %mul = shl i32 %a, 31 |
| 2152 ret i32 %mul |
| 2153 } |
| 2154 |
| 2155 define internal i64 @_Z24testMultiplyBy0x80000000yy(i64 %a, i64) { |
| 2156 entry: |
| 2157 %mul = shl i64 %a, 31 |
| 2158 ret i64 %mul |
| 2159 } |
| 2160 |
| 2161 define internal i64 @_Z27testMultiplyByNeg0x80000000yy(i64 %a, i64) { |
| 2162 entry: |
| 2163 %mul = shl i64 %a, 31 |
| 2164 ret i64 %mul |
| 2165 } |
| OLD | NEW |