@@ -330,12 +330,33 @@ HARDWARE_INTRINSIC(Sve2, ShiftArithmeticRounded,
330330HARDWARE_INTRINSIC (Sve2 , ShiftArithmeticRoundedSaturate , -1 , -1 , {INS_sve_sqrshl , INS_invalid , INS_sve_sqrshl , INS_invalid , INS_sve_sqrshl , INS_invalid , INS_sve_sqrshl , INS_invalid , INS_invalid , INS_invalid }, HW_Category_SIMD , HW_Flag_Scalable |HW_Flag_EmbeddedMaskedOperation |HW_Flag_HasRMWSemantics |HW_Flag_LowMaskedOperation )
331331HARDWARE_INTRINSIC (Sve2 , ShiftArithmeticSaturate , -1 , -1 , {INS_sve_sqshl , INS_invalid , INS_sve_sqshl , INS_invalid , INS_sve_sqshl , INS_invalid , INS_sve_sqshl , INS_invalid , INS_invalid , INS_invalid }, HW_Category_SIMD , HW_Flag_Scalable |HW_Flag_EmbeddedMaskedOperation |HW_Flag_HasRMWSemantics |HW_Flag_LowMaskedOperation )
332332HARDWARE_INTRINSIC (Sve2 , ShiftLeftAndInsert , -1 , 3 , {INS_sve_sli , INS_sve_sli , INS_sve_sli , INS_sve_sli , INS_sve_sli , INS_sve_sli , INS_sve_sli , INS_sve_sli , INS_invalid , INS_invalid }, HW_Category_ShiftLeftByImmediate , HW_Flag_Scalable |HW_Flag_HasImmediateOperand |HW_Flag_HasRMWSemantics )
333- HARDWARE_INTRINSIC (Sve2 , ShiftLeftLogicalSaturate , -1 , -1 , {INS_invalid , INS_sve_uqshl , INS_invalid , INS_sve_uqshl , INS_invalid , INS_sve_uqshl , INS_invalid , INS_sve_uqshl , INS_invalid , INS_invalid }, HW_Category_SIMD , HW_Flag_Scalable |HW_Flag_EmbeddedMaskedOperation |HW_Flag_HasRMWSemantics )
334- HARDWARE_INTRINSIC (Sve2 , ShiftLeftLogicalSaturateUnsigned , -1 , -1 , {INS_invalid , INS_sve_sqshlu , INS_invalid , INS_sve_sqshlu , INS_invalid , INS_sve_sqshlu , INS_invalid , INS_sve_sqshlu , INS_invalid , INS_invalid }, HW_Category_ShiftLeftByImmediate , HW_Flag_Scalable |HW_Flag_EmbeddedMaskedOperation |HW_Flag_HasImmediateOperand |HW_Flag_HasRMWSemantics )
333+ HARDWARE_INTRINSIC (Sve2 , ShiftLeftLogicalSaturate , -1 , -1 , {INS_invalid , INS_sve_uqshl , INS_invalid , INS_sve_uqshl , INS_invalid , INS_sve_uqshl , INS_invalid , INS_sve_uqshl , INS_invalid , INS_invalid }, HW_Category_SIMD , HW_Flag_Scalable |HW_Flag_EmbeddedMaskedOperation |HW_Flag_LowMaskedOperation | HW_Flag_HasRMWSemantics )
334+ HARDWARE_INTRINSIC (Sve2 , ShiftLeftLogicalSaturateUnsigned , -1 , -1 , {INS_invalid , INS_sve_sqshlu , INS_invalid , INS_sve_sqshlu , INS_invalid , INS_sve_sqshlu , INS_invalid , INS_sve_sqshlu , INS_invalid , INS_invalid }, HW_Category_ShiftLeftByImmediate , HW_Flag_Scalable |HW_Flag_EmbeddedMaskedOperation |HW_Flag_LowMaskedOperation | HW_Flag_HasImmediateOperand |HW_Flag_HasRMWSemantics )
335335HARDWARE_INTRINSIC (Sve2 , ShiftLeftLogicalWideningEven , -1 , 2 , {INS_invalid , INS_invalid , INS_sve_sshllb , INS_sve_ushllb , INS_sve_sshllb , INS_sve_ushllb , INS_sve_sshllb , INS_sve_ushllb , INS_invalid , INS_invalid }, HW_Category_ShiftLeftByImmediate , HW_Flag_Scalable |HW_Flag_HasImmediateOperand )
336336HARDWARE_INTRINSIC (Sve2 , ShiftLeftLogicalWideningOdd , -1 , 2 , {INS_invalid , INS_invalid , INS_sve_sshllt , INS_sve_ushllt , INS_sve_sshllt , INS_sve_ushllt , INS_sve_sshllt , INS_sve_ushllt , INS_invalid , INS_invalid }, HW_Category_ShiftLeftByImmediate , HW_Flag_Scalable |HW_Flag_HasImmediateOperand )
337337HARDWARE_INTRINSIC (Sve2 , ShiftLogicalRounded , -1 , -1 , {INS_invalid , INS_sve_urshl , INS_invalid , INS_sve_urshl , INS_invalid , INS_sve_urshl , INS_invalid , INS_sve_urshl , INS_invalid , INS_invalid }, HW_Category_SIMD , HW_Flag_Scalable |HW_Flag_EmbeddedMaskedOperation |HW_Flag_LowMaskedOperation |HW_Flag_HasRMWSemantics )
338338HARDWARE_INTRINSIC (Sve2 , ShiftLogicalRoundedSaturate , -1 , -1 , {INS_invalid , INS_sve_uqrshl , INS_invalid , INS_sve_uqrshl , INS_invalid , INS_sve_uqrshl , INS_invalid , INS_sve_uqrshl , INS_invalid , INS_invalid }, HW_Category_SIMD , HW_Flag_Scalable |HW_Flag_EmbeddedMaskedOperation |HW_Flag_LowMaskedOperation |HW_Flag_HasRMWSemantics )
339+ HARDWARE_INTRINSIC (Sve2 , ShiftRightAndInsert , -1 , 3 , {INS_sve_sri , INS_sve_sri , INS_sve_sri , INS_sve_sri , INS_sve_sri , INS_sve_sri , INS_sve_sri , INS_sve_sri , INS_invalid , INS_invalid }, HW_Category_ShiftRightByImmediate , HW_Flag_Scalable |HW_Flag_HasImmediateOperand |HW_Flag_HasRMWSemantics )
340+ HARDWARE_INTRINSIC (Sve2 , ShiftRightArithmeticAdd , -1 , 3 , {INS_sve_ssra , INS_invalid , INS_sve_ssra , INS_invalid , INS_sve_ssra , INS_invalid , INS_sve_ssra , INS_invalid , INS_invalid , INS_invalid }, HW_Category_ShiftRightByImmediate , HW_Flag_Scalable |HW_Flag_HasImmediateOperand |HW_Flag_HasRMWSemantics )
341+ HARDWARE_INTRINSIC (Sve2 , ShiftRightArithmeticNarrowingSaturateEven , -1 , 2 , {INS_sve_sqshrnb , INS_sve_uqshrnb , INS_sve_sqshrnb , INS_sve_uqshrnb , INS_sve_sqshrnb , INS_sve_uqshrnb , INS_invalid , INS_invalid , INS_invalid , INS_invalid }, HW_Category_ShiftRightByImmediate , HW_Flag_Scalable |HW_Flag_HasImmediateOperand )
342+ HARDWARE_INTRINSIC (Sve2 , ShiftRightArithmeticNarrowingSaturateOdd , -1 , 3 , {INS_sve_sqshrnt , INS_sve_uqshrnt , INS_sve_sqshrnt , INS_sve_uqshrnt , INS_sve_sqshrnt , INS_sve_uqshrnt , INS_invalid , INS_invalid , INS_invalid , INS_invalid }, HW_Category_ShiftRightByImmediate , HW_Flag_Scalable |HW_Flag_HasImmediateOperand |HW_Flag_HasRMWSemantics )
343+ HARDWARE_INTRINSIC (Sve2 , ShiftRightArithmeticNarrowingSaturateUnsignedEven , -1 , 2 , {INS_invalid , INS_sve_sqshrunb , INS_invalid , INS_sve_sqshrunb , INS_invalid , INS_sve_sqshrunb , INS_invalid , INS_invalid , INS_invalid , INS_invalid }, HW_Category_ShiftRightByImmediate , HW_Flag_Scalable |HW_Flag_HasImmediateOperand )
344+ HARDWARE_INTRINSIC (Sve2 , ShiftRightArithmeticNarrowingSaturateUnsignedOdd , -1 , 3 , {INS_invalid , INS_sve_sqshrunt , INS_invalid , INS_sve_sqshrunt , INS_invalid , INS_sve_sqshrunt , INS_invalid , INS_invalid , INS_invalid , INS_invalid }, HW_Category_ShiftRightByImmediate , HW_Flag_Scalable |HW_Flag_HasImmediateOperand |HW_Flag_HasRMWSemantics )
345+ HARDWARE_INTRINSIC (Sve2 , ShiftRightArithmeticRounded , -1 , -1 , {INS_sve_srshr , INS_invalid , INS_sve_srshr , INS_invalid , INS_sve_srshr , INS_invalid , INS_sve_srshr , INS_invalid , INS_invalid , INS_invalid }, HW_Category_ShiftRightByImmediate , HW_Flag_Scalable |HW_Flag_EmbeddedMaskedOperation |HW_Flag_LowMaskedOperation |HW_Flag_HasRMWSemantics |HW_Flag_HasImmediateOperand )
346+ HARDWARE_INTRINSIC (Sve2 , ShiftRightArithmeticRoundedAdd , -1 , 3 , {INS_sve_srsra , INS_invalid , INS_sve_srsra , INS_invalid , INS_sve_srsra , INS_invalid , INS_sve_srsra , INS_invalid , INS_invalid , INS_invalid }, HW_Category_ShiftRightByImmediate , HW_Flag_Scalable |HW_Flag_HasImmediateOperand |HW_Flag_HasRMWSemantics )
347+ HARDWARE_INTRINSIC (Sve2 , ShiftRightArithmeticRoundedNarrowingSaturateEven , -1 , 2 , {INS_sve_sqrshrnb , INS_invalid , INS_sve_sqrshrnb , INS_invalid , INS_sve_sqrshrnb , INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_invalid }, HW_Category_ShiftRightByImmediate , HW_Flag_Scalable |HW_Flag_HasImmediateOperand )
348+ HARDWARE_INTRINSIC (Sve2 , ShiftRightArithmeticRoundedNarrowingSaturateOdd , -1 , 3 , {INS_sve_sqrshrnt , INS_invalid , INS_sve_sqrshrnt , INS_invalid , INS_sve_sqrshrnt , INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_invalid }, HW_Category_ShiftRightByImmediate , HW_Flag_Scalable |HW_Flag_HasImmediateOperand |HW_Flag_HasRMWSemantics )
349+ HARDWARE_INTRINSIC (Sve2 , ShiftRightArithmeticRoundedNarrowingSaturateUnsignedEven , -1 , 2 , {INS_invalid , INS_sve_sqrshrunb , INS_invalid , INS_sve_sqrshrunb , INS_invalid , INS_sve_sqrshrunb , INS_invalid , INS_invalid , INS_invalid , INS_invalid }, HW_Category_ShiftRightByImmediate , HW_Flag_Scalable |HW_Flag_HasImmediateOperand )
350+ HARDWARE_INTRINSIC (Sve2 , ShiftRightArithmeticRoundedNarrowingSaturateUnsignedOdd , -1 , 3 , {INS_invalid , INS_sve_sqrshrunt , INS_invalid , INS_sve_sqrshrunt , INS_invalid , INS_sve_sqrshrunt , INS_invalid , INS_invalid , INS_invalid , INS_invalid }, HW_Category_ShiftRightByImmediate , HW_Flag_Scalable |HW_Flag_HasImmediateOperand |HW_Flag_HasRMWSemantics )
351+ HARDWARE_INTRINSIC (Sve2 , ShiftRightLogicalAdd , -1 , 3 , {INS_invalid , INS_sve_usra , INS_invalid , INS_sve_usra , INS_invalid , INS_sve_usra , INS_invalid , INS_sve_usra , INS_invalid , INS_invalid }, HW_Category_ShiftRightByImmediate , HW_Flag_Scalable |HW_Flag_HasImmediateOperand |HW_Flag_HasRMWSemantics )
352+ HARDWARE_INTRINSIC (Sve2 , ShiftRightLogicalNarrowingEven , -1 , 2 , {INS_sve_shrnb , INS_sve_shrnb , INS_sve_shrnb , INS_sve_shrnb , INS_sve_shrnb , INS_sve_shrnb , INS_invalid , INS_invalid , INS_invalid , INS_invalid }, HW_Category_ShiftRightByImmediate , HW_Flag_Scalable |HW_Flag_HasImmediateOperand )
353+ HARDWARE_INTRINSIC (Sve2 , ShiftRightLogicalNarrowingOdd , -1 , 3 , {INS_sve_shrnt , INS_sve_shrnt , INS_sve_shrnt , INS_sve_shrnt , INS_sve_shrnt , INS_sve_shrnt , INS_invalid , INS_invalid , INS_invalid , INS_invalid }, HW_Category_ShiftRightByImmediate , HW_Flag_Scalable |HW_Flag_HasImmediateOperand |HW_Flag_HasRMWSemantics )
354+ HARDWARE_INTRINSIC (Sve2 , ShiftRightLogicalRounded , -1 , -1 , {INS_invalid , INS_sve_urshr , INS_invalid , INS_sve_urshr , INS_invalid , INS_sve_urshr , INS_invalid , INS_sve_urshr , INS_invalid , INS_invalid }, HW_Category_ShiftRightByImmediate , HW_Flag_Scalable |HW_Flag_EmbeddedMaskedOperation |HW_Flag_LowMaskedOperation |HW_Flag_HasImmediateOperand |HW_Flag_HasRMWSemantics )
355+ HARDWARE_INTRINSIC (Sve2 , ShiftRightLogicalRoundedAdd , -1 , 3 , {INS_invalid , INS_sve_ursra , INS_invalid , INS_sve_ursra , INS_invalid , INS_sve_ursra , INS_invalid , INS_sve_ursra , INS_invalid , INS_invalid }, HW_Category_ShiftRightByImmediate , HW_Flag_Scalable |HW_Flag_HasImmediateOperand |HW_Flag_HasRMWSemantics )
356+ HARDWARE_INTRINSIC (Sve2 , ShiftRightLogicalRoundedNarrowingEven , -1 , 2 , {INS_sve_rshrnb , INS_sve_rshrnb , INS_sve_rshrnb , INS_sve_rshrnb , INS_sve_rshrnb , INS_sve_rshrnb , INS_invalid , INS_invalid , INS_invalid , INS_invalid }, HW_Category_ShiftRightByImmediate , HW_Flag_Scalable |HW_Flag_HasImmediateOperand )
357+ HARDWARE_INTRINSIC (Sve2 , ShiftRightLogicalRoundedNarrowingOdd , -1 , 3 , {INS_sve_rshrnt , INS_sve_rshrnt , INS_sve_rshrnt , INS_sve_rshrnt , INS_sve_rshrnt , INS_sve_rshrnt , INS_invalid , INS_invalid , INS_invalid , INS_invalid }, HW_Category_ShiftRightByImmediate , HW_Flag_Scalable |HW_Flag_HasImmediateOperand |HW_Flag_HasRMWSemantics )
358+ HARDWARE_INTRINSIC (Sve2 , ShiftRightLogicalRoundedNarrowingSaturateEven , -1 , 2 , {INS_invalid , INS_sve_uqrshrnb , INS_invalid , INS_sve_uqrshrnb , INS_invalid , INS_sve_uqrshrnb , INS_invalid , INS_invalid , INS_invalid , INS_invalid }, HW_Category_ShiftRightByImmediate , HW_Flag_Scalable |HW_Flag_HasImmediateOperand )
359+ HARDWARE_INTRINSIC (Sve2 , ShiftRightLogicalRoundedNarrowingSaturateOdd , -1 , 3 , {INS_invalid , INS_sve_uqrshrnt , INS_invalid , INS_sve_uqrshrnt , INS_invalid , INS_sve_uqrshrnt , INS_invalid , INS_invalid , INS_invalid , INS_invalid }, HW_Category_ShiftRightByImmediate , HW_Flag_Scalable |HW_Flag_HasImmediateOperand |HW_Flag_HasRMWSemantics )
339360HARDWARE_INTRINSIC (Sve2 , Xor , -1 , 3 , {INS_sve_eor3 , INS_sve_eor3 , INS_sve_eor3 , INS_sve_eor3 , INS_sve_eor3 , INS_sve_eor3 , INS_sve_eor3 , INS_sve_eor3 , INS_invalid , INS_invalid }, HW_Category_SIMD , HW_Flag_Scalable |HW_Flag_SpecialCodeGen |HW_Flag_HasRMWSemantics )
340361HARDWARE_INTRINSIC (Sve2 , XorRotateRight , -1 , 3 , {INS_sve_xar , INS_sve_xar , INS_sve_xar , INS_sve_xar , INS_sve_xar , INS_sve_xar , INS_sve_xar , INS_sve_xar , INS_invalid , INS_invalid }, HW_Category_ShiftRightByImmediate , HW_Flag_Scalable |HW_Flag_HasRMWSemantics |HW_Flag_HasImmediateOperand )
341362#define LAST_NI_Sve2 NI_Sve2_XorRotateRight
0 commit comments