@@ -123,14 +123,14 @@ HARDWARE_INTRINSIC(Sve, GatherVectorUInt32WithByteOffsetsZeroExtend,
123123HARDWARE_INTRINSIC (Sve , GatherVectorUInt32ZeroExtend , -1 , -1 , {INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_sve_ld1w , INS_sve_ld1w , INS_sve_ld1w , INS_sve_ld1w , INS_invalid , INS_invalid }, HW_Category_MemoryLoad , HW_Flag_Scalable |HW_Flag_SpecialCodeGen |HW_Flag_ExplicitMaskedOperation |HW_Flag_LowMaskedOperation )
124124HARDWARE_INTRINSIC (Sve , GatherVectorWithByteOffsets , -1 , 3 , {INS_invalid , INS_invalid , INS_invalid , INS_invalid , 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_SpecialCodeGen |HW_Flag_ExplicitMaskedOperation |HW_Flag_LowMaskedOperation )
125125HARDWARE_INTRINSIC (Sve , GetActiveElementCount , -1 , 2 , {INS_sve_cntp , INS_sve_cntp , INS_sve_cntp , INS_sve_cntp , INS_sve_cntp , INS_sve_cntp , INS_sve_cntp , INS_sve_cntp , INS_sve_cntp , INS_sve_cntp }, HW_Category_SIMD , HW_Flag_Scalable |HW_Flag_BaseTypeFromFirstArg |HW_Flag_ExplicitMaskedOperation )
126- HARDWARE_INTRINSIC (Sve , GetFfrByte , -1 , -1 , {INS_invalid , INS_sve_rdffr , 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 )
127- HARDWARE_INTRINSIC (Sve , GetFfrInt16 , -1 , -1 , {INS_invalid , INS_invalid , INS_sve_rdffr , 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 )
128- HARDWARE_INTRINSIC (Sve , GetFfrInt32 , -1 , -1 , {INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_sve_rdffr , INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_invalid }, HW_Category_SIMD , HW_Flag_Scalable |HW_Flag_SpecialCodeGen |HW_Flag_ReturnsPerElementMask )
129- HARDWARE_INTRINSIC (Sve , GetFfrInt64 , -1 , -1 , {INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_sve_rdffr , INS_invalid , INS_invalid , INS_invalid }, HW_Category_SIMD , HW_Flag_Scalable |HW_Flag_SpecialCodeGen |HW_Flag_ReturnsPerElementMask )
130- HARDWARE_INTRINSIC (Sve , GetFfrSByte , -1 , -1 , {INS_sve_rdffr , INS_invalid , 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 )
131- HARDWARE_INTRINSIC (Sve , GetFfrUInt16 , -1 , -1 , {INS_invalid , INS_invalid , INS_invalid , INS_sve_rdffr , INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_invalid }, HW_Category_SIMD , HW_Flag_Scalable |HW_Flag_SpecialCodeGen |HW_Flag_ReturnsPerElementMask )
132- HARDWARE_INTRINSIC (Sve , GetFfrUInt32 , -1 , -1 , {INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_sve_rdffr , INS_invalid , INS_invalid , INS_invalid , INS_invalid }, HW_Category_SIMD , HW_Flag_Scalable |HW_Flag_SpecialCodeGen |HW_Flag_ReturnsPerElementMask )
133- HARDWARE_INTRINSIC (Sve , GetFfrUInt64 , -1 , -1 , {INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_sve_rdffr , INS_invalid , INS_invalid }, HW_Category_SIMD , HW_Flag_Scalable |HW_Flag_SpecialCodeGen |HW_Flag_ReturnsPerElementMask )
126+ HARDWARE_INTRINSIC (Sve , GetFfrByte , -1 , 0 , {INS_invalid , INS_sve_rdffr , 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 )
127+ HARDWARE_INTRINSIC (Sve , GetFfrInt16 , -1 , 0 , {INS_invalid , INS_invalid , INS_sve_rdffr , 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 )
128+ HARDWARE_INTRINSIC (Sve , GetFfrInt32 , -1 , 0 , {INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_sve_rdffr , INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_invalid }, HW_Category_SIMD , HW_Flag_Scalable |HW_Flag_SpecialCodeGen |HW_Flag_ReturnsPerElementMask )
129+ HARDWARE_INTRINSIC (Sve , GetFfrInt64 , -1 , 0 , {INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_sve_rdffr , INS_invalid , INS_invalid , INS_invalid }, HW_Category_SIMD , HW_Flag_Scalable |HW_Flag_SpecialCodeGen |HW_Flag_ReturnsPerElementMask )
130+ HARDWARE_INTRINSIC (Sve , GetFfrSByte , -1 , 0 , {INS_sve_rdffr , INS_invalid , 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 )
131+ HARDWARE_INTRINSIC (Sve , GetFfrUInt16 , -1 , 0 , {INS_invalid , INS_invalid , INS_invalid , INS_sve_rdffr , INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_invalid }, HW_Category_SIMD , HW_Flag_Scalable |HW_Flag_SpecialCodeGen |HW_Flag_ReturnsPerElementMask )
132+ HARDWARE_INTRINSIC (Sve , GetFfrUInt32 , -1 , 0 , {INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_sve_rdffr , INS_invalid , INS_invalid , INS_invalid , INS_invalid }, HW_Category_SIMD , HW_Flag_Scalable |HW_Flag_SpecialCodeGen |HW_Flag_ReturnsPerElementMask )
133+ HARDWARE_INTRINSIC (Sve , GetFfrUInt64 , -1 , 0 , {INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_sve_rdffr , INS_invalid , INS_invalid }, HW_Category_SIMD , HW_Flag_Scalable |HW_Flag_SpecialCodeGen |HW_Flag_ReturnsPerElementMask )
134134HARDWARE_INTRINSIC (Sve , InsertIntoShiftedVector , -1 , 2 , {INS_sve_insr , INS_sve_insr , INS_sve_insr , INS_sve_insr , INS_sve_insr , INS_sve_insr , INS_sve_insr , INS_sve_insr , INS_sve_insr , INS_sve_insr }, HW_Category_SIMD , HW_Flag_Scalable |HW_Flag_SpecialCodeGen |HW_Flag_HasRMWSemantics )
135135HARDWARE_INTRINSIC (Sve , LeadingSignCount , -1 , -1 , {INS_sve_cls , INS_invalid , INS_sve_cls , INS_invalid , INS_sve_cls , INS_invalid , INS_sve_cls , INS_invalid , INS_invalid , INS_invalid }, HW_Category_SIMD , HW_Flag_Scalable |HW_Flag_BaseTypeFromFirstArg |HW_Flag_EmbeddedMaskedOperation |HW_Flag_LowMaskedOperation )
136136HARDWARE_INTRINSIC (Sve , LeadingZeroCount , -1 , -1 , {INS_sve_clz , INS_sve_clz , INS_sve_clz , INS_sve_clz , INS_sve_clz , INS_sve_clz , INS_sve_clz , INS_sve_clz , INS_invalid , INS_invalid }, HW_Category_SIMD , HW_Flag_Scalable |HW_Flag_BaseTypeFromFirstArg |HW_Flag_EmbeddedMaskedOperation |HW_Flag_LowMaskedOperation )
@@ -297,7 +297,7 @@ HARDWARE_INTRINSIC(Sve, ConditionalExtractAfterLastActiveElementScalar
297297HARDWARE_INTRINSIC (Sve , ConditionalExtractLastActiveElementScalar , 0 , 3 , {INS_sve_clastb , INS_sve_clastb , INS_sve_clastb , INS_sve_clastb , INS_sve_clastb , INS_sve_clastb , INS_sve_clastb , INS_sve_clastb , INS_sve_clastb , INS_sve_clastb }, HW_Category_Scalar , HW_Flag_Scalable |HW_Flag_SpecialCodeGen |HW_Flag_SpecialImport |HW_Flag_HasRMWSemantics |HW_Flag_ExplicitMaskedOperation |HW_Flag_LowMaskedOperation )
298298HARDWARE_INTRINSIC (Sve , ConvertMaskToVector , -1 , 1 , {INS_sve_mov , INS_sve_mov , INS_sve_mov , INS_sve_mov , INS_sve_mov , INS_sve_mov , INS_sve_mov , INS_sve_mov , INS_sve_mov , INS_sve_mov }, HW_Category_Helper , HW_Flag_Scalable |HW_Flag_ExplicitMaskedOperation )
299299HARDWARE_INTRINSIC (Sve , ConvertVectorToMask , -1 , 2 , {INS_sve_cmpne , INS_sve_cmpne , INS_sve_cmpne , INS_sve_cmpne , INS_sve_cmpne , INS_sve_cmpne , INS_sve_cmpne , INS_sve_cmpne , INS_sve_cmpne , INS_sve_cmpne }, HW_Category_Helper , HW_Flag_Scalable |HW_Flag_ReturnsPerElementMask |HW_Flag_LowMaskedOperation )
300- HARDWARE_INTRINSIC (Sve , CreateTrueMaskAll , -1 , -1 , {INS_sve_ptrue , INS_sve_ptrue , INS_sve_ptrue , INS_sve_ptrue , INS_sve_ptrue , INS_sve_ptrue , INS_sve_ptrue , INS_sve_ptrue , INS_sve_ptrue , INS_sve_ptrue }, HW_Category_Helper , HW_Flag_Scalable |HW_Flag_ReturnsPerElementMask )
300+ HARDWARE_INTRINSIC (Sve , CreateTrueMaskAll , -1 , 0 , {INS_sve_ptrue , INS_sve_ptrue , INS_sve_ptrue , INS_sve_ptrue , INS_sve_ptrue , INS_sve_ptrue , INS_sve_ptrue , INS_sve_ptrue , INS_sve_ptrue , INS_sve_ptrue }, HW_Category_Helper , HW_Flag_Scalable |HW_Flag_ReturnsPerElementMask )
301301// Scalar variants of Saturating*By*BitElementCount. There is 8bit versions as the generic version is scalar only.
302302HARDWARE_INTRINSIC (Sve , SaturatingDecrementBy16BitElementCountScalar , 0 , 3 , {INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_sve_sqdech , INS_sve_uqdech , INS_sve_sqdech , INS_sve_uqdech , INS_invalid , INS_invalid }, HW_Category_Scalar , HW_Flag_Scalable |HW_Flag_HasImmediateOperand |HW_Flag_HasEnumOperand |HW_Flag_SpecialCodeGen |HW_Flag_SpecialImport |HW_Flag_HasRMWSemantics )
303303HARDWARE_INTRINSIC (Sve , SaturatingDecrementBy32BitElementCountScalar , 0 , 3 , {INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_sve_sqdecw , INS_sve_uqdecw , INS_sve_sqdecw , INS_sve_uqdecw , INS_invalid , INS_invalid }, HW_Category_Scalar , HW_Flag_Scalable |HW_Flag_HasImmediateOperand |HW_Flag_HasEnumOperand |HW_Flag_SpecialCodeGen |HW_Flag_SpecialImport |HW_Flag_HasRMWSemantics )
0 commit comments