Commit 53ddeb4
[X86] Add MMX/SSE/AVX PHADD/SUB & HADDPS/D intrinsics to be used in constexpr (#156822)
[Clang] VectorExprEvaluator::VisitCallExpr / InterpretBuiltin - add MMX/SSE/AVX PHADD/SUB & HADDPS/D intrinsics to be used in constexpr
Fixes #155395
cover func:
_mm_hadd_pi16 _mm_hadd_epi16 _mm256_hadd_epi16
_mm_hadd_pi32 _mm_hadd_epi32 _mm256_hadd_epi32
_mm_hadds_pi16 _mm_hadds_epi16 _mm256_hadds_epi16
_mm_hsub_pi16 _mm_hsub_epi16 _mm256_hsub_epi16
_mm_hsub_pi32 _mm_hsub_epi32 _mm256_hsub_epi32
_mm_hsubs_pi16 _mm_hsubs_epi16 _mm256_hsubs_epi16
_mm_hadd_pd _mm256_hadd_pd
_mm_hadd_ps _mm256_hadd_ps
_mm_hsub_pd _mm256_hsub_pd
_mm_hsub_ps _mm256_hsub_ps
---------
Co-authored-by: whyuuwang <[email protected]>
Co-authored-by: Simon Pilgrim <[email protected]>
Co-authored-by: Simon Pilgrim <[email protected]>1 parent 69e0fd6 commit 53ddeb4
File tree
12 files changed
+448
-122
lines changed- clang
- include/clang/Basic
- lib
- AST
- ByteCode
- Headers
- test/CodeGen/X86
12 files changed
+448
-122
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
110 | 110 | | |
111 | 111 | | |
112 | 112 | | |
113 | | - | |
| 113 | + | |
114 | 114 | | |
115 | 115 | | |
116 | 116 | | |
117 | 117 | | |
118 | 118 | | |
119 | | - | |
120 | | - | |
121 | | - | |
122 | | - | |
123 | | - | |
| 119 | + | |
| 120 | + | |
| 121 | + | |
| 122 | + | |
124 | 123 | | |
| 124 | + | |
125 | 125 | | |
| 126 | + | |
126 | 127 | | |
127 | 128 | | |
128 | 129 | | |
| |||
137 | 138 | | |
138 | 139 | | |
139 | 140 | | |
140 | | - | |
| 141 | + | |
141 | 142 | | |
142 | 143 | | |
143 | 144 | | |
| |||
316 | 317 | | |
317 | 318 | | |
318 | 319 | | |
| 320 | + | |
| 321 | + | |
| 322 | + | |
| 323 | + | |
| 324 | + | |
| 325 | + | |
| 326 | + | |
| 327 | + | |
319 | 328 | | |
320 | 329 | | |
321 | 330 | | |
| |||
515 | 524 | | |
516 | 525 | | |
517 | 526 | | |
| 527 | + | |
| 528 | + | |
| 529 | + | |
| 530 | + | |
| 531 | + | |
518 | 532 | | |
519 | 533 | | |
520 | 534 | | |
| |||
592 | 606 | | |
593 | 607 | | |
594 | 608 | | |
595 | | - | |
596 | | - | |
597 | | - | |
598 | | - | |
599 | | - | |
600 | | - | |
| 609 | + | |
601 | 610 | | |
602 | 611 | | |
603 | 612 | | |
| |||
666 | 675 | | |
667 | 676 | | |
668 | 677 | | |
| 678 | + | |
| 679 | + | |
| 680 | + | |
| 681 | + | |
| 682 | + | |
| 683 | + | |
| 684 | + | |
669 | 685 | | |
670 | 686 | | |
671 | 687 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2587 | 2587 | | |
2588 | 2588 | | |
2589 | 2589 | | |
| 2590 | + | |
| 2591 | + | |
| 2592 | + | |
| 2593 | + | |
| 2594 | + | |
| 2595 | + | |
| 2596 | + | |
| 2597 | + | |
| 2598 | + | |
| 2599 | + | |
| 2600 | + | |
| 2601 | + | |
| 2602 | + | |
| 2603 | + | |
| 2604 | + | |
| 2605 | + | |
| 2606 | + | |
| 2607 | + | |
| 2608 | + | |
| 2609 | + | |
| 2610 | + | |
| 2611 | + | |
| 2612 | + | |
| 2613 | + | |
| 2614 | + | |
| 2615 | + | |
| 2616 | + | |
| 2617 | + | |
| 2618 | + | |
| 2619 | + | |
| 2620 | + | |
| 2621 | + | |
| 2622 | + | |
| 2623 | + | |
| 2624 | + | |
| 2625 | + | |
| 2626 | + | |
| 2627 | + | |
| 2628 | + | |
| 2629 | + | |
| 2630 | + | |
| 2631 | + | |
| 2632 | + | |
| 2633 | + | |
| 2634 | + | |
| 2635 | + | |
| 2636 | + | |
| 2637 | + | |
| 2638 | + | |
| 2639 | + | |
| 2640 | + | |
| 2641 | + | |
| 2642 | + | |
| 2643 | + | |
| 2644 | + | |
| 2645 | + | |
| 2646 | + | |
| 2647 | + | |
| 2648 | + | |
| 2649 | + | |
| 2650 | + | |
| 2651 | + | |
| 2652 | + | |
| 2653 | + | |
| 2654 | + | |
| 2655 | + | |
| 2656 | + | |
| 2657 | + | |
| 2658 | + | |
| 2659 | + | |
| 2660 | + | |
| 2661 | + | |
| 2662 | + | |
| 2663 | + | |
| 2664 | + | |
| 2665 | + | |
2590 | 2666 | | |
2591 | 2667 | | |
2592 | 2668 | | |
| |||
3665 | 3741 | | |
3666 | 3742 | | |
3667 | 3743 | | |
| 3744 | + | |
| 3745 | + | |
| 3746 | + | |
| 3747 | + | |
| 3748 | + | |
| 3749 | + | |
| 3750 | + | |
| 3751 | + | |
| 3752 | + | |
| 3753 | + | |
| 3754 | + | |
| 3755 | + | |
| 3756 | + | |
| 3757 | + | |
| 3758 | + | |
| 3759 | + | |
| 3760 | + | |
| 3761 | + | |
| 3762 | + | |
| 3763 | + | |
| 3764 | + | |
| 3765 | + | |
| 3766 | + | |
| 3767 | + | |
| 3768 | + | |
| 3769 | + | |
| 3770 | + | |
| 3771 | + | |
| 3772 | + | |
| 3773 | + | |
| 3774 | + | |
| 3775 | + | |
| 3776 | + | |
| 3777 | + | |
| 3778 | + | |
| 3779 | + | |
| 3780 | + | |
| 3781 | + | |
| 3782 | + | |
| 3783 | + | |
| 3784 | + | |
| 3785 | + | |
| 3786 | + | |
| 3787 | + | |
| 3788 | + | |
| 3789 | + | |
| 3790 | + | |
3668 | 3791 | | |
3669 | 3792 | | |
3670 | 3793 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
12381 | 12381 | | |
12382 | 12382 | | |
12383 | 12383 | | |
| 12384 | + | |
| 12385 | + | |
| 12386 | + | |
| 12387 | + | |
| 12388 | + | |
| 12389 | + | |
| 12390 | + | |
| 12391 | + | |
| 12392 | + | |
| 12393 | + | |
| 12394 | + | |
| 12395 | + | |
| 12396 | + | |
| 12397 | + | |
| 12398 | + | |
| 12399 | + | |
| 12400 | + | |
| 12401 | + | |
| 12402 | + | |
| 12403 | + | |
| 12404 | + | |
| 12405 | + | |
| 12406 | + | |
| 12407 | + | |
| 12408 | + | |
| 12409 | + | |
| 12410 | + | |
| 12411 | + | |
| 12412 | + | |
| 12413 | + | |
| 12414 | + | |
| 12415 | + | |
| 12416 | + | |
| 12417 | + | |
| 12418 | + | |
| 12419 | + | |
| 12420 | + | |
| 12421 | + | |
| 12422 | + | |
| 12423 | + | |
| 12424 | + | |
| 12425 | + | |
| 12426 | + | |
| 12427 | + | |
| 12428 | + | |
| 12429 | + | |
| 12430 | + | |
| 12431 | + | |
| 12432 | + | |
| 12433 | + | |
| 12434 | + | |
| 12435 | + | |
| 12436 | + | |
| 12437 | + | |
| 12438 | + | |
| 12439 | + | |
| 12440 | + | |
| 12441 | + | |
| 12442 | + | |
| 12443 | + | |
| 12444 | + | |
| 12445 | + | |
| 12446 | + | |
| 12447 | + | |
| 12448 | + | |
| 12449 | + | |
| 12450 | + | |
| 12451 | + | |
| 12452 | + | |
| 12453 | + | |
| 12454 | + | |
| 12455 | + | |
| 12456 | + | |
| 12457 | + | |
| 12458 | + | |
| 12459 | + | |
| 12460 | + | |
| 12461 | + | |
| 12462 | + | |
| 12463 | + | |
| 12464 | + | |
| 12465 | + | |
| 12466 | + | |
| 12467 | + | |
| 12468 | + | |
| 12469 | + | |
| 12470 | + | |
| 12471 | + | |
| 12472 | + | |
| 12473 | + | |
| 12474 | + | |
| 12475 | + | |
| 12476 | + | |
| 12477 | + | |
| 12478 | + | |
| 12479 | + | |
| 12480 | + | |
| 12481 | + | |
| 12482 | + | |
| 12483 | + | |
| 12484 | + | |
| 12485 | + | |
| 12486 | + | |
| 12487 | + | |
| 12488 | + | |
| 12489 | + | |
| 12490 | + | |
| 12491 | + | |
| 12492 | + | |
| 12493 | + | |
| 12494 | + | |
| 12495 | + | |
| 12496 | + | |
| 12497 | + | |
| 12498 | + | |
| 12499 | + | |
| 12500 | + | |
| 12501 | + | |
| 12502 | + | |
| 12503 | + | |
| 12504 | + | |
| 12505 | + | |
| 12506 | + | |
| 12507 | + | |
| 12508 | + | |
| 12509 | + | |
| 12510 | + | |
| 12511 | + | |
| 12512 | + | |
| 12513 | + | |
| 12514 | + | |
| 12515 | + | |
| 12516 | + | |
| 12517 | + | |
| 12518 | + | |
| 12519 | + | |
| 12520 | + | |
| 12521 | + | |
| 12522 | + | |
| 12523 | + | |
| 12524 | + | |
| 12525 | + | |
| 12526 | + | |
| 12527 | + | |
| 12528 | + | |
| 12529 | + | |
| 12530 | + | |
| 12531 | + | |
| 12532 | + | |
| 12533 | + | |
| 12534 | + | |
| 12535 | + | |
| 12536 | + | |
| 12537 | + | |
| 12538 | + | |
| 12539 | + | |
| 12540 | + | |
| 12541 | + | |
| 12542 | + | |
| 12543 | + | |
| 12544 | + | |
| 12545 | + | |
| 12546 | + | |
12384 | 12547 | | |
12385 | 12548 | | |
12386 | 12549 | | |
| |||
0 commit comments