Skip to content

Commit bb708a1

Browse files
committed
11.19第1批补全
1 parent 85a7a6b commit bb708a1

File tree

1 file changed

+192
-0
lines changed
  • library/stdarch/crates/core_arch/src/aarch64/sve

1 file changed

+192
-0
lines changed

library/stdarch/crates/core_arch/src/aarch64/sve/sve.rs

Lines changed: 192 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8935,3 +8935,195 @@ pub fn svqsub_u64(op1: svuint64_t, op2: svuint64_t) -> svuint64_t {
89358935
pub 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

Comments
 (0)