@@ -68,6 +68,7 @@ HARDWARE_INTRINSIC(Sve, CreateWhileLessThanOrEqualMask8Bit,
6868HARDWARE_INTRINSIC (Sve , Divide , -1 , 2 , true, {INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_sve_sdiv , INS_sve_udiv , INS_sve_sdiv , INS_sve_udiv , INS_sve_fdiv , INS_sve_fdiv }, HW_Category_SIMD , HW_Flag_Scalable |HW_Flag_EmbeddedMaskedOperation |HW_Flag_HasRMWSemantics |HW_Flag_LowMaskedOperation )
6969HARDWARE_INTRINSIC (Sve , DotProduct , -1 , 3 , true, {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 )
7070HARDWARE_INTRINSIC (Sve , DotProductBySelectedScalar , -1 , 4 , true, {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 )
71+ HARDWARE_INTRINSIC (Sve , ExtractVector , -1 , 3 , true, {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 )
7172HARDWARE_INTRINSIC (Sve , FusedMultiplyAdd , -1 , -1 , false, {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 )
7273HARDWARE_INTRINSIC (Sve , FusedMultiplyAddBySelectedScalar , -1 , 4 , true, {INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_sve_fmla , INS_sve_fmla }, HW_Category_SIMDByIndexedElement , HW_Flag_Scalable |HW_Flag_HasImmediateOperand |HW_Flag_HasRMWSemantics |HW_Flag_FmaIntrinsic |HW_Flag_LowVectorOperation )
7374HARDWARE_INTRINSIC (Sve , FusedMultiplyAddNegated , -1 , -1 , false, {INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_sve_fnmla , INS_sve_fnmla }, HW_Category_SIMD , HW_Flag_Scalable |HW_Flag_EmbeddedMaskedOperation |HW_Flag_HasRMWSemantics |HW_Flag_LowMaskedOperation |HW_Flag_FmaIntrinsic |HW_Flag_SpecialCodeGen )
@@ -204,6 +205,9 @@ HARDWARE_INTRINSIC(Sve, StoreNarrowing,
204205HARDWARE_INTRINSIC (Sve , StoreNonTemporal , -1 , 3 , true, {INS_sve_stnt1b , INS_sve_stnt1b , INS_sve_stnt1h , INS_sve_stnt1h , INS_sve_stnt1w , INS_sve_stnt1w , INS_sve_stnt1d , INS_sve_stnt1d , INS_sve_stnt1w , INS_sve_stnt1d }, HW_Category_MemoryStore , HW_Flag_Scalable |HW_Flag_BaseTypeFromFirstArg |HW_Flag_ExplicitMaskedOperation |HW_Flag_SpecialCodeGen |HW_Flag_LowMaskedOperation )
205206HARDWARE_INTRINSIC (Sve , Subtract , -1 , 2 , true, {INS_sve_sub , INS_sve_sub , INS_sve_sub , INS_sve_sub , INS_sve_sub , INS_sve_sub , INS_sve_sub , INS_sve_sub , INS_sve_fsub , INS_sve_fsub }, HW_Category_SIMD , HW_Flag_Scalable |HW_Flag_OptionalEmbeddedMaskedOperation |HW_Flag_HasRMWSemantics |HW_Flag_LowMaskedOperation )
206207HARDWARE_INTRINSIC (Sve , SubtractSaturate , -1 , 2 , true, {INS_sve_sqsub , INS_sve_uqsub , INS_sve_sqsub , INS_sve_uqsub , INS_sve_sqsub , INS_sve_uqsub , INS_sve_sqsub , INS_sve_uqsub , INS_invalid , INS_invalid }, HW_Category_SIMD , HW_Flag_Scalable |HW_Flag_OptionalEmbeddedMaskedOperation |HW_Flag_HasRMWSemantics |HW_Flag_LowMaskedOperation )
208+ HARDWARE_INTRINSIC (Sve , TestAnyTrue , -1 , 2 , true, {INS_sve_ptest , INS_sve_ptest , INS_sve_ptest , INS_sve_ptest , INS_sve_ptest , INS_sve_ptest , INS_sve_ptest , INS_sve_ptest , INS_invalid , INS_invalid }, HW_Category_SIMD , HW_Flag_Scalable |HW_Flag_ExplicitMaskedOperation |HW_Flag_LowMaskedOperation |HW_Flag_BaseTypeFromFirstArg |HW_Flag_SpecialCodeGen )
209+ HARDWARE_INTRINSIC (Sve , TestFirstTrue , -1 , 2 , true, {INS_sve_ptest , INS_sve_ptest , INS_sve_ptest , INS_sve_ptest , INS_sve_ptest , INS_sve_ptest , INS_sve_ptest , INS_sve_ptest , INS_invalid , INS_invalid }, HW_Category_SIMD , HW_Flag_Scalable |HW_Flag_ExplicitMaskedOperation |HW_Flag_LowMaskedOperation |HW_Flag_BaseTypeFromFirstArg |HW_Flag_SpecialCodeGen )
210+ HARDWARE_INTRINSIC (Sve , TestLastTrue , -1 , 2 , true, {INS_sve_ptest , INS_sve_ptest , INS_sve_ptest , INS_sve_ptest , INS_sve_ptest , INS_sve_ptest , INS_sve_ptest , INS_sve_ptest , INS_invalid , INS_invalid }, HW_Category_SIMD , HW_Flag_Scalable |HW_Flag_ExplicitMaskedOperation |HW_Flag_LowMaskedOperation |HW_Flag_BaseTypeFromFirstArg |HW_Flag_SpecialCodeGen )
207211HARDWARE_INTRINSIC (Sve , TransposeEven , -1 , 2 , true, {INS_sve_trn1 , INS_sve_trn1 , INS_sve_trn1 , INS_sve_trn1 , INS_sve_trn1 , INS_sve_trn1 , INS_sve_trn1 , INS_sve_trn1 , INS_sve_trn1 , INS_sve_trn1 }, HW_Category_SIMD , HW_Flag_Scalable |HW_Flag_SpecialCodeGen )
208212HARDWARE_INTRINSIC (Sve , TransposeOdd , -1 , 2 , true, {INS_sve_trn2 , INS_sve_trn2 , INS_sve_trn2 , INS_sve_trn2 , INS_sve_trn2 , INS_sve_trn2 , INS_sve_trn2 , INS_sve_trn2 , INS_sve_trn2 , INS_sve_trn2 }, HW_Category_SIMD , HW_Flag_Scalable |HW_Flag_SpecialCodeGen )
209213HARDWARE_INTRINSIC (Sve , UnzipEven , -1 , 2 , true, {INS_sve_uzp1 , INS_sve_uzp1 , INS_sve_uzp1 , INS_sve_uzp1 , INS_sve_uzp1 , INS_sve_uzp1 , INS_sve_uzp1 , INS_sve_uzp1 , INS_sve_uzp1 , INS_sve_uzp1 }, HW_Category_SIMD , HW_Flag_Scalable |HW_Flag_SpecialCodeGen )
0 commit comments