Commit 5fdb133
authored
Enable AVX512 embedded masking for most other intrinsics (#101886)
* Remove HW_Flag_MultiIns in favor of using HW_Flag_SpecialCodeGen
* Add a new flag HW_Flag_InvalidNodeId
* Change HW_Flag_EmbMaskingIncompatible to be HW_Flag_EmbMaskingCompatible
* Mark various compare intrinsics with HW_Flag_NoEvexSemantics
* Marking various intrinsics as EmbBroadcastCompatible, EmbMaskingCompatible, or Commutative
* Applying formatting patch
* Ensure WithLower/WithUpper are not marked as InvalidNodeId
* Ensure that instOptions are being passed down all relevant hwintrinsic code paths
* Ensure the insOpts are plumbed through for EVEX instructions
* Ensure EVEX instructions are properly annotated with EmbeddedBroadcastSupported
* Ensure that embedded broadcast/masking is displayed in the disassembly
* Applying formatting patch
* Updating the hwintrinsic tests to cover embedded broadcast/masking
* Fix some handling in the JIT related to embedded broadcast/masking
* Fixup some tests where validating embedded masking is non-trivial
* Cleanup some cases found by SPMI
* Ensure that CompareLessThan has its operands swapped back if its being converted to the AVX512 form
* Don't regress a scenario around op_Equality and TYP_MASK
* Adjusting hardware intrinsic tests to test non-zero masks
* Avoid some messiness around operand swapping
* Ensure embedded masks mark TYP_SIMD16 and TYP_SIMD32 instructions as needing EVEX
* Mark Sse2_r/Sse2_ro as AotIncompatible due to runtime/1020371 parent 38467bb commit 5fdb133
File tree
37 files changed
+4723
-1943
lines changed- src
- coreclr/jit
- tests
- Common/GenerateHWIntrinsicTests
- JIT/HardwareIntrinsics
- X86
- Sse2
37 files changed
+4723
-1943
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
959 | 959 | | |
960 | 960 | | |
961 | 961 | | |
962 | | - | |
963 | | - | |
964 | | - | |
965 | | - | |
966 | | - | |
967 | | - | |
968 | | - | |
| 962 | + | |
| 963 | + | |
| 964 | + | |
| 965 | + | |
969 | 966 | | |
970 | | - | |
971 | | - | |
| 967 | + | |
| 968 | + | |
| 969 | + | |
972 | 970 | | |
973 | 971 | | |
974 | 972 | | |
975 | 973 | | |
976 | 974 | | |
977 | 975 | | |
978 | | - | |
979 | | - | |
| 976 | + | |
| 977 | + | |
| 978 | + | |
980 | 979 | | |
981 | | - | |
982 | | - | |
| 980 | + | |
| 981 | + | |
983 | 982 | | |
984 | 983 | | |
985 | | - | |
986 | | - | |
| 984 | + | |
| 985 | + | |
987 | 986 | | |
988 | | - | |
989 | 987 | | |
990 | 988 | | |
991 | | - | |
| 989 | + | |
992 | 990 | | |
993 | | - | |
994 | 991 | | |
995 | 992 | | |
996 | 993 | | |
| |||
1003 | 1000 | | |
1004 | 1001 | | |
1005 | 1002 | | |
| 1003 | + | |
| 1004 | + | |
1006 | 1005 | | |
1007 | 1006 | | |
1008 | 1007 | | |
| |||
1576 | 1575 | | |
1577 | 1576 | | |
1578 | 1577 | | |
1579 | | - | |
| 1578 | + | |
1580 | 1579 | | |
1581 | 1580 | | |
1582 | 1581 | | |
1583 | 1582 | | |
1584 | 1583 | | |
1585 | 1584 | | |
1586 | 1585 | | |
1587 | | - | |
1588 | | - | |
| 1586 | + | |
| 1587 | + | |
| 1588 | + | |
| 1589 | + | |
| 1590 | + | |
| 1591 | + | |
| 1592 | + | |
| 1593 | + | |
1589 | 1594 | | |
1590 | 1595 | | |
1591 | 1596 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
3856 | 3856 | | |
3857 | 3857 | | |
3858 | 3858 | | |
3859 | | - | |
| 3859 | + | |
3860 | 3860 | | |
3861 | 3861 | | |
3862 | 3862 | | |
| |||
3896 | 3896 | | |
3897 | 3897 | | |
3898 | 3898 | | |
3899 | | - | |
| 3899 | + | |
3900 | 3900 | | |
3901 | 3901 | | |
3902 | 3902 | | |
| |||
0 commit comments