@@ -308,7 +308,10 @@ HARDWARE_INTRINSIC(Sve, ZipLow,
308308// {TYP_BYTE, TYP_UBYTE, TYP_SHORT, TYP_USHORT, TYP_INT, TYP_UINT, TYP_LONG, TYP_ULONG, TYP_FLOAT, TYP_DOUBLE}
309309// ***************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************
310310// SVE2 Intrinsics
311- #define FIRST_NI_Sve2 NI_Sve2_BitwiseClearXor
311+ #define FIRST_NI_Sve2 NI_Sve2_AbsoluteDifferenceAdd
312+ HARDWARE_INTRINSIC (Sve2 , AbsoluteDifferenceAdd , -1 , 3 , {INS_sve_saba , INS_sve_uaba , INS_sve_saba , INS_sve_uaba , INS_sve_saba , INS_sve_uaba , INS_sve_saba , INS_sve_uaba , INS_invalid , INS_invalid }, HW_Category_SIMD , HW_Flag_Scalable |HW_Flag_HasRMWSemantics )
313+ HARDWARE_INTRINSIC (Sve2 , AbsoluteDifferenceAddWideningLower , -1 , 3 , {INS_invalid , INS_invalid , INS_sve_sabalb , INS_sve_uabalb , INS_sve_sabalb , INS_sve_uabalb , INS_sve_sabalb , INS_sve_uabalb , INS_invalid , INS_invalid }, HW_Category_SIMD , HW_Flag_Scalable |HW_Flag_BaseTypeFromFirstArg |HW_Flag_HasRMWSemantics )
314+ HARDWARE_INTRINSIC (Sve2 , AbsoluteDifferenceAddWideningUpper , -1 , 3 , {INS_invalid , INS_invalid , INS_sve_sabalt , INS_sve_uabalt , INS_sve_sabalt , INS_sve_uabalt , INS_sve_sabalt , INS_sve_uabalt , INS_invalid , INS_invalid }, HW_Category_SIMD , HW_Flag_Scalable |HW_Flag_BaseTypeFromFirstArg |HW_Flag_HasRMWSemantics )
312315HARDWARE_INTRINSIC (Sve2 , BitwiseClearXor , -1 , 3 , {INS_sve_bcax , INS_sve_bcax , INS_sve_bcax , INS_sve_bcax , INS_sve_bcax , INS_sve_bcax , INS_sve_bcax , INS_sve_bcax , INS_invalid , INS_invalid }, HW_Category_SIMD , HW_Flag_Scalable |HW_Flag_SpecialCodeGen |HW_Flag_HasRMWSemantics )
313316#define LAST_NI_Sve2 NI_Sve2_BitwiseClearXor
314317
@@ -334,14 +337,6 @@ HARDWARE_INTRINSIC(Sve, StoreAndZipx2,
334337HARDWARE_INTRINSIC (Sve , StoreAndZipx3 , -1 , 3 , {INS_sve_st3b , INS_sve_st3b , INS_sve_st3h , INS_sve_st3h , INS_sve_st3w , INS_sve_st3w , INS_sve_st3d , INS_sve_st3d , INS_sve_st3w , INS_sve_st3d }, HW_Category_MemoryStore , HW_Flag_Scalable |HW_Flag_SpecialCodeGen |HW_Flag_ExplicitMaskedOperation |HW_Flag_LowMaskedOperation |HW_Flag_NeedsConsecutiveRegisters )
335338HARDWARE_INTRINSIC (Sve , StoreAndZipx4 , -1 , 3 , {INS_sve_st4b , INS_sve_st4b , INS_sve_st4h , INS_sve_st4h , INS_sve_st4w , INS_sve_st4w , INS_sve_st4d , INS_sve_st4d , INS_sve_st4w , INS_sve_st4d }, HW_Category_MemoryStore , HW_Flag_Scalable |HW_Flag_SpecialCodeGen |HW_Flag_ExplicitMaskedOperation |HW_Flag_LowMaskedOperation |HW_Flag_NeedsConsecutiveRegisters )
336339
337-
338- #define FIRST_NI_Sve2 NI_Sve2_AbsoluteDifferenceAdd
339- HARDWARE_INTRINSIC (Sve2 , AbsoluteDifferenceAdd , -1 , 3 , {INS_sve_saba , INS_sve_uaba , INS_sve_saba , INS_sve_uaba , INS_sve_saba , INS_sve_uaba , INS_sve_saba , INS_sve_uaba , INS_invalid , INS_invalid }, HW_Category_SIMD , HW_Flag_Scalable |HW_Flag_HasRMWSemantics )
340- HARDWARE_INTRINSIC (Sve2 , AbsoluteDifferenceAddWideningLower , -1 , 3 , {INS_invalid , INS_invalid , INS_sve_sabalb , INS_sve_uabalb , INS_sve_sabalb , INS_sve_uabalb , INS_sve_sabalb , INS_sve_uabalb , INS_invalid , INS_invalid }, HW_Category_SIMD , HW_Flag_Scalable |HW_Flag_BaseTypeFromFirstArg |HW_Flag_HasRMWSemantics )
341- HARDWARE_INTRINSIC (Sve2 , AbsoluteDifferenceAddWideningUpper , -1 , 3 , {INS_invalid , INS_invalid , INS_sve_sabalt , INS_sve_uabalt , INS_sve_sabalt , INS_sve_uabalt , INS_sve_sabalt , INS_sve_uabalt , INS_invalid , INS_invalid }, HW_Category_SIMD , HW_Flag_Scalable |HW_Flag_BaseTypeFromFirstArg |HW_Flag_HasRMWSemantics )
342- HARDWARE_INTRINSIC (Sve2 , BitwiseClearXor , -1 , 3 , {INS_sve_bcax , INS_sve_bcax , INS_sve_bcax , INS_sve_bcax , INS_sve_bcax , INS_sve_bcax , INS_sve_bcax , INS_sve_bcax , INS_invalid , INS_invalid }, HW_Category_SIMD , HW_Flag_Scalable |HW_Flag_SpecialCodeGen |HW_Flag_HasRMWSemantics )
343- #define LAST_NI_Sve2 NI_Sve2_BitwiseClearXor
344-
345340#endif // FEATURE_HW_INTRINSIC
346341
347342#undef HARDWARE_INTRINSIC
0 commit comments