@@ -114,6 +114,7 @@ HARDWARE_INTRINSIC(Sve, SignExtend32,
114114HARDWARE_INTRINSIC (Sve , SignExtend8 , -1 , -1 , false, {INS_invalid , INS_invalid , INS_sve_sxtb , INS_invalid , INS_sve_sxtb , INS_invalid , INS_sve_sxtb , INS_invalid , INS_invalid , INS_invalid }, HW_Category_SIMD , HW_Flag_Scalable |HW_Flag_EmbeddedMaskedOperation |HW_Flag_LowMaskedOperation )
115115HARDWARE_INTRINSIC (Sve , SignExtendWideningLower , -1 , 1 , true, {INS_sve_sunpklo , INS_invalid , INS_sve_sunpklo , INS_invalid , INS_sve_sunpklo , INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_invalid }, HW_Category_SIMD , HW_Flag_Scalable |HW_Flag_BaseTypeFromFirstArg )
116116HARDWARE_INTRINSIC (Sve , SignExtendWideningUpper , -1 , 1 , true, {INS_sve_sunpkhi , INS_invalid , INS_sve_sunpkhi , INS_invalid , INS_sve_sunpkhi , INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_invalid }, HW_Category_SIMD , HW_Flag_Scalable |HW_Flag_BaseTypeFromFirstArg )
117+ HARDWARE_INTRINSIC (Sve , StoreAndZip , -1 , 3 , true, {INS_sve_st1b , INS_sve_st1b , INS_sve_st1h , INS_sve_st1h , INS_sve_st1w , INS_sve_st1w , INS_sve_st1d , INS_sve_st1d , INS_sve_st1w , INS_sve_st1d }, HW_Category_MemoryStore , HW_Flag_Scalable |HW_Flag_BaseTypeFromFirstArg |HW_Flag_ExplicitMaskedOperation |HW_Flag_SpecialImport |HW_Flag_SpecialCodeGen |HW_Flag_LowMaskedOperation )
117118HARDWARE_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 )
118119HARDWARE_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 )
119120HARDWARE_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 )
@@ -138,6 +139,9 @@ HARDWARE_INTRINSIC(Sve, ZipLow,
138139HARDWARE_INTRINSIC (Sve , ConvertMaskToVector , -1 , 1 , true, {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 )
139140HARDWARE_INTRINSIC (Sve , ConvertVectorToMask , -1 , 2 , true, {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 )
140141HARDWARE_INTRINSIC (Sve , CreateTrueMaskAll , -1 , -1 , false, {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 )
142+ HARDWARE_INTRINSIC (Sve , StoreAndZipx2 , -1 , 3 , true, {INS_sve_st2b , INS_sve_st2b , INS_sve_st2h , INS_sve_st2h , INS_sve_st2w , INS_sve_st2w , INS_sve_st2d , INS_sve_st2d , INS_sve_st2w , INS_sve_st2d }, HW_Category_MemoryStore , HW_Flag_Scalable |HW_Flag_SpecialCodeGen |HW_Flag_ExplicitMaskedOperation |HW_Flag_LowMaskedOperation |HW_Flag_NeedsConsecutiveRegisters )
143+ HARDWARE_INTRINSIC (Sve , StoreAndZipx3 , -1 , 3 , true, {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 )
144+ HARDWARE_INTRINSIC (Sve , StoreAndZipx4 , -1 , 3 , true, {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 )
141145
142146
143147#endif // FEATURE_HW_INTRINSIC
0 commit comments