@@ -97,6 +97,10 @@ HARDWARE_INTRINSIC(Sve, Divide,
97
97
HARDWARE_INTRINSIC (Sve , DotProduct , -1 , 3 , {INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_sve_sdot , INS_sve_udot , INS_sve_sdot , INS_sve_udot , INS_invalid , INS_invalid }, HW_Category_SIMD , HW_Flag_Scalable |HW_Flag_HasRMWSemantics )
98
98
HARDWARE_INTRINSIC (Sve , DotProductBySelectedScalar , -1 , 4 , {INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_sve_sdot , INS_sve_udot , INS_sve_sdot , INS_sve_udot , INS_invalid , INS_invalid }, HW_Category_SIMDByIndexedElement , HW_Flag_Scalable |HW_Flag_BaseTypeFromFirstArg |HW_Flag_HasImmediateOperand |HW_Flag_HasRMWSemantics |HW_Flag_LowVectorOperation )
99
99
HARDWARE_INTRINSIC (Sve , DuplicateSelectedScalarToVector , -1 , 2 , {INS_sve_dup , INS_sve_dup , INS_sve_dup , INS_sve_dup , INS_sve_dup , INS_sve_dup , INS_sve_dup , INS_sve_dup , INS_sve_dup , INS_sve_dup }, HW_Category_SIMDByIndexedElement , HW_Flag_Scalable |HW_Flag_HasImmediateOperand )
100
+ HARDWARE_INTRINSIC (Sve , ExtractAfterLastActiveElement , -1 , 2 , {INS_sve_lasta , INS_sve_lasta , INS_sve_lasta , INS_sve_lasta , INS_sve_lasta , INS_sve_lasta , INS_sve_lasta , INS_sve_lasta , INS_sve_lasta , INS_sve_lasta }, HW_Category_SIMD , HW_Flag_Scalable |HW_Flag_ExplicitMaskedOperation |HW_Flag_LowMaskedOperation |HW_Flag_SpecialCodeGen )
101
+ HARDWARE_INTRINSIC (Sve , ExtractAfterLastActiveElementScalar , 0 , 2 , {INS_sve_lasta , INS_sve_lasta , INS_sve_lasta , INS_sve_lasta , INS_sve_lasta , INS_sve_lasta , INS_sve_lasta , INS_sve_lasta , INS_sve_lasta , INS_sve_lasta }, HW_Category_Scalar , HW_Flag_Scalable |HW_Flag_ExplicitMaskedOperation |HW_Flag_LowMaskedOperation |HW_Flag_SpecialCodeGen |HW_Flag_SpecialImport )
102
+ HARDWARE_INTRINSIC (Sve , ExtractLastActiveElement , -1 , 2 , {INS_sve_lastb , INS_sve_lastb , INS_sve_lastb , INS_sve_lastb , INS_sve_lastb , INS_sve_lastb , INS_sve_lastb , INS_sve_lastb , INS_sve_lastb , INS_sve_lastb }, HW_Category_SIMD , HW_Flag_Scalable |HW_Flag_ExplicitMaskedOperation |HW_Flag_LowMaskedOperation |HW_Flag_SpecialCodeGen )
103
+ HARDWARE_INTRINSIC (Sve , ExtractLastActiveElementScalar , 0 , 2 , {INS_sve_lastb , INS_sve_lastb , INS_sve_lastb , INS_sve_lastb , INS_sve_lastb , INS_sve_lastb , INS_sve_lastb , INS_sve_lastb , INS_sve_lastb , INS_sve_lastb }, HW_Category_Scalar , HW_Flag_Scalable |HW_Flag_ExplicitMaskedOperation |HW_Flag_LowMaskedOperation |HW_Flag_SpecialCodeGen |HW_Flag_SpecialImport )
100
104
HARDWARE_INTRINSIC (Sve , ExtractVector , -1 , 3 , {INS_sve_ext , INS_sve_ext , INS_sve_ext , INS_sve_ext , INS_sve_ext , INS_sve_ext , INS_sve_ext , INS_sve_ext , INS_sve_ext , INS_sve_ext }, HW_Category_SIMD , HW_Flag_Scalable |HW_Flag_HasImmediateOperand |HW_Flag_HasRMWSemantics |HW_Flag_SpecialCodeGen )
101
105
HARDWARE_INTRINSIC (Sve , FloatingPointExponentialAccelerator , -1 , 1 , {INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_sve_fexpa , INS_invalid , INS_sve_fexpa , INS_invalid , INS_invalid }, HW_Category_SIMD , HW_Flag_Scalable |HW_Flag_BaseTypeFromFirstArg )
102
106
HARDWARE_INTRINSIC (Sve , FusedMultiplyAdd , -1 , -1 , {INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_sve_fmla , INS_sve_fmla }, HW_Category_SIMD , HW_Flag_Scalable |HW_Flag_EmbeddedMaskedOperation |HW_Flag_HasRMWSemantics |HW_Flag_LowMaskedOperation |HW_Flag_FmaIntrinsic |HW_Flag_SpecialCodeGen )
0 commit comments