@@ -225,7 +225,7 @@ HARDWARE_INTRINSIC(Vector256, StoreUnsafe,
225
225
HARDWARE_INTRINSIC (Vector256 , Subtract , 32 , 2 , {INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_invalid }, HW_Category_Helper , HW_Flag_SpecialImport |HW_Flag_NoCodeGen )
226
226
HARDWARE_INTRINSIC (Vector256 , Sum , 32 , 1 , {INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_invalid }, HW_Category_Helper , HW_Flag_SpecialImport |HW_Flag_BaseTypeFromFirstArg |HW_Flag_NoCodeGen )
227
227
HARDWARE_INTRINSIC (Vector256 , ToScalar , 32 , 1 , {INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_movss , INS_movsd_simd }, HW_Category_SimpleSIMD , HW_Flag_SpecialImport |HW_Flag_SpecialCodeGen |HW_Flag_BaseTypeFromFirstArg |HW_Flag_NoRMWSemantics |HW_Flag_AvxOnlyCompatible )
228
- HARDWARE_INTRINSIC (Vector256 , ToVector512Unsafe , 32 , 1 , {INS_vmovdqu8 , INS_vmovdqu8 , INS_vmovdqu16 , INS_vmovdqu16 , INS_vmovdqu32 , INS_vmovdqu32 , INS_vmovdqu64 , INS_vmovdqu64 , INS_movups , INS_movupd }, HW_Category_SimpleSIMD , HW_Flag_SpecialImport |HW_Flag_SpecialCodeGen |HW_Flag_BaseTypeFromFirstArg |HW_Flag_NoRMWSemantics )
228
+ HARDWARE_INTRINSIC (Vector256 , ToVector512Unsafe , 32 , 1 , {INS_vmovdqu8 , INS_vmovdqu8 , INS_vmovdqu16 , INS_vmovdqu16 , INS_movdqu , INS_movdqu , INS_vmovdqu64 , INS_vmovdqu64 , INS_movups , INS_movupd }, HW_Category_SimpleSIMD , HW_Flag_SpecialImport |HW_Flag_SpecialCodeGen |HW_Flag_BaseTypeFromFirstArg |HW_Flag_NoRMWSemantics )
229
229
HARDWARE_INTRINSIC (Vector256 , WidenLower , 32 , 1 , {INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_invalid }, HW_Category_Helper , HW_Flag_SpecialImport |HW_Flag_NoCodeGen |HW_Flag_BaseTypeFromFirstArg )
230
230
HARDWARE_INTRINSIC (Vector256 , WidenUpper , 32 , 1 , {INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_invalid }, HW_Category_Helper , HW_Flag_SpecialImport |HW_Flag_NoCodeGen |HW_Flag_BaseTypeFromFirstArg )
231
231
HARDWARE_INTRINSIC (Vector256 , WithElement , 32 , 3 , {INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_invalid }, HW_Category_Helper , HW_Flag_SpecialImport |HW_Flag_NoContainment |HW_Flag_BaseTypeFromFirstArg |HW_Flag_AvxOnlyCompatible )
@@ -750,18 +750,18 @@ HARDWARE_INTRINSIC(AVX2, Xor,
750
750
// {TYP_BYTE, TYP_UBYTE, TYP_SHORT, TYP_USHORT, TYP_INT, TYP_UINT, TYP_LONG, TYP_ULONG, TYP_FLOAT, TYP_DOUBLE}
751
751
// ***************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************
752
752
// AVX512F Intrinsics
753
- HARDWARE_INTRINSIC (AVX512F , And , 64 , 2 , {INS_vpandd , INS_vpandd , INS_vpandd , INS_vpandd , INS_vpandd , INS_vpandd , INS_vpandq , INS_vpandq , INS_andps , INS_andpd }, HW_Category_SimpleSIMD , HW_Flag_Commutative )
754
- HARDWARE_INTRINSIC (AVX512F , AndNot , 64 , 2 , {INS_vpandnd , INS_vpandnd , INS_vpandnd , INS_vpandnd , INS_vpandnd , INS_vpandnd , INS_vpandnq , INS_vpandnq , INS_andnps , INS_andnpd }, HW_Category_SimpleSIMD , HW_Flag_NoFlag )
753
+ HARDWARE_INTRINSIC (AVX512F , And , 64 , 2 , {INS_pand , INS_pand , INS_pand , INS_pand , INS_pand , INS_pand , INS_vpandq , INS_vpandq , INS_andps , INS_andpd }, HW_Category_SimpleSIMD , HW_Flag_Commutative )
754
+ HARDWARE_INTRINSIC (AVX512F , AndNot , 64 , 2 , {INS_pandn , INS_pandn , INS_pandn , INS_pandn , INS_pandn , INS_pandn , INS_vpandnq , INS_vpandnq , INS_andnps , INS_andnpd }, HW_Category_SimpleSIMD , HW_Flag_NoFlag )
755
755
HARDWARE_INTRINSIC (AVX512F , BroadcastScalarToVector512 , 64 , 1 , {INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_vpbroadcastd , INS_vpbroadcastd , INS_vpbroadcastq , INS_vpbroadcastq , INS_vbroadcastss , INS_vbroadcastsd }, HW_Category_SIMDScalar , HW_Flag_MaybeMemoryLoad )
756
756
HARDWARE_INTRINSIC (AVX512F , InsertVector256 , 64 , 3 , {INS_vinserti64x4 , INS_vinserti64x4 , INS_vinserti64x4 , INS_vinserti64x4 , INS_vinserti64x4 , INS_vinserti64x4 , INS_vinserti64x4 , INS_vinserti64x4 , INS_vinsertf64x4 , INS_vinsertf64x4 }, HW_Category_IMM , HW_Flag_FullRangeIMM )
757
- HARDWARE_INTRINSIC (AVX512F , LoadAlignedVector512 , 64 , 1 , {INS_vmovdqa32 , INS_vmovdqa32 , INS_vmovdqa32 , INS_vmovdqa32 , INS_vmovdqa32 , INS_vmovdqa32 , INS_vmovdqa64 , INS_vmovdqa64 , INS_movaps , INS_movapd }, HW_Category_MemoryLoad , HW_Flag_NoRMWSemantics )
757
+ HARDWARE_INTRINSIC (AVX512F , LoadAlignedVector512 , 64 , 1 , {INS_movdqa , INS_movdqa , INS_movdqa , INS_movdqa , INS_movdqa , INS_movdqa , INS_vmovdqa64 , INS_vmovdqa64 , INS_movaps , INS_movapd }, HW_Category_MemoryLoad , HW_Flag_NoRMWSemantics )
758
758
HARDWARE_INTRINSIC (AVX512F , LoadAlignedVector512NonTemporal , 64 , 1 , {INS_movntdqa , INS_movntdqa , INS_movntdqa , INS_movntdqa , INS_movntdqa , INS_movntdqa , INS_movntdqa , INS_movntdqa , INS_invalid , INS_invalid }, HW_Category_MemoryLoad , HW_Flag_NoFlag )
759
- HARDWARE_INTRINSIC (AVX512F , LoadVector512 , 64 , 1 , {INS_vmovdqu32 , INS_vmovdqu32 , INS_vmovdqu32 , INS_vmovdqu32 , INS_vmovdqu32 , INS_vmovdqu32 , INS_vmovdqu64 , INS_vmovdqu64 , INS_movups , INS_movupd }, HW_Category_Helper , HW_Flag_SpecialImport |HW_Flag_NoCodeGen )
760
- HARDWARE_INTRINSIC (AVX512F , Or , 64 , 2 , {INS_vpord , INS_vpord , INS_vpord , INS_vpord , INS_vpord , INS_vpord , INS_vporq , INS_vporq , INS_orps , INS_orpd }, HW_Category_SimpleSIMD , HW_Flag_Commutative )
761
- HARDWARE_INTRINSIC (AVX512F , Store , 64 , 2 , {INS_vmovdqu32 , INS_vmovdqu32 , INS_vmovdqu32 , INS_vmovdqu32 , INS_vmovdqu32 , INS_vmovdqu32 , INS_vmovdqu64 , INS_vmovdqu64 , INS_movups , INS_movupd }, HW_Category_Helper , HW_Flag_SpecialImport |HW_Flag_BaseTypeFromSecondArg |HW_Flag_NoCodeGen )
762
- HARDWARE_INTRINSIC (AVX512F , StoreAligned , 64 , 2 , {INS_vmovdqa32 , INS_vmovdqa32 , INS_vmovdqa32 , INS_vmovdqa32 , INS_vmovdqa32 , INS_vmovdqa32 , INS_vmovdqa64 , INS_vmovdqa64 , INS_movaps , INS_movapd }, HW_Category_MemoryStore , HW_Flag_NoRMWSemantics |HW_Flag_BaseTypeFromSecondArg )
759
+ HARDWARE_INTRINSIC (AVX512F , LoadVector512 , 64 , 1 , {INS_movdqu , INS_movdqu , INS_movdqu , INS_movdqu , INS_movdqu , INS_movdqu , INS_vmovdqu64 , INS_vmovdqu64 , INS_movups , INS_movupd }, HW_Category_Helper , HW_Flag_SpecialImport |HW_Flag_NoCodeGen )
760
+ HARDWARE_INTRINSIC (AVX512F , Or , 64 , 2 , {INS_por , INS_por , INS_por , INS_por , INS_por , INS_por , INS_vporq , INS_vporq , INS_orps , INS_orpd }, HW_Category_SimpleSIMD , HW_Flag_Commutative )
761
+ HARDWARE_INTRINSIC (AVX512F , Store , 64 , 2 , {INS_movdqu , INS_movdqu , INS_movdqu , INS_movdqu , INS_movdqu , INS_movdqu , INS_vmovdqu64 , INS_vmovdqu64 , INS_movups , INS_movupd }, HW_Category_Helper , HW_Flag_SpecialImport |HW_Flag_BaseTypeFromSecondArg |HW_Flag_NoCodeGen )
762
+ HARDWARE_INTRINSIC (AVX512F , StoreAligned , 64 , 2 , {INS_movdqa , INS_movdqa , INS_movdqa , INS_movdqa , INS_movdqa , INS_movdqa , INS_vmovdqa64 , INS_vmovdqa64 , INS_movaps , INS_movapd }, HW_Category_MemoryStore , HW_Flag_NoRMWSemantics |HW_Flag_BaseTypeFromSecondArg )
763
763
HARDWARE_INTRINSIC (AVX512F , StoreAlignedNonTemporal , 64 , 2 , {INS_movntdq , INS_movntdq , INS_movntdq , INS_movntdq , INS_movntdq , INS_movntdq , INS_movntdq , INS_movntdq , INS_movntps , INS_movntpd }, HW_Category_MemoryStore , HW_Flag_NoRMWSemantics |HW_Flag_BaseTypeFromSecondArg )
764
- HARDWARE_INTRINSIC (AVX512F , Xor , 64 , 2 , {INS_vpxord , INS_vpxord , INS_vpxord , INS_vpxord , INS_vpxord , INS_vpxord , INS_vpxorq , INS_vpxorq , INS_xorps , INS_xorpd }, HW_Category_SimpleSIMD , HW_Flag_Commutative )
764
+ HARDWARE_INTRINSIC (AVX512F , Xor , 64 , 2 , {INS_pxor , INS_pxor , INS_pxor , INS_pxor , INS_pxor , INS_pxor , INS_vpxorq , INS_vpxorq , INS_xorps , INS_xorpd }, HW_Category_SimpleSIMD , HW_Flag_Commutative )
765
765
766
766
// ***************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************
767
767
// ISA Function name SIMD size NumArg Instructions Category Flags
0 commit comments