@@ -60,11 +60,13 @@ HARDWARE_INTRINSIC(Sve, CreateWhileLessThanOrEqualMask32Bit,
60
60
HARDWARE_INTRINSIC (Sve , CreateWhileLessThanOrEqualMask64Bit , -1 , 2 , false, {INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_sve_whilele , INS_invalid , INS_invalid }, HW_Category_SIMD , HW_Flag_Scalable |HW_Flag_SpecialCodeGen |HW_Flag_ReturnsPerElementMask )
61
61
HARDWARE_INTRINSIC (Sve , CreateWhileLessThanOrEqualMask8Bit , -1 , 2 , false, {INS_invalid , INS_sve_whilele , INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_invalid }, HW_Category_SIMD , HW_Flag_Scalable |HW_Flag_SpecialCodeGen |HW_Flag_ReturnsPerElementMask )
62
62
HARDWARE_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 )
63
+ HARDWARE_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 )
64
+ HARDWARE_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 )
63
65
HARDWARE_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 )
64
- HARDWARE_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 )
66
+ HARDWARE_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 )
65
67
HARDWARE_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 )
66
68
HARDWARE_INTRINSIC (Sve , FusedMultiplySubtract , -1 , -1 , false, {INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_sve_fmls , INS_sve_fmls }, HW_Category_SIMD , HW_Flag_Scalable |HW_Flag_EmbeddedMaskedOperation |HW_Flag_HasRMWSemantics |HW_Flag_LowMaskedOperation |HW_Flag_FmaIntrinsic |HW_Flag_SpecialCodeGen )
67
- HARDWARE_INTRINSIC (Sve , FusedMultiplySubtractBySelectedScalar , -1 , 4 , true, {INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_sve_fmls , INS_sve_fmls }, HW_Category_SIMDByIndexedElement , HW_Flag_Scalable |HW_Flag_HasImmediateOperand |HW_Flag_HasRMWSemantics |HW_Flag_FmaIntrinsic )
69
+ HARDWARE_INTRINSIC (Sve , FusedMultiplySubtractBySelectedScalar , -1 , 4 , true, {INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_sve_fmls , INS_sve_fmls }, HW_Category_SIMDByIndexedElement , HW_Flag_Scalable |HW_Flag_HasImmediateOperand |HW_Flag_HasRMWSemantics |HW_Flag_FmaIntrinsic | HW_Flag_LowVectorOperation )
68
70
HARDWARE_INTRINSIC (Sve , FusedMultiplySubtractNegated , -1 , -1 , false, {INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_sve_fnmls , INS_sve_fnmls }, HW_Category_SIMD , HW_Flag_Scalable |HW_Flag_EmbeddedMaskedOperation |HW_Flag_HasRMWSemantics |HW_Flag_LowMaskedOperation |HW_Flag_FmaIntrinsic |HW_Flag_SpecialCodeGen )
69
71
HARDWARE_INTRINSIC (Sve , LoadVector , -1 , 2 , true, {INS_sve_ld1b , INS_sve_ld1b , INS_sve_ld1h , INS_sve_ld1h , INS_sve_ld1w , INS_sve_ld1w , INS_sve_ld1d , INS_sve_ld1d , INS_sve_ld1w , INS_sve_ld1d }, HW_Category_MemoryLoad , HW_Flag_Scalable |HW_Flag_ExplicitMaskedOperation |HW_Flag_LowMaskedOperation )
70
72
HARDWARE_INTRINSIC (Sve , LoadVectorByteZeroExtendToInt16 , -1 , 2 , false, {INS_invalid , INS_invalid , INS_sve_ld1b , INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_invalid }, HW_Category_MemoryLoad , HW_Flag_Scalable |HW_Flag_ExplicitMaskedOperation |HW_Flag_LowMaskedOperation )
@@ -101,7 +103,7 @@ HARDWARE_INTRINSIC(Sve, MinNumber,
101
103
HARDWARE_INTRINSIC (Sve , MinNumberAcross , -1 , -1 , false, {INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_sve_fminnmv , INS_sve_fminnmv }, HW_Category_SIMD , HW_Flag_Scalable |HW_Flag_EmbeddedMaskedOperation )
102
104
HARDWARE_INTRINSIC (Sve , Multiply , -1 , 2 , true, {INS_sve_mul , INS_sve_mul , INS_sve_mul , INS_sve_mul , INS_sve_mul , INS_sve_mul , INS_sve_mul , INS_sve_mul , INS_sve_fmul , INS_sve_fmul }, HW_Category_SIMD , HW_Flag_Scalable |HW_Flag_OptionalEmbeddedMaskedOperation |HW_Flag_HasRMWSemantics |HW_Flag_LowMaskedOperation )
103
105
HARDWARE_INTRINSIC (Sve , MultiplyAdd , -1 , -1 , false, {INS_sve_mla , INS_sve_mla , INS_sve_mla , INS_sve_mla , INS_sve_mla , INS_sve_mla , INS_sve_mla , INS_sve_mla , INS_invalid , INS_invalid }, HW_Category_SIMD , HW_Flag_Scalable |HW_Flag_EmbeddedMaskedOperation |HW_Flag_HasRMWSemantics |HW_Flag_LowMaskedOperation |HW_Flag_FmaIntrinsic |HW_Flag_SpecialCodeGen )
104
- HARDWARE_INTRINSIC (Sve , MultiplyBySelectedScalar , -1 , 3 , true, {INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_sve_fmul , INS_sve_fmul }, HW_Category_SIMDByIndexedElement , HW_Flag_Scalable |HW_Flag_HasImmediateOperand )
106
+ HARDWARE_INTRINSIC (Sve , MultiplyBySelectedScalar , -1 , 3 , true, {INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_sve_fmul , INS_sve_fmul }, HW_Category_SIMDByIndexedElement , HW_Flag_Scalable |HW_Flag_HasImmediateOperand | HW_Flag_LowVectorOperation )
105
107
HARDWARE_INTRINSIC (Sve , MultiplyExtended , -1 , -1 , false, {INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_sve_fmulx , INS_sve_fmulx }, HW_Category_SIMD , HW_Flag_Scalable |HW_Flag_EmbeddedMaskedOperation |HW_Flag_HasRMWSemantics |HW_Flag_LowMaskedOperation )
106
108
HARDWARE_INTRINSIC (Sve , MultiplySubtract , -1 , -1 , false, {INS_sve_mls , INS_sve_mls , INS_sve_mls , INS_sve_mls , INS_sve_mls , INS_sve_mls , INS_sve_mls , INS_sve_mls , INS_invalid , INS_invalid }, HW_Category_SIMD , HW_Flag_Scalable |HW_Flag_EmbeddedMaskedOperation |HW_Flag_HasRMWSemantics |HW_Flag_LowMaskedOperation |HW_Flag_FmaIntrinsic |HW_Flag_SpecialCodeGen )
107
109
HARDWARE_INTRINSIC (Sve , Negate , -1 , -1 , false, {INS_sve_neg , INS_invalid , INS_sve_neg , INS_invalid , INS_sve_neg , INS_invalid , INS_sve_neg , INS_invalid , INS_sve_fneg , INS_sve_fneg }, HW_Category_SIMD , HW_Flag_Scalable |HW_Flag_EmbeddedMaskedOperation |HW_Flag_LowMaskedOperation )
0 commit comments