@@ -1077,19 +1077,31 @@ HARDWARE_INTRINSIC(AVX512v3, ExpandLoad,
10771077#define FIRST_NI_AVX10v2 NI_AVX10v2_ConvertToByteWithSaturationAndZeroExtendToInt32
10781078HARDWARE_INTRINSIC (AVX10v2 , ConvertToByteWithSaturationAndZeroExtendToInt32 , -1 , -1 , {INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_vcvtps2iubs , INS_invalid }, HW_Category_SimpleSIMD , HW_Flag_BaseTypeFromFirstArg |HW_Flag_EmbRoundingCompatible )
10791079HARDWARE_INTRINSIC (AVX10v2 , ConvertToByteWithTruncatedSaturationAndZeroExtendToInt32 , -1 , 1 , {INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_vcvttps2iubs , INS_invalid }, HW_Category_SimpleSIMD , HW_Flag_BaseTypeFromFirstArg )
1080+ HARDWARE_INTRINSIC (AVX10v2 , ConvertToInt32WithTruncatedSaturation , 16 , 1 , {INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_vcvttss2sis32 , INS_vcvttsd2sis32 }, HW_Category_SIMDScalar , HW_Flag_BaseTypeFromFirstArg |HW_Flag_SpecialCodeGen )
10801081HARDWARE_INTRINSIC (AVX10v2 , ConvertToSByteWithSaturationAndZeroExtendToInt32 , -1 , -1 , {INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_vcvtps2ibs , INS_invalid }, HW_Category_SimpleSIMD , HW_Flag_BaseTypeFromFirstArg |HW_Flag_EmbRoundingCompatible )
10811082HARDWARE_INTRINSIC (AVX10v2 , ConvertToSByteWithTruncatedSaturationAndZeroExtendToInt32 , -1 , 1 , {INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_vcvttps2ibs , INS_invalid }, HW_Category_SimpleSIMD , HW_Flag_BaseTypeFromFirstArg )
1082- HARDWARE_INTRINSIC (AVX10v2 , ConvertToVectorInt32WithTruncationSaturation , -1 , 1 , {INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_vcvttps2dqs , INS_vcvttpd2dqs }, HW_Category_SimpleSIMD , HW_Flag_BaseTypeFromFirstArg )
1083- HARDWARE_INTRINSIC (AVX10v2 , ConvertToVectorInt64WithTruncationSaturation , -1 , 1 , {INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_vcvttps2qqs , INS_vcvttpd2qqs }, HW_Category_SimpleSIMD , HW_Flag_BaseTypeFromFirstArg )
1084- HARDWARE_INTRINSIC (AVX10v2 , ConvertToVectorUInt32WithTruncationSaturation , -1 , 1 , {INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_vcvttps2udqs , INS_vcvttpd2udqs }, HW_Category_SimpleSIMD , HW_Flag_BaseTypeFromFirstArg )
1085- HARDWARE_INTRINSIC (AVX10v2 , ConvertToVectorUInt64WithTruncationSaturation , -1 , 1 , {INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_vcvttps2uqqs , INS_vcvttpd2uqqs }, HW_Category_SimpleSIMD , HW_Flag_BaseTypeFromFirstArg )
1083+ HARDWARE_INTRINSIC (AVX10v2 , ConvertToUInt32WithTruncatedSaturation , 16 , 1 , {INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_vcvttss2usis32 , INS_vcvttsd2usis32 }, HW_Category_SIMDScalar , HW_Flag_BaseTypeFromFirstArg |HW_Flag_SpecialCodeGen )
1084+ HARDWARE_INTRINSIC (AVX10v2 , ConvertToVectorInt32WithTruncatedSaturation , -1 , 1 , {INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_vcvttps2dqs , INS_vcvttpd2dqs }, HW_Category_SimpleSIMD , HW_Flag_BaseTypeFromFirstArg )
1085+ HARDWARE_INTRINSIC (AVX10v2 , ConvertToVectorInt64WithTruncatedSaturation , -1 , 1 , {INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_vcvttps2qqs , INS_vcvttpd2qqs }, HW_Category_SimpleSIMD , HW_Flag_BaseTypeFromFirstArg )
1086+ HARDWARE_INTRINSIC (AVX10v2 , ConvertToVectorUInt32WithTruncatedSaturation , -1 , 1 , {INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_vcvttps2udqs , INS_vcvttpd2udqs }, HW_Category_SimpleSIMD , HW_Flag_BaseTypeFromFirstArg )
1087+ HARDWARE_INTRINSIC (AVX10v2 , ConvertToVectorUInt64WithTruncatedSaturation , -1 , 1 , {INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_vcvttps2uqqs , INS_vcvttpd2uqqs }, HW_Category_SimpleSIMD , HW_Flag_BaseTypeFromFirstArg )
10861088HARDWARE_INTRINSIC (AVX10v2 , MinMax , -1 , 3 , {INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_vminmaxps , INS_vminmaxpd }, HW_Category_IMM , HW_Flag_BaseTypeFromFirstArg )
10871089HARDWARE_INTRINSIC (AVX10v2 , MinMaxScalar , -1 , 3 , {INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_vminmaxss , INS_vminmaxsd }, HW_Category_IMM , HW_Flag_BaseTypeFromFirstArg )
10881090HARDWARE_INTRINSIC (AVX10v2 , MoveScalar , 16 , -1 , {INS_invalid , INS_invalid , INS_vmovw_simd , INS_vmovw_simd , INS_vmovd_simd , INS_vmovd_simd , INS_invalid , INS_invalid , INS_invalid , INS_invalid }, HW_Category_SIMDScalar , HW_Flag_NoContainment )
10891091HARDWARE_INTRINSIC (AVX10v2 , MultipleSumAbsoluteDifferences , 64 , 3 , {INS_invalid , INS_invalid , INS_invalid , INS_vmpsadbw , INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_invalid }, HW_Category_IMM , HW_Flag_FullRangeIMM )
10901092HARDWARE_INTRINSIC (AVX10v2 , StoreScalar , 16 , 2 , {INS_invalid , INS_invalid , INS_vmovw_simd , INS_vmovw_simd , INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_invalid }, HW_Category_MemoryStore , HW_Flag_NoRMWSemantics |HW_Flag_BaseTypeFromSecondArg )
10911093#define LAST_NI_AVX10v2 NI_AVX10v2_StoreScalar
10921094
1095+ // ***************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************
1096+ // ISA Function name SIMD size NumArg Instructions Category Flags
1097+ // {TYP_BYTE, TYP_UBYTE, TYP_SHORT, TYP_USHORT, TYP_INT, TYP_UINT, TYP_LONG, TYP_ULONG, TYP_FLOAT, TYP_DOUBLE}
1098+ // ***************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************
1099+ // 64-bit only intrinsics for AVX10v2
1100+ #define FIRST_NI_AVX10v2_X64 NI_AVX10v2_X64_ConvertToInt64WithTruncatedSaturation
1101+ HARDWARE_INTRINSIC (AVX10v2_X64 , ConvertToInt64WithTruncatedSaturation , 16 , 1 , {INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_vcvttss2sis64 , INS_vcvttsd2sis64 }, HW_Category_SIMDScalar , HW_Flag_BaseTypeFromFirstArg |HW_Flag_SpecialCodeGen )
1102+ HARDWARE_INTRINSIC (AVX10v2_X64 , ConvertToUInt64WithTruncatedSaturation , 16 , 1 , {INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_vcvttss2usis64 , INS_vcvttsd2usis64 }, HW_Category_SIMDScalar , HW_Flag_BaseTypeFromFirstArg |HW_Flag_SpecialCodeGen )
1103+ #define LAST_NI_AVX10v2_X64 NI_AVX10v2_X64_ConvertToUInt64WithTruncatedSaturation
1104+
10931105// ***************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************
10941106// ISA Function name SIMD size NumArg Instructions Category Flags
10951107// {TYP_BYTE, TYP_UBYTE, TYP_SHORT, TYP_USHORT, TYP_INT, TYP_UINT, TYP_LONG, TYP_ULONG, TYP_FLOAT, TYP_DOUBLE}
0 commit comments