| OLD | NEW |
| (Empty) | |
| 1 |
| 2 define internal i32 @_Z7testAddbb(i32 %a, i32 %b) { |
| 3 |
| 4 |
| 5 %result = add i32 %a, %b |
| 6 |
| 7 ret i32 %result |
| 8 } |
| 9 |
| 10 define internal i32 @_Z7testAddhh(i32 %a, i32 %b) { |
| 11 %a.trunc = trunc i32 %a to i8 |
| 12 %b.trunc = trunc i32 %b to i8 |
| 13 %result.trunc = add i8 %a.trunc, %b.trunc |
| 14 %result = zext i8 %result.trunc to i32 |
| 15 ret i32 %result |
| 16 } |
| 17 |
| 18 define internal i32 @_Z7testAddtt(i32 %a, i32 %b) { |
| 19 %a.trunc = trunc i32 %a to i16 |
| 20 %b.trunc = trunc i32 %b to i16 |
| 21 %result.trunc = add i16 %a.trunc, %b.trunc |
| 22 %result = zext i16 %result.trunc to i32 |
| 23 ret i32 %result |
| 24 } |
| 25 |
| 26 define internal i32 @_Z7testAddjj(i32 %a, i32 %b) { |
| 27 |
| 28 |
| 29 %result = add i32 %a, %b |
| 30 |
| 31 ret i32 %result |
| 32 } |
| 33 |
| 34 define internal i64 @_Z7testAddyy(i64 %a, i64 %b) { |
| 35 |
| 36 |
| 37 %result = add i64 %a, %b |
| 38 |
| 39 ret i64 %result |
| 40 } |
| 41 |
| 42 define internal <4 x i32> @_Z7testAddDv4_jS_(<4 x i32> %a, <4 x i32> %b) { |
| 43 |
| 44 |
| 45 %result = add <4 x i32> %a, %b |
| 46 |
| 47 ret <4 x i32> %result |
| 48 } |
| 49 |
| 50 define internal <8 x i16> @_Z7testAddDv8_tS_(<8 x i16> %a, <8 x i16> %b) { |
| 51 |
| 52 |
| 53 %result = add <8 x i16> %a, %b |
| 54 |
| 55 ret <8 x i16> %result |
| 56 } |
| 57 |
| 58 define internal <16 x i8> @_Z7testAddDv16_hS_(<16 x i8> %a, <16 x i8> %b) { |
| 59 |
| 60 |
| 61 %result = add <16 x i8> %a, %b |
| 62 |
| 63 ret <16 x i8> %result |
| 64 } |
| 65 |
| 66 define internal i32 @_Z7testSubbb(i32 %a, i32 %b) { |
| 67 |
| 68 |
| 69 %result = sub i32 %a, %b |
| 70 |
| 71 ret i32 %result |
| 72 } |
| 73 |
| 74 define internal i32 @_Z7testSubhh(i32 %a, i32 %b) { |
| 75 %a.trunc = trunc i32 %a to i8 |
| 76 %b.trunc = trunc i32 %b to i8 |
| 77 %result.trunc = sub i8 %a.trunc, %b.trunc |
| 78 %result = zext i8 %result.trunc to i32 |
| 79 ret i32 %result |
| 80 } |
| 81 |
| 82 define internal i32 @_Z7testSubtt(i32 %a, i32 %b) { |
| 83 %a.trunc = trunc i32 %a to i16 |
| 84 %b.trunc = trunc i32 %b to i16 |
| 85 %result.trunc = sub i16 %a.trunc, %b.trunc |
| 86 %result = zext i16 %result.trunc to i32 |
| 87 ret i32 %result |
| 88 } |
| 89 |
| 90 define internal i32 @_Z7testSubjj(i32 %a, i32 %b) { |
| 91 |
| 92 |
| 93 %result = sub i32 %a, %b |
| 94 |
| 95 ret i32 %result |
| 96 } |
| 97 |
| 98 define internal i64 @_Z7testSubyy(i64 %a, i64 %b) { |
| 99 |
| 100 |
| 101 %result = sub i64 %a, %b |
| 102 |
| 103 ret i64 %result |
| 104 } |
| 105 |
| 106 define internal <4 x i32> @_Z7testSubDv4_jS_(<4 x i32> %a, <4 x i32> %b) { |
| 107 |
| 108 |
| 109 %result = sub <4 x i32> %a, %b |
| 110 |
| 111 ret <4 x i32> %result |
| 112 } |
| 113 |
| 114 define internal <8 x i16> @_Z7testSubDv8_tS_(<8 x i16> %a, <8 x i16> %b) { |
| 115 |
| 116 |
| 117 %result = sub <8 x i16> %a, %b |
| 118 |
| 119 ret <8 x i16> %result |
| 120 } |
| 121 |
| 122 define internal <16 x i8> @_Z7testSubDv16_hS_(<16 x i8> %a, <16 x i8> %b) { |
| 123 |
| 124 |
| 125 %result = sub <16 x i8> %a, %b |
| 126 |
| 127 ret <16 x i8> %result |
| 128 } |
| 129 |
| 130 define internal i32 @_Z7testMulbb(i32 %a, i32 %b) { |
| 131 |
| 132 |
| 133 %result = mul i32 %a, %b |
| 134 |
| 135 ret i32 %result |
| 136 } |
| 137 |
| 138 define internal i32 @_Z7testMulhh(i32 %a, i32 %b) { |
| 139 %a.trunc = trunc i32 %a to i8 |
| 140 %b.trunc = trunc i32 %b to i8 |
| 141 %result.trunc = mul i8 %a.trunc, %b.trunc |
| 142 %result = zext i8 %result.trunc to i32 |
| 143 ret i32 %result |
| 144 } |
| 145 |
| 146 define internal i32 @_Z7testMultt(i32 %a, i32 %b) { |
| 147 %a.trunc = trunc i32 %a to i16 |
| 148 %b.trunc = trunc i32 %b to i16 |
| 149 %result.trunc = mul i16 %a.trunc, %b.trunc |
| 150 %result = zext i16 %result.trunc to i32 |
| 151 ret i32 %result |
| 152 } |
| 153 |
| 154 define internal i32 @_Z7testMuljj(i32 %a, i32 %b) { |
| 155 |
| 156 |
| 157 %result = mul i32 %a, %b |
| 158 |
| 159 ret i32 %result |
| 160 } |
| 161 |
| 162 define internal i64 @_Z7testMulyy(i64 %a, i64 %b) { |
| 163 |
| 164 |
| 165 %result = mul i64 %a, %b |
| 166 |
| 167 ret i64 %result |
| 168 } |
| 169 |
| 170 define internal <4 x i32> @_Z7testMulDv4_jS_(<4 x i32> %a, <4 x i32> %b) { |
| 171 |
| 172 |
| 173 %result = mul <4 x i32> %a, %b |
| 174 |
| 175 ret <4 x i32> %result |
| 176 } |
| 177 |
| 178 define internal <8 x i16> @_Z7testMulDv8_tS_(<8 x i16> %a, <8 x i16> %b) { |
| 179 |
| 180 |
| 181 %result = mul <8 x i16> %a, %b |
| 182 |
| 183 ret <8 x i16> %result |
| 184 } |
| 185 |
| 186 define internal <16 x i8> @_Z7testMulDv16_hS_(<16 x i8> %a, <16 x i8> %b) { |
| 187 |
| 188 |
| 189 %result = mul <16 x i8> %a, %b |
| 190 |
| 191 ret <16 x i8> %result |
| 192 } |
| 193 |
| 194 define internal i32 @_Z8testSdivbb(i32 %a, i32 %b) { |
| 195 |
| 196 |
| 197 %result = sdiv i32 %a, %b |
| 198 |
| 199 ret i32 %result |
| 200 } |
| 201 |
| 202 define internal i32 @_Z8testSdivaa(i32 %a, i32 %b) { |
| 203 %a.trunc = trunc i32 %a to i8 |
| 204 %b.trunc = trunc i32 %b to i8 |
| 205 %result.trunc = sdiv i8 %a.trunc, %b.trunc |
| 206 %result = sext i8 %result.trunc to i32 |
| 207 ret i32 %result |
| 208 } |
| 209 |
| 210 define internal i32 @_Z8testSdivss(i32 %a, i32 %b) { |
| 211 %a.trunc = trunc i32 %a to i16 |
| 212 %b.trunc = trunc i32 %b to i16 |
| 213 %result.trunc = sdiv i16 %a.trunc, %b.trunc |
| 214 %result = sext i16 %result.trunc to i32 |
| 215 ret i32 %result |
| 216 } |
| 217 |
| 218 define internal i32 @_Z8testSdivii(i32 %a, i32 %b) { |
| 219 |
| 220 |
| 221 %result = sdiv i32 %a, %b |
| 222 |
| 223 ret i32 %result |
| 224 } |
| 225 |
| 226 define internal i64 @_Z8testSdivxx(i64 %a, i64 %b) { |
| 227 |
| 228 |
| 229 %result = sdiv i64 %a, %b |
| 230 |
| 231 ret i64 %result |
| 232 } |
| 233 |
| 234 define internal <4 x i32> @_Z8testSdivDv4_iS_(<4 x i32> %a, <4 x i32> %b) { |
| 235 |
| 236 |
| 237 %result = sdiv <4 x i32> %a, %b |
| 238 |
| 239 ret <4 x i32> %result |
| 240 } |
| 241 |
| 242 define internal <8 x i16> @_Z8testSdivDv8_sS_(<8 x i16> %a, <8 x i16> %b) { |
| 243 |
| 244 |
| 245 %result = sdiv <8 x i16> %a, %b |
| 246 |
| 247 ret <8 x i16> %result |
| 248 } |
| 249 |
| 250 define internal <16 x i8> @_Z8testSdivDv16_aS_(<16 x i8> %a, <16 x i8> %b) { |
| 251 |
| 252 |
| 253 %result = sdiv <16 x i8> %a, %b |
| 254 |
| 255 ret <16 x i8> %result |
| 256 } |
| 257 |
| 258 define internal i32 @_Z8testUdivbb(i32 %a, i32 %b) { |
| 259 |
| 260 |
| 261 %result = udiv i32 %a, %b |
| 262 |
| 263 ret i32 %result |
| 264 } |
| 265 |
| 266 define internal i32 @_Z8testUdivhh(i32 %a, i32 %b) { |
| 267 %a.trunc = trunc i32 %a to i8 |
| 268 %b.trunc = trunc i32 %b to i8 |
| 269 %result.trunc = udiv i8 %a.trunc, %b.trunc |
| 270 %result = zext i8 %result.trunc to i32 |
| 271 ret i32 %result |
| 272 } |
| 273 |
| 274 define internal i32 @_Z8testUdivtt(i32 %a, i32 %b) { |
| 275 %a.trunc = trunc i32 %a to i16 |
| 276 %b.trunc = trunc i32 %b to i16 |
| 277 %result.trunc = udiv i16 %a.trunc, %b.trunc |
| 278 %result = zext i16 %result.trunc to i32 |
| 279 ret i32 %result |
| 280 } |
| 281 |
| 282 define internal i32 @_Z8testUdivjj(i32 %a, i32 %b) { |
| 283 |
| 284 |
| 285 %result = udiv i32 %a, %b |
| 286 |
| 287 ret i32 %result |
| 288 } |
| 289 |
| 290 define internal i64 @_Z8testUdivyy(i64 %a, i64 %b) { |
| 291 |
| 292 |
| 293 %result = udiv i64 %a, %b |
| 294 |
| 295 ret i64 %result |
| 296 } |
| 297 |
| 298 define internal <4 x i32> @_Z8testUdivDv4_jS_(<4 x i32> %a, <4 x i32> %b) { |
| 299 |
| 300 |
| 301 %result = udiv <4 x i32> %a, %b |
| 302 |
| 303 ret <4 x i32> %result |
| 304 } |
| 305 |
| 306 define internal <8 x i16> @_Z8testUdivDv8_tS_(<8 x i16> %a, <8 x i16> %b) { |
| 307 |
| 308 |
| 309 %result = udiv <8 x i16> %a, %b |
| 310 |
| 311 ret <8 x i16> %result |
| 312 } |
| 313 |
| 314 define internal <16 x i8> @_Z8testUdivDv16_hS_(<16 x i8> %a, <16 x i8> %b) { |
| 315 |
| 316 |
| 317 %result = udiv <16 x i8> %a, %b |
| 318 |
| 319 ret <16 x i8> %result |
| 320 } |
| 321 |
| 322 define internal i32 @_Z8testSrembb(i32 %a, i32 %b) { |
| 323 |
| 324 |
| 325 %result = srem i32 %a, %b |
| 326 |
| 327 ret i32 %result |
| 328 } |
| 329 |
| 330 define internal i32 @_Z8testSremaa(i32 %a, i32 %b) { |
| 331 %a.trunc = trunc i32 %a to i8 |
| 332 %b.trunc = trunc i32 %b to i8 |
| 333 %result.trunc = srem i8 %a.trunc, %b.trunc |
| 334 %result = sext i8 %result.trunc to i32 |
| 335 ret i32 %result |
| 336 } |
| 337 |
| 338 define internal i32 @_Z8testSremss(i32 %a, i32 %b) { |
| 339 %a.trunc = trunc i32 %a to i16 |
| 340 %b.trunc = trunc i32 %b to i16 |
| 341 %result.trunc = srem i16 %a.trunc, %b.trunc |
| 342 %result = sext i16 %result.trunc to i32 |
| 343 ret i32 %result |
| 344 } |
| 345 |
| 346 define internal i32 @_Z8testSremii(i32 %a, i32 %b) { |
| 347 |
| 348 |
| 349 %result = srem i32 %a, %b |
| 350 |
| 351 ret i32 %result |
| 352 } |
| 353 |
| 354 define internal i64 @_Z8testSremxx(i64 %a, i64 %b) { |
| 355 |
| 356 |
| 357 %result = srem i64 %a, %b |
| 358 |
| 359 ret i64 %result |
| 360 } |
| 361 |
| 362 define internal <4 x i32> @_Z8testSremDv4_iS_(<4 x i32> %a, <4 x i32> %b) { |
| 363 |
| 364 |
| 365 %result = srem <4 x i32> %a, %b |
| 366 |
| 367 ret <4 x i32> %result |
| 368 } |
| 369 |
| 370 define internal <8 x i16> @_Z8testSremDv8_sS_(<8 x i16> %a, <8 x i16> %b) { |
| 371 |
| 372 |
| 373 %result = srem <8 x i16> %a, %b |
| 374 |
| 375 ret <8 x i16> %result |
| 376 } |
| 377 |
| 378 define internal <16 x i8> @_Z8testSremDv16_aS_(<16 x i8> %a, <16 x i8> %b) { |
| 379 |
| 380 |
| 381 %result = srem <16 x i8> %a, %b |
| 382 |
| 383 ret <16 x i8> %result |
| 384 } |
| 385 |
| 386 define internal i32 @_Z8testUrembb(i32 %a, i32 %b) { |
| 387 |
| 388 |
| 389 %result = urem i32 %a, %b |
| 390 |
| 391 ret i32 %result |
| 392 } |
| 393 |
| 394 define internal i32 @_Z8testUremhh(i32 %a, i32 %b) { |
| 395 %a.trunc = trunc i32 %a to i8 |
| 396 %b.trunc = trunc i32 %b to i8 |
| 397 %result.trunc = urem i8 %a.trunc, %b.trunc |
| 398 %result = zext i8 %result.trunc to i32 |
| 399 ret i32 %result |
| 400 } |
| 401 |
| 402 define internal i32 @_Z8testUremtt(i32 %a, i32 %b) { |
| 403 %a.trunc = trunc i32 %a to i16 |
| 404 %b.trunc = trunc i32 %b to i16 |
| 405 %result.trunc = urem i16 %a.trunc, %b.trunc |
| 406 %result = zext i16 %result.trunc to i32 |
| 407 ret i32 %result |
| 408 } |
| 409 |
| 410 define internal i32 @_Z8testUremjj(i32 %a, i32 %b) { |
| 411 |
| 412 |
| 413 %result = urem i32 %a, %b |
| 414 |
| 415 ret i32 %result |
| 416 } |
| 417 |
| 418 define internal i64 @_Z8testUremyy(i64 %a, i64 %b) { |
| 419 |
| 420 |
| 421 %result = urem i64 %a, %b |
| 422 |
| 423 ret i64 %result |
| 424 } |
| 425 |
| 426 define internal <4 x i32> @_Z8testUremDv4_jS_(<4 x i32> %a, <4 x i32> %b) { |
| 427 |
| 428 |
| 429 %result = urem <4 x i32> %a, %b |
| 430 |
| 431 ret <4 x i32> %result |
| 432 } |
| 433 |
| 434 define internal <8 x i16> @_Z8testUremDv8_tS_(<8 x i16> %a, <8 x i16> %b) { |
| 435 |
| 436 |
| 437 %result = urem <8 x i16> %a, %b |
| 438 |
| 439 ret <8 x i16> %result |
| 440 } |
| 441 |
| 442 define internal <16 x i8> @_Z8testUremDv16_hS_(<16 x i8> %a, <16 x i8> %b) { |
| 443 |
| 444 |
| 445 %result = urem <16 x i8> %a, %b |
| 446 |
| 447 ret <16 x i8> %result |
| 448 } |
| 449 |
| 450 define internal i32 @_Z7testShlbb(i32 %a, i32 %b) { |
| 451 |
| 452 |
| 453 %result = shl i32 %a, %b |
| 454 |
| 455 ret i32 %result |
| 456 } |
| 457 |
| 458 define internal i32 @_Z7testShlhh(i32 %a, i32 %b) { |
| 459 %a.trunc = trunc i32 %a to i8 |
| 460 %b.trunc = trunc i32 %b to i8 |
| 461 %result.trunc = shl i8 %a.trunc, %b.trunc |
| 462 %result = zext i8 %result.trunc to i32 |
| 463 ret i32 %result |
| 464 } |
| 465 |
| 466 define internal i32 @_Z7testShltt(i32 %a, i32 %b) { |
| 467 %a.trunc = trunc i32 %a to i16 |
| 468 %b.trunc = trunc i32 %b to i16 |
| 469 %result.trunc = shl i16 %a.trunc, %b.trunc |
| 470 %result = zext i16 %result.trunc to i32 |
| 471 ret i32 %result |
| 472 } |
| 473 |
| 474 define internal i32 @_Z7testShljj(i32 %a, i32 %b) { |
| 475 |
| 476 |
| 477 %result = shl i32 %a, %b |
| 478 |
| 479 ret i32 %result |
| 480 } |
| 481 |
| 482 define internal i64 @_Z7testShlyy(i64 %a, i64 %b) { |
| 483 |
| 484 |
| 485 %result = shl i64 %a, %b |
| 486 |
| 487 ret i64 %result |
| 488 } |
| 489 |
| 490 define internal <4 x i32> @_Z7testShlDv4_jS_(<4 x i32> %a, <4 x i32> %b) { |
| 491 |
| 492 |
| 493 %result = shl <4 x i32> %a, %b |
| 494 |
| 495 ret <4 x i32> %result |
| 496 } |
| 497 |
| 498 define internal <8 x i16> @_Z7testShlDv8_tS_(<8 x i16> %a, <8 x i16> %b) { |
| 499 |
| 500 |
| 501 %result = shl <8 x i16> %a, %b |
| 502 |
| 503 ret <8 x i16> %result |
| 504 } |
| 505 |
| 506 define internal <16 x i8> @_Z7testShlDv16_hS_(<16 x i8> %a, <16 x i8> %b) { |
| 507 |
| 508 |
| 509 %result = shl <16 x i8> %a, %b |
| 510 |
| 511 ret <16 x i8> %result |
| 512 } |
| 513 |
| 514 define internal i32 @_Z8testLshrbb(i32 %a, i32 %b) { |
| 515 |
| 516 |
| 517 %result = lshr i32 %a, %b |
| 518 |
| 519 ret i32 %result |
| 520 } |
| 521 |
| 522 define internal i32 @_Z8testLshrhh(i32 %a, i32 %b) { |
| 523 %a.trunc = trunc i32 %a to i8 |
| 524 %b.trunc = trunc i32 %b to i8 |
| 525 %result.trunc = lshr i8 %a.trunc, %b.trunc |
| 526 %result = zext i8 %result.trunc to i32 |
| 527 ret i32 %result |
| 528 } |
| 529 |
| 530 define internal i32 @_Z8testLshrtt(i32 %a, i32 %b) { |
| 531 %a.trunc = trunc i32 %a to i16 |
| 532 %b.trunc = trunc i32 %b to i16 |
| 533 %result.trunc = lshr i16 %a.trunc, %b.trunc |
| 534 %result = zext i16 %result.trunc to i32 |
| 535 ret i32 %result |
| 536 } |
| 537 |
| 538 define internal i32 @_Z8testLshrjj(i32 %a, i32 %b) { |
| 539 |
| 540 |
| 541 %result = lshr i32 %a, %b |
| 542 |
| 543 ret i32 %result |
| 544 } |
| 545 |
| 546 define internal i64 @_Z8testLshryy(i64 %a, i64 %b) { |
| 547 |
| 548 |
| 549 %result = lshr i64 %a, %b |
| 550 |
| 551 ret i64 %result |
| 552 } |
| 553 |
| 554 define internal <4 x i32> @_Z8testLshrDv4_jS_(<4 x i32> %a, <4 x i32> %b) { |
| 555 |
| 556 |
| 557 %result = lshr <4 x i32> %a, %b |
| 558 |
| 559 ret <4 x i32> %result |
| 560 } |
| 561 |
| 562 define internal <8 x i16> @_Z8testLshrDv8_tS_(<8 x i16> %a, <8 x i16> %b) { |
| 563 |
| 564 |
| 565 %result = lshr <8 x i16> %a, %b |
| 566 |
| 567 ret <8 x i16> %result |
| 568 } |
| 569 |
| 570 define internal <16 x i8> @_Z8testLshrDv16_hS_(<16 x i8> %a, <16 x i8> %b) { |
| 571 |
| 572 |
| 573 %result = lshr <16 x i8> %a, %b |
| 574 |
| 575 ret <16 x i8> %result |
| 576 } |
| 577 |
| 578 define internal i32 @_Z8testAshrbb(i32 %a, i32 %b) { |
| 579 |
| 580 |
| 581 %result = ashr i32 %a, %b |
| 582 |
| 583 ret i32 %result |
| 584 } |
| 585 |
| 586 define internal i32 @_Z8testAshraa(i32 %a, i32 %b) { |
| 587 %a.trunc = trunc i32 %a to i8 |
| 588 %b.trunc = trunc i32 %b to i8 |
| 589 %result.trunc = ashr i8 %a.trunc, %b.trunc |
| 590 %result = sext i8 %result.trunc to i32 |
| 591 ret i32 %result |
| 592 } |
| 593 |
| 594 define internal i32 @_Z8testAshrss(i32 %a, i32 %b) { |
| 595 %a.trunc = trunc i32 %a to i16 |
| 596 %b.trunc = trunc i32 %b to i16 |
| 597 %result.trunc = ashr i16 %a.trunc, %b.trunc |
| 598 %result = sext i16 %result.trunc to i32 |
| 599 ret i32 %result |
| 600 } |
| 601 |
| 602 define internal i32 @_Z8testAshrii(i32 %a, i32 %b) { |
| 603 |
| 604 |
| 605 %result = ashr i32 %a, %b |
| 606 |
| 607 ret i32 %result |
| 608 } |
| 609 |
| 610 define internal i64 @_Z8testAshrxx(i64 %a, i64 %b) { |
| 611 |
| 612 |
| 613 %result = ashr i64 %a, %b |
| 614 |
| 615 ret i64 %result |
| 616 } |
| 617 |
| 618 define internal <4 x i32> @_Z8testAshrDv4_iS_(<4 x i32> %a, <4 x i32> %b) { |
| 619 |
| 620 |
| 621 %result = ashr <4 x i32> %a, %b |
| 622 |
| 623 ret <4 x i32> %result |
| 624 } |
| 625 |
| 626 define internal <8 x i16> @_Z8testAshrDv8_sS_(<8 x i16> %a, <8 x i16> %b) { |
| 627 |
| 628 |
| 629 %result = ashr <8 x i16> %a, %b |
| 630 |
| 631 ret <8 x i16> %result |
| 632 } |
| 633 |
| 634 define internal <16 x i8> @_Z8testAshrDv16_aS_(<16 x i8> %a, <16 x i8> %b) { |
| 635 |
| 636 |
| 637 %result = ashr <16 x i8> %a, %b |
| 638 |
| 639 ret <16 x i8> %result |
| 640 } |
| 641 |
| 642 define internal i32 @_Z7testAndbb(i32 %a, i32 %b) { |
| 643 %a.trunc = trunc i32 %a to i1 |
| 644 %b.trunc = trunc i32 %b to i1 |
| 645 %result.trunc = and i1 %a.trunc, %b.trunc |
| 646 %result = zext i1 %result.trunc to i32 |
| 647 ret i32 %result |
| 648 } |
| 649 |
| 650 define internal i32 @_Z7testAndhh(i32 %a, i32 %b) { |
| 651 %a.trunc = trunc i32 %a to i8 |
| 652 %b.trunc = trunc i32 %b to i8 |
| 653 %result.trunc = and i8 %a.trunc, %b.trunc |
| 654 %result = zext i8 %result.trunc to i32 |
| 655 ret i32 %result |
| 656 } |
| 657 |
| 658 define internal i32 @_Z7testAndtt(i32 %a, i32 %b) { |
| 659 %a.trunc = trunc i32 %a to i16 |
| 660 %b.trunc = trunc i32 %b to i16 |
| 661 %result.trunc = and i16 %a.trunc, %b.trunc |
| 662 %result = zext i16 %result.trunc to i32 |
| 663 ret i32 %result |
| 664 } |
| 665 |
| 666 define internal i32 @_Z7testAndjj(i32 %a, i32 %b) { |
| 667 |
| 668 |
| 669 %result = and i32 %a, %b |
| 670 |
| 671 ret i32 %result |
| 672 } |
| 673 |
| 674 define internal i64 @_Z7testAndyy(i64 %a, i64 %b) { |
| 675 |
| 676 |
| 677 %result = and i64 %a, %b |
| 678 |
| 679 ret i64 %result |
| 680 } |
| 681 |
| 682 define internal <4 x i32> @_Z7testAndDv4_jS_(<4 x i32> %a, <4 x i32> %b) { |
| 683 |
| 684 |
| 685 %result = and <4 x i32> %a, %b |
| 686 |
| 687 ret <4 x i32> %result |
| 688 } |
| 689 |
| 690 define internal <8 x i16> @_Z7testAndDv8_tS_(<8 x i16> %a, <8 x i16> %b) { |
| 691 |
| 692 |
| 693 %result = and <8 x i16> %a, %b |
| 694 |
| 695 ret <8 x i16> %result |
| 696 } |
| 697 |
| 698 define internal <16 x i8> @_Z7testAndDv16_hS_(<16 x i8> %a, <16 x i8> %b) { |
| 699 |
| 700 |
| 701 %result = and <16 x i8> %a, %b |
| 702 |
| 703 ret <16 x i8> %result |
| 704 } |
| 705 |
| 706 define internal i32 @_Z6testOrbb(i32 %a, i32 %b) { |
| 707 %a.trunc = trunc i32 %a to i1 |
| 708 %b.trunc = trunc i32 %b to i1 |
| 709 %result.trunc = or i1 %a.trunc, %b.trunc |
| 710 %result = zext i1 %result.trunc to i32 |
| 711 ret i32 %result |
| 712 } |
| 713 |
| 714 define internal i32 @_Z6testOrhh(i32 %a, i32 %b) { |
| 715 %a.trunc = trunc i32 %a to i8 |
| 716 %b.trunc = trunc i32 %b to i8 |
| 717 %result.trunc = or i8 %a.trunc, %b.trunc |
| 718 %result = zext i8 %result.trunc to i32 |
| 719 ret i32 %result |
| 720 } |
| 721 |
| 722 define internal i32 @_Z6testOrtt(i32 %a, i32 %b) { |
| 723 %a.trunc = trunc i32 %a to i16 |
| 724 %b.trunc = trunc i32 %b to i16 |
| 725 %result.trunc = or i16 %a.trunc, %b.trunc |
| 726 %result = zext i16 %result.trunc to i32 |
| 727 ret i32 %result |
| 728 } |
| 729 |
| 730 define internal i32 @_Z6testOrjj(i32 %a, i32 %b) { |
| 731 |
| 732 |
| 733 %result = or i32 %a, %b |
| 734 |
| 735 ret i32 %result |
| 736 } |
| 737 |
| 738 define internal i64 @_Z6testOryy(i64 %a, i64 %b) { |
| 739 |
| 740 |
| 741 %result = or i64 %a, %b |
| 742 |
| 743 ret i64 %result |
| 744 } |
| 745 |
| 746 define internal <4 x i32> @_Z6testOrDv4_jS_(<4 x i32> %a, <4 x i32> %b) { |
| 747 |
| 748 |
| 749 %result = or <4 x i32> %a, %b |
| 750 |
| 751 ret <4 x i32> %result |
| 752 } |
| 753 |
| 754 define internal <8 x i16> @_Z6testOrDv8_tS_(<8 x i16> %a, <8 x i16> %b) { |
| 755 |
| 756 |
| 757 %result = or <8 x i16> %a, %b |
| 758 |
| 759 ret <8 x i16> %result |
| 760 } |
| 761 |
| 762 define internal <16 x i8> @_Z6testOrDv16_hS_(<16 x i8> %a, <16 x i8> %b) { |
| 763 |
| 764 |
| 765 %result = or <16 x i8> %a, %b |
| 766 |
| 767 ret <16 x i8> %result |
| 768 } |
| 769 |
| 770 define internal i32 @_Z7testXorbb(i32 %a, i32 %b) { |
| 771 %a.trunc = trunc i32 %a to i1 |
| 772 %b.trunc = trunc i32 %b to i1 |
| 773 %result.trunc = xor i1 %a.trunc, %b.trunc |
| 774 %result = zext i1 %result.trunc to i32 |
| 775 ret i32 %result |
| 776 } |
| 777 |
| 778 define internal i32 @_Z7testXorhh(i32 %a, i32 %b) { |
| 779 %a.trunc = trunc i32 %a to i8 |
| 780 %b.trunc = trunc i32 %b to i8 |
| 781 %result.trunc = xor i8 %a.trunc, %b.trunc |
| 782 %result = zext i8 %result.trunc to i32 |
| 783 ret i32 %result |
| 784 } |
| 785 |
| 786 define internal i32 @_Z7testXortt(i32 %a, i32 %b) { |
| 787 %a.trunc = trunc i32 %a to i16 |
| 788 %b.trunc = trunc i32 %b to i16 |
| 789 %result.trunc = xor i16 %a.trunc, %b.trunc |
| 790 %result = zext i16 %result.trunc to i32 |
| 791 ret i32 %result |
| 792 } |
| 793 |
| 794 define internal i32 @_Z7testXorjj(i32 %a, i32 %b) { |
| 795 |
| 796 |
| 797 %result = xor i32 %a, %b |
| 798 |
| 799 ret i32 %result |
| 800 } |
| 801 |
| 802 define internal i64 @_Z7testXoryy(i64 %a, i64 %b) { |
| 803 |
| 804 |
| 805 %result = xor i64 %a, %b |
| 806 |
| 807 ret i64 %result |
| 808 } |
| 809 |
| 810 define internal <4 x i32> @_Z7testXorDv4_jS_(<4 x i32> %a, <4 x i32> %b) { |
| 811 |
| 812 |
| 813 %result = xor <4 x i32> %a, %b |
| 814 |
| 815 ret <4 x i32> %result |
| 816 } |
| 817 |
| 818 define internal <8 x i16> @_Z7testXorDv8_tS_(<8 x i16> %a, <8 x i16> %b) { |
| 819 |
| 820 |
| 821 %result = xor <8 x i16> %a, %b |
| 822 |
| 823 ret <8 x i16> %result |
| 824 } |
| 825 |
| 826 define internal <16 x i8> @_Z7testXorDv16_hS_(<16 x i8> %a, <16 x i8> %b) { |
| 827 |
| 828 |
| 829 %result = xor <16 x i8> %a, %b |
| 830 |
| 831 ret <16 x i8> %result |
| 832 } |
| 833 |
| 834 define internal float @_Z8testFaddff(float %a, float %b) { |
| 835 |
| 836 |
| 837 %result = fadd float %a, %b |
| 838 |
| 839 ret float %result |
| 840 } |
| 841 |
| 842 define internal double @_Z8testFadddd(double %a, double %b) { |
| 843 |
| 844 |
| 845 %result = fadd double %a, %b |
| 846 |
| 847 ret double %result |
| 848 } |
| 849 |
| 850 define internal <4 x float> @_Z8testFaddDv4_fS_(<4 x float> %a, <4 x float> %b)
{ |
| 851 |
| 852 |
| 853 %result = fadd <4 x float> %a, %b |
| 854 |
| 855 ret <4 x float> %result |
| 856 } |
| 857 |
| 858 define internal float @_Z8testFsubff(float %a, float %b) { |
| 859 |
| 860 |
| 861 %result = fsub float %a, %b |
| 862 |
| 863 ret float %result |
| 864 } |
| 865 |
| 866 define internal double @_Z8testFsubdd(double %a, double %b) { |
| 867 |
| 868 |
| 869 %result = fsub double %a, %b |
| 870 |
| 871 ret double %result |
| 872 } |
| 873 |
| 874 define internal <4 x float> @_Z8testFsubDv4_fS_(<4 x float> %a, <4 x float> %b)
{ |
| 875 |
| 876 |
| 877 %result = fsub <4 x float> %a, %b |
| 878 |
| 879 ret <4 x float> %result |
| 880 } |
| 881 |
| 882 define internal float @_Z8testFmulff(float %a, float %b) { |
| 883 |
| 884 |
| 885 %result = fmul float %a, %b |
| 886 |
| 887 ret float %result |
| 888 } |
| 889 |
| 890 define internal double @_Z8testFmuldd(double %a, double %b) { |
| 891 |
| 892 |
| 893 %result = fmul double %a, %b |
| 894 |
| 895 ret double %result |
| 896 } |
| 897 |
| 898 define internal <4 x float> @_Z8testFmulDv4_fS_(<4 x float> %a, <4 x float> %b)
{ |
| 899 |
| 900 |
| 901 %result = fmul <4 x float> %a, %b |
| 902 |
| 903 ret <4 x float> %result |
| 904 } |
| 905 |
| 906 define internal float @_Z8testFdivff(float %a, float %b) { |
| 907 |
| 908 |
| 909 %result = fdiv float %a, %b |
| 910 |
| 911 ret float %result |
| 912 } |
| 913 |
| 914 define internal double @_Z8testFdivdd(double %a, double %b) { |
| 915 |
| 916 |
| 917 %result = fdiv double %a, %b |
| 918 |
| 919 ret double %result |
| 920 } |
| 921 |
| 922 define internal <4 x float> @_Z8testFdivDv4_fS_(<4 x float> %a, <4 x float> %b)
{ |
| 923 |
| 924 |
| 925 %result = fdiv <4 x float> %a, %b |
| 926 |
| 927 ret <4 x float> %result |
| 928 } |
| 929 |
| 930 define internal float @_Z8testFremff(float %a, float %b) { |
| 931 |
| 932 |
| 933 %result = frem float %a, %b |
| 934 |
| 935 ret float %result |
| 936 } |
| 937 |
| 938 define internal double @_Z8testFremdd(double %a, double %b) { |
| 939 |
| 940 |
| 941 %result = frem double %a, %b |
| 942 |
| 943 ret double %result |
| 944 } |
| 945 |
| 946 define internal <4 x float> @_Z8testFremDv4_fS_(<4 x float> %a, <4 x float> %b)
{ |
| 947 |
| 948 |
| 949 %result = frem <4 x float> %a, %b |
| 950 |
| 951 ret <4 x float> %result |
| 952 } |
| OLD | NEW |