Commit e8d9169
Add bitwise and shift ops for min precision types
Add LeftShift and RightShift test entries for min16int and min16uint.
Both produce valid min-precision DXIL (shl/ashr/lshr i16 with 4-bit
shift masking).
ReverseBits, CountBits, FirstBitHigh, FirstBitLow are excluded — DXC
promotes min precision to i32 before calling these DXIL intrinsics,
so they don't actually test min precision behavior.
Infrastructure changes:
- LongVectorTestData.h: Add Bitwise and BitShiftRhs input sets for
HLSLMin16Int_t and HLSLMin16Uint_t matching int16_t/uint16_t names.
Values constrained to 16-bit safe range.
- LongVectorTestData.h: Add compound assignment operators (<<=, >>=,
|=, &=, ^=) and unary ~ to both wrapper types to resolve ambiguity
with integer promotion in template functions.
- LongVectorTestData.h: Specialize std::is_signed for wrapper types
so FirstBitHigh SFINAE selects the correct signed/unsigned variant.
- LongVectors.cpp: Fix ReverseBits, ScanFromMSB, FirstBitLow to use
explicit static_cast<T> for integer literals, avoiding ambiguous
operator overload resolution with wrapper types.
Co-authored-by: Copilot <[email protected]>1 parent cb6175a commit e8d9169
2 files changed
Lines changed: 71 additions & 18 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
334 | 334 | | |
335 | 335 | | |
336 | 336 | | |
| 337 | + | |
| 338 | + | |
| 339 | + | |
| 340 | + | |
| 341 | + | |
| 342 | + | |
| 343 | + | |
| 344 | + | |
| 345 | + | |
| 346 | + | |
| 347 | + | |
| 348 | + | |
| 349 | + | |
| 350 | + | |
| 351 | + | |
| 352 | + | |
| 353 | + | |
| 354 | + | |
| 355 | + | |
| 356 | + | |
| 357 | + | |
337 | 358 | | |
338 | 359 | | |
339 | 360 | | |
| |||
399 | 420 | | |
400 | 421 | | |
401 | 422 | | |
| 423 | + | |
| 424 | + | |
| 425 | + | |
| 426 | + | |
| 427 | + | |
| 428 | + | |
| 429 | + | |
| 430 | + | |
| 431 | + | |
| 432 | + | |
| 433 | + | |
| 434 | + | |
| 435 | + | |
| 436 | + | |
| 437 | + | |
| 438 | + | |
| 439 | + | |
| 440 | + | |
| 441 | + | |
| 442 | + | |
| 443 | + | |
402 | 444 | | |
403 | 445 | | |
404 | 446 | | |
| |||
415 | 457 | | |
416 | 458 | | |
417 | 459 | | |
| 460 | + | |
418 | 461 | | |
419 | 462 | | |
420 | 463 | | |
| |||
656 | 699 | | |
657 | 700 | | |
658 | 701 | | |
| 702 | + | |
659 | 703 | | |
660 | 704 | | |
661 | 705 | | |
| |||
671 | 715 | | |
672 | 716 | | |
673 | 717 | | |
| 718 | + | |
674 | 719 | | |
675 | 720 | | |
676 | 721 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
743 | 743 | | |
744 | 744 | | |
745 | 745 | | |
746 | | - | |
| 746 | + | |
747 | 747 | | |
748 | 748 | | |
749 | | - | |
750 | | - | |
751 | | - | |
| 749 | + | |
| 750 | + | |
| 751 | + | |
752 | 752 | | |
753 | 753 | | |
754 | 754 | | |
| |||
760 | 760 | | |
761 | 761 | | |
762 | 762 | | |
763 | | - | |
| 763 | + | |
764 | 764 | | |
765 | 765 | | |
766 | 766 | | |
767 | 767 | | |
768 | | - | |
| 768 | + | |
| 769 | + | |
769 | 770 | | |
770 | 771 | | |
771 | 772 | | |
| |||
788 | 789 | | |
789 | 790 | | |
790 | 791 | | |
791 | | - | |
| 792 | + | |
792 | 793 | | |
793 | 794 | | |
794 | 795 | | |
795 | | - | |
| 796 | + | |
796 | 797 | | |
797 | 798 | | |
798 | 799 | | |
| |||
1888 | 1889 | | |
1889 | 1890 | | |
1890 | 1891 | | |
1891 | | - | |
1892 | | - | |
| 1892 | + | |
| 1893 | + | |
1893 | 1894 | | |
1894 | 1895 | | |
1895 | 1896 | | |
| |||
1919 | 1920 | | |
1920 | 1921 | | |
1921 | 1922 | | |
1922 | | - | |
1923 | | - | |
| 1923 | + | |
| 1924 | + | |
1924 | 1925 | | |
1925 | 1926 | | |
1926 | 1927 | | |
1927 | 1928 | | |
1928 | | - | |
1929 | | - | |
| 1929 | + | |
1930 | 1930 | | |
1931 | 1931 | | |
1932 | 1932 | | |
| |||
3015 | 3015 | | |
3016 | 3016 | | |
3017 | 3017 | | |
3018 | | - | |
| 3018 | + | |
3019 | 3019 | | |
3020 | 3020 | | |
3021 | 3021 | | |
3022 | | - | |
| 3022 | + | |
| 3023 | + | |
| 3024 | + | |
| 3025 | + | |
| 3026 | + | |
3023 | 3027 | | |
3024 | 3028 | | |
3025 | 3029 | | |
| |||
3111 | 3115 | | |
3112 | 3116 | | |
3113 | 3117 | | |
3114 | | - | |
| 3118 | + | |
3115 | 3119 | | |
3116 | 3120 | | |
3117 | 3121 | | |
3118 | | - | |
| 3122 | + | |
| 3123 | + | |
| 3124 | + | |
| 3125 | + | |
| 3126 | + | |
3119 | 3127 | | |
3120 | 3128 | | |
3121 | 3129 | | |
| |||
0 commit comments