@@ -3105,6 +3105,70 @@ pub fn svmul_s32_z(pg: svbool_t, op1: svint32_t, op2: svint32_t) -> svint32_t {
31053105pub fn svmul_n_s32_z ( pg : svbool_t , op1 : svint32_t , op2 : i32 ) -> svint32_t {
31063106 svmul_s32_z ( pg, op1, svdup_n_s32 ( op2) )
31073107}
3108+ #[ doc = "Divide" ]
3109+ #[ doc = "" ]
3110+ #[ doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdiv[_s32]_m)" ]
3111+ #[ inline]
3112+ #[ target_feature( enable = "sve" ) ]
3113+ #[ unstable( feature = "stdarch_aarch64_sve" , issue = "none" ) ]
3114+ #[ cfg_attr( test, assert_instr( sdiv) ) ]
3115+ pub fn svdiv_s32_m ( pg : svbool_t , op1 : svint32_t , op2 : svint32_t ) -> svint32_t {
3116+ unsafe extern "C" {
3117+ #[ cfg_attr( target_arch = "aarch64" , link_name = "llvm.aarch64.sve.sdiv.nxv4i32" ) ]
3118+ fn _svdiv_s32_m ( pg : svbool4_t , op1 : svint32_t , op2 : svint32_t ) -> svint32_t ;
3119+ }
3120+ unsafe { _svdiv_s32_m ( simd_cast ( pg) , op1, op2) }
3121+ }
3122+ #[ doc = "Divide" ]
3123+ #[ doc = "" ]
3124+ #[ doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdiv[_n_s32]_m)" ]
3125+ #[ inline]
3126+ #[ target_feature( enable = "sve" ) ]
3127+ #[ unstable( feature = "stdarch_aarch64_sve" , issue = "none" ) ]
3128+ #[ cfg_attr( test, assert_instr( sdiv) ) ]
3129+ pub fn svdiv_n_s32_m ( pg : svbool_t , op1 : svint32_t , op2 : i32 ) -> svint32_t {
3130+ svdiv_s32_m ( pg, op1, svdup_n_s32 ( op2) )
3131+ }
3132+ #[ doc = "Divide" ]
3133+ #[ doc = "" ]
3134+ #[ doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdiv[_s32]_x)" ]
3135+ #[ inline]
3136+ #[ target_feature( enable = "sve" ) ]
3137+ #[ unstable( feature = "stdarch_aarch64_sve" , issue = "none" ) ]
3138+ #[ cfg_attr( test, assert_instr( sdiv) ) ]
3139+ pub fn svdiv_s32_x ( pg : svbool_t , op1 : svint32_t , op2 : svint32_t ) -> svint32_t {
3140+ svdiv_s32_m ( pg, op1, op2)
3141+ }
3142+ #[ doc = "Divide" ]
3143+ #[ doc = "" ]
3144+ #[ doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdiv[_n_s32]_x)" ]
3145+ #[ inline]
3146+ #[ target_feature( enable = "sve" ) ]
3147+ #[ unstable( feature = "stdarch_aarch64_sve" , issue = "none" ) ]
3148+ #[ cfg_attr( test, assert_instr( sdiv) ) ]
3149+ pub fn svdiv_n_s32_x ( pg : svbool_t , op1 : svint32_t , op2 : i32 ) -> svint32_t {
3150+ svdiv_s32_x ( pg, op1, svdup_n_s32 ( op2) )
3151+ }
3152+ #[ doc = "Divide" ]
3153+ #[ doc = "" ]
3154+ #[ doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdiv[_s32]_z)" ]
3155+ #[ inline]
3156+ #[ target_feature( enable = "sve" ) ]
3157+ #[ unstable( feature = "stdarch_aarch64_sve" , issue = "none" ) ]
3158+ #[ cfg_attr( test, assert_instr( sdiv) ) ]
3159+ pub fn svdiv_s32_z ( pg : svbool_t , op1 : svint32_t , op2 : svint32_t ) -> svint32_t {
3160+ svdiv_s32_m ( pg, svsel_s32 ( pg, op1, svdup_n_s32 ( 0 ) ) , op2)
3161+ }
3162+ #[ doc = "Divide" ]
3163+ #[ doc = "" ]
3164+ #[ doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdiv[_n_s32]_z)" ]
3165+ #[ inline]
3166+ #[ target_feature( enable = "sve" ) ]
3167+ #[ unstable( feature = "stdarch_aarch64_sve" , issue = "none" ) ]
3168+ #[ cfg_attr( test, assert_instr( sdiv) ) ]
3169+ pub fn svdiv_n_s32_z ( pg : svbool_t , op1 : svint32_t , op2 : i32 ) -> svint32_t {
3170+ svdiv_s32_z ( pg, op1, svdup_n_s32 ( op2) )
3171+ }
31083172#[ doc = "Multiply" ]
31093173#[ doc = "" ]
31103174#[ doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmul[_s64]_m)" ]
0 commit comments