@@ -8935,3 +8935,195 @@ pub fn svqsub_u64(op1: svuint64_t, op2: svuint64_t) -> svuint64_t {
89358935pub fn svqsub_n_u64 ( op1 : svuint64_t , op2 : u64 ) -> svuint64_t {
89368936 svqsub_u64 ( op1, svdup_n_u64 ( op2) )
89378937}
8938+ #[ doc = "Subtract reversed" ]
8939+ #[ doc = "" ]
8940+ #[ doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svsubr[_f32]_m)" ]
8941+ #[ inline]
8942+ #[ target_feature( enable = "sve" ) ]
8943+ #[ unstable( feature = "stdarch_aarch64_sve" , issue = "none" ) ]
8944+ #[ cfg_attr( test, assert_instr( fsubr) ) ]
8945+ pub fn svsubr_f32_m ( pg : svbool_t , op1 : svfloat32_t , op2 : svfloat32_t ) -> svfloat32_t {
8946+ unsafe extern "C" {
8947+ #[ cfg_attr( target_arch = "aarch64" , link_name = "llvm.aarch64.sve.fsubr.nxv4f32" ) ]
8948+ fn _svsubr_f32_m ( pg : svbool4_t , op1 : svfloat32_t , op2 : svfloat32_t ) -> svfloat32_t ;
8949+ }
8950+ unsafe { _svsubr_f32_m ( simd_cast ( pg) , op1, op2) }
8951+ }
8952+ #[ doc = "Subtract reversed" ]
8953+ #[ doc = "" ]
8954+ #[ doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svsubr[_n_f32]_m)" ]
8955+ #[ inline]
8956+ #[ target_feature( enable = "sve" ) ]
8957+ #[ unstable( feature = "stdarch_aarch64_sve" , issue = "none" ) ]
8958+ #[ cfg_attr( test, assert_instr( fsubr) ) ]
8959+ pub fn svsubr_n_f32_m ( pg : svbool_t , op1 : svfloat32_t , op2 : f32 ) -> svfloat32_t {
8960+ svsubr_f32_m ( pg, op1, svdup_n_f32 ( op2) )
8961+ }
8962+ #[ doc = "Subtract reversed" ]
8963+ #[ doc = "" ]
8964+ #[ doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svsubr[_f32]_x)" ]
8965+ #[ inline]
8966+ #[ target_feature( enable = "sve" ) ]
8967+ #[ unstable( feature = "stdarch_aarch64_sve" , issue = "none" ) ]
8968+ #[ cfg_attr( test, assert_instr( fsubr) ) ]
8969+ pub fn svsubr_f32_x ( pg : svbool_t , op1 : svfloat32_t , op2 : svfloat32_t ) -> svfloat32_t {
8970+ svsubr_f32_m ( pg, op1, op2)
8971+ }
8972+ #[ doc = "Subtract reversed" ]
8973+ #[ doc = "" ]
8974+ #[ doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svsubr[_n_f32]_x)" ]
8975+ #[ inline]
8976+ #[ target_feature( enable = "sve" ) ]
8977+ #[ unstable( feature = "stdarch_aarch64_sve" , issue = "none" ) ]
8978+ #[ cfg_attr( test, assert_instr( fsubr) ) ]
8979+ pub fn svsubr_n_f32_x ( pg : svbool_t , op1 : svfloat32_t , op2 : f32 ) -> svfloat32_t {
8980+ svsubr_f32_x ( pg, op1, svdup_n_f32 ( op2) )
8981+ }
8982+ #[ doc = "Subtract reversed" ]
8983+ #[ doc = "" ]
8984+ #[ doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svsubr[_f32]_z)" ]
8985+ #[ inline]
8986+ #[ target_feature( enable = "sve" ) ]
8987+ #[ unstable( feature = "stdarch_aarch64_sve" , issue = "none" ) ]
8988+ #[ cfg_attr( test, assert_instr( fsubr) ) ]
8989+ pub fn svsubr_f32_z ( pg : svbool_t , op1 : svfloat32_t , op2 : svfloat32_t ) -> svfloat32_t {
8990+ svsubr_f32_m ( pg, svsel_f32 ( pg, op1, svdup_n_f32 ( 0.0 ) ) , op2)
8991+ }
8992+ #[ doc = "Subtract reversed" ]
8993+ #[ doc = "" ]
8994+ #[ doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svsubr[_n_f32]_z)" ]
8995+ #[ inline]
8996+ #[ target_feature( enable = "sve" ) ]
8997+ #[ unstable( feature = "stdarch_aarch64_sve" , issue = "none" ) ]
8998+ #[ cfg_attr( test, assert_instr( fsubr) ) ]
8999+ pub fn svsubr_n_f32_z ( pg : svbool_t , op1 : svfloat32_t , op2 : f32 ) -> svfloat32_t {
9000+ svsubr_f32_z ( pg, op1, svdup_n_f32 ( op2) )
9001+ }
9002+ #[ doc = "Subtract reversed" ]
9003+ #[ doc = "" ]
9004+ #[ doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svsubr[_f64]_m)" ]
9005+ #[ inline]
9006+ #[ target_feature( enable = "sve" ) ]
9007+ #[ unstable( feature = "stdarch_aarch64_sve" , issue = "none" ) ]
9008+ #[ cfg_attr( test, assert_instr( fsubr) ) ]
9009+ pub fn svsubr_f64_m ( pg : svbool_t , op1 : svfloat64_t , op2 : svfloat64_t ) -> svfloat64_t {
9010+ unsafe extern "C" {
9011+ #[ cfg_attr( target_arch = "aarch64" , link_name = "llvm.aarch64.sve.fsubr.nxv2f64" ) ]
9012+ fn _svsubr_f64_m ( pg : svbool2_t , op1 : svfloat64_t , op2 : svfloat64_t ) -> svfloat64_t ;
9013+ }
9014+ unsafe { _svsubr_f64_m ( simd_cast ( pg) , op1, op2) }
9015+ }
9016+ #[ doc = "Subtract reversed" ]
9017+ #[ doc = "" ]
9018+ #[ doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svsubr[_n_f64]_m)" ]
9019+ #[ inline]
9020+ #[ target_feature( enable = "sve" ) ]
9021+ #[ unstable( feature = "stdarch_aarch64_sve" , issue = "none" ) ]
9022+ #[ cfg_attr( test, assert_instr( fsubr) ) ]
9023+ pub fn svsubr_n_f64_m ( pg : svbool_t , op1 : svfloat64_t , op2 : f64 ) -> svfloat64_t {
9024+ svsubr_f64_m ( pg, op1, svdup_n_f64 ( op2) )
9025+ }
9026+ #[ doc = "Subtract reversed" ]
9027+ #[ doc = "" ]
9028+ #[ doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svsubr[_f64]_x)" ]
9029+ #[ inline]
9030+ #[ target_feature( enable = "sve" ) ]
9031+ #[ unstable( feature = "stdarch_aarch64_sve" , issue = "none" ) ]
9032+ #[ cfg_attr( test, assert_instr( fsubr) ) ]
9033+ pub fn svsubr_f64_x ( pg : svbool_t , op1 : svfloat64_t , op2 : svfloat64_t ) -> svfloat64_t {
9034+ svsubr_f64_m ( pg, op1, op2)
9035+ }
9036+ #[ doc = "Subtract reversed" ]
9037+ #[ doc = "" ]
9038+ #[ doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svsubr[_n_f64]_x)" ]
9039+ #[ inline]
9040+ #[ target_feature( enable = "sve" ) ]
9041+ #[ unstable( feature = "stdarch_aarch64_sve" , issue = "none" ) ]
9042+ #[ cfg_attr( test, assert_instr( fsubr) ) ]
9043+ pub fn svsubr_n_f64_x ( pg : svbool_t , op1 : svfloat64_t , op2 : f64 ) -> svfloat64_t {
9044+ svsubr_f64_x ( pg, op1, svdup_n_f64 ( op2) )
9045+ }
9046+ #[ doc = "Subtract reversed" ]
9047+ #[ doc = "" ]
9048+ #[ doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svsubr[_f64]_z)" ]
9049+ #[ inline]
9050+ #[ target_feature( enable = "sve" ) ]
9051+ #[ unstable( feature = "stdarch_aarch64_sve" , issue = "none" ) ]
9052+ #[ cfg_attr( test, assert_instr( fsubr) ) ]
9053+ pub fn svsubr_f64_z ( pg : svbool_t , op1 : svfloat64_t , op2 : svfloat64_t ) -> svfloat64_t {
9054+ svsubr_f64_m ( pg, svsel_f64 ( pg, op1, svdup_n_f64 ( 0.0 ) ) , op2)
9055+ }
9056+ #[ doc = "Subtract reversed" ]
9057+ #[ doc = "" ]
9058+ #[ doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svsubr[_n_f64]_z)" ]
9059+ #[ inline]
9060+ #[ target_feature( enable = "sve" ) ]
9061+ #[ unstable( feature = "stdarch_aarch64_sve" , issue = "none" ) ]
9062+ #[ cfg_attr( test, assert_instr( fsubr) ) ]
9063+ pub fn svsubr_n_f64_z ( pg : svbool_t , op1 : svfloat64_t , op2 : f64 ) -> svfloat64_t {
9064+ svsubr_f64_z ( pg, op1, svdup_n_f64 ( op2) )
9065+ }
9066+ #[ doc = "Subtract reversed" ]
9067+ #[ doc = "" ]
9068+ #[ doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svsubr[_s8]_m)" ]
9069+ #[ inline]
9070+ #[ target_feature( enable = "sve" ) ]
9071+ #[ unstable( feature = "stdarch_aarch64_sve" , issue = "none" ) ]
9072+ #[ cfg_attr( test, assert_instr( subr) ) ]
9073+ pub fn svsubr_s8_m ( pg : svbool_t , op1 : svint8_t , op2 : svint8_t ) -> svint8_t {
9074+ unsafe extern "C" {
9075+ #[ cfg_attr( target_arch = "aarch64" , link_name = "llvm.aarch64.sve.subr.nxv16i8" ) ]
9076+ fn _svsubr_s8_m ( pg : svbool_t , op1 : svint8_t , op2 : svint8_t ) -> svint8_t ;
9077+ }
9078+ unsafe { _svsubr_s8_m ( pg, op1, op2) }
9079+ }
9080+ #[ doc = "Subtract reversed" ]
9081+ #[ doc = "" ]
9082+ #[ doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svsubr[_n_s8]_m)" ]
9083+ #[ inline]
9084+ #[ target_feature( enable = "sve" ) ]
9085+ #[ unstable( feature = "stdarch_aarch64_sve" , issue = "none" ) ]
9086+ #[ cfg_attr( test, assert_instr( subr) ) ]
9087+ pub fn svsubr_n_s8_m ( pg : svbool_t , op1 : svint8_t , op2 : i8 ) -> svint8_t {
9088+ svsubr_s8_m ( pg, op1, svdup_n_s8 ( op2) )
9089+ }
9090+ #[ doc = "Subtract reversed" ]
9091+ #[ doc = "" ]
9092+ #[ doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svsubr[_s8]_x)" ]
9093+ #[ inline]
9094+ #[ target_feature( enable = "sve" ) ]
9095+ #[ unstable( feature = "stdarch_aarch64_sve" , issue = "none" ) ]
9096+ #[ cfg_attr( test, assert_instr( subr) ) ]
9097+ pub fn svsubr_s8_x ( pg : svbool_t , op1 : svint8_t , op2 : svint8_t ) -> svint8_t {
9098+ svsubr_s8_m ( pg, op1, op2)
9099+ }
9100+ #[ doc = "Subtract reversed" ]
9101+ #[ doc = "" ]
9102+ #[ doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svsubr[_n_s8]_x)" ]
9103+ #[ inline]
9104+ #[ target_feature( enable = "sve" ) ]
9105+ #[ unstable( feature = "stdarch_aarch64_sve" , issue = "none" ) ]
9106+ #[ cfg_attr( test, assert_instr( subr) ) ]
9107+ pub fn svsubr_n_s8_x ( pg : svbool_t , op1 : svint8_t , op2 : i8 ) -> svint8_t {
9108+ svsubr_s8_x ( pg, op1, svdup_n_s8 ( op2) )
9109+ }
9110+ #[ doc = "Subtract reversed" ]
9111+ #[ doc = "" ]
9112+ #[ doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svsubr[_s8]_z)" ]
9113+ #[ inline]
9114+ #[ target_feature( enable = "sve" ) ]
9115+ #[ unstable( feature = "stdarch_aarch64_sve" , issue = "none" ) ]
9116+ #[ cfg_attr( test, assert_instr( subr) ) ]
9117+ pub fn svsubr_s8_z ( pg : svbool_t , op1 : svint8_t , op2 : svint8_t ) -> svint8_t {
9118+ svsubr_s8_m ( pg, svsel_s8 ( pg, op1, svdup_n_s8 ( 0 ) ) , op2)
9119+ }
9120+ #[ doc = "Subtract reversed" ]
9121+ #[ doc = "" ]
9122+ #[ doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svsubr[_n_s8]_z)" ]
9123+ #[ inline]
9124+ #[ target_feature( enable = "sve" ) ]
9125+ #[ unstable( feature = "stdarch_aarch64_sve" , issue = "none" ) ]
9126+ #[ cfg_attr( test, assert_instr( subr) ) ]
9127+ pub fn svsubr_n_s8_z ( pg : svbool_t , op1 : svint8_t , op2 : i8 ) -> svint8_t {
9128+ svsubr_s8_z ( pg, op1, svdup_n_s8 ( op2) )
9129+ }
0 commit comments