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 } 953