1#![allow(improper_ctypes)]
9
10#[cfg(test)]
11use stdarch_test::assert_instr;
12
13use super::*;
14use crate::core_arch::arch::aarch64::*;
15use super::{AsSigned, AsUnsigned};
16
17#[doc = "Absolute difference"]
18#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svabd[_f32]_m)"]
19#[inline]
20#[target_feature(enable = "sve")]
21#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
22#[cfg_attr(test, assert_instr(fabd))]
23pub fn svabd_f32_m(pg: svbool_t, op1: svfloat32_t, op2: svfloat32_t) -> svfloat32_t {
24 unsafe extern "unadjusted" {
25 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.fabd.nxv4f32")]
26 fn _svabd_f32_m(pg: svbool4_t, op1: svfloat32_t, op2: svfloat32_t) -> svfloat32_t;
27 }
28 unsafe { _svabd_f32_m(pg.sve_into(), op1, op2) }
29}
30#[doc = "Absolute difference"]
31#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svabd[_n_f32]_m)"]
32#[inline]
33#[target_feature(enable = "sve")]
34#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
35#[cfg_attr(test, assert_instr(fabd))]
36pub fn svabd_n_f32_m(pg: svbool_t, op1: svfloat32_t, op2: f32) -> svfloat32_t {
37 svabd_f32_m(pg, op1, svdup_n_f32(op2))
38}
39#[doc = "Absolute difference"]
40#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svabd[_f32]_x)"]
41#[inline]
42#[target_feature(enable = "sve")]
43#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
44#[cfg_attr(test, assert_instr(fabd))]
45pub fn svabd_f32_x(pg: svbool_t, op1: svfloat32_t, op2: svfloat32_t) -> svfloat32_t {
46 svabd_f32_m(pg, op1, op2)
47}
48#[doc = "Absolute difference"]
49#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svabd[_n_f32]_x)"]
50#[inline]
51#[target_feature(enable = "sve")]
52#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
53#[cfg_attr(test, assert_instr(fabd))]
54pub fn svabd_n_f32_x(pg: svbool_t, op1: svfloat32_t, op2: f32) -> svfloat32_t {
55 svabd_f32_x(pg, op1, svdup_n_f32(op2))
56}
57#[doc = "Absolute difference"]
58#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svabd[_f32]_z)"]
59#[inline]
60#[target_feature(enable = "sve")]
61#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
62#[cfg_attr(test, assert_instr(fabd))]
63pub fn svabd_f32_z(pg: svbool_t, op1: svfloat32_t, op2: svfloat32_t) -> svfloat32_t {
64 svabd_f32_m(pg, svsel_f32(pg, op1, svdup_n_f32(0.0)), op2)
65}
66#[doc = "Absolute difference"]
67#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svabd[_n_f32]_z)"]
68#[inline]
69#[target_feature(enable = "sve")]
70#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
71#[cfg_attr(test, assert_instr(fabd))]
72pub fn svabd_n_f32_z(pg: svbool_t, op1: svfloat32_t, op2: f32) -> svfloat32_t {
73 svabd_f32_z(pg, op1, svdup_n_f32(op2))
74}
75#[doc = "Absolute difference"]
76#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svabd[_f64]_m)"]
77#[inline]
78#[target_feature(enable = "sve")]
79#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
80#[cfg_attr(test, assert_instr(fabd))]
81pub fn svabd_f64_m(pg: svbool_t, op1: svfloat64_t, op2: svfloat64_t) -> svfloat64_t {
82 unsafe extern "unadjusted" {
83 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.fabd.nxv2f64")]
84 fn _svabd_f64_m(pg: svbool2_t, op1: svfloat64_t, op2: svfloat64_t) -> svfloat64_t;
85 }
86 unsafe { _svabd_f64_m(pg.sve_into(), op1, op2) }
87}
88#[doc = "Absolute difference"]
89#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svabd[_n_f64]_m)"]
90#[inline]
91#[target_feature(enable = "sve")]
92#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
93#[cfg_attr(test, assert_instr(fabd))]
94pub fn svabd_n_f64_m(pg: svbool_t, op1: svfloat64_t, op2: f64) -> svfloat64_t {
95 svabd_f64_m(pg, op1, svdup_n_f64(op2))
96}
97#[doc = "Absolute difference"]
98#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svabd[_f64]_x)"]
99#[inline]
100#[target_feature(enable = "sve")]
101#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
102#[cfg_attr(test, assert_instr(fabd))]
103pub fn svabd_f64_x(pg: svbool_t, op1: svfloat64_t, op2: svfloat64_t) -> svfloat64_t {
104 svabd_f64_m(pg, op1, op2)
105}
106#[doc = "Absolute difference"]
107#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svabd[_n_f64]_x)"]
108#[inline]
109#[target_feature(enable = "sve")]
110#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
111#[cfg_attr(test, assert_instr(fabd))]
112pub fn svabd_n_f64_x(pg: svbool_t, op1: svfloat64_t, op2: f64) -> svfloat64_t {
113 svabd_f64_x(pg, op1, svdup_n_f64(op2))
114}
115#[doc = "Absolute difference"]
116#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svabd[_f64]_z)"]
117#[inline]
118#[target_feature(enable = "sve")]
119#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
120#[cfg_attr(test, assert_instr(fabd))]
121pub fn svabd_f64_z(pg: svbool_t, op1: svfloat64_t, op2: svfloat64_t) -> svfloat64_t {
122 svabd_f64_m(pg, svsel_f64(pg, op1, svdup_n_f64(0.0)), op2)
123}
124#[doc = "Absolute difference"]
125#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svabd[_n_f64]_z)"]
126#[inline]
127#[target_feature(enable = "sve")]
128#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
129#[cfg_attr(test, assert_instr(fabd))]
130pub fn svabd_n_f64_z(pg: svbool_t, op1: svfloat64_t, op2: f64) -> svfloat64_t {
131 svabd_f64_z(pg, op1, svdup_n_f64(op2))
132}
133#[doc = "Absolute difference"]
134#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svabd[_s8]_m)"]
135#[inline]
136#[target_feature(enable = "sve")]
137#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
138#[cfg_attr(test, assert_instr(sabd))]
139pub fn svabd_s8_m(pg: svbool_t, op1: svint8_t, op2: svint8_t) -> svint8_t {
140 unsafe extern "unadjusted" {
141 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.sabd.nxv16i8")]
142 fn _svabd_s8_m(pg: svbool_t, op1: svint8_t, op2: svint8_t) -> svint8_t;
143 }
144 unsafe { _svabd_s8_m(pg, op1, op2) }
145}
146#[doc = "Absolute difference"]
147#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svabd[_n_s8]_m)"]
148#[inline]
149#[target_feature(enable = "sve")]
150#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
151#[cfg_attr(test, assert_instr(sabd))]
152pub fn svabd_n_s8_m(pg: svbool_t, op1: svint8_t, op2: i8) -> svint8_t {
153 svabd_s8_m(pg, op1, svdup_n_s8(op2))
154}
155#[doc = "Absolute difference"]
156#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svabd[_s8]_x)"]
157#[inline]
158#[target_feature(enable = "sve")]
159#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
160#[cfg_attr(test, assert_instr(sabd))]
161pub fn svabd_s8_x(pg: svbool_t, op1: svint8_t, op2: svint8_t) -> svint8_t {
162 svabd_s8_m(pg, op1, op2)
163}
164#[doc = "Absolute difference"]
165#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svabd[_n_s8]_x)"]
166#[inline]
167#[target_feature(enable = "sve")]
168#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
169#[cfg_attr(test, assert_instr(sabd))]
170pub fn svabd_n_s8_x(pg: svbool_t, op1: svint8_t, op2: i8) -> svint8_t {
171 svabd_s8_x(pg, op1, svdup_n_s8(op2))
172}
173#[doc = "Absolute difference"]
174#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svabd[_s8]_z)"]
175#[inline]
176#[target_feature(enable = "sve")]
177#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
178#[cfg_attr(test, assert_instr(sabd))]
179pub fn svabd_s8_z(pg: svbool_t, op1: svint8_t, op2: svint8_t) -> svint8_t {
180 svabd_s8_m(pg, svsel_s8(pg, op1, svdup_n_s8(0)), op2)
181}
182#[doc = "Absolute difference"]
183#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svabd[_n_s8]_z)"]
184#[inline]
185#[target_feature(enable = "sve")]
186#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
187#[cfg_attr(test, assert_instr(sabd))]
188pub fn svabd_n_s8_z(pg: svbool_t, op1: svint8_t, op2: i8) -> svint8_t {
189 svabd_s8_z(pg, op1, svdup_n_s8(op2))
190}
191#[doc = "Absolute difference"]
192#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svabd[_s16]_m)"]
193#[inline]
194#[target_feature(enable = "sve")]
195#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
196#[cfg_attr(test, assert_instr(sabd))]
197pub fn svabd_s16_m(pg: svbool_t, op1: svint16_t, op2: svint16_t) -> svint16_t {
198 unsafe extern "unadjusted" {
199 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.sabd.nxv8i16")]
200 fn _svabd_s16_m(pg: svbool8_t, op1: svint16_t, op2: svint16_t) -> svint16_t;
201 }
202 unsafe { _svabd_s16_m(pg.sve_into(), op1, op2) }
203}
204#[doc = "Absolute difference"]
205#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svabd[_n_s16]_m)"]
206#[inline]
207#[target_feature(enable = "sve")]
208#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
209#[cfg_attr(test, assert_instr(sabd))]
210pub fn svabd_n_s16_m(pg: svbool_t, op1: svint16_t, op2: i16) -> svint16_t {
211 svabd_s16_m(pg, op1, svdup_n_s16(op2))
212}
213#[doc = "Absolute difference"]
214#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svabd[_s16]_x)"]
215#[inline]
216#[target_feature(enable = "sve")]
217#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
218#[cfg_attr(test, assert_instr(sabd))]
219pub fn svabd_s16_x(pg: svbool_t, op1: svint16_t, op2: svint16_t) -> svint16_t {
220 svabd_s16_m(pg, op1, op2)
221}
222#[doc = "Absolute difference"]
223#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svabd[_n_s16]_x)"]
224#[inline]
225#[target_feature(enable = "sve")]
226#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
227#[cfg_attr(test, assert_instr(sabd))]
228pub fn svabd_n_s16_x(pg: svbool_t, op1: svint16_t, op2: i16) -> svint16_t {
229 svabd_s16_x(pg, op1, svdup_n_s16(op2))
230}
231#[doc = "Absolute difference"]
232#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svabd[_s16]_z)"]
233#[inline]
234#[target_feature(enable = "sve")]
235#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
236#[cfg_attr(test, assert_instr(sabd))]
237pub fn svabd_s16_z(pg: svbool_t, op1: svint16_t, op2: svint16_t) -> svint16_t {
238 svabd_s16_m(pg, svsel_s16(pg, op1, svdup_n_s16(0)), op2)
239}
240#[doc = "Absolute difference"]
241#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svabd[_n_s16]_z)"]
242#[inline]
243#[target_feature(enable = "sve")]
244#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
245#[cfg_attr(test, assert_instr(sabd))]
246pub fn svabd_n_s16_z(pg: svbool_t, op1: svint16_t, op2: i16) -> svint16_t {
247 svabd_s16_z(pg, op1, svdup_n_s16(op2))
248}
249#[doc = "Absolute difference"]
250#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svabd[_s32]_m)"]
251#[inline]
252#[target_feature(enable = "sve")]
253#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
254#[cfg_attr(test, assert_instr(sabd))]
255pub fn svabd_s32_m(pg: svbool_t, op1: svint32_t, op2: svint32_t) -> svint32_t {
256 unsafe extern "unadjusted" {
257 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.sabd.nxv4i32")]
258 fn _svabd_s32_m(pg: svbool4_t, op1: svint32_t, op2: svint32_t) -> svint32_t;
259 }
260 unsafe { _svabd_s32_m(pg.sve_into(), op1, op2) }
261}
262#[doc = "Absolute difference"]
263#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svabd[_n_s32]_m)"]
264#[inline]
265#[target_feature(enable = "sve")]
266#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
267#[cfg_attr(test, assert_instr(sabd))]
268pub fn svabd_n_s32_m(pg: svbool_t, op1: svint32_t, op2: i32) -> svint32_t {
269 svabd_s32_m(pg, op1, svdup_n_s32(op2))
270}
271#[doc = "Absolute difference"]
272#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svabd[_s32]_x)"]
273#[inline]
274#[target_feature(enable = "sve")]
275#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
276#[cfg_attr(test, assert_instr(sabd))]
277pub fn svabd_s32_x(pg: svbool_t, op1: svint32_t, op2: svint32_t) -> svint32_t {
278 svabd_s32_m(pg, op1, op2)
279}
280#[doc = "Absolute difference"]
281#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svabd[_n_s32]_x)"]
282#[inline]
283#[target_feature(enable = "sve")]
284#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
285#[cfg_attr(test, assert_instr(sabd))]
286pub fn svabd_n_s32_x(pg: svbool_t, op1: svint32_t, op2: i32) -> svint32_t {
287 svabd_s32_x(pg, op1, svdup_n_s32(op2))
288}
289#[doc = "Absolute difference"]
290#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svabd[_s32]_z)"]
291#[inline]
292#[target_feature(enable = "sve")]
293#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
294#[cfg_attr(test, assert_instr(sabd))]
295pub fn svabd_s32_z(pg: svbool_t, op1: svint32_t, op2: svint32_t) -> svint32_t {
296 svabd_s32_m(pg, svsel_s32(pg, op1, svdup_n_s32(0)), op2)
297}
298#[doc = "Absolute difference"]
299#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svabd[_n_s32]_z)"]
300#[inline]
301#[target_feature(enable = "sve")]
302#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
303#[cfg_attr(test, assert_instr(sabd))]
304pub fn svabd_n_s32_z(pg: svbool_t, op1: svint32_t, op2: i32) -> svint32_t {
305 svabd_s32_z(pg, op1, svdup_n_s32(op2))
306}
307#[doc = "Absolute difference"]
308#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svabd[_s64]_m)"]
309#[inline]
310#[target_feature(enable = "sve")]
311#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
312#[cfg_attr(test, assert_instr(sabd))]
313pub fn svabd_s64_m(pg: svbool_t, op1: svint64_t, op2: svint64_t) -> svint64_t {
314 unsafe extern "unadjusted" {
315 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.sabd.nxv2i64")]
316 fn _svabd_s64_m(pg: svbool2_t, op1: svint64_t, op2: svint64_t) -> svint64_t;
317 }
318 unsafe { _svabd_s64_m(pg.sve_into(), op1, op2) }
319}
320#[doc = "Absolute difference"]
321#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svabd[_n_s64]_m)"]
322#[inline]
323#[target_feature(enable = "sve")]
324#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
325#[cfg_attr(test, assert_instr(sabd))]
326pub fn svabd_n_s64_m(pg: svbool_t, op1: svint64_t, op2: i64) -> svint64_t {
327 svabd_s64_m(pg, op1, svdup_n_s64(op2))
328}
329#[doc = "Absolute difference"]
330#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svabd[_s64]_x)"]
331#[inline]
332#[target_feature(enable = "sve")]
333#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
334#[cfg_attr(test, assert_instr(sabd))]
335pub fn svabd_s64_x(pg: svbool_t, op1: svint64_t, op2: svint64_t) -> svint64_t {
336 svabd_s64_m(pg, op1, op2)
337}
338#[doc = "Absolute difference"]
339#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svabd[_n_s64]_x)"]
340#[inline]
341#[target_feature(enable = "sve")]
342#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
343#[cfg_attr(test, assert_instr(sabd))]
344pub fn svabd_n_s64_x(pg: svbool_t, op1: svint64_t, op2: i64) -> svint64_t {
345 svabd_s64_x(pg, op1, svdup_n_s64(op2))
346}
347#[doc = "Absolute difference"]
348#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svabd[_s64]_z)"]
349#[inline]
350#[target_feature(enable = "sve")]
351#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
352#[cfg_attr(test, assert_instr(sabd))]
353pub fn svabd_s64_z(pg: svbool_t, op1: svint64_t, op2: svint64_t) -> svint64_t {
354 svabd_s64_m(pg, svsel_s64(pg, op1, svdup_n_s64(0)), op2)
355}
356#[doc = "Absolute difference"]
357#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svabd[_n_s64]_z)"]
358#[inline]
359#[target_feature(enable = "sve")]
360#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
361#[cfg_attr(test, assert_instr(sabd))]
362pub fn svabd_n_s64_z(pg: svbool_t, op1: svint64_t, op2: i64) -> svint64_t {
363 svabd_s64_z(pg, op1, svdup_n_s64(op2))
364}
365#[doc = "Absolute difference"]
366#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svabd[_u8]_m)"]
367#[inline]
368#[target_feature(enable = "sve")]
369#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
370#[cfg_attr(test, assert_instr(uabd))]
371pub fn svabd_u8_m(pg: svbool_t, op1: svuint8_t, op2: svuint8_t) -> svuint8_t {
372 unsafe extern "unadjusted" {
373 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.uabd.nxv16i8")]
374 fn _svabd_u8_m(pg: svbool_t, op1: svint8_t, op2: svint8_t) -> svint8_t;
375 }
376 unsafe { _svabd_u8_m(pg, op1.as_signed(), op2.as_signed()).as_unsigned() }
377}
378#[doc = "Absolute difference"]
379#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svabd[_n_u8]_m)"]
380#[inline]
381#[target_feature(enable = "sve")]
382#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
383#[cfg_attr(test, assert_instr(uabd))]
384pub fn svabd_n_u8_m(pg: svbool_t, op1: svuint8_t, op2: u8) -> svuint8_t {
385 svabd_u8_m(pg, op1, svdup_n_u8(op2))
386}
387#[doc = "Absolute difference"]
388#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svabd[_u8]_x)"]
389#[inline]
390#[target_feature(enable = "sve")]
391#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
392#[cfg_attr(test, assert_instr(uabd))]
393pub fn svabd_u8_x(pg: svbool_t, op1: svuint8_t, op2: svuint8_t) -> svuint8_t {
394 svabd_u8_m(pg, op1, op2)
395}
396#[doc = "Absolute difference"]
397#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svabd[_n_u8]_x)"]
398#[inline]
399#[target_feature(enable = "sve")]
400#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
401#[cfg_attr(test, assert_instr(uabd))]
402pub fn svabd_n_u8_x(pg: svbool_t, op1: svuint8_t, op2: u8) -> svuint8_t {
403 svabd_u8_x(pg, op1, svdup_n_u8(op2))
404}
405#[doc = "Absolute difference"]
406#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svabd[_u8]_z)"]
407#[inline]
408#[target_feature(enable = "sve")]
409#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
410#[cfg_attr(test, assert_instr(uabd))]
411pub fn svabd_u8_z(pg: svbool_t, op1: svuint8_t, op2: svuint8_t) -> svuint8_t {
412 svabd_u8_m(pg, svsel_u8(pg, op1, svdup_n_u8(0)), op2)
413}
414#[doc = "Absolute difference"]
415#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svabd[_n_u8]_z)"]
416#[inline]
417#[target_feature(enable = "sve")]
418#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
419#[cfg_attr(test, assert_instr(uabd))]
420pub fn svabd_n_u8_z(pg: svbool_t, op1: svuint8_t, op2: u8) -> svuint8_t {
421 svabd_u8_z(pg, op1, svdup_n_u8(op2))
422}
423#[doc = "Absolute difference"]
424#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svabd[_u16]_m)"]
425#[inline]
426#[target_feature(enable = "sve")]
427#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
428#[cfg_attr(test, assert_instr(uabd))]
429pub fn svabd_u16_m(pg: svbool_t, op1: svuint16_t, op2: svuint16_t) -> svuint16_t {
430 unsafe extern "unadjusted" {
431 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.uabd.nxv8i16")]
432 fn _svabd_u16_m(pg: svbool8_t, op1: svint16_t, op2: svint16_t) -> svint16_t;
433 }
434 unsafe { _svabd_u16_m(pg.sve_into(), op1.as_signed(), op2.as_signed()).as_unsigned() }
435}
436#[doc = "Absolute difference"]
437#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svabd[_n_u16]_m)"]
438#[inline]
439#[target_feature(enable = "sve")]
440#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
441#[cfg_attr(test, assert_instr(uabd))]
442pub fn svabd_n_u16_m(pg: svbool_t, op1: svuint16_t, op2: u16) -> svuint16_t {
443 svabd_u16_m(pg, op1, svdup_n_u16(op2))
444}
445#[doc = "Absolute difference"]
446#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svabd[_u16]_x)"]
447#[inline]
448#[target_feature(enable = "sve")]
449#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
450#[cfg_attr(test, assert_instr(uabd))]
451pub fn svabd_u16_x(pg: svbool_t, op1: svuint16_t, op2: svuint16_t) -> svuint16_t {
452 svabd_u16_m(pg, op1, op2)
453}
454#[doc = "Absolute difference"]
455#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svabd[_n_u16]_x)"]
456#[inline]
457#[target_feature(enable = "sve")]
458#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
459#[cfg_attr(test, assert_instr(uabd))]
460pub fn svabd_n_u16_x(pg: svbool_t, op1: svuint16_t, op2: u16) -> svuint16_t {
461 svabd_u16_x(pg, op1, svdup_n_u16(op2))
462}
463#[doc = "Absolute difference"]
464#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svabd[_u16]_z)"]
465#[inline]
466#[target_feature(enable = "sve")]
467#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
468#[cfg_attr(test, assert_instr(uabd))]
469pub fn svabd_u16_z(pg: svbool_t, op1: svuint16_t, op2: svuint16_t) -> svuint16_t {
470 svabd_u16_m(pg, svsel_u16(pg, op1, svdup_n_u16(0)), op2)
471}
472#[doc = "Absolute difference"]
473#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svabd[_n_u16]_z)"]
474#[inline]
475#[target_feature(enable = "sve")]
476#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
477#[cfg_attr(test, assert_instr(uabd))]
478pub fn svabd_n_u16_z(pg: svbool_t, op1: svuint16_t, op2: u16) -> svuint16_t {
479 svabd_u16_z(pg, op1, svdup_n_u16(op2))
480}
481#[doc = "Absolute difference"]
482#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svabd[_u32]_m)"]
483#[inline]
484#[target_feature(enable = "sve")]
485#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
486#[cfg_attr(test, assert_instr(uabd))]
487pub fn svabd_u32_m(pg: svbool_t, op1: svuint32_t, op2: svuint32_t) -> svuint32_t {
488 unsafe extern "unadjusted" {
489 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.uabd.nxv4i32")]
490 fn _svabd_u32_m(pg: svbool4_t, op1: svint32_t, op2: svint32_t) -> svint32_t;
491 }
492 unsafe { _svabd_u32_m(pg.sve_into(), op1.as_signed(), op2.as_signed()).as_unsigned() }
493}
494#[doc = "Absolute difference"]
495#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svabd[_n_u32]_m)"]
496#[inline]
497#[target_feature(enable = "sve")]
498#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
499#[cfg_attr(test, assert_instr(uabd))]
500pub fn svabd_n_u32_m(pg: svbool_t, op1: svuint32_t, op2: u32) -> svuint32_t {
501 svabd_u32_m(pg, op1, svdup_n_u32(op2))
502}
503#[doc = "Absolute difference"]
504#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svabd[_u32]_x)"]
505#[inline]
506#[target_feature(enable = "sve")]
507#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
508#[cfg_attr(test, assert_instr(uabd))]
509pub fn svabd_u32_x(pg: svbool_t, op1: svuint32_t, op2: svuint32_t) -> svuint32_t {
510 svabd_u32_m(pg, op1, op2)
511}
512#[doc = "Absolute difference"]
513#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svabd[_n_u32]_x)"]
514#[inline]
515#[target_feature(enable = "sve")]
516#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
517#[cfg_attr(test, assert_instr(uabd))]
518pub fn svabd_n_u32_x(pg: svbool_t, op1: svuint32_t, op2: u32) -> svuint32_t {
519 svabd_u32_x(pg, op1, svdup_n_u32(op2))
520}
521#[doc = "Absolute difference"]
522#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svabd[_u32]_z)"]
523#[inline]
524#[target_feature(enable = "sve")]
525#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
526#[cfg_attr(test, assert_instr(uabd))]
527pub fn svabd_u32_z(pg: svbool_t, op1: svuint32_t, op2: svuint32_t) -> svuint32_t {
528 svabd_u32_m(pg, svsel_u32(pg, op1, svdup_n_u32(0)), op2)
529}
530#[doc = "Absolute difference"]
531#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svabd[_n_u32]_z)"]
532#[inline]
533#[target_feature(enable = "sve")]
534#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
535#[cfg_attr(test, assert_instr(uabd))]
536pub fn svabd_n_u32_z(pg: svbool_t, op1: svuint32_t, op2: u32) -> svuint32_t {
537 svabd_u32_z(pg, op1, svdup_n_u32(op2))
538}
539#[doc = "Absolute difference"]
540#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svabd[_u64]_m)"]
541#[inline]
542#[target_feature(enable = "sve")]
543#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
544#[cfg_attr(test, assert_instr(uabd))]
545pub fn svabd_u64_m(pg: svbool_t, op1: svuint64_t, op2: svuint64_t) -> svuint64_t {
546 unsafe extern "unadjusted" {
547 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.uabd.nxv2i64")]
548 fn _svabd_u64_m(pg: svbool2_t, op1: svint64_t, op2: svint64_t) -> svint64_t;
549 }
550 unsafe { _svabd_u64_m(pg.sve_into(), op1.as_signed(), op2.as_signed()).as_unsigned() }
551}
552#[doc = "Absolute difference"]
553#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svabd[_n_u64]_m)"]
554#[inline]
555#[target_feature(enable = "sve")]
556#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
557#[cfg_attr(test, assert_instr(uabd))]
558pub fn svabd_n_u64_m(pg: svbool_t, op1: svuint64_t, op2: u64) -> svuint64_t {
559 svabd_u64_m(pg, op1, svdup_n_u64(op2))
560}
561#[doc = "Absolute difference"]
562#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svabd[_u64]_x)"]
563#[inline]
564#[target_feature(enable = "sve")]
565#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
566#[cfg_attr(test, assert_instr(uabd))]
567pub fn svabd_u64_x(pg: svbool_t, op1: svuint64_t, op2: svuint64_t) -> svuint64_t {
568 svabd_u64_m(pg, op1, op2)
569}
570#[doc = "Absolute difference"]
571#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svabd[_n_u64]_x)"]
572#[inline]
573#[target_feature(enable = "sve")]
574#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
575#[cfg_attr(test, assert_instr(uabd))]
576pub fn svabd_n_u64_x(pg: svbool_t, op1: svuint64_t, op2: u64) -> svuint64_t {
577 svabd_u64_x(pg, op1, svdup_n_u64(op2))
578}
579#[doc = "Absolute difference"]
580#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svabd[_u64]_z)"]
581#[inline]
582#[target_feature(enable = "sve")]
583#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
584#[cfg_attr(test, assert_instr(uabd))]
585pub fn svabd_u64_z(pg: svbool_t, op1: svuint64_t, op2: svuint64_t) -> svuint64_t {
586 svabd_u64_m(pg, svsel_u64(pg, op1, svdup_n_u64(0)), op2)
587}
588#[doc = "Absolute difference"]
589#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svabd[_n_u64]_z)"]
590#[inline]
591#[target_feature(enable = "sve")]
592#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
593#[cfg_attr(test, assert_instr(uabd))]
594pub fn svabd_n_u64_z(pg: svbool_t, op1: svuint64_t, op2: u64) -> svuint64_t {
595 svabd_u64_z(pg, op1, svdup_n_u64(op2))
596}
597#[doc = "Absolute value"]
598#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svabs[_f32]_m)"]
599#[inline]
600#[target_feature(enable = "sve")]
601#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
602#[cfg_attr(test, assert_instr(fabs))]
603pub fn svabs_f32_m(inactive: svfloat32_t, pg: svbool_t, op: svfloat32_t) -> svfloat32_t {
604 unsafe extern "unadjusted" {
605 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.fabs.nxv4f32")]
606 fn _svabs_f32_m(inactive: svfloat32_t, pg: svbool4_t, op: svfloat32_t) -> svfloat32_t;
607 }
608 unsafe { _svabs_f32_m(inactive, pg.sve_into(), op) }
609}
610#[doc = "Absolute value"]
611#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svabs[_f32]_x)"]
612#[inline]
613#[target_feature(enable = "sve")]
614#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
615#[cfg_attr(test, assert_instr(fabs))]
616pub fn svabs_f32_x(pg: svbool_t, op: svfloat32_t) -> svfloat32_t {
617 svabs_f32_m(op, pg, op)
618}
619#[doc = "Absolute value"]
620#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svabs[_f32]_z)"]
621#[inline]
622#[target_feature(enable = "sve")]
623#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
624#[cfg_attr(test, assert_instr(fabs))]
625pub fn svabs_f32_z(pg: svbool_t, op: svfloat32_t) -> svfloat32_t {
626 svabs_f32_m(svdup_n_f32(0.0), pg, op)
627}
628#[doc = "Absolute value"]
629#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svabs[_f64]_m)"]
630#[inline]
631#[target_feature(enable = "sve")]
632#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
633#[cfg_attr(test, assert_instr(fabs))]
634pub fn svabs_f64_m(inactive: svfloat64_t, pg: svbool_t, op: svfloat64_t) -> svfloat64_t {
635 unsafe extern "unadjusted" {
636 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.fabs.nxv2f64")]
637 fn _svabs_f64_m(inactive: svfloat64_t, pg: svbool2_t, op: svfloat64_t) -> svfloat64_t;
638 }
639 unsafe { _svabs_f64_m(inactive, pg.sve_into(), op) }
640}
641#[doc = "Absolute value"]
642#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svabs[_f64]_x)"]
643#[inline]
644#[target_feature(enable = "sve")]
645#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
646#[cfg_attr(test, assert_instr(fabs))]
647pub fn svabs_f64_x(pg: svbool_t, op: svfloat64_t) -> svfloat64_t {
648 svabs_f64_m(op, pg, op)
649}
650#[doc = "Absolute value"]
651#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svabs[_f64]_z)"]
652#[inline]
653#[target_feature(enable = "sve")]
654#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
655#[cfg_attr(test, assert_instr(fabs))]
656pub fn svabs_f64_z(pg: svbool_t, op: svfloat64_t) -> svfloat64_t {
657 svabs_f64_m(svdup_n_f64(0.0), pg, op)
658}
659#[doc = "Absolute value"]
660#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svabs[_s8]_m)"]
661#[inline]
662#[target_feature(enable = "sve")]
663#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
664#[cfg_attr(test, assert_instr(abs))]
665pub fn svabs_s8_m(inactive: svint8_t, pg: svbool_t, op: svint8_t) -> svint8_t {
666 unsafe extern "unadjusted" {
667 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.abs.nxv16i8")]
668 fn _svabs_s8_m(inactive: svint8_t, pg: svbool_t, op: svint8_t) -> svint8_t;
669 }
670 unsafe { _svabs_s8_m(inactive, pg, op) }
671}
672#[doc = "Absolute value"]
673#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svabs[_s8]_x)"]
674#[inline]
675#[target_feature(enable = "sve")]
676#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
677#[cfg_attr(test, assert_instr(abs))]
678pub fn svabs_s8_x(pg: svbool_t, op: svint8_t) -> svint8_t {
679 svabs_s8_m(op, pg, op)
680}
681#[doc = "Absolute value"]
682#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svabs[_s8]_z)"]
683#[inline]
684#[target_feature(enable = "sve")]
685#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
686#[cfg_attr(test, assert_instr(abs))]
687pub fn svabs_s8_z(pg: svbool_t, op: svint8_t) -> svint8_t {
688 svabs_s8_m(svdup_n_s8(0), pg, op)
689}
690#[doc = "Absolute value"]
691#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svabs[_s16]_m)"]
692#[inline]
693#[target_feature(enable = "sve")]
694#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
695#[cfg_attr(test, assert_instr(abs))]
696pub fn svabs_s16_m(inactive: svint16_t, pg: svbool_t, op: svint16_t) -> svint16_t {
697 unsafe extern "unadjusted" {
698 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.abs.nxv8i16")]
699 fn _svabs_s16_m(inactive: svint16_t, pg: svbool8_t, op: svint16_t) -> svint16_t;
700 }
701 unsafe { _svabs_s16_m(inactive, pg.sve_into(), op) }
702}
703#[doc = "Absolute value"]
704#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svabs[_s16]_x)"]
705#[inline]
706#[target_feature(enable = "sve")]
707#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
708#[cfg_attr(test, assert_instr(abs))]
709pub fn svabs_s16_x(pg: svbool_t, op: svint16_t) -> svint16_t {
710 svabs_s16_m(op, pg, op)
711}
712#[doc = "Absolute value"]
713#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svabs[_s16]_z)"]
714#[inline]
715#[target_feature(enable = "sve")]
716#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
717#[cfg_attr(test, assert_instr(abs))]
718pub fn svabs_s16_z(pg: svbool_t, op: svint16_t) -> svint16_t {
719 svabs_s16_m(svdup_n_s16(0), pg, op)
720}
721#[doc = "Absolute value"]
722#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svabs[_s32]_m)"]
723#[inline]
724#[target_feature(enable = "sve")]
725#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
726#[cfg_attr(test, assert_instr(abs))]
727pub fn svabs_s32_m(inactive: svint32_t, pg: svbool_t, op: svint32_t) -> svint32_t {
728 unsafe extern "unadjusted" {
729 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.abs.nxv4i32")]
730 fn _svabs_s32_m(inactive: svint32_t, pg: svbool4_t, op: svint32_t) -> svint32_t;
731 }
732 unsafe { _svabs_s32_m(inactive, pg.sve_into(), op) }
733}
734#[doc = "Absolute value"]
735#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svabs[_s32]_x)"]
736#[inline]
737#[target_feature(enable = "sve")]
738#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
739#[cfg_attr(test, assert_instr(abs))]
740pub fn svabs_s32_x(pg: svbool_t, op: svint32_t) -> svint32_t {
741 svabs_s32_m(op, pg, op)
742}
743#[doc = "Absolute value"]
744#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svabs[_s32]_z)"]
745#[inline]
746#[target_feature(enable = "sve")]
747#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
748#[cfg_attr(test, assert_instr(abs))]
749pub fn svabs_s32_z(pg: svbool_t, op: svint32_t) -> svint32_t {
750 svabs_s32_m(svdup_n_s32(0), pg, op)
751}
752#[doc = "Absolute value"]
753#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svabs[_s64]_m)"]
754#[inline]
755#[target_feature(enable = "sve")]
756#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
757#[cfg_attr(test, assert_instr(abs))]
758pub fn svabs_s64_m(inactive: svint64_t, pg: svbool_t, op: svint64_t) -> svint64_t {
759 unsafe extern "unadjusted" {
760 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.abs.nxv2i64")]
761 fn _svabs_s64_m(inactive: svint64_t, pg: svbool2_t, op: svint64_t) -> svint64_t;
762 }
763 unsafe { _svabs_s64_m(inactive, pg.sve_into(), op) }
764}
765#[doc = "Absolute value"]
766#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svabs[_s64]_x)"]
767#[inline]
768#[target_feature(enable = "sve")]
769#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
770#[cfg_attr(test, assert_instr(abs))]
771pub fn svabs_s64_x(pg: svbool_t, op: svint64_t) -> svint64_t {
772 svabs_s64_m(op, pg, op)
773}
774#[doc = "Absolute value"]
775#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svabs[_s64]_z)"]
776#[inline]
777#[target_feature(enable = "sve")]
778#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
779#[cfg_attr(test, assert_instr(abs))]
780pub fn svabs_s64_z(pg: svbool_t, op: svint64_t) -> svint64_t {
781 svabs_s64_m(svdup_n_s64(0), pg, op)
782}
783#[doc = "Absolute compare greater than or equal to"]
784#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svacge[_f32])"]
785#[inline]
786#[target_feature(enable = "sve")]
787#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
788#[cfg_attr(test, assert_instr(facge))]
789pub fn svacge_f32(pg: svbool_t, op1: svfloat32_t, op2: svfloat32_t) -> svbool_t {
790 unsafe extern "unadjusted" {
791 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.facge.nxv4f32")]
792 fn _svacge_f32(pg: svbool4_t, op1: svfloat32_t, op2: svfloat32_t) -> svbool4_t;
793 }
794 unsafe { _svacge_f32(pg.sve_into(), op1, op2).sve_into() }
795}
796#[doc = "Absolute compare greater than or equal to"]
797#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svacge[_n_f32])"]
798#[inline]
799#[target_feature(enable = "sve")]
800#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
801#[cfg_attr(test, assert_instr(facge))]
802pub fn svacge_n_f32(pg: svbool_t, op1: svfloat32_t, op2: f32) -> svbool_t {
803 svacge_f32(pg, op1, svdup_n_f32(op2))
804}
805#[doc = "Absolute compare greater than or equal to"]
806#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svacge[_f64])"]
807#[inline]
808#[target_feature(enable = "sve")]
809#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
810#[cfg_attr(test, assert_instr(facge))]
811pub fn svacge_f64(pg: svbool_t, op1: svfloat64_t, op2: svfloat64_t) -> svbool_t {
812 unsafe extern "unadjusted" {
813 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.facge.nxv2f64")]
814 fn _svacge_f64(pg: svbool2_t, op1: svfloat64_t, op2: svfloat64_t) -> svbool2_t;
815 }
816 unsafe { _svacge_f64(pg.sve_into(), op1, op2).sve_into() }
817}
818#[doc = "Absolute compare greater than or equal to"]
819#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svacge[_n_f64])"]
820#[inline]
821#[target_feature(enable = "sve")]
822#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
823#[cfg_attr(test, assert_instr(facge))]
824pub fn svacge_n_f64(pg: svbool_t, op1: svfloat64_t, op2: f64) -> svbool_t {
825 svacge_f64(pg, op1, svdup_n_f64(op2))
826}
827#[doc = "Absolute compare greater than"]
828#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svacgt[_f32])"]
829#[inline]
830#[target_feature(enable = "sve")]
831#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
832#[cfg_attr(test, assert_instr(facgt))]
833pub fn svacgt_f32(pg: svbool_t, op1: svfloat32_t, op2: svfloat32_t) -> svbool_t {
834 unsafe extern "unadjusted" {
835 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.facgt.nxv4f32")]
836 fn _svacgt_f32(pg: svbool4_t, op1: svfloat32_t, op2: svfloat32_t) -> svbool4_t;
837 }
838 unsafe { _svacgt_f32(pg.sve_into(), op1, op2).sve_into() }
839}
840#[doc = "Absolute compare greater than"]
841#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svacgt[_n_f32])"]
842#[inline]
843#[target_feature(enable = "sve")]
844#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
845#[cfg_attr(test, assert_instr(facgt))]
846pub fn svacgt_n_f32(pg: svbool_t, op1: svfloat32_t, op2: f32) -> svbool_t {
847 svacgt_f32(pg, op1, svdup_n_f32(op2))
848}
849#[doc = "Absolute compare greater than"]
850#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svacgt[_f64])"]
851#[inline]
852#[target_feature(enable = "sve")]
853#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
854#[cfg_attr(test, assert_instr(facgt))]
855pub fn svacgt_f64(pg: svbool_t, op1: svfloat64_t, op2: svfloat64_t) -> svbool_t {
856 unsafe extern "unadjusted" {
857 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.facgt.nxv2f64")]
858 fn _svacgt_f64(pg: svbool2_t, op1: svfloat64_t, op2: svfloat64_t) -> svbool2_t;
859 }
860 unsafe { _svacgt_f64(pg.sve_into(), op1, op2).sve_into() }
861}
862#[doc = "Absolute compare greater than"]
863#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svacgt[_n_f64])"]
864#[inline]
865#[target_feature(enable = "sve")]
866#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
867#[cfg_attr(test, assert_instr(facgt))]
868pub fn svacgt_n_f64(pg: svbool_t, op1: svfloat64_t, op2: f64) -> svbool_t {
869 svacgt_f64(pg, op1, svdup_n_f64(op2))
870}
871#[doc = "Absolute compare less than or equal to"]
872#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svacle[_f32])"]
873#[inline]
874#[target_feature(enable = "sve")]
875#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
876#[cfg_attr(test, assert_instr(facge))]
877pub fn svacle_f32(pg: svbool_t, op1: svfloat32_t, op2: svfloat32_t) -> svbool_t {
878 svacge_f32(pg, op2, op1)
879}
880#[doc = "Absolute compare less than or equal to"]
881#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svacle[_n_f32])"]
882#[inline]
883#[target_feature(enable = "sve")]
884#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
885#[cfg_attr(test, assert_instr(facge))]
886pub fn svacle_n_f32(pg: svbool_t, op1: svfloat32_t, op2: f32) -> svbool_t {
887 svacle_f32(pg, op1, svdup_n_f32(op2))
888}
889#[doc = "Absolute compare less than or equal to"]
890#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svacle[_f64])"]
891#[inline]
892#[target_feature(enable = "sve")]
893#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
894#[cfg_attr(test, assert_instr(facge))]
895pub fn svacle_f64(pg: svbool_t, op1: svfloat64_t, op2: svfloat64_t) -> svbool_t {
896 svacge_f64(pg, op2, op1)
897}
898#[doc = "Absolute compare less than or equal to"]
899#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svacle[_n_f64])"]
900#[inline]
901#[target_feature(enable = "sve")]
902#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
903#[cfg_attr(test, assert_instr(facge))]
904pub fn svacle_n_f64(pg: svbool_t, op1: svfloat64_t, op2: f64) -> svbool_t {
905 svacle_f64(pg, op1, svdup_n_f64(op2))
906}
907#[doc = "Absolute compare less than"]
908#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svaclt[_f32])"]
909#[inline]
910#[target_feature(enable = "sve")]
911#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
912#[cfg_attr(test, assert_instr(facgt))]
913pub fn svaclt_f32(pg: svbool_t, op1: svfloat32_t, op2: svfloat32_t) -> svbool_t {
914 svacgt_f32(pg, op2, op1)
915}
916#[doc = "Absolute compare less than"]
917#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svaclt[_n_f32])"]
918#[inline]
919#[target_feature(enable = "sve")]
920#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
921#[cfg_attr(test, assert_instr(facgt))]
922pub fn svaclt_n_f32(pg: svbool_t, op1: svfloat32_t, op2: f32) -> svbool_t {
923 svaclt_f32(pg, op1, svdup_n_f32(op2))
924}
925#[doc = "Absolute compare less than"]
926#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svaclt[_f64])"]
927#[inline]
928#[target_feature(enable = "sve")]
929#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
930#[cfg_attr(test, assert_instr(facgt))]
931pub fn svaclt_f64(pg: svbool_t, op1: svfloat64_t, op2: svfloat64_t) -> svbool_t {
932 svacgt_f64(pg, op2, op1)
933}
934#[doc = "Absolute compare less than"]
935#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svaclt[_n_f64])"]
936#[inline]
937#[target_feature(enable = "sve")]
938#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
939#[cfg_attr(test, assert_instr(facgt))]
940pub fn svaclt_n_f64(pg: svbool_t, op1: svfloat64_t, op2: f64) -> svbool_t {
941 svaclt_f64(pg, op1, svdup_n_f64(op2))
942}
943#[doc = "Add"]
944#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svadd[_f32]_m)"]
945#[inline]
946#[target_feature(enable = "sve")]
947#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
948#[cfg_attr(test, assert_instr(fadd))]
949pub fn svadd_f32_m(pg: svbool_t, op1: svfloat32_t, op2: svfloat32_t) -> svfloat32_t {
950 unsafe extern "unadjusted" {
951 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.fadd.nxv4f32")]
952 fn _svadd_f32_m(pg: svbool4_t, op1: svfloat32_t, op2: svfloat32_t) -> svfloat32_t;
953 }
954 unsafe { _svadd_f32_m(pg.sve_into(), op1, op2) }
955}
956#[doc = "Add"]
957#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svadd[_n_f32]_m)"]
958#[inline]
959#[target_feature(enable = "sve")]
960#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
961#[cfg_attr(test, assert_instr(fadd))]
962pub fn svadd_n_f32_m(pg: svbool_t, op1: svfloat32_t, op2: f32) -> svfloat32_t {
963 svadd_f32_m(pg, op1, svdup_n_f32(op2))
964}
965#[doc = "Add"]
966#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svadd[_f32]_x)"]
967#[inline]
968#[target_feature(enable = "sve")]
969#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
970#[cfg_attr(test, assert_instr(fadd))]
971pub fn svadd_f32_x(pg: svbool_t, op1: svfloat32_t, op2: svfloat32_t) -> svfloat32_t {
972 svadd_f32_m(pg, op1, op2)
973}
974#[doc = "Add"]
975#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svadd[_n_f32]_x)"]
976#[inline]
977#[target_feature(enable = "sve")]
978#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
979#[cfg_attr(test, assert_instr(fadd))]
980pub fn svadd_n_f32_x(pg: svbool_t, op1: svfloat32_t, op2: f32) -> svfloat32_t {
981 svadd_f32_x(pg, op1, svdup_n_f32(op2))
982}
983#[doc = "Add"]
984#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svadd[_f32]_z)"]
985#[inline]
986#[target_feature(enable = "sve")]
987#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
988#[cfg_attr(test, assert_instr(fadd))]
989pub fn svadd_f32_z(pg: svbool_t, op1: svfloat32_t, op2: svfloat32_t) -> svfloat32_t {
990 svadd_f32_m(pg, svsel_f32(pg, op1, svdup_n_f32(0.0)), op2)
991}
992#[doc = "Add"]
993#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svadd[_n_f32]_z)"]
994#[inline]
995#[target_feature(enable = "sve")]
996#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
997#[cfg_attr(test, assert_instr(fadd))]
998pub fn svadd_n_f32_z(pg: svbool_t, op1: svfloat32_t, op2: f32) -> svfloat32_t {
999 svadd_f32_z(pg, op1, svdup_n_f32(op2))
1000}
1001#[doc = "Add"]
1002#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svadd[_f64]_m)"]
1003#[inline]
1004#[target_feature(enable = "sve")]
1005#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1006#[cfg_attr(test, assert_instr(fadd))]
1007pub fn svadd_f64_m(pg: svbool_t, op1: svfloat64_t, op2: svfloat64_t) -> svfloat64_t {
1008 unsafe extern "unadjusted" {
1009 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.fadd.nxv2f64")]
1010 fn _svadd_f64_m(pg: svbool2_t, op1: svfloat64_t, op2: svfloat64_t) -> svfloat64_t;
1011 }
1012 unsafe { _svadd_f64_m(pg.sve_into(), op1, op2) }
1013}
1014#[doc = "Add"]
1015#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svadd[_n_f64]_m)"]
1016#[inline]
1017#[target_feature(enable = "sve")]
1018#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1019#[cfg_attr(test, assert_instr(fadd))]
1020pub fn svadd_n_f64_m(pg: svbool_t, op1: svfloat64_t, op2: f64) -> svfloat64_t {
1021 svadd_f64_m(pg, op1, svdup_n_f64(op2))
1022}
1023#[doc = "Add"]
1024#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svadd[_f64]_x)"]
1025#[inline]
1026#[target_feature(enable = "sve")]
1027#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1028#[cfg_attr(test, assert_instr(fadd))]
1029pub fn svadd_f64_x(pg: svbool_t, op1: svfloat64_t, op2: svfloat64_t) -> svfloat64_t {
1030 svadd_f64_m(pg, op1, op2)
1031}
1032#[doc = "Add"]
1033#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svadd[_n_f64]_x)"]
1034#[inline]
1035#[target_feature(enable = "sve")]
1036#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1037#[cfg_attr(test, assert_instr(fadd))]
1038pub fn svadd_n_f64_x(pg: svbool_t, op1: svfloat64_t, op2: f64) -> svfloat64_t {
1039 svadd_f64_x(pg, op1, svdup_n_f64(op2))
1040}
1041#[doc = "Add"]
1042#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svadd[_f64]_z)"]
1043#[inline]
1044#[target_feature(enable = "sve")]
1045#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1046#[cfg_attr(test, assert_instr(fadd))]
1047pub fn svadd_f64_z(pg: svbool_t, op1: svfloat64_t, op2: svfloat64_t) -> svfloat64_t {
1048 svadd_f64_m(pg, svsel_f64(pg, op1, svdup_n_f64(0.0)), op2)
1049}
1050#[doc = "Add"]
1051#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svadd[_n_f64]_z)"]
1052#[inline]
1053#[target_feature(enable = "sve")]
1054#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1055#[cfg_attr(test, assert_instr(fadd))]
1056pub fn svadd_n_f64_z(pg: svbool_t, op1: svfloat64_t, op2: f64) -> svfloat64_t {
1057 svadd_f64_z(pg, op1, svdup_n_f64(op2))
1058}
1059#[doc = "Add"]
1060#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svadd[_s8]_m)"]
1061#[inline]
1062#[target_feature(enable = "sve")]
1063#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1064#[cfg_attr(test, assert_instr(add))]
1065pub fn svadd_s8_m(pg: svbool_t, op1: svint8_t, op2: svint8_t) -> svint8_t {
1066 unsafe extern "unadjusted" {
1067 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.add.nxv16i8")]
1068 fn _svadd_s8_m(pg: svbool_t, op1: svint8_t, op2: svint8_t) -> svint8_t;
1069 }
1070 unsafe { _svadd_s8_m(pg, op1, op2) }
1071}
1072#[doc = "Add"]
1073#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svadd[_n_s8]_m)"]
1074#[inline]
1075#[target_feature(enable = "sve")]
1076#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1077#[cfg_attr(test, assert_instr(add))]
1078pub fn svadd_n_s8_m(pg: svbool_t, op1: svint8_t, op2: i8) -> svint8_t {
1079 svadd_s8_m(pg, op1, svdup_n_s8(op2))
1080}
1081#[doc = "Add"]
1082#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svadd[_s8]_x)"]
1083#[inline]
1084#[target_feature(enable = "sve")]
1085#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1086#[cfg_attr(test, assert_instr(add))]
1087pub fn svadd_s8_x(pg: svbool_t, op1: svint8_t, op2: svint8_t) -> svint8_t {
1088 svadd_s8_m(pg, op1, op2)
1089}
1090#[doc = "Add"]
1091#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svadd[_n_s8]_x)"]
1092#[inline]
1093#[target_feature(enable = "sve")]
1094#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1095#[cfg_attr(test, assert_instr(add))]
1096pub fn svadd_n_s8_x(pg: svbool_t, op1: svint8_t, op2: i8) -> svint8_t {
1097 svadd_s8_x(pg, op1, svdup_n_s8(op2))
1098}
1099#[doc = "Add"]
1100#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svadd[_s8]_z)"]
1101#[inline]
1102#[target_feature(enable = "sve")]
1103#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1104#[cfg_attr(test, assert_instr(add))]
1105pub fn svadd_s8_z(pg: svbool_t, op1: svint8_t, op2: svint8_t) -> svint8_t {
1106 svadd_s8_m(pg, svsel_s8(pg, op1, svdup_n_s8(0)), op2)
1107}
1108#[doc = "Add"]
1109#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svadd[_n_s8]_z)"]
1110#[inline]
1111#[target_feature(enable = "sve")]
1112#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1113#[cfg_attr(test, assert_instr(add))]
1114pub fn svadd_n_s8_z(pg: svbool_t, op1: svint8_t, op2: i8) -> svint8_t {
1115 svadd_s8_z(pg, op1, svdup_n_s8(op2))
1116}
1117#[doc = "Add"]
1118#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svadd[_s16]_m)"]
1119#[inline]
1120#[target_feature(enable = "sve")]
1121#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1122#[cfg_attr(test, assert_instr(add))]
1123pub fn svadd_s16_m(pg: svbool_t, op1: svint16_t, op2: svint16_t) -> svint16_t {
1124 unsafe extern "unadjusted" {
1125 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.add.nxv8i16")]
1126 fn _svadd_s16_m(pg: svbool8_t, op1: svint16_t, op2: svint16_t) -> svint16_t;
1127 }
1128 unsafe { _svadd_s16_m(pg.sve_into(), op1, op2) }
1129}
1130#[doc = "Add"]
1131#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svadd[_n_s16]_m)"]
1132#[inline]
1133#[target_feature(enable = "sve")]
1134#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1135#[cfg_attr(test, assert_instr(add))]
1136pub fn svadd_n_s16_m(pg: svbool_t, op1: svint16_t, op2: i16) -> svint16_t {
1137 svadd_s16_m(pg, op1, svdup_n_s16(op2))
1138}
1139#[doc = "Add"]
1140#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svadd[_s16]_x)"]
1141#[inline]
1142#[target_feature(enable = "sve")]
1143#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1144#[cfg_attr(test, assert_instr(add))]
1145pub fn svadd_s16_x(pg: svbool_t, op1: svint16_t, op2: svint16_t) -> svint16_t {
1146 svadd_s16_m(pg, op1, op2)
1147}
1148#[doc = "Add"]
1149#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svadd[_n_s16]_x)"]
1150#[inline]
1151#[target_feature(enable = "sve")]
1152#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1153#[cfg_attr(test, assert_instr(add))]
1154pub fn svadd_n_s16_x(pg: svbool_t, op1: svint16_t, op2: i16) -> svint16_t {
1155 svadd_s16_x(pg, op1, svdup_n_s16(op2))
1156}
1157#[doc = "Add"]
1158#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svadd[_s16]_z)"]
1159#[inline]
1160#[target_feature(enable = "sve")]
1161#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1162#[cfg_attr(test, assert_instr(add))]
1163pub fn svadd_s16_z(pg: svbool_t, op1: svint16_t, op2: svint16_t) -> svint16_t {
1164 svadd_s16_m(pg, svsel_s16(pg, op1, svdup_n_s16(0)), op2)
1165}
1166#[doc = "Add"]
1167#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svadd[_n_s16]_z)"]
1168#[inline]
1169#[target_feature(enable = "sve")]
1170#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1171#[cfg_attr(test, assert_instr(add))]
1172pub fn svadd_n_s16_z(pg: svbool_t, op1: svint16_t, op2: i16) -> svint16_t {
1173 svadd_s16_z(pg, op1, svdup_n_s16(op2))
1174}
1175#[doc = "Add"]
1176#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svadd[_s32]_m)"]
1177#[inline]
1178#[target_feature(enable = "sve")]
1179#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1180#[cfg_attr(test, assert_instr(add))]
1181pub fn svadd_s32_m(pg: svbool_t, op1: svint32_t, op2: svint32_t) -> svint32_t {
1182 unsafe extern "unadjusted" {
1183 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.add.nxv4i32")]
1184 fn _svadd_s32_m(pg: svbool4_t, op1: svint32_t, op2: svint32_t) -> svint32_t;
1185 }
1186 unsafe { _svadd_s32_m(pg.sve_into(), op1, op2) }
1187}
1188#[doc = "Add"]
1189#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svadd[_n_s32]_m)"]
1190#[inline]
1191#[target_feature(enable = "sve")]
1192#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1193#[cfg_attr(test, assert_instr(add))]
1194pub fn svadd_n_s32_m(pg: svbool_t, op1: svint32_t, op2: i32) -> svint32_t {
1195 svadd_s32_m(pg, op1, svdup_n_s32(op2))
1196}
1197#[doc = "Add"]
1198#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svadd[_s32]_x)"]
1199#[inline]
1200#[target_feature(enable = "sve")]
1201#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1202#[cfg_attr(test, assert_instr(add))]
1203pub fn svadd_s32_x(pg: svbool_t, op1: svint32_t, op2: svint32_t) -> svint32_t {
1204 svadd_s32_m(pg, op1, op2)
1205}
1206#[doc = "Add"]
1207#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svadd[_n_s32]_x)"]
1208#[inline]
1209#[target_feature(enable = "sve")]
1210#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1211#[cfg_attr(test, assert_instr(add))]
1212pub fn svadd_n_s32_x(pg: svbool_t, op1: svint32_t, op2: i32) -> svint32_t {
1213 svadd_s32_x(pg, op1, svdup_n_s32(op2))
1214}
1215#[doc = "Add"]
1216#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svadd[_s32]_z)"]
1217#[inline]
1218#[target_feature(enable = "sve")]
1219#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1220#[cfg_attr(test, assert_instr(add))]
1221pub fn svadd_s32_z(pg: svbool_t, op1: svint32_t, op2: svint32_t) -> svint32_t {
1222 svadd_s32_m(pg, svsel_s32(pg, op1, svdup_n_s32(0)), op2)
1223}
1224#[doc = "Add"]
1225#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svadd[_n_s32]_z)"]
1226#[inline]
1227#[target_feature(enable = "sve")]
1228#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1229#[cfg_attr(test, assert_instr(add))]
1230pub fn svadd_n_s32_z(pg: svbool_t, op1: svint32_t, op2: i32) -> svint32_t {
1231 svadd_s32_z(pg, op1, svdup_n_s32(op2))
1232}
1233#[doc = "Add"]
1234#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svadd[_s64]_m)"]
1235#[inline]
1236#[target_feature(enable = "sve")]
1237#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1238#[cfg_attr(test, assert_instr(add))]
1239pub fn svadd_s64_m(pg: svbool_t, op1: svint64_t, op2: svint64_t) -> svint64_t {
1240 unsafe extern "unadjusted" {
1241 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.add.nxv2i64")]
1242 fn _svadd_s64_m(pg: svbool2_t, op1: svint64_t, op2: svint64_t) -> svint64_t;
1243 }
1244 unsafe { _svadd_s64_m(pg.sve_into(), op1, op2) }
1245}
1246#[doc = "Add"]
1247#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svadd[_n_s64]_m)"]
1248#[inline]
1249#[target_feature(enable = "sve")]
1250#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1251#[cfg_attr(test, assert_instr(add))]
1252pub fn svadd_n_s64_m(pg: svbool_t, op1: svint64_t, op2: i64) -> svint64_t {
1253 svadd_s64_m(pg, op1, svdup_n_s64(op2))
1254}
1255#[doc = "Add"]
1256#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svadd[_s64]_x)"]
1257#[inline]
1258#[target_feature(enable = "sve")]
1259#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1260#[cfg_attr(test, assert_instr(add))]
1261pub fn svadd_s64_x(pg: svbool_t, op1: svint64_t, op2: svint64_t) -> svint64_t {
1262 svadd_s64_m(pg, op1, op2)
1263}
1264#[doc = "Add"]
1265#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svadd[_n_s64]_x)"]
1266#[inline]
1267#[target_feature(enable = "sve")]
1268#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1269#[cfg_attr(test, assert_instr(add))]
1270pub fn svadd_n_s64_x(pg: svbool_t, op1: svint64_t, op2: i64) -> svint64_t {
1271 svadd_s64_x(pg, op1, svdup_n_s64(op2))
1272}
1273#[doc = "Add"]
1274#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svadd[_s64]_z)"]
1275#[inline]
1276#[target_feature(enable = "sve")]
1277#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1278#[cfg_attr(test, assert_instr(add))]
1279pub fn svadd_s64_z(pg: svbool_t, op1: svint64_t, op2: svint64_t) -> svint64_t {
1280 svadd_s64_m(pg, svsel_s64(pg, op1, svdup_n_s64(0)), op2)
1281}
1282#[doc = "Add"]
1283#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svadd[_n_s64]_z)"]
1284#[inline]
1285#[target_feature(enable = "sve")]
1286#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1287#[cfg_attr(test, assert_instr(add))]
1288pub fn svadd_n_s64_z(pg: svbool_t, op1: svint64_t, op2: i64) -> svint64_t {
1289 svadd_s64_z(pg, op1, svdup_n_s64(op2))
1290}
1291#[doc = "Add"]
1292#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svadd[_u8]_m)"]
1293#[inline]
1294#[target_feature(enable = "sve")]
1295#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1296#[cfg_attr(test, assert_instr(add))]
1297pub fn svadd_u8_m(pg: svbool_t, op1: svuint8_t, op2: svuint8_t) -> svuint8_t {
1298 unsafe { svadd_s8_m(pg, op1.as_signed(), op2.as_signed()).as_unsigned() }
1299}
1300#[doc = "Add"]
1301#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svadd[_n_u8]_m)"]
1302#[inline]
1303#[target_feature(enable = "sve")]
1304#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1305#[cfg_attr(test, assert_instr(add))]
1306pub fn svadd_n_u8_m(pg: svbool_t, op1: svuint8_t, op2: u8) -> svuint8_t {
1307 svadd_u8_m(pg, op1, svdup_n_u8(op2))
1308}
1309#[doc = "Add"]
1310#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svadd[_u8]_x)"]
1311#[inline]
1312#[target_feature(enable = "sve")]
1313#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1314#[cfg_attr(test, assert_instr(add))]
1315pub fn svadd_u8_x(pg: svbool_t, op1: svuint8_t, op2: svuint8_t) -> svuint8_t {
1316 svadd_u8_m(pg, op1, op2)
1317}
1318#[doc = "Add"]
1319#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svadd[_n_u8]_x)"]
1320#[inline]
1321#[target_feature(enable = "sve")]
1322#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1323#[cfg_attr(test, assert_instr(add))]
1324pub fn svadd_n_u8_x(pg: svbool_t, op1: svuint8_t, op2: u8) -> svuint8_t {
1325 svadd_u8_x(pg, op1, svdup_n_u8(op2))
1326}
1327#[doc = "Add"]
1328#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svadd[_u8]_z)"]
1329#[inline]
1330#[target_feature(enable = "sve")]
1331#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1332#[cfg_attr(test, assert_instr(add))]
1333pub fn svadd_u8_z(pg: svbool_t, op1: svuint8_t, op2: svuint8_t) -> svuint8_t {
1334 svadd_u8_m(pg, svsel_u8(pg, op1, svdup_n_u8(0)), op2)
1335}
1336#[doc = "Add"]
1337#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svadd[_n_u8]_z)"]
1338#[inline]
1339#[target_feature(enable = "sve")]
1340#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1341#[cfg_attr(test, assert_instr(add))]
1342pub fn svadd_n_u8_z(pg: svbool_t, op1: svuint8_t, op2: u8) -> svuint8_t {
1343 svadd_u8_z(pg, op1, svdup_n_u8(op2))
1344}
1345#[doc = "Add"]
1346#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svadd[_u16]_m)"]
1347#[inline]
1348#[target_feature(enable = "sve")]
1349#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1350#[cfg_attr(test, assert_instr(add))]
1351pub fn svadd_u16_m(pg: svbool_t, op1: svuint16_t, op2: svuint16_t) -> svuint16_t {
1352 unsafe { svadd_s16_m(pg, op1.as_signed(), op2.as_signed()).as_unsigned() }
1353}
1354#[doc = "Add"]
1355#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svadd[_n_u16]_m)"]
1356#[inline]
1357#[target_feature(enable = "sve")]
1358#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1359#[cfg_attr(test, assert_instr(add))]
1360pub fn svadd_n_u16_m(pg: svbool_t, op1: svuint16_t, op2: u16) -> svuint16_t {
1361 svadd_u16_m(pg, op1, svdup_n_u16(op2))
1362}
1363#[doc = "Add"]
1364#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svadd[_u16]_x)"]
1365#[inline]
1366#[target_feature(enable = "sve")]
1367#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1368#[cfg_attr(test, assert_instr(add))]
1369pub fn svadd_u16_x(pg: svbool_t, op1: svuint16_t, op2: svuint16_t) -> svuint16_t {
1370 svadd_u16_m(pg, op1, op2)
1371}
1372#[doc = "Add"]
1373#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svadd[_n_u16]_x)"]
1374#[inline]
1375#[target_feature(enable = "sve")]
1376#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1377#[cfg_attr(test, assert_instr(add))]
1378pub fn svadd_n_u16_x(pg: svbool_t, op1: svuint16_t, op2: u16) -> svuint16_t {
1379 svadd_u16_x(pg, op1, svdup_n_u16(op2))
1380}
1381#[doc = "Add"]
1382#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svadd[_u16]_z)"]
1383#[inline]
1384#[target_feature(enable = "sve")]
1385#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1386#[cfg_attr(test, assert_instr(add))]
1387pub fn svadd_u16_z(pg: svbool_t, op1: svuint16_t, op2: svuint16_t) -> svuint16_t {
1388 svadd_u16_m(pg, svsel_u16(pg, op1, svdup_n_u16(0)), op2)
1389}
1390#[doc = "Add"]
1391#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svadd[_n_u16]_z)"]
1392#[inline]
1393#[target_feature(enable = "sve")]
1394#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1395#[cfg_attr(test, assert_instr(add))]
1396pub fn svadd_n_u16_z(pg: svbool_t, op1: svuint16_t, op2: u16) -> svuint16_t {
1397 svadd_u16_z(pg, op1, svdup_n_u16(op2))
1398}
1399#[doc = "Add"]
1400#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svadd[_u32]_m)"]
1401#[inline]
1402#[target_feature(enable = "sve")]
1403#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1404#[cfg_attr(test, assert_instr(add))]
1405pub fn svadd_u32_m(pg: svbool_t, op1: svuint32_t, op2: svuint32_t) -> svuint32_t {
1406 unsafe { svadd_s32_m(pg, op1.as_signed(), op2.as_signed()).as_unsigned() }
1407}
1408#[doc = "Add"]
1409#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svadd[_n_u32]_m)"]
1410#[inline]
1411#[target_feature(enable = "sve")]
1412#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1413#[cfg_attr(test, assert_instr(add))]
1414pub fn svadd_n_u32_m(pg: svbool_t, op1: svuint32_t, op2: u32) -> svuint32_t {
1415 svadd_u32_m(pg, op1, svdup_n_u32(op2))
1416}
1417#[doc = "Add"]
1418#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svadd[_u32]_x)"]
1419#[inline]
1420#[target_feature(enable = "sve")]
1421#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1422#[cfg_attr(test, assert_instr(add))]
1423pub fn svadd_u32_x(pg: svbool_t, op1: svuint32_t, op2: svuint32_t) -> svuint32_t {
1424 svadd_u32_m(pg, op1, op2)
1425}
1426#[doc = "Add"]
1427#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svadd[_n_u32]_x)"]
1428#[inline]
1429#[target_feature(enable = "sve")]
1430#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1431#[cfg_attr(test, assert_instr(add))]
1432pub fn svadd_n_u32_x(pg: svbool_t, op1: svuint32_t, op2: u32) -> svuint32_t {
1433 svadd_u32_x(pg, op1, svdup_n_u32(op2))
1434}
1435#[doc = "Add"]
1436#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svadd[_u32]_z)"]
1437#[inline]
1438#[target_feature(enable = "sve")]
1439#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1440#[cfg_attr(test, assert_instr(add))]
1441pub fn svadd_u32_z(pg: svbool_t, op1: svuint32_t, op2: svuint32_t) -> svuint32_t {
1442 svadd_u32_m(pg, svsel_u32(pg, op1, svdup_n_u32(0)), op2)
1443}
1444#[doc = "Add"]
1445#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svadd[_n_u32]_z)"]
1446#[inline]
1447#[target_feature(enable = "sve")]
1448#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1449#[cfg_attr(test, assert_instr(add))]
1450pub fn svadd_n_u32_z(pg: svbool_t, op1: svuint32_t, op2: u32) -> svuint32_t {
1451 svadd_u32_z(pg, op1, svdup_n_u32(op2))
1452}
1453#[doc = "Add"]
1454#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svadd[_u64]_m)"]
1455#[inline]
1456#[target_feature(enable = "sve")]
1457#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1458#[cfg_attr(test, assert_instr(add))]
1459pub fn svadd_u64_m(pg: svbool_t, op1: svuint64_t, op2: svuint64_t) -> svuint64_t {
1460 unsafe { svadd_s64_m(pg, op1.as_signed(), op2.as_signed()).as_unsigned() }
1461}
1462#[doc = "Add"]
1463#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svadd[_n_u64]_m)"]
1464#[inline]
1465#[target_feature(enable = "sve")]
1466#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1467#[cfg_attr(test, assert_instr(add))]
1468pub fn svadd_n_u64_m(pg: svbool_t, op1: svuint64_t, op2: u64) -> svuint64_t {
1469 svadd_u64_m(pg, op1, svdup_n_u64(op2))
1470}
1471#[doc = "Add"]
1472#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svadd[_u64]_x)"]
1473#[inline]
1474#[target_feature(enable = "sve")]
1475#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1476#[cfg_attr(test, assert_instr(add))]
1477pub fn svadd_u64_x(pg: svbool_t, op1: svuint64_t, op2: svuint64_t) -> svuint64_t {
1478 svadd_u64_m(pg, op1, op2)
1479}
1480#[doc = "Add"]
1481#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svadd[_n_u64]_x)"]
1482#[inline]
1483#[target_feature(enable = "sve")]
1484#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1485#[cfg_attr(test, assert_instr(add))]
1486pub fn svadd_n_u64_x(pg: svbool_t, op1: svuint64_t, op2: u64) -> svuint64_t {
1487 svadd_u64_x(pg, op1, svdup_n_u64(op2))
1488}
1489#[doc = "Add"]
1490#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svadd[_u64]_z)"]
1491#[inline]
1492#[target_feature(enable = "sve")]
1493#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1494#[cfg_attr(test, assert_instr(add))]
1495pub fn svadd_u64_z(pg: svbool_t, op1: svuint64_t, op2: svuint64_t) -> svuint64_t {
1496 svadd_u64_m(pg, svsel_u64(pg, op1, svdup_n_u64(0)), op2)
1497}
1498#[doc = "Add"]
1499#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svadd[_n_u64]_z)"]
1500#[inline]
1501#[target_feature(enable = "sve")]
1502#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1503#[cfg_attr(test, assert_instr(add))]
1504pub fn svadd_n_u64_z(pg: svbool_t, op1: svuint64_t, op2: u64) -> svuint64_t {
1505 svadd_u64_z(pg, op1, svdup_n_u64(op2))
1506}
1507#[doc = "Add reduction (strictly-ordered)"]
1508#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svadda[_f32])"]
1509#[inline]
1510#[target_feature(enable = "sve")]
1511#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1512#[cfg_attr(test, assert_instr(fadda))]
1513pub fn svadda_f32(pg: svbool_t, initial: f32, op: svfloat32_t) -> f32 {
1514 unsafe extern "unadjusted" {
1515 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.fadda.nxv4f32")]
1516 fn _svadda_f32(pg: svbool4_t, initial: f32, op: svfloat32_t) -> f32;
1517 }
1518 unsafe { _svadda_f32(pg.sve_into(), initial, op) }
1519}
1520#[doc = "Add reduction (strictly-ordered)"]
1521#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svadda[_f64])"]
1522#[inline]
1523#[target_feature(enable = "sve")]
1524#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1525#[cfg_attr(test, assert_instr(fadda))]
1526pub fn svadda_f64(pg: svbool_t, initial: f64, op: svfloat64_t) -> f64 {
1527 unsafe extern "unadjusted" {
1528 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.fadda.nxv2f64")]
1529 fn _svadda_f64(pg: svbool2_t, initial: f64, op: svfloat64_t) -> f64;
1530 }
1531 unsafe { _svadda_f64(pg.sve_into(), initial, op) }
1532}
1533#[doc = "Add reduction"]
1534#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svaddv[_f32])"]
1535#[inline]
1536#[target_feature(enable = "sve")]
1537#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1538#[cfg_attr(test, assert_instr(faddv))]
1539pub fn svaddv_f32(pg: svbool_t, op: svfloat32_t) -> f32 {
1540 unsafe extern "unadjusted" {
1541 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.faddv.nxv4f32")]
1542 fn _svaddv_f32(pg: svbool4_t, op: svfloat32_t) -> f32;
1543 }
1544 unsafe { _svaddv_f32(pg.sve_into(), op) }
1545}
1546#[doc = "Add reduction"]
1547#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svaddv[_f64])"]
1548#[inline]
1549#[target_feature(enable = "sve")]
1550#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1551#[cfg_attr(test, assert_instr(faddv))]
1552pub fn svaddv_f64(pg: svbool_t, op: svfloat64_t) -> f64 {
1553 unsafe extern "unadjusted" {
1554 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.faddv.nxv2f64")]
1555 fn _svaddv_f64(pg: svbool2_t, op: svfloat64_t) -> f64;
1556 }
1557 unsafe { _svaddv_f64(pg.sve_into(), op) }
1558}
1559#[doc = "Add reduction"]
1560#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svaddv[_s64])"]
1561#[inline]
1562#[target_feature(enable = "sve")]
1563#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1564#[cfg_attr(test, assert_instr(uaddv))]
1565pub fn svaddv_s64(pg: svbool_t, op: svint64_t) -> i64 {
1566 unsafe extern "unadjusted" {
1567 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.saddv.nxv2i64")]
1568 fn _svaddv_s64(pg: svbool2_t, op: svint64_t) -> i64;
1569 }
1570 unsafe { _svaddv_s64(pg.sve_into(), op) }
1571}
1572#[doc = "Add reduction"]
1573#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svaddv[_u64])"]
1574#[inline]
1575#[target_feature(enable = "sve")]
1576#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1577#[cfg_attr(test, assert_instr(uaddv))]
1578pub fn svaddv_u64(pg: svbool_t, op: svuint64_t) -> u64 {
1579 unsafe extern "unadjusted" {
1580 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.uaddv.nxv2i64")]
1581 fn _svaddv_u64(pg: svbool2_t, op: svint64_t) -> i64;
1582 }
1583 unsafe { _svaddv_u64(pg.sve_into(), op.as_signed()).as_unsigned() }
1584}
1585#[doc = "Add reduction"]
1586#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svaddv[_s8])"]
1587#[inline]
1588#[target_feature(enable = "sve")]
1589#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1590#[cfg_attr(test, assert_instr(saddv))]
1591pub fn svaddv_s8(pg: svbool_t, op: svint8_t) -> i64 {
1592 unsafe extern "unadjusted" {
1593 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.saddv.nxv16i8")]
1594 fn _svaddv_s8(pg: svbool_t, op: svint8_t) -> i64;
1595 }
1596 unsafe { _svaddv_s8(pg, op) }
1597}
1598#[doc = "Add reduction"]
1599#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svaddv[_s16])"]
1600#[inline]
1601#[target_feature(enable = "sve")]
1602#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1603#[cfg_attr(test, assert_instr(saddv))]
1604pub fn svaddv_s16(pg: svbool_t, op: svint16_t) -> i64 {
1605 unsafe extern "unadjusted" {
1606 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.saddv.nxv8i16")]
1607 fn _svaddv_s16(pg: svbool8_t, op: svint16_t) -> i64;
1608 }
1609 unsafe { _svaddv_s16(pg.sve_into(), op) }
1610}
1611#[doc = "Add reduction"]
1612#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svaddv[_s32])"]
1613#[inline]
1614#[target_feature(enable = "sve")]
1615#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1616#[cfg_attr(test, assert_instr(saddv))]
1617pub fn svaddv_s32(pg: svbool_t, op: svint32_t) -> i64 {
1618 unsafe extern "unadjusted" {
1619 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.saddv.nxv4i32")]
1620 fn _svaddv_s32(pg: svbool4_t, op: svint32_t) -> i64;
1621 }
1622 unsafe { _svaddv_s32(pg.sve_into(), op) }
1623}
1624#[doc = "Add reduction"]
1625#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svaddv[_u8])"]
1626#[inline]
1627#[target_feature(enable = "sve")]
1628#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1629#[cfg_attr(test, assert_instr(uaddv))]
1630pub fn svaddv_u8(pg: svbool_t, op: svuint8_t) -> u64 {
1631 unsafe extern "unadjusted" {
1632 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.uaddv.nxv16i8")]
1633 fn _svaddv_u8(pg: svbool_t, op: svint8_t) -> i64;
1634 }
1635 unsafe { _svaddv_u8(pg, op.as_signed()).as_unsigned() }
1636}
1637#[doc = "Add reduction"]
1638#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svaddv[_u16])"]
1639#[inline]
1640#[target_feature(enable = "sve")]
1641#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1642#[cfg_attr(test, assert_instr(uaddv))]
1643pub fn svaddv_u16(pg: svbool_t, op: svuint16_t) -> u64 {
1644 unsafe extern "unadjusted" {
1645 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.uaddv.nxv8i16")]
1646 fn _svaddv_u16(pg: svbool8_t, op: svint16_t) -> i64;
1647 }
1648 unsafe { _svaddv_u16(pg.sve_into(), op.as_signed()).as_unsigned() }
1649}
1650#[doc = "Add reduction"]
1651#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svaddv[_u32])"]
1652#[inline]
1653#[target_feature(enable = "sve")]
1654#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1655#[cfg_attr(test, assert_instr(uaddv))]
1656pub fn svaddv_u32(pg: svbool_t, op: svuint32_t) -> u64 {
1657 unsafe extern "unadjusted" {
1658 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.uaddv.nxv4i32")]
1659 fn _svaddv_u32(pg: svbool4_t, op: svint32_t) -> i64;
1660 }
1661 unsafe { _svaddv_u32(pg.sve_into(), op.as_signed()).as_unsigned() }
1662}
1663#[doc = "Compute vector addresses for 8-bit data"]
1664#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svadrb[_u32base]_[s32]offset)"]
1665#[inline]
1666#[target_feature(enable = "sve")]
1667#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1668#[cfg_attr(test, assert_instr(adr))]
1669pub fn svadrb_u32base_s32offset(bases: svuint32_t, offsets: svint32_t) -> svuint32_t {
1670 unsafe extern "unadjusted" {
1671 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.adrb.nxv4i32")]
1672 fn _svadrb_u32base_s32offset(bases: svint32_t, offsets: svint32_t) -> svint32_t;
1673 }
1674 unsafe { _svadrb_u32base_s32offset(bases.as_signed(), offsets).as_unsigned() }
1675}
1676#[doc = "Compute vector addresses for 16-bit data"]
1677#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svadrh[_u32base]_[s32]index)"]
1678#[inline]
1679#[target_feature(enable = "sve")]
1680#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1681#[cfg_attr(test, assert_instr(adr))]
1682pub fn svadrh_u32base_s32index(bases: svuint32_t, indices: svint32_t) -> svuint32_t {
1683 unsafe extern "unadjusted" {
1684 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.adrh.nxv4i32")]
1685 fn _svadrh_u32base_s32index(bases: svint32_t, indices: svint32_t) -> svint32_t;
1686 }
1687 unsafe { _svadrh_u32base_s32index(bases.as_signed(), indices).as_unsigned() }
1688}
1689#[doc = "Compute vector addresses for 32-bit data"]
1690#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svadrw[_u32base]_[s32]index)"]
1691#[inline]
1692#[target_feature(enable = "sve")]
1693#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1694#[cfg_attr(test, assert_instr(adr))]
1695pub fn svadrw_u32base_s32index(bases: svuint32_t, indices: svint32_t) -> svuint32_t {
1696 unsafe extern "unadjusted" {
1697 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.adrw.nxv4i32")]
1698 fn _svadrw_u32base_s32index(bases: svint32_t, indices: svint32_t) -> svint32_t;
1699 }
1700 unsafe { _svadrw_u32base_s32index(bases.as_signed(), indices).as_unsigned() }
1701}
1702#[doc = "Compute vector addresses for 64-bit data"]
1703#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svadrd[_u32base]_[s32]index)"]
1704#[inline]
1705#[target_feature(enable = "sve")]
1706#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1707#[cfg_attr(test, assert_instr(adr))]
1708pub fn svadrd_u32base_s32index(bases: svuint32_t, indices: svint32_t) -> svuint32_t {
1709 unsafe extern "unadjusted" {
1710 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.adrd.nxv4i32")]
1711 fn _svadrd_u32base_s32index(bases: svint32_t, indices: svint32_t) -> svint32_t;
1712 }
1713 unsafe { _svadrd_u32base_s32index(bases.as_signed(), indices).as_unsigned() }
1714}
1715#[doc = "Compute vector addresses for 8-bit data"]
1716#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svadrb[_u32base]_[u32]offset)"]
1717#[inline]
1718#[target_feature(enable = "sve")]
1719#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1720#[cfg_attr(test, assert_instr(adr))]
1721pub fn svadrb_u32base_u32offset(bases: svuint32_t, offsets: svuint32_t) -> svuint32_t {
1722 unsafe { svadrb_u32base_s32offset(bases, offsets.as_signed()) }
1723}
1724#[doc = "Compute vector addresses for 16-bit data"]
1725#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svadrh[_u32base]_[u32]index)"]
1726#[inline]
1727#[target_feature(enable = "sve")]
1728#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1729#[cfg_attr(test, assert_instr(adr))]
1730pub fn svadrh_u32base_u32index(bases: svuint32_t, indices: svuint32_t) -> svuint32_t {
1731 unsafe { svadrh_u32base_s32index(bases, indices.as_signed()) }
1732}
1733#[doc = "Compute vector addresses for 32-bit data"]
1734#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svadrw[_u32base]_[u32]index)"]
1735#[inline]
1736#[target_feature(enable = "sve")]
1737#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1738#[cfg_attr(test, assert_instr(adr))]
1739pub fn svadrw_u32base_u32index(bases: svuint32_t, indices: svuint32_t) -> svuint32_t {
1740 unsafe { svadrw_u32base_s32index(bases, indices.as_signed()) }
1741}
1742#[doc = "Compute vector addresses for 64-bit data"]
1743#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svadrd[_u32base]_[u32]index)"]
1744#[inline]
1745#[target_feature(enable = "sve")]
1746#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1747#[cfg_attr(test, assert_instr(adr))]
1748pub fn svadrd_u32base_u32index(bases: svuint32_t, indices: svuint32_t) -> svuint32_t {
1749 unsafe { svadrd_u32base_s32index(bases, indices.as_signed()) }
1750}
1751#[doc = "Compute vector addresses for 8-bit data"]
1752#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svadrb[_u64base]_[s64]offset)"]
1753#[inline]
1754#[target_feature(enable = "sve")]
1755#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1756#[cfg_attr(test, assert_instr(adr))]
1757pub fn svadrb_u64base_s64offset(bases: svuint64_t, offsets: svint64_t) -> svuint64_t {
1758 unsafe extern "unadjusted" {
1759 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.adrb.nxv2i64")]
1760 fn _svadrb_u64base_s64offset(bases: svint64_t, offsets: svint64_t) -> svint64_t;
1761 }
1762 unsafe { _svadrb_u64base_s64offset(bases.as_signed(), offsets).as_unsigned() }
1763}
1764#[doc = "Compute vector addresses for 16-bit data"]
1765#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svadrh[_u64base]_[s64]index)"]
1766#[inline]
1767#[target_feature(enable = "sve")]
1768#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1769#[cfg_attr(test, assert_instr(adr))]
1770pub fn svadrh_u64base_s64index(bases: svuint64_t, indices: svint64_t) -> svuint64_t {
1771 unsafe extern "unadjusted" {
1772 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.adrh.nxv2i64")]
1773 fn _svadrh_u64base_s64index(bases: svint64_t, indices: svint64_t) -> svint64_t;
1774 }
1775 unsafe { _svadrh_u64base_s64index(bases.as_signed(), indices).as_unsigned() }
1776}
1777#[doc = "Compute vector addresses for 32-bit data"]
1778#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svadrw[_u64base]_[s64]index)"]
1779#[inline]
1780#[target_feature(enable = "sve")]
1781#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1782#[cfg_attr(test, assert_instr(adr))]
1783pub fn svadrw_u64base_s64index(bases: svuint64_t, indices: svint64_t) -> svuint64_t {
1784 unsafe extern "unadjusted" {
1785 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.adrw.nxv2i64")]
1786 fn _svadrw_u64base_s64index(bases: svint64_t, indices: svint64_t) -> svint64_t;
1787 }
1788 unsafe { _svadrw_u64base_s64index(bases.as_signed(), indices).as_unsigned() }
1789}
1790#[doc = "Compute vector addresses for 64-bit data"]
1791#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svadrd[_u64base]_[s64]index)"]
1792#[inline]
1793#[target_feature(enable = "sve")]
1794#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1795#[cfg_attr(test, assert_instr(adr))]
1796pub fn svadrd_u64base_s64index(bases: svuint64_t, indices: svint64_t) -> svuint64_t {
1797 unsafe extern "unadjusted" {
1798 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.adrd.nxv2i64")]
1799 fn _svadrd_u64base_s64index(bases: svint64_t, indices: svint64_t) -> svint64_t;
1800 }
1801 unsafe { _svadrd_u64base_s64index(bases.as_signed(), indices).as_unsigned() }
1802}
1803#[doc = "Compute vector addresses for 8-bit data"]
1804#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svadrb[_u64base]_[u64]offset)"]
1805#[inline]
1806#[target_feature(enable = "sve")]
1807#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1808#[cfg_attr(test, assert_instr(adr))]
1809pub fn svadrb_u64base_u64offset(bases: svuint64_t, offsets: svuint64_t) -> svuint64_t {
1810 unsafe { svadrb_u64base_s64offset(bases, offsets.as_signed()) }
1811}
1812#[doc = "Compute vector addresses for 16-bit data"]
1813#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svadrh[_u64base]_[u64]index)"]
1814#[inline]
1815#[target_feature(enable = "sve")]
1816#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1817#[cfg_attr(test, assert_instr(adr))]
1818pub fn svadrh_u64base_u64index(bases: svuint64_t, indices: svuint64_t) -> svuint64_t {
1819 unsafe { svadrh_u64base_s64index(bases, indices.as_signed()) }
1820}
1821#[doc = "Compute vector addresses for 32-bit data"]
1822#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svadrw[_u64base]_[u64]index)"]
1823#[inline]
1824#[target_feature(enable = "sve")]
1825#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1826#[cfg_attr(test, assert_instr(adr))]
1827pub fn svadrw_u64base_u64index(bases: svuint64_t, indices: svuint64_t) -> svuint64_t {
1828 unsafe { svadrw_u64base_s64index(bases, indices.as_signed()) }
1829}
1830#[doc = "Compute vector addresses for 64-bit data"]
1831#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svadrd[_u64base]_[u64]index)"]
1832#[inline]
1833#[target_feature(enable = "sve")]
1834#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1835#[cfg_attr(test, assert_instr(adr))]
1836pub fn svadrd_u64base_u64index(bases: svuint64_t, indices: svuint64_t) -> svuint64_t {
1837 unsafe { svadrd_u64base_s64index(bases, indices.as_signed()) }
1838}
1839#[doc = "Bitwise AND"]
1840#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svand[_b]_z)"]
1841#[inline]
1842#[target_feature(enable = "sve")]
1843#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1844#[cfg_attr(test, assert_instr(and))]
1845pub fn svand_b_z(pg: svbool_t, op1: svbool_t, op2: svbool_t) -> svbool_t {
1846 unsafe extern "unadjusted" {
1847 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.and.z.nxv16i1")]
1848 fn _svand_b_z(pg: svbool_t, op1: svbool_t, op2: svbool_t) -> svbool_t;
1849 }
1850 unsafe { _svand_b_z(pg, op1, op2) }
1851}
1852#[doc = "Bitwise AND"]
1853#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svand[_s8]_m)"]
1854#[inline]
1855#[target_feature(enable = "sve")]
1856#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1857#[cfg_attr(test, assert_instr(and))]
1858pub fn svand_s8_m(pg: svbool_t, op1: svint8_t, op2: svint8_t) -> svint8_t {
1859 unsafe extern "unadjusted" {
1860 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.and.nxv16i8")]
1861 fn _svand_s8_m(pg: svbool_t, op1: svint8_t, op2: svint8_t) -> svint8_t;
1862 }
1863 unsafe { _svand_s8_m(pg, op1, op2) }
1864}
1865#[doc = "Bitwise AND"]
1866#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svand[_n_s8]_m)"]
1867#[inline]
1868#[target_feature(enable = "sve")]
1869#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1870#[cfg_attr(test, assert_instr(and))]
1871pub fn svand_n_s8_m(pg: svbool_t, op1: svint8_t, op2: i8) -> svint8_t {
1872 svand_s8_m(pg, op1, svdup_n_s8(op2))
1873}
1874#[doc = "Bitwise AND"]
1875#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svand[_s8]_x)"]
1876#[inline]
1877#[target_feature(enable = "sve")]
1878#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1879#[cfg_attr(test, assert_instr(and))]
1880pub fn svand_s8_x(pg: svbool_t, op1: svint8_t, op2: svint8_t) -> svint8_t {
1881 svand_s8_m(pg, op1, op2)
1882}
1883#[doc = "Bitwise AND"]
1884#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svand[_n_s8]_x)"]
1885#[inline]
1886#[target_feature(enable = "sve")]
1887#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1888#[cfg_attr(test, assert_instr(and))]
1889pub fn svand_n_s8_x(pg: svbool_t, op1: svint8_t, op2: i8) -> svint8_t {
1890 svand_s8_x(pg, op1, svdup_n_s8(op2))
1891}
1892#[doc = "Bitwise AND"]
1893#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svand[_s8]_z)"]
1894#[inline]
1895#[target_feature(enable = "sve")]
1896#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1897#[cfg_attr(test, assert_instr(and))]
1898pub fn svand_s8_z(pg: svbool_t, op1: svint8_t, op2: svint8_t) -> svint8_t {
1899 svand_s8_m(pg, svsel_s8(pg, op1, svdup_n_s8(0)), op2)
1900}
1901#[doc = "Bitwise AND"]
1902#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svand[_n_s8]_z)"]
1903#[inline]
1904#[target_feature(enable = "sve")]
1905#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1906#[cfg_attr(test, assert_instr(and))]
1907pub fn svand_n_s8_z(pg: svbool_t, op1: svint8_t, op2: i8) -> svint8_t {
1908 svand_s8_z(pg, op1, svdup_n_s8(op2))
1909}
1910#[doc = "Bitwise AND"]
1911#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svand[_s16]_m)"]
1912#[inline]
1913#[target_feature(enable = "sve")]
1914#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1915#[cfg_attr(test, assert_instr(and))]
1916pub fn svand_s16_m(pg: svbool_t, op1: svint16_t, op2: svint16_t) -> svint16_t {
1917 unsafe extern "unadjusted" {
1918 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.and.nxv8i16")]
1919 fn _svand_s16_m(pg: svbool8_t, op1: svint16_t, op2: svint16_t) -> svint16_t;
1920 }
1921 unsafe { _svand_s16_m(pg.sve_into(), op1, op2) }
1922}
1923#[doc = "Bitwise AND"]
1924#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svand[_n_s16]_m)"]
1925#[inline]
1926#[target_feature(enable = "sve")]
1927#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1928#[cfg_attr(test, assert_instr(and))]
1929pub fn svand_n_s16_m(pg: svbool_t, op1: svint16_t, op2: i16) -> svint16_t {
1930 svand_s16_m(pg, op1, svdup_n_s16(op2))
1931}
1932#[doc = "Bitwise AND"]
1933#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svand[_s16]_x)"]
1934#[inline]
1935#[target_feature(enable = "sve")]
1936#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1937#[cfg_attr(test, assert_instr(and))]
1938pub fn svand_s16_x(pg: svbool_t, op1: svint16_t, op2: svint16_t) -> svint16_t {
1939 svand_s16_m(pg, op1, op2)
1940}
1941#[doc = "Bitwise AND"]
1942#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svand[_n_s16]_x)"]
1943#[inline]
1944#[target_feature(enable = "sve")]
1945#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1946#[cfg_attr(test, assert_instr(and))]
1947pub fn svand_n_s16_x(pg: svbool_t, op1: svint16_t, op2: i16) -> svint16_t {
1948 svand_s16_x(pg, op1, svdup_n_s16(op2))
1949}
1950#[doc = "Bitwise AND"]
1951#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svand[_s16]_z)"]
1952#[inline]
1953#[target_feature(enable = "sve")]
1954#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1955#[cfg_attr(test, assert_instr(and))]
1956pub fn svand_s16_z(pg: svbool_t, op1: svint16_t, op2: svint16_t) -> svint16_t {
1957 svand_s16_m(pg, svsel_s16(pg, op1, svdup_n_s16(0)), op2)
1958}
1959#[doc = "Bitwise AND"]
1960#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svand[_n_s16]_z)"]
1961#[inline]
1962#[target_feature(enable = "sve")]
1963#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1964#[cfg_attr(test, assert_instr(and))]
1965pub fn svand_n_s16_z(pg: svbool_t, op1: svint16_t, op2: i16) -> svint16_t {
1966 svand_s16_z(pg, op1, svdup_n_s16(op2))
1967}
1968#[doc = "Bitwise AND"]
1969#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svand[_s32]_m)"]
1970#[inline]
1971#[target_feature(enable = "sve")]
1972#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1973#[cfg_attr(test, assert_instr(and))]
1974pub fn svand_s32_m(pg: svbool_t, op1: svint32_t, op2: svint32_t) -> svint32_t {
1975 unsafe extern "unadjusted" {
1976 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.and.nxv4i32")]
1977 fn _svand_s32_m(pg: svbool4_t, op1: svint32_t, op2: svint32_t) -> svint32_t;
1978 }
1979 unsafe { _svand_s32_m(pg.sve_into(), op1, op2) }
1980}
1981#[doc = "Bitwise AND"]
1982#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svand[_n_s32]_m)"]
1983#[inline]
1984#[target_feature(enable = "sve")]
1985#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1986#[cfg_attr(test, assert_instr(and))]
1987pub fn svand_n_s32_m(pg: svbool_t, op1: svint32_t, op2: i32) -> svint32_t {
1988 svand_s32_m(pg, op1, svdup_n_s32(op2))
1989}
1990#[doc = "Bitwise AND"]
1991#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svand[_s32]_x)"]
1992#[inline]
1993#[target_feature(enable = "sve")]
1994#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1995#[cfg_attr(test, assert_instr(and))]
1996pub fn svand_s32_x(pg: svbool_t, op1: svint32_t, op2: svint32_t) -> svint32_t {
1997 svand_s32_m(pg, op1, op2)
1998}
1999#[doc = "Bitwise AND"]
2000#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svand[_n_s32]_x)"]
2001#[inline]
2002#[target_feature(enable = "sve")]
2003#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2004#[cfg_attr(test, assert_instr(and))]
2005pub fn svand_n_s32_x(pg: svbool_t, op1: svint32_t, op2: i32) -> svint32_t {
2006 svand_s32_x(pg, op1, svdup_n_s32(op2))
2007}
2008#[doc = "Bitwise AND"]
2009#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svand[_s32]_z)"]
2010#[inline]
2011#[target_feature(enable = "sve")]
2012#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2013#[cfg_attr(test, assert_instr(and))]
2014pub fn svand_s32_z(pg: svbool_t, op1: svint32_t, op2: svint32_t) -> svint32_t {
2015 svand_s32_m(pg, svsel_s32(pg, op1, svdup_n_s32(0)), op2)
2016}
2017#[doc = "Bitwise AND"]
2018#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svand[_n_s32]_z)"]
2019#[inline]
2020#[target_feature(enable = "sve")]
2021#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2022#[cfg_attr(test, assert_instr(and))]
2023pub fn svand_n_s32_z(pg: svbool_t, op1: svint32_t, op2: i32) -> svint32_t {
2024 svand_s32_z(pg, op1, svdup_n_s32(op2))
2025}
2026#[doc = "Bitwise AND"]
2027#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svand[_s64]_m)"]
2028#[inline]
2029#[target_feature(enable = "sve")]
2030#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2031#[cfg_attr(test, assert_instr(and))]
2032pub fn svand_s64_m(pg: svbool_t, op1: svint64_t, op2: svint64_t) -> svint64_t {
2033 unsafe extern "unadjusted" {
2034 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.and.nxv2i64")]
2035 fn _svand_s64_m(pg: svbool2_t, op1: svint64_t, op2: svint64_t) -> svint64_t;
2036 }
2037 unsafe { _svand_s64_m(pg.sve_into(), op1, op2) }
2038}
2039#[doc = "Bitwise AND"]
2040#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svand[_n_s64]_m)"]
2041#[inline]
2042#[target_feature(enable = "sve")]
2043#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2044#[cfg_attr(test, assert_instr(and))]
2045pub fn svand_n_s64_m(pg: svbool_t, op1: svint64_t, op2: i64) -> svint64_t {
2046 svand_s64_m(pg, op1, svdup_n_s64(op2))
2047}
2048#[doc = "Bitwise AND"]
2049#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svand[_s64]_x)"]
2050#[inline]
2051#[target_feature(enable = "sve")]
2052#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2053#[cfg_attr(test, assert_instr(and))]
2054pub fn svand_s64_x(pg: svbool_t, op1: svint64_t, op2: svint64_t) -> svint64_t {
2055 svand_s64_m(pg, op1, op2)
2056}
2057#[doc = "Bitwise AND"]
2058#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svand[_n_s64]_x)"]
2059#[inline]
2060#[target_feature(enable = "sve")]
2061#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2062#[cfg_attr(test, assert_instr(and))]
2063pub fn svand_n_s64_x(pg: svbool_t, op1: svint64_t, op2: i64) -> svint64_t {
2064 svand_s64_x(pg, op1, svdup_n_s64(op2))
2065}
2066#[doc = "Bitwise AND"]
2067#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svand[_s64]_z)"]
2068#[inline]
2069#[target_feature(enable = "sve")]
2070#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2071#[cfg_attr(test, assert_instr(and))]
2072pub fn svand_s64_z(pg: svbool_t, op1: svint64_t, op2: svint64_t) -> svint64_t {
2073 svand_s64_m(pg, svsel_s64(pg, op1, svdup_n_s64(0)), op2)
2074}
2075#[doc = "Bitwise AND"]
2076#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svand[_n_s64]_z)"]
2077#[inline]
2078#[target_feature(enable = "sve")]
2079#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2080#[cfg_attr(test, assert_instr(and))]
2081pub fn svand_n_s64_z(pg: svbool_t, op1: svint64_t, op2: i64) -> svint64_t {
2082 svand_s64_z(pg, op1, svdup_n_s64(op2))
2083}
2084#[doc = "Bitwise AND"]
2085#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svand[_u8]_m)"]
2086#[inline]
2087#[target_feature(enable = "sve")]
2088#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2089#[cfg_attr(test, assert_instr(and))]
2090pub fn svand_u8_m(pg: svbool_t, op1: svuint8_t, op2: svuint8_t) -> svuint8_t {
2091 unsafe { svand_s8_m(pg, op1.as_signed(), op2.as_signed()).as_unsigned() }
2092}
2093#[doc = "Bitwise AND"]
2094#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svand[_n_u8]_m)"]
2095#[inline]
2096#[target_feature(enable = "sve")]
2097#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2098#[cfg_attr(test, assert_instr(and))]
2099pub fn svand_n_u8_m(pg: svbool_t, op1: svuint8_t, op2: u8) -> svuint8_t {
2100 svand_u8_m(pg, op1, svdup_n_u8(op2))
2101}
2102#[doc = "Bitwise AND"]
2103#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svand[_u8]_x)"]
2104#[inline]
2105#[target_feature(enable = "sve")]
2106#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2107#[cfg_attr(test, assert_instr(and))]
2108pub fn svand_u8_x(pg: svbool_t, op1: svuint8_t, op2: svuint8_t) -> svuint8_t {
2109 svand_u8_m(pg, op1, op2)
2110}
2111#[doc = "Bitwise AND"]
2112#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svand[_n_u8]_x)"]
2113#[inline]
2114#[target_feature(enable = "sve")]
2115#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2116#[cfg_attr(test, assert_instr(and))]
2117pub fn svand_n_u8_x(pg: svbool_t, op1: svuint8_t, op2: u8) -> svuint8_t {
2118 svand_u8_x(pg, op1, svdup_n_u8(op2))
2119}
2120#[doc = "Bitwise AND"]
2121#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svand[_u8]_z)"]
2122#[inline]
2123#[target_feature(enable = "sve")]
2124#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2125#[cfg_attr(test, assert_instr(and))]
2126pub fn svand_u8_z(pg: svbool_t, op1: svuint8_t, op2: svuint8_t) -> svuint8_t {
2127 svand_u8_m(pg, svsel_u8(pg, op1, svdup_n_u8(0)), op2)
2128}
2129#[doc = "Bitwise AND"]
2130#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svand[_n_u8]_z)"]
2131#[inline]
2132#[target_feature(enable = "sve")]
2133#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2134#[cfg_attr(test, assert_instr(and))]
2135pub fn svand_n_u8_z(pg: svbool_t, op1: svuint8_t, op2: u8) -> svuint8_t {
2136 svand_u8_z(pg, op1, svdup_n_u8(op2))
2137}
2138#[doc = "Bitwise AND"]
2139#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svand[_u16]_m)"]
2140#[inline]
2141#[target_feature(enable = "sve")]
2142#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2143#[cfg_attr(test, assert_instr(and))]
2144pub fn svand_u16_m(pg: svbool_t, op1: svuint16_t, op2: svuint16_t) -> svuint16_t {
2145 unsafe { svand_s16_m(pg, op1.as_signed(), op2.as_signed()).as_unsigned() }
2146}
2147#[doc = "Bitwise AND"]
2148#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svand[_n_u16]_m)"]
2149#[inline]
2150#[target_feature(enable = "sve")]
2151#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2152#[cfg_attr(test, assert_instr(and))]
2153pub fn svand_n_u16_m(pg: svbool_t, op1: svuint16_t, op2: u16) -> svuint16_t {
2154 svand_u16_m(pg, op1, svdup_n_u16(op2))
2155}
2156#[doc = "Bitwise AND"]
2157#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svand[_u16]_x)"]
2158#[inline]
2159#[target_feature(enable = "sve")]
2160#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2161#[cfg_attr(test, assert_instr(and))]
2162pub fn svand_u16_x(pg: svbool_t, op1: svuint16_t, op2: svuint16_t) -> svuint16_t {
2163 svand_u16_m(pg, op1, op2)
2164}
2165#[doc = "Bitwise AND"]
2166#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svand[_n_u16]_x)"]
2167#[inline]
2168#[target_feature(enable = "sve")]
2169#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2170#[cfg_attr(test, assert_instr(and))]
2171pub fn svand_n_u16_x(pg: svbool_t, op1: svuint16_t, op2: u16) -> svuint16_t {
2172 svand_u16_x(pg, op1, svdup_n_u16(op2))
2173}
2174#[doc = "Bitwise AND"]
2175#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svand[_u16]_z)"]
2176#[inline]
2177#[target_feature(enable = "sve")]
2178#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2179#[cfg_attr(test, assert_instr(and))]
2180pub fn svand_u16_z(pg: svbool_t, op1: svuint16_t, op2: svuint16_t) -> svuint16_t {
2181 svand_u16_m(pg, svsel_u16(pg, op1, svdup_n_u16(0)), op2)
2182}
2183#[doc = "Bitwise AND"]
2184#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svand[_n_u16]_z)"]
2185#[inline]
2186#[target_feature(enable = "sve")]
2187#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2188#[cfg_attr(test, assert_instr(and))]
2189pub fn svand_n_u16_z(pg: svbool_t, op1: svuint16_t, op2: u16) -> svuint16_t {
2190 svand_u16_z(pg, op1, svdup_n_u16(op2))
2191}
2192#[doc = "Bitwise AND"]
2193#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svand[_u32]_m)"]
2194#[inline]
2195#[target_feature(enable = "sve")]
2196#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2197#[cfg_attr(test, assert_instr(and))]
2198pub fn svand_u32_m(pg: svbool_t, op1: svuint32_t, op2: svuint32_t) -> svuint32_t {
2199 unsafe { svand_s32_m(pg, op1.as_signed(), op2.as_signed()).as_unsigned() }
2200}
2201#[doc = "Bitwise AND"]
2202#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svand[_n_u32]_m)"]
2203#[inline]
2204#[target_feature(enable = "sve")]
2205#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2206#[cfg_attr(test, assert_instr(and))]
2207pub fn svand_n_u32_m(pg: svbool_t, op1: svuint32_t, op2: u32) -> svuint32_t {
2208 svand_u32_m(pg, op1, svdup_n_u32(op2))
2209}
2210#[doc = "Bitwise AND"]
2211#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svand[_u32]_x)"]
2212#[inline]
2213#[target_feature(enable = "sve")]
2214#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2215#[cfg_attr(test, assert_instr(and))]
2216pub fn svand_u32_x(pg: svbool_t, op1: svuint32_t, op2: svuint32_t) -> svuint32_t {
2217 svand_u32_m(pg, op1, op2)
2218}
2219#[doc = "Bitwise AND"]
2220#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svand[_n_u32]_x)"]
2221#[inline]
2222#[target_feature(enable = "sve")]
2223#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2224#[cfg_attr(test, assert_instr(and))]
2225pub fn svand_n_u32_x(pg: svbool_t, op1: svuint32_t, op2: u32) -> svuint32_t {
2226 svand_u32_x(pg, op1, svdup_n_u32(op2))
2227}
2228#[doc = "Bitwise AND"]
2229#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svand[_u32]_z)"]
2230#[inline]
2231#[target_feature(enable = "sve")]
2232#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2233#[cfg_attr(test, assert_instr(and))]
2234pub fn svand_u32_z(pg: svbool_t, op1: svuint32_t, op2: svuint32_t) -> svuint32_t {
2235 svand_u32_m(pg, svsel_u32(pg, op1, svdup_n_u32(0)), op2)
2236}
2237#[doc = "Bitwise AND"]
2238#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svand[_n_u32]_z)"]
2239#[inline]
2240#[target_feature(enable = "sve")]
2241#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2242#[cfg_attr(test, assert_instr(and))]
2243pub fn svand_n_u32_z(pg: svbool_t, op1: svuint32_t, op2: u32) -> svuint32_t {
2244 svand_u32_z(pg, op1, svdup_n_u32(op2))
2245}
2246#[doc = "Bitwise AND"]
2247#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svand[_u64]_m)"]
2248#[inline]
2249#[target_feature(enable = "sve")]
2250#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2251#[cfg_attr(test, assert_instr(and))]
2252pub fn svand_u64_m(pg: svbool_t, op1: svuint64_t, op2: svuint64_t) -> svuint64_t {
2253 unsafe { svand_s64_m(pg, op1.as_signed(), op2.as_signed()).as_unsigned() }
2254}
2255#[doc = "Bitwise AND"]
2256#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svand[_n_u64]_m)"]
2257#[inline]
2258#[target_feature(enable = "sve")]
2259#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2260#[cfg_attr(test, assert_instr(and))]
2261pub fn svand_n_u64_m(pg: svbool_t, op1: svuint64_t, op2: u64) -> svuint64_t {
2262 svand_u64_m(pg, op1, svdup_n_u64(op2))
2263}
2264#[doc = "Bitwise AND"]
2265#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svand[_u64]_x)"]
2266#[inline]
2267#[target_feature(enable = "sve")]
2268#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2269#[cfg_attr(test, assert_instr(and))]
2270pub fn svand_u64_x(pg: svbool_t, op1: svuint64_t, op2: svuint64_t) -> svuint64_t {
2271 svand_u64_m(pg, op1, op2)
2272}
2273#[doc = "Bitwise AND"]
2274#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svand[_n_u64]_x)"]
2275#[inline]
2276#[target_feature(enable = "sve")]
2277#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2278#[cfg_attr(test, assert_instr(and))]
2279pub fn svand_n_u64_x(pg: svbool_t, op1: svuint64_t, op2: u64) -> svuint64_t {
2280 svand_u64_x(pg, op1, svdup_n_u64(op2))
2281}
2282#[doc = "Bitwise AND"]
2283#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svand[_u64]_z)"]
2284#[inline]
2285#[target_feature(enable = "sve")]
2286#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2287#[cfg_attr(test, assert_instr(and))]
2288pub fn svand_u64_z(pg: svbool_t, op1: svuint64_t, op2: svuint64_t) -> svuint64_t {
2289 svand_u64_m(pg, svsel_u64(pg, op1, svdup_n_u64(0)), op2)
2290}
2291#[doc = "Bitwise AND"]
2292#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svand[_n_u64]_z)"]
2293#[inline]
2294#[target_feature(enable = "sve")]
2295#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2296#[cfg_attr(test, assert_instr(and))]
2297pub fn svand_n_u64_z(pg: svbool_t, op1: svuint64_t, op2: u64) -> svuint64_t {
2298 svand_u64_z(pg, op1, svdup_n_u64(op2))
2299}
2300#[doc = "Bitwise AND reduction to scalar"]
2301#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svandv[_s8])"]
2302#[inline]
2303#[target_feature(enable = "sve")]
2304#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2305#[cfg_attr(test, assert_instr(andv))]
2306pub fn svandv_s8(pg: svbool_t, op: svint8_t) -> i8 {
2307 unsafe extern "unadjusted" {
2308 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.andv.nxv16i8")]
2309 fn _svandv_s8(pg: svbool_t, op: svint8_t) -> i8;
2310 }
2311 unsafe { _svandv_s8(pg, op) }
2312}
2313#[doc = "Bitwise AND reduction to scalar"]
2314#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svandv[_s16])"]
2315#[inline]
2316#[target_feature(enable = "sve")]
2317#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2318#[cfg_attr(test, assert_instr(andv))]
2319pub fn svandv_s16(pg: svbool_t, op: svint16_t) -> i16 {
2320 unsafe extern "unadjusted" {
2321 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.andv.nxv8i16")]
2322 fn _svandv_s16(pg: svbool8_t, op: svint16_t) -> i16;
2323 }
2324 unsafe { _svandv_s16(pg.sve_into(), op) }
2325}
2326#[doc = "Bitwise AND reduction to scalar"]
2327#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svandv[_s32])"]
2328#[inline]
2329#[target_feature(enable = "sve")]
2330#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2331#[cfg_attr(test, assert_instr(andv))]
2332pub fn svandv_s32(pg: svbool_t, op: svint32_t) -> i32 {
2333 unsafe extern "unadjusted" {
2334 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.andv.nxv4i32")]
2335 fn _svandv_s32(pg: svbool4_t, op: svint32_t) -> i32;
2336 }
2337 unsafe { _svandv_s32(pg.sve_into(), op) }
2338}
2339#[doc = "Bitwise AND reduction to scalar"]
2340#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svandv[_s64])"]
2341#[inline]
2342#[target_feature(enable = "sve")]
2343#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2344#[cfg_attr(test, assert_instr(andv))]
2345pub fn svandv_s64(pg: svbool_t, op: svint64_t) -> i64 {
2346 unsafe extern "unadjusted" {
2347 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.andv.nxv2i64")]
2348 fn _svandv_s64(pg: svbool2_t, op: svint64_t) -> i64;
2349 }
2350 unsafe { _svandv_s64(pg.sve_into(), op) }
2351}
2352#[doc = "Bitwise AND reduction to scalar"]
2353#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svandv[_u8])"]
2354#[inline]
2355#[target_feature(enable = "sve")]
2356#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2357#[cfg_attr(test, assert_instr(andv))]
2358pub fn svandv_u8(pg: svbool_t, op: svuint8_t) -> u8 {
2359 unsafe { svandv_s8(pg, op.as_signed()).as_unsigned() }
2360}
2361#[doc = "Bitwise AND reduction to scalar"]
2362#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svandv[_u16])"]
2363#[inline]
2364#[target_feature(enable = "sve")]
2365#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2366#[cfg_attr(test, assert_instr(andv))]
2367pub fn svandv_u16(pg: svbool_t, op: svuint16_t) -> u16 {
2368 unsafe { svandv_s16(pg, op.as_signed()).as_unsigned() }
2369}
2370#[doc = "Bitwise AND reduction to scalar"]
2371#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svandv[_u32])"]
2372#[inline]
2373#[target_feature(enable = "sve")]
2374#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2375#[cfg_attr(test, assert_instr(andv))]
2376pub fn svandv_u32(pg: svbool_t, op: svuint32_t) -> u32 {
2377 unsafe { svandv_s32(pg, op.as_signed()).as_unsigned() }
2378}
2379#[doc = "Bitwise AND reduction to scalar"]
2380#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svandv[_u64])"]
2381#[inline]
2382#[target_feature(enable = "sve")]
2383#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2384#[cfg_attr(test, assert_instr(andv))]
2385pub fn svandv_u64(pg: svbool_t, op: svuint64_t) -> u64 {
2386 unsafe { svandv_s64(pg, op.as_signed()).as_unsigned() }
2387}
2388#[doc = "Arithmetic shift right"]
2389#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svasr[_s8]_m)"]
2390#[inline]
2391#[target_feature(enable = "sve")]
2392#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2393#[cfg_attr(test, assert_instr(asr))]
2394pub fn svasr_s8_m(pg: svbool_t, op1: svint8_t, op2: svuint8_t) -> svint8_t {
2395 unsafe extern "unadjusted" {
2396 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.asr.nxv16i8")]
2397 fn _svasr_s8_m(pg: svbool_t, op1: svint8_t, op2: svint8_t) -> svint8_t;
2398 }
2399 unsafe { _svasr_s8_m(pg, op1, op2.as_signed()) }
2400}
2401#[doc = "Arithmetic shift right"]
2402#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svasr[_n_s8]_m)"]
2403#[inline]
2404#[target_feature(enable = "sve")]
2405#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2406#[cfg_attr(test, assert_instr(asr))]
2407pub fn svasr_n_s8_m(pg: svbool_t, op1: svint8_t, op2: u8) -> svint8_t {
2408 svasr_s8_m(pg, op1, svdup_n_u8(op2))
2409}
2410#[doc = "Arithmetic shift right"]
2411#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svasr[_s8]_x)"]
2412#[inline]
2413#[target_feature(enable = "sve")]
2414#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2415#[cfg_attr(test, assert_instr(asr))]
2416pub fn svasr_s8_x(pg: svbool_t, op1: svint8_t, op2: svuint8_t) -> svint8_t {
2417 svasr_s8_m(pg, op1, op2)
2418}
2419#[doc = "Arithmetic shift right"]
2420#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svasr[_n_s8]_x)"]
2421#[inline]
2422#[target_feature(enable = "sve")]
2423#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2424#[cfg_attr(test, assert_instr(asr))]
2425pub fn svasr_n_s8_x(pg: svbool_t, op1: svint8_t, op2: u8) -> svint8_t {
2426 svasr_s8_x(pg, op1, svdup_n_u8(op2))
2427}
2428#[doc = "Arithmetic shift right"]
2429#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svasr[_s8]_z)"]
2430#[inline]
2431#[target_feature(enable = "sve")]
2432#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2433#[cfg_attr(test, assert_instr(asr))]
2434pub fn svasr_s8_z(pg: svbool_t, op1: svint8_t, op2: svuint8_t) -> svint8_t {
2435 svasr_s8_m(pg, svsel_s8(pg, op1, svdup_n_s8(0)), op2)
2436}
2437#[doc = "Arithmetic shift right"]
2438#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svasr[_n_s8]_z)"]
2439#[inline]
2440#[target_feature(enable = "sve")]
2441#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2442#[cfg_attr(test, assert_instr(asr))]
2443pub fn svasr_n_s8_z(pg: svbool_t, op1: svint8_t, op2: u8) -> svint8_t {
2444 svasr_s8_z(pg, op1, svdup_n_u8(op2))
2445}
2446#[doc = "Arithmetic shift right"]
2447#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svasr[_s16]_m)"]
2448#[inline]
2449#[target_feature(enable = "sve")]
2450#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2451#[cfg_attr(test, assert_instr(asr))]
2452pub fn svasr_s16_m(pg: svbool_t, op1: svint16_t, op2: svuint16_t) -> svint16_t {
2453 unsafe extern "unadjusted" {
2454 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.asr.nxv8i16")]
2455 fn _svasr_s16_m(pg: svbool8_t, op1: svint16_t, op2: svint16_t) -> svint16_t;
2456 }
2457 unsafe { _svasr_s16_m(pg.sve_into(), op1, op2.as_signed()) }
2458}
2459#[doc = "Arithmetic shift right"]
2460#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svasr[_n_s16]_m)"]
2461#[inline]
2462#[target_feature(enable = "sve")]
2463#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2464#[cfg_attr(test, assert_instr(asr))]
2465pub fn svasr_n_s16_m(pg: svbool_t, op1: svint16_t, op2: u16) -> svint16_t {
2466 svasr_s16_m(pg, op1, svdup_n_u16(op2))
2467}
2468#[doc = "Arithmetic shift right"]
2469#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svasr[_s16]_x)"]
2470#[inline]
2471#[target_feature(enable = "sve")]
2472#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2473#[cfg_attr(test, assert_instr(asr))]
2474pub fn svasr_s16_x(pg: svbool_t, op1: svint16_t, op2: svuint16_t) -> svint16_t {
2475 svasr_s16_m(pg, op1, op2)
2476}
2477#[doc = "Arithmetic shift right"]
2478#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svasr[_n_s16]_x)"]
2479#[inline]
2480#[target_feature(enable = "sve")]
2481#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2482#[cfg_attr(test, assert_instr(asr))]
2483pub fn svasr_n_s16_x(pg: svbool_t, op1: svint16_t, op2: u16) -> svint16_t {
2484 svasr_s16_x(pg, op1, svdup_n_u16(op2))
2485}
2486#[doc = "Arithmetic shift right"]
2487#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svasr[_s16]_z)"]
2488#[inline]
2489#[target_feature(enable = "sve")]
2490#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2491#[cfg_attr(test, assert_instr(asr))]
2492pub fn svasr_s16_z(pg: svbool_t, op1: svint16_t, op2: svuint16_t) -> svint16_t {
2493 svasr_s16_m(pg, svsel_s16(pg, op1, svdup_n_s16(0)), op2)
2494}
2495#[doc = "Arithmetic shift right"]
2496#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svasr[_n_s16]_z)"]
2497#[inline]
2498#[target_feature(enable = "sve")]
2499#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2500#[cfg_attr(test, assert_instr(asr))]
2501pub fn svasr_n_s16_z(pg: svbool_t, op1: svint16_t, op2: u16) -> svint16_t {
2502 svasr_s16_z(pg, op1, svdup_n_u16(op2))
2503}
2504#[doc = "Arithmetic shift right"]
2505#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svasr[_s32]_m)"]
2506#[inline]
2507#[target_feature(enable = "sve")]
2508#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2509#[cfg_attr(test, assert_instr(asr))]
2510pub fn svasr_s32_m(pg: svbool_t, op1: svint32_t, op2: svuint32_t) -> svint32_t {
2511 unsafe extern "unadjusted" {
2512 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.asr.nxv4i32")]
2513 fn _svasr_s32_m(pg: svbool4_t, op1: svint32_t, op2: svint32_t) -> svint32_t;
2514 }
2515 unsafe { _svasr_s32_m(pg.sve_into(), op1, op2.as_signed()) }
2516}
2517#[doc = "Arithmetic shift right"]
2518#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svasr[_n_s32]_m)"]
2519#[inline]
2520#[target_feature(enable = "sve")]
2521#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2522#[cfg_attr(test, assert_instr(asr))]
2523pub fn svasr_n_s32_m(pg: svbool_t, op1: svint32_t, op2: u32) -> svint32_t {
2524 svasr_s32_m(pg, op1, svdup_n_u32(op2))
2525}
2526#[doc = "Arithmetic shift right"]
2527#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svasr[_s32]_x)"]
2528#[inline]
2529#[target_feature(enable = "sve")]
2530#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2531#[cfg_attr(test, assert_instr(asr))]
2532pub fn svasr_s32_x(pg: svbool_t, op1: svint32_t, op2: svuint32_t) -> svint32_t {
2533 svasr_s32_m(pg, op1, op2)
2534}
2535#[doc = "Arithmetic shift right"]
2536#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svasr[_n_s32]_x)"]
2537#[inline]
2538#[target_feature(enable = "sve")]
2539#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2540#[cfg_attr(test, assert_instr(asr))]
2541pub fn svasr_n_s32_x(pg: svbool_t, op1: svint32_t, op2: u32) -> svint32_t {
2542 svasr_s32_x(pg, op1, svdup_n_u32(op2))
2543}
2544#[doc = "Arithmetic shift right"]
2545#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svasr[_s32]_z)"]
2546#[inline]
2547#[target_feature(enable = "sve")]
2548#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2549#[cfg_attr(test, assert_instr(asr))]
2550pub fn svasr_s32_z(pg: svbool_t, op1: svint32_t, op2: svuint32_t) -> svint32_t {
2551 svasr_s32_m(pg, svsel_s32(pg, op1, svdup_n_s32(0)), op2)
2552}
2553#[doc = "Arithmetic shift right"]
2554#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svasr[_n_s32]_z)"]
2555#[inline]
2556#[target_feature(enable = "sve")]
2557#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2558#[cfg_attr(test, assert_instr(asr))]
2559pub fn svasr_n_s32_z(pg: svbool_t, op1: svint32_t, op2: u32) -> svint32_t {
2560 svasr_s32_z(pg, op1, svdup_n_u32(op2))
2561}
2562#[doc = "Arithmetic shift right"]
2563#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svasr[_s64]_m)"]
2564#[inline]
2565#[target_feature(enable = "sve")]
2566#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2567#[cfg_attr(test, assert_instr(asr))]
2568pub fn svasr_s64_m(pg: svbool_t, op1: svint64_t, op2: svuint64_t) -> svint64_t {
2569 unsafe extern "unadjusted" {
2570 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.asr.nxv2i64")]
2571 fn _svasr_s64_m(pg: svbool2_t, op1: svint64_t, op2: svint64_t) -> svint64_t;
2572 }
2573 unsafe { _svasr_s64_m(pg.sve_into(), op1, op2.as_signed()) }
2574}
2575#[doc = "Arithmetic shift right"]
2576#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svasr[_n_s64]_m)"]
2577#[inline]
2578#[target_feature(enable = "sve")]
2579#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2580#[cfg_attr(test, assert_instr(asr))]
2581pub fn svasr_n_s64_m(pg: svbool_t, op1: svint64_t, op2: u64) -> svint64_t {
2582 svasr_s64_m(pg, op1, svdup_n_u64(op2))
2583}
2584#[doc = "Arithmetic shift right"]
2585#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svasr[_s64]_x)"]
2586#[inline]
2587#[target_feature(enable = "sve")]
2588#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2589#[cfg_attr(test, assert_instr(asr))]
2590pub fn svasr_s64_x(pg: svbool_t, op1: svint64_t, op2: svuint64_t) -> svint64_t {
2591 svasr_s64_m(pg, op1, op2)
2592}
2593#[doc = "Arithmetic shift right"]
2594#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svasr[_n_s64]_x)"]
2595#[inline]
2596#[target_feature(enable = "sve")]
2597#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2598#[cfg_attr(test, assert_instr(asr))]
2599pub fn svasr_n_s64_x(pg: svbool_t, op1: svint64_t, op2: u64) -> svint64_t {
2600 svasr_s64_x(pg, op1, svdup_n_u64(op2))
2601}
2602#[doc = "Arithmetic shift right"]
2603#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svasr[_s64]_z)"]
2604#[inline]
2605#[target_feature(enable = "sve")]
2606#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2607#[cfg_attr(test, assert_instr(asr))]
2608pub fn svasr_s64_z(pg: svbool_t, op1: svint64_t, op2: svuint64_t) -> svint64_t {
2609 svasr_s64_m(pg, svsel_s64(pg, op1, svdup_n_s64(0)), op2)
2610}
2611#[doc = "Arithmetic shift right"]
2612#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svasr[_n_s64]_z)"]
2613#[inline]
2614#[target_feature(enable = "sve")]
2615#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2616#[cfg_attr(test, assert_instr(asr))]
2617pub fn svasr_n_s64_z(pg: svbool_t, op1: svint64_t, op2: u64) -> svint64_t {
2618 svasr_s64_z(pg, op1, svdup_n_u64(op2))
2619}
2620#[doc = "Arithmetic shift right"]
2621#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svasr_wide[_s8]_m)"]
2622#[inline]
2623#[target_feature(enable = "sve")]
2624#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2625#[cfg_attr(test, assert_instr(asr))]
2626pub fn svasr_wide_s8_m(pg: svbool_t, op1: svint8_t, op2: svuint64_t) -> svint8_t {
2627 unsafe extern "unadjusted" {
2628 #[cfg_attr(
2629 target_arch = "aarch64",
2630 link_name = "llvm.aarch64.sve.asr.wide.nxv16i8"
2631 )]
2632 fn _svasr_wide_s8_m(pg: svbool_t, op1: svint8_t, op2: svint64_t) -> svint8_t;
2633 }
2634 unsafe { _svasr_wide_s8_m(pg, op1, op2.as_signed()) }
2635}
2636#[doc = "Arithmetic shift right"]
2637#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svasr_wide[_n_s8]_m)"]
2638#[inline]
2639#[target_feature(enable = "sve")]
2640#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2641#[cfg_attr(test, assert_instr(asr))]
2642pub fn svasr_wide_n_s8_m(pg: svbool_t, op1: svint8_t, op2: u64) -> svint8_t {
2643 svasr_wide_s8_m(pg, op1, svdup_n_u64(op2))
2644}
2645#[doc = "Arithmetic shift right"]
2646#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svasr_wide[_s8]_x)"]
2647#[inline]
2648#[target_feature(enable = "sve")]
2649#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2650#[cfg_attr(test, assert_instr(asr))]
2651pub fn svasr_wide_s8_x(pg: svbool_t, op1: svint8_t, op2: svuint64_t) -> svint8_t {
2652 svasr_wide_s8_m(pg, op1, op2)
2653}
2654#[doc = "Arithmetic shift right"]
2655#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svasr_wide[_n_s8]_x)"]
2656#[inline]
2657#[target_feature(enable = "sve")]
2658#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2659#[cfg_attr(test, assert_instr(asr))]
2660pub fn svasr_wide_n_s8_x(pg: svbool_t, op1: svint8_t, op2: u64) -> svint8_t {
2661 svasr_wide_s8_x(pg, op1, svdup_n_u64(op2))
2662}
2663#[doc = "Arithmetic shift right"]
2664#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svasr_wide[_s8]_z)"]
2665#[inline]
2666#[target_feature(enable = "sve")]
2667#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2668#[cfg_attr(test, assert_instr(asr))]
2669pub fn svasr_wide_s8_z(pg: svbool_t, op1: svint8_t, op2: svuint64_t) -> svint8_t {
2670 svasr_wide_s8_m(pg, svsel_s8(pg, op1, svdup_n_s8(0)), op2)
2671}
2672#[doc = "Arithmetic shift right"]
2673#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svasr_wide[_n_s8]_z)"]
2674#[inline]
2675#[target_feature(enable = "sve")]
2676#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2677#[cfg_attr(test, assert_instr(asr))]
2678pub fn svasr_wide_n_s8_z(pg: svbool_t, op1: svint8_t, op2: u64) -> svint8_t {
2679 svasr_wide_s8_z(pg, op1, svdup_n_u64(op2))
2680}
2681#[doc = "Arithmetic shift right"]
2682#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svasr_wide[_s16]_m)"]
2683#[inline]
2684#[target_feature(enable = "sve")]
2685#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2686#[cfg_attr(test, assert_instr(asr))]
2687pub fn svasr_wide_s16_m(pg: svbool_t, op1: svint16_t, op2: svuint64_t) -> svint16_t {
2688 unsafe extern "unadjusted" {
2689 #[cfg_attr(
2690 target_arch = "aarch64",
2691 link_name = "llvm.aarch64.sve.asr.wide.nxv8i16"
2692 )]
2693 fn _svasr_wide_s16_m(pg: svbool8_t, op1: svint16_t, op2: svint64_t) -> svint16_t;
2694 }
2695 unsafe { _svasr_wide_s16_m(pg.sve_into(), op1, op2.as_signed()) }
2696}
2697#[doc = "Arithmetic shift right"]
2698#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svasr_wide[_n_s16]_m)"]
2699#[inline]
2700#[target_feature(enable = "sve")]
2701#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2702#[cfg_attr(test, assert_instr(asr))]
2703pub fn svasr_wide_n_s16_m(pg: svbool_t, op1: svint16_t, op2: u64) -> svint16_t {
2704 svasr_wide_s16_m(pg, op1, svdup_n_u64(op2))
2705}
2706#[doc = "Arithmetic shift right"]
2707#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svasr_wide[_s16]_x)"]
2708#[inline]
2709#[target_feature(enable = "sve")]
2710#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2711#[cfg_attr(test, assert_instr(asr))]
2712pub fn svasr_wide_s16_x(pg: svbool_t, op1: svint16_t, op2: svuint64_t) -> svint16_t {
2713 svasr_wide_s16_m(pg, op1, op2)
2714}
2715#[doc = "Arithmetic shift right"]
2716#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svasr_wide[_n_s16]_x)"]
2717#[inline]
2718#[target_feature(enable = "sve")]
2719#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2720#[cfg_attr(test, assert_instr(asr))]
2721pub fn svasr_wide_n_s16_x(pg: svbool_t, op1: svint16_t, op2: u64) -> svint16_t {
2722 svasr_wide_s16_x(pg, op1, svdup_n_u64(op2))
2723}
2724#[doc = "Arithmetic shift right"]
2725#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svasr_wide[_s16]_z)"]
2726#[inline]
2727#[target_feature(enable = "sve")]
2728#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2729#[cfg_attr(test, assert_instr(asr))]
2730pub fn svasr_wide_s16_z(pg: svbool_t, op1: svint16_t, op2: svuint64_t) -> svint16_t {
2731 svasr_wide_s16_m(pg, svsel_s16(pg, op1, svdup_n_s16(0)), op2)
2732}
2733#[doc = "Arithmetic shift right"]
2734#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svasr_wide[_n_s16]_z)"]
2735#[inline]
2736#[target_feature(enable = "sve")]
2737#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2738#[cfg_attr(test, assert_instr(asr))]
2739pub fn svasr_wide_n_s16_z(pg: svbool_t, op1: svint16_t, op2: u64) -> svint16_t {
2740 svasr_wide_s16_z(pg, op1, svdup_n_u64(op2))
2741}
2742#[doc = "Arithmetic shift right"]
2743#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svasr_wide[_s32]_m)"]
2744#[inline]
2745#[target_feature(enable = "sve")]
2746#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2747#[cfg_attr(test, assert_instr(asr))]
2748pub fn svasr_wide_s32_m(pg: svbool_t, op1: svint32_t, op2: svuint64_t) -> svint32_t {
2749 unsafe extern "unadjusted" {
2750 #[cfg_attr(
2751 target_arch = "aarch64",
2752 link_name = "llvm.aarch64.sve.asr.wide.nxv4i32"
2753 )]
2754 fn _svasr_wide_s32_m(pg: svbool4_t, op1: svint32_t, op2: svint64_t) -> svint32_t;
2755 }
2756 unsafe { _svasr_wide_s32_m(pg.sve_into(), op1, op2.as_signed()) }
2757}
2758#[doc = "Arithmetic shift right"]
2759#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svasr_wide[_n_s32]_m)"]
2760#[inline]
2761#[target_feature(enable = "sve")]
2762#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2763#[cfg_attr(test, assert_instr(asr))]
2764pub fn svasr_wide_n_s32_m(pg: svbool_t, op1: svint32_t, op2: u64) -> svint32_t {
2765 svasr_wide_s32_m(pg, op1, svdup_n_u64(op2))
2766}
2767#[doc = "Arithmetic shift right"]
2768#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svasr_wide[_s32]_x)"]
2769#[inline]
2770#[target_feature(enable = "sve")]
2771#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2772#[cfg_attr(test, assert_instr(asr))]
2773pub fn svasr_wide_s32_x(pg: svbool_t, op1: svint32_t, op2: svuint64_t) -> svint32_t {
2774 svasr_wide_s32_m(pg, op1, op2)
2775}
2776#[doc = "Arithmetic shift right"]
2777#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svasr_wide[_n_s32]_x)"]
2778#[inline]
2779#[target_feature(enable = "sve")]
2780#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2781#[cfg_attr(test, assert_instr(asr))]
2782pub fn svasr_wide_n_s32_x(pg: svbool_t, op1: svint32_t, op2: u64) -> svint32_t {
2783 svasr_wide_s32_x(pg, op1, svdup_n_u64(op2))
2784}
2785#[doc = "Arithmetic shift right"]
2786#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svasr_wide[_s32]_z)"]
2787#[inline]
2788#[target_feature(enable = "sve")]
2789#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2790#[cfg_attr(test, assert_instr(asr))]
2791pub fn svasr_wide_s32_z(pg: svbool_t, op1: svint32_t, op2: svuint64_t) -> svint32_t {
2792 svasr_wide_s32_m(pg, svsel_s32(pg, op1, svdup_n_s32(0)), op2)
2793}
2794#[doc = "Arithmetic shift right"]
2795#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svasr_wide[_n_s32]_z)"]
2796#[inline]
2797#[target_feature(enable = "sve")]
2798#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2799#[cfg_attr(test, assert_instr(asr))]
2800pub fn svasr_wide_n_s32_z(pg: svbool_t, op1: svint32_t, op2: u64) -> svint32_t {
2801 svasr_wide_s32_z(pg, op1, svdup_n_u64(op2))
2802}
2803#[doc = "Arithmetic shift right for divide by immediate"]
2804#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svasrd[_n_s8]_m)"]
2805#[inline]
2806#[target_feature(enable = "sve")]
2807#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2808#[cfg_attr(test, assert_instr(asrd, IMM2 = 1))]
2809pub fn svasrd_n_s8_m<const IMM2: i32>(pg: svbool_t, op1: svint8_t) -> svint8_t {
2810 static_assert_range!(IMM2, 1..=8);
2811 unsafe extern "unadjusted" {
2812 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.asrd.nxv16i8")]
2813 fn _svasrd_n_s8_m(pg: svbool_t, op1: svint8_t, imm2: i32) -> svint8_t;
2814 }
2815 unsafe { _svasrd_n_s8_m(pg, op1, IMM2) }
2816}
2817#[doc = "Arithmetic shift right for divide by immediate"]
2818#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svasrd[_n_s8]_x)"]
2819#[inline]
2820#[target_feature(enable = "sve")]
2821#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2822#[cfg_attr(test, assert_instr(asrd, IMM2 = 1))]
2823pub fn svasrd_n_s8_x<const IMM2: i32>(pg: svbool_t, op1: svint8_t) -> svint8_t {
2824 svasrd_n_s8_m::<IMM2>(pg, op1)
2825}
2826#[doc = "Arithmetic shift right for divide by immediate"]
2827#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svasrd[_n_s8]_z)"]
2828#[inline]
2829#[target_feature(enable = "sve")]
2830#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2831#[cfg_attr(test, assert_instr(asrd, IMM2 = 1))]
2832pub fn svasrd_n_s8_z<const IMM2: i32>(pg: svbool_t, op1: svint8_t) -> svint8_t {
2833 svasrd_n_s8_m::<IMM2>(pg, svsel_s8(pg, op1, svdup_n_s8(0)))
2834}
2835#[doc = "Arithmetic shift right for divide by immediate"]
2836#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svasrd[_n_s16]_m)"]
2837#[inline]
2838#[target_feature(enable = "sve")]
2839#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2840#[cfg_attr(test, assert_instr(asrd, IMM2 = 1))]
2841pub fn svasrd_n_s16_m<const IMM2: i32>(pg: svbool_t, op1: svint16_t) -> svint16_t {
2842 static_assert_range!(IMM2, 1..=16);
2843 unsafe extern "unadjusted" {
2844 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.asrd.nxv8i16")]
2845 fn _svasrd_n_s16_m(pg: svbool8_t, op1: svint16_t, imm2: i32) -> svint16_t;
2846 }
2847 unsafe { _svasrd_n_s16_m(pg.sve_into(), op1, IMM2) }
2848}
2849#[doc = "Arithmetic shift right for divide by immediate"]
2850#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svasrd[_n_s16]_x)"]
2851#[inline]
2852#[target_feature(enable = "sve")]
2853#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2854#[cfg_attr(test, assert_instr(asrd, IMM2 = 1))]
2855pub fn svasrd_n_s16_x<const IMM2: i32>(pg: svbool_t, op1: svint16_t) -> svint16_t {
2856 svasrd_n_s16_m::<IMM2>(pg, op1)
2857}
2858#[doc = "Arithmetic shift right for divide by immediate"]
2859#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svasrd[_n_s16]_z)"]
2860#[inline]
2861#[target_feature(enable = "sve")]
2862#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2863#[cfg_attr(test, assert_instr(asrd, IMM2 = 1))]
2864pub fn svasrd_n_s16_z<const IMM2: i32>(pg: svbool_t, op1: svint16_t) -> svint16_t {
2865 svasrd_n_s16_m::<IMM2>(pg, svsel_s16(pg, op1, svdup_n_s16(0)))
2866}
2867#[doc = "Arithmetic shift right for divide by immediate"]
2868#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svasrd[_n_s32]_m)"]
2869#[inline]
2870#[target_feature(enable = "sve")]
2871#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2872#[cfg_attr(test, assert_instr(asrd, IMM2 = 1))]
2873pub fn svasrd_n_s32_m<const IMM2: i32>(pg: svbool_t, op1: svint32_t) -> svint32_t {
2874 static_assert_range!(IMM2, 1..=32);
2875 unsafe extern "unadjusted" {
2876 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.asrd.nxv4i32")]
2877 fn _svasrd_n_s32_m(pg: svbool4_t, op1: svint32_t, imm2: i32) -> svint32_t;
2878 }
2879 unsafe { _svasrd_n_s32_m(pg.sve_into(), op1, IMM2) }
2880}
2881#[doc = "Arithmetic shift right for divide by immediate"]
2882#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svasrd[_n_s32]_x)"]
2883#[inline]
2884#[target_feature(enable = "sve")]
2885#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2886#[cfg_attr(test, assert_instr(asrd, IMM2 = 1))]
2887pub fn svasrd_n_s32_x<const IMM2: i32>(pg: svbool_t, op1: svint32_t) -> svint32_t {
2888 svasrd_n_s32_m::<IMM2>(pg, op1)
2889}
2890#[doc = "Arithmetic shift right for divide by immediate"]
2891#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svasrd[_n_s32]_z)"]
2892#[inline]
2893#[target_feature(enable = "sve")]
2894#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2895#[cfg_attr(test, assert_instr(asrd, IMM2 = 1))]
2896pub fn svasrd_n_s32_z<const IMM2: i32>(pg: svbool_t, op1: svint32_t) -> svint32_t {
2897 svasrd_n_s32_m::<IMM2>(pg, svsel_s32(pg, op1, svdup_n_s32(0)))
2898}
2899#[doc = "Arithmetic shift right for divide by immediate"]
2900#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svasrd[_n_s64]_m)"]
2901#[inline]
2902#[target_feature(enable = "sve")]
2903#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2904#[cfg_attr(test, assert_instr(asrd, IMM2 = 1))]
2905pub fn svasrd_n_s64_m<const IMM2: i32>(pg: svbool_t, op1: svint64_t) -> svint64_t {
2906 static_assert_range!(IMM2, 1..=64);
2907 unsafe extern "unadjusted" {
2908 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.asrd.nxv2i64")]
2909 fn _svasrd_n_s64_m(pg: svbool2_t, op1: svint64_t, imm2: i32) -> svint64_t;
2910 }
2911 unsafe { _svasrd_n_s64_m(pg.sve_into(), op1, IMM2) }
2912}
2913#[doc = "Arithmetic shift right for divide by immediate"]
2914#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svasrd[_n_s64]_x)"]
2915#[inline]
2916#[target_feature(enable = "sve")]
2917#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2918#[cfg_attr(test, assert_instr(asrd, IMM2 = 1))]
2919pub fn svasrd_n_s64_x<const IMM2: i32>(pg: svbool_t, op1: svint64_t) -> svint64_t {
2920 svasrd_n_s64_m::<IMM2>(pg, op1)
2921}
2922#[doc = "Arithmetic shift right for divide by immediate"]
2923#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svasrd[_n_s64]_z)"]
2924#[inline]
2925#[target_feature(enable = "sve")]
2926#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2927#[cfg_attr(test, assert_instr(asrd, IMM2 = 1))]
2928pub fn svasrd_n_s64_z<const IMM2: i32>(pg: svbool_t, op1: svint64_t) -> svint64_t {
2929 svasrd_n_s64_m::<IMM2>(pg, svsel_s64(pg, op1, svdup_n_s64(0)))
2930}
2931#[doc = "Bitwise clear"]
2932#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svbic[_b]_z)"]
2933#[inline]
2934#[target_feature(enable = "sve")]
2935#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2936#[cfg_attr(test, assert_instr(bic))]
2937pub fn svbic_b_z(pg: svbool_t, op1: svbool_t, op2: svbool_t) -> svbool_t {
2938 unsafe extern "unadjusted" {
2939 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.bic.z.nxv16i1")]
2940 fn _svbic_b_z(pg: svbool_t, op1: svbool_t, op2: svbool_t) -> svbool_t;
2941 }
2942 unsafe { _svbic_b_z(pg, op1, op2) }
2943}
2944#[doc = "Bitwise clear"]
2945#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svbic[_s8]_m)"]
2946#[inline]
2947#[target_feature(enable = "sve")]
2948#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2949#[cfg_attr(test, assert_instr(bic))]
2950pub fn svbic_s8_m(pg: svbool_t, op1: svint8_t, op2: svint8_t) -> svint8_t {
2951 unsafe extern "unadjusted" {
2952 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.bic.nxv16i8")]
2953 fn _svbic_s8_m(pg: svbool_t, op1: svint8_t, op2: svint8_t) -> svint8_t;
2954 }
2955 unsafe { _svbic_s8_m(pg, op1, op2) }
2956}
2957#[doc = "Bitwise clear"]
2958#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svbic[_n_s8]_m)"]
2959#[inline]
2960#[target_feature(enable = "sve")]
2961#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2962#[cfg_attr(test, assert_instr(bic))]
2963pub fn svbic_n_s8_m(pg: svbool_t, op1: svint8_t, op2: i8) -> svint8_t {
2964 svbic_s8_m(pg, op1, svdup_n_s8(op2))
2965}
2966#[doc = "Bitwise clear"]
2967#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svbic[_s8]_x)"]
2968#[inline]
2969#[target_feature(enable = "sve")]
2970#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2971#[cfg_attr(test, assert_instr(bic))]
2972pub fn svbic_s8_x(pg: svbool_t, op1: svint8_t, op2: svint8_t) -> svint8_t {
2973 svbic_s8_m(pg, op1, op2)
2974}
2975#[doc = "Bitwise clear"]
2976#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svbic[_n_s8]_x)"]
2977#[inline]
2978#[target_feature(enable = "sve")]
2979#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2980#[cfg_attr(test, assert_instr(bic))]
2981pub fn svbic_n_s8_x(pg: svbool_t, op1: svint8_t, op2: i8) -> svint8_t {
2982 svbic_s8_x(pg, op1, svdup_n_s8(op2))
2983}
2984#[doc = "Bitwise clear"]
2985#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svbic[_s8]_z)"]
2986#[inline]
2987#[target_feature(enable = "sve")]
2988#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2989#[cfg_attr(test, assert_instr(bic))]
2990pub fn svbic_s8_z(pg: svbool_t, op1: svint8_t, op2: svint8_t) -> svint8_t {
2991 svbic_s8_m(pg, svsel_s8(pg, op1, svdup_n_s8(0)), op2)
2992}
2993#[doc = "Bitwise clear"]
2994#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svbic[_n_s8]_z)"]
2995#[inline]
2996#[target_feature(enable = "sve")]
2997#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2998#[cfg_attr(test, assert_instr(bic))]
2999pub fn svbic_n_s8_z(pg: svbool_t, op1: svint8_t, op2: i8) -> svint8_t {
3000 svbic_s8_z(pg, op1, svdup_n_s8(op2))
3001}
3002#[doc = "Bitwise clear"]
3003#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svbic[_s16]_m)"]
3004#[inline]
3005#[target_feature(enable = "sve")]
3006#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
3007#[cfg_attr(test, assert_instr(bic))]
3008pub fn svbic_s16_m(pg: svbool_t, op1: svint16_t, op2: svint16_t) -> svint16_t {
3009 unsafe extern "unadjusted" {
3010 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.bic.nxv8i16")]
3011 fn _svbic_s16_m(pg: svbool8_t, op1: svint16_t, op2: svint16_t) -> svint16_t;
3012 }
3013 unsafe { _svbic_s16_m(pg.sve_into(), op1, op2) }
3014}
3015#[doc = "Bitwise clear"]
3016#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svbic[_n_s16]_m)"]
3017#[inline]
3018#[target_feature(enable = "sve")]
3019#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
3020#[cfg_attr(test, assert_instr(bic))]
3021pub fn svbic_n_s16_m(pg: svbool_t, op1: svint16_t, op2: i16) -> svint16_t {
3022 svbic_s16_m(pg, op1, svdup_n_s16(op2))
3023}
3024#[doc = "Bitwise clear"]
3025#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svbic[_s16]_x)"]
3026#[inline]
3027#[target_feature(enable = "sve")]
3028#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
3029#[cfg_attr(test, assert_instr(bic))]
3030pub fn svbic_s16_x(pg: svbool_t, op1: svint16_t, op2: svint16_t) -> svint16_t {
3031 svbic_s16_m(pg, op1, op2)
3032}
3033#[doc = "Bitwise clear"]
3034#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svbic[_n_s16]_x)"]
3035#[inline]
3036#[target_feature(enable = "sve")]
3037#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
3038#[cfg_attr(test, assert_instr(bic))]
3039pub fn svbic_n_s16_x(pg: svbool_t, op1: svint16_t, op2: i16) -> svint16_t {
3040 svbic_s16_x(pg, op1, svdup_n_s16(op2))
3041}
3042#[doc = "Bitwise clear"]
3043#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svbic[_s16]_z)"]
3044#[inline]
3045#[target_feature(enable = "sve")]
3046#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
3047#[cfg_attr(test, assert_instr(bic))]
3048pub fn svbic_s16_z(pg: svbool_t, op1: svint16_t, op2: svint16_t) -> svint16_t {
3049 svbic_s16_m(pg, svsel_s16(pg, op1, svdup_n_s16(0)), op2)
3050}
3051#[doc = "Bitwise clear"]
3052#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svbic[_n_s16]_z)"]
3053#[inline]
3054#[target_feature(enable = "sve")]
3055#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
3056#[cfg_attr(test, assert_instr(bic))]
3057pub fn svbic_n_s16_z(pg: svbool_t, op1: svint16_t, op2: i16) -> svint16_t {
3058 svbic_s16_z(pg, op1, svdup_n_s16(op2))
3059}
3060#[doc = "Bitwise clear"]
3061#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svbic[_s32]_m)"]
3062#[inline]
3063#[target_feature(enable = "sve")]
3064#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
3065#[cfg_attr(test, assert_instr(bic))]
3066pub fn svbic_s32_m(pg: svbool_t, op1: svint32_t, op2: svint32_t) -> svint32_t {
3067 unsafe extern "unadjusted" {
3068 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.bic.nxv4i32")]
3069 fn _svbic_s32_m(pg: svbool4_t, op1: svint32_t, op2: svint32_t) -> svint32_t;
3070 }
3071 unsafe { _svbic_s32_m(pg.sve_into(), op1, op2) }
3072}
3073#[doc = "Bitwise clear"]
3074#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svbic[_n_s32]_m)"]
3075#[inline]
3076#[target_feature(enable = "sve")]
3077#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
3078#[cfg_attr(test, assert_instr(bic))]
3079pub fn svbic_n_s32_m(pg: svbool_t, op1: svint32_t, op2: i32) -> svint32_t {
3080 svbic_s32_m(pg, op1, svdup_n_s32(op2))
3081}
3082#[doc = "Bitwise clear"]
3083#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svbic[_s32]_x)"]
3084#[inline]
3085#[target_feature(enable = "sve")]
3086#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
3087#[cfg_attr(test, assert_instr(bic))]
3088pub fn svbic_s32_x(pg: svbool_t, op1: svint32_t, op2: svint32_t) -> svint32_t {
3089 svbic_s32_m(pg, op1, op2)
3090}
3091#[doc = "Bitwise clear"]
3092#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svbic[_n_s32]_x)"]
3093#[inline]
3094#[target_feature(enable = "sve")]
3095#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
3096#[cfg_attr(test, assert_instr(bic))]
3097pub fn svbic_n_s32_x(pg: svbool_t, op1: svint32_t, op2: i32) -> svint32_t {
3098 svbic_s32_x(pg, op1, svdup_n_s32(op2))
3099}
3100#[doc = "Bitwise clear"]
3101#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svbic[_s32]_z)"]
3102#[inline]
3103#[target_feature(enable = "sve")]
3104#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
3105#[cfg_attr(test, assert_instr(bic))]
3106pub fn svbic_s32_z(pg: svbool_t, op1: svint32_t, op2: svint32_t) -> svint32_t {
3107 svbic_s32_m(pg, svsel_s32(pg, op1, svdup_n_s32(0)), op2)
3108}
3109#[doc = "Bitwise clear"]
3110#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svbic[_n_s32]_z)"]
3111#[inline]
3112#[target_feature(enable = "sve")]
3113#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
3114#[cfg_attr(test, assert_instr(bic))]
3115pub fn svbic_n_s32_z(pg: svbool_t, op1: svint32_t, op2: i32) -> svint32_t {
3116 svbic_s32_z(pg, op1, svdup_n_s32(op2))
3117}
3118#[doc = "Bitwise clear"]
3119#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svbic[_s64]_m)"]
3120#[inline]
3121#[target_feature(enable = "sve")]
3122#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
3123#[cfg_attr(test, assert_instr(bic))]
3124pub fn svbic_s64_m(pg: svbool_t, op1: svint64_t, op2: svint64_t) -> svint64_t {
3125 unsafe extern "unadjusted" {
3126 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.bic.nxv2i64")]
3127 fn _svbic_s64_m(pg: svbool2_t, op1: svint64_t, op2: svint64_t) -> svint64_t;
3128 }
3129 unsafe { _svbic_s64_m(pg.sve_into(), op1, op2) }
3130}
3131#[doc = "Bitwise clear"]
3132#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svbic[_n_s64]_m)"]
3133#[inline]
3134#[target_feature(enable = "sve")]
3135#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
3136#[cfg_attr(test, assert_instr(bic))]
3137pub fn svbic_n_s64_m(pg: svbool_t, op1: svint64_t, op2: i64) -> svint64_t {
3138 svbic_s64_m(pg, op1, svdup_n_s64(op2))
3139}
3140#[doc = "Bitwise clear"]
3141#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svbic[_s64]_x)"]
3142#[inline]
3143#[target_feature(enable = "sve")]
3144#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
3145#[cfg_attr(test, assert_instr(bic))]
3146pub fn svbic_s64_x(pg: svbool_t, op1: svint64_t, op2: svint64_t) -> svint64_t {
3147 svbic_s64_m(pg, op1, op2)
3148}
3149#[doc = "Bitwise clear"]
3150#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svbic[_n_s64]_x)"]
3151#[inline]
3152#[target_feature(enable = "sve")]
3153#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
3154#[cfg_attr(test, assert_instr(bic))]
3155pub fn svbic_n_s64_x(pg: svbool_t, op1: svint64_t, op2: i64) -> svint64_t {
3156 svbic_s64_x(pg, op1, svdup_n_s64(op2))
3157}
3158#[doc = "Bitwise clear"]
3159#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svbic[_s64]_z)"]
3160#[inline]
3161#[target_feature(enable = "sve")]
3162#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
3163#[cfg_attr(test, assert_instr(bic))]
3164pub fn svbic_s64_z(pg: svbool_t, op1: svint64_t, op2: svint64_t) -> svint64_t {
3165 svbic_s64_m(pg, svsel_s64(pg, op1, svdup_n_s64(0)), op2)
3166}
3167#[doc = "Bitwise clear"]
3168#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svbic[_n_s64]_z)"]
3169#[inline]
3170#[target_feature(enable = "sve")]
3171#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
3172#[cfg_attr(test, assert_instr(bic))]
3173pub fn svbic_n_s64_z(pg: svbool_t, op1: svint64_t, op2: i64) -> svint64_t {
3174 svbic_s64_z(pg, op1, svdup_n_s64(op2))
3175}
3176#[doc = "Bitwise clear"]
3177#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svbic[_u8]_m)"]
3178#[inline]
3179#[target_feature(enable = "sve")]
3180#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
3181#[cfg_attr(test, assert_instr(bic))]
3182pub fn svbic_u8_m(pg: svbool_t, op1: svuint8_t, op2: svuint8_t) -> svuint8_t {
3183 unsafe { svbic_s8_m(pg, op1.as_signed(), op2.as_signed()).as_unsigned() }
3184}
3185#[doc = "Bitwise clear"]
3186#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svbic[_n_u8]_m)"]
3187#[inline]
3188#[target_feature(enable = "sve")]
3189#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
3190#[cfg_attr(test, assert_instr(bic))]
3191pub fn svbic_n_u8_m(pg: svbool_t, op1: svuint8_t, op2: u8) -> svuint8_t {
3192 svbic_u8_m(pg, op1, svdup_n_u8(op2))
3193}
3194#[doc = "Bitwise clear"]
3195#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svbic[_u8]_x)"]
3196#[inline]
3197#[target_feature(enable = "sve")]
3198#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
3199#[cfg_attr(test, assert_instr(bic))]
3200pub fn svbic_u8_x(pg: svbool_t, op1: svuint8_t, op2: svuint8_t) -> svuint8_t {
3201 svbic_u8_m(pg, op1, op2)
3202}
3203#[doc = "Bitwise clear"]
3204#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svbic[_n_u8]_x)"]
3205#[inline]
3206#[target_feature(enable = "sve")]
3207#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
3208#[cfg_attr(test, assert_instr(bic))]
3209pub fn svbic_n_u8_x(pg: svbool_t, op1: svuint8_t, op2: u8) -> svuint8_t {
3210 svbic_u8_x(pg, op1, svdup_n_u8(op2))
3211}
3212#[doc = "Bitwise clear"]
3213#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svbic[_u8]_z)"]
3214#[inline]
3215#[target_feature(enable = "sve")]
3216#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
3217#[cfg_attr(test, assert_instr(bic))]
3218pub fn svbic_u8_z(pg: svbool_t, op1: svuint8_t, op2: svuint8_t) -> svuint8_t {
3219 svbic_u8_m(pg, svsel_u8(pg, op1, svdup_n_u8(0)), op2)
3220}
3221#[doc = "Bitwise clear"]
3222#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svbic[_n_u8]_z)"]
3223#[inline]
3224#[target_feature(enable = "sve")]
3225#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
3226#[cfg_attr(test, assert_instr(bic))]
3227pub fn svbic_n_u8_z(pg: svbool_t, op1: svuint8_t, op2: u8) -> svuint8_t {
3228 svbic_u8_z(pg, op1, svdup_n_u8(op2))
3229}
3230#[doc = "Bitwise clear"]
3231#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svbic[_u16]_m)"]
3232#[inline]
3233#[target_feature(enable = "sve")]
3234#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
3235#[cfg_attr(test, assert_instr(bic))]
3236pub fn svbic_u16_m(pg: svbool_t, op1: svuint16_t, op2: svuint16_t) -> svuint16_t {
3237 unsafe { svbic_s16_m(pg, op1.as_signed(), op2.as_signed()).as_unsigned() }
3238}
3239#[doc = "Bitwise clear"]
3240#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svbic[_n_u16]_m)"]
3241#[inline]
3242#[target_feature(enable = "sve")]
3243#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
3244#[cfg_attr(test, assert_instr(bic))]
3245pub fn svbic_n_u16_m(pg: svbool_t, op1: svuint16_t, op2: u16) -> svuint16_t {
3246 svbic_u16_m(pg, op1, svdup_n_u16(op2))
3247}
3248#[doc = "Bitwise clear"]
3249#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svbic[_u16]_x)"]
3250#[inline]
3251#[target_feature(enable = "sve")]
3252#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
3253#[cfg_attr(test, assert_instr(bic))]
3254pub fn svbic_u16_x(pg: svbool_t, op1: svuint16_t, op2: svuint16_t) -> svuint16_t {
3255 svbic_u16_m(pg, op1, op2)
3256}
3257#[doc = "Bitwise clear"]
3258#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svbic[_n_u16]_x)"]
3259#[inline]
3260#[target_feature(enable = "sve")]
3261#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
3262#[cfg_attr(test, assert_instr(bic))]
3263pub fn svbic_n_u16_x(pg: svbool_t, op1: svuint16_t, op2: u16) -> svuint16_t {
3264 svbic_u16_x(pg, op1, svdup_n_u16(op2))
3265}
3266#[doc = "Bitwise clear"]
3267#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svbic[_u16]_z)"]
3268#[inline]
3269#[target_feature(enable = "sve")]
3270#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
3271#[cfg_attr(test, assert_instr(bic))]
3272pub fn svbic_u16_z(pg: svbool_t, op1: svuint16_t, op2: svuint16_t) -> svuint16_t {
3273 svbic_u16_m(pg, svsel_u16(pg, op1, svdup_n_u16(0)), op2)
3274}
3275#[doc = "Bitwise clear"]
3276#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svbic[_n_u16]_z)"]
3277#[inline]
3278#[target_feature(enable = "sve")]
3279#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
3280#[cfg_attr(test, assert_instr(bic))]
3281pub fn svbic_n_u16_z(pg: svbool_t, op1: svuint16_t, op2: u16) -> svuint16_t {
3282 svbic_u16_z(pg, op1, svdup_n_u16(op2))
3283}
3284#[doc = "Bitwise clear"]
3285#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svbic[_u32]_m)"]
3286#[inline]
3287#[target_feature(enable = "sve")]
3288#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
3289#[cfg_attr(test, assert_instr(bic))]
3290pub fn svbic_u32_m(pg: svbool_t, op1: svuint32_t, op2: svuint32_t) -> svuint32_t {
3291 unsafe { svbic_s32_m(pg, op1.as_signed(), op2.as_signed()).as_unsigned() }
3292}
3293#[doc = "Bitwise clear"]
3294#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svbic[_n_u32]_m)"]
3295#[inline]
3296#[target_feature(enable = "sve")]
3297#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
3298#[cfg_attr(test, assert_instr(bic))]
3299pub fn svbic_n_u32_m(pg: svbool_t, op1: svuint32_t, op2: u32) -> svuint32_t {
3300 svbic_u32_m(pg, op1, svdup_n_u32(op2))
3301}
3302#[doc = "Bitwise clear"]
3303#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svbic[_u32]_x)"]
3304#[inline]
3305#[target_feature(enable = "sve")]
3306#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
3307#[cfg_attr(test, assert_instr(bic))]
3308pub fn svbic_u32_x(pg: svbool_t, op1: svuint32_t, op2: svuint32_t) -> svuint32_t {
3309 svbic_u32_m(pg, op1, op2)
3310}
3311#[doc = "Bitwise clear"]
3312#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svbic[_n_u32]_x)"]
3313#[inline]
3314#[target_feature(enable = "sve")]
3315#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
3316#[cfg_attr(test, assert_instr(bic))]
3317pub fn svbic_n_u32_x(pg: svbool_t, op1: svuint32_t, op2: u32) -> svuint32_t {
3318 svbic_u32_x(pg, op1, svdup_n_u32(op2))
3319}
3320#[doc = "Bitwise clear"]
3321#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svbic[_u32]_z)"]
3322#[inline]
3323#[target_feature(enable = "sve")]
3324#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
3325#[cfg_attr(test, assert_instr(bic))]
3326pub fn svbic_u32_z(pg: svbool_t, op1: svuint32_t, op2: svuint32_t) -> svuint32_t {
3327 svbic_u32_m(pg, svsel_u32(pg, op1, svdup_n_u32(0)), op2)
3328}
3329#[doc = "Bitwise clear"]
3330#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svbic[_n_u32]_z)"]
3331#[inline]
3332#[target_feature(enable = "sve")]
3333#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
3334#[cfg_attr(test, assert_instr(bic))]
3335pub fn svbic_n_u32_z(pg: svbool_t, op1: svuint32_t, op2: u32) -> svuint32_t {
3336 svbic_u32_z(pg, op1, svdup_n_u32(op2))
3337}
3338#[doc = "Bitwise clear"]
3339#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svbic[_u64]_m)"]
3340#[inline]
3341#[target_feature(enable = "sve")]
3342#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
3343#[cfg_attr(test, assert_instr(bic))]
3344pub fn svbic_u64_m(pg: svbool_t, op1: svuint64_t, op2: svuint64_t) -> svuint64_t {
3345 unsafe { svbic_s64_m(pg, op1.as_signed(), op2.as_signed()).as_unsigned() }
3346}
3347#[doc = "Bitwise clear"]
3348#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svbic[_n_u64]_m)"]
3349#[inline]
3350#[target_feature(enable = "sve")]
3351#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
3352#[cfg_attr(test, assert_instr(bic))]
3353pub fn svbic_n_u64_m(pg: svbool_t, op1: svuint64_t, op2: u64) -> svuint64_t {
3354 svbic_u64_m(pg, op1, svdup_n_u64(op2))
3355}
3356#[doc = "Bitwise clear"]
3357#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svbic[_u64]_x)"]
3358#[inline]
3359#[target_feature(enable = "sve")]
3360#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
3361#[cfg_attr(test, assert_instr(bic))]
3362pub fn svbic_u64_x(pg: svbool_t, op1: svuint64_t, op2: svuint64_t) -> svuint64_t {
3363 svbic_u64_m(pg, op1, op2)
3364}
3365#[doc = "Bitwise clear"]
3366#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svbic[_n_u64]_x)"]
3367#[inline]
3368#[target_feature(enable = "sve")]
3369#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
3370#[cfg_attr(test, assert_instr(bic))]
3371pub fn svbic_n_u64_x(pg: svbool_t, op1: svuint64_t, op2: u64) -> svuint64_t {
3372 svbic_u64_x(pg, op1, svdup_n_u64(op2))
3373}
3374#[doc = "Bitwise clear"]
3375#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svbic[_u64]_z)"]
3376#[inline]
3377#[target_feature(enable = "sve")]
3378#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
3379#[cfg_attr(test, assert_instr(bic))]
3380pub fn svbic_u64_z(pg: svbool_t, op1: svuint64_t, op2: svuint64_t) -> svuint64_t {
3381 svbic_u64_m(pg, svsel_u64(pg, op1, svdup_n_u64(0)), op2)
3382}
3383#[doc = "Bitwise clear"]
3384#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svbic[_n_u64]_z)"]
3385#[inline]
3386#[target_feature(enable = "sve")]
3387#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
3388#[cfg_attr(test, assert_instr(bic))]
3389pub fn svbic_n_u64_z(pg: svbool_t, op1: svuint64_t, op2: u64) -> svuint64_t {
3390 svbic_u64_z(pg, op1, svdup_n_u64(op2))
3391}
3392#[doc = "Break after first true condition"]
3393#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svbrka[_b]_m)"]
3394#[inline]
3395#[target_feature(enable = "sve")]
3396#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
3397#[cfg_attr(test, assert_instr(brka))]
3398pub fn svbrka_b_m(inactive: svbool_t, pg: svbool_t, op: svbool_t) -> svbool_t {
3399 unsafe extern "unadjusted" {
3400 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.brka.nxv16i1")]
3401 fn _svbrka_b_m(inactive: svbool_t, pg: svbool_t, op: svbool_t) -> svbool_t;
3402 }
3403 unsafe { _svbrka_b_m(inactive, pg, op) }
3404}
3405#[doc = "Break after first true condition"]
3406#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svbrka[_b]_z)"]
3407#[inline]
3408#[target_feature(enable = "sve")]
3409#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
3410#[cfg_attr(test, assert_instr(brka))]
3411pub fn svbrka_b_z(pg: svbool_t, op: svbool_t) -> svbool_t {
3412 unsafe extern "unadjusted" {
3413 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.brka.z.nxv16i1")]
3414 fn _svbrka_b_z(pg: svbool_t, op: svbool_t) -> svbool_t;
3415 }
3416 unsafe { _svbrka_b_z(pg, op) }
3417}
3418#[doc = "Break before first true condition"]
3419#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svbrkb[_b]_m)"]
3420#[inline]
3421#[target_feature(enable = "sve")]
3422#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
3423#[cfg_attr(test, assert_instr(brkb))]
3424pub fn svbrkb_b_m(inactive: svbool_t, pg: svbool_t, op: svbool_t) -> svbool_t {
3425 unsafe extern "unadjusted" {
3426 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.brkb.nxv16i1")]
3427 fn _svbrkb_b_m(inactive: svbool_t, pg: svbool_t, op: svbool_t) -> svbool_t;
3428 }
3429 unsafe { _svbrkb_b_m(inactive, pg, op) }
3430}
3431#[doc = "Break before first true condition"]
3432#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svbrkb[_b]_z)"]
3433#[inline]
3434#[target_feature(enable = "sve")]
3435#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
3436#[cfg_attr(test, assert_instr(brkb))]
3437pub fn svbrkb_b_z(pg: svbool_t, op: svbool_t) -> svbool_t {
3438 unsafe extern "unadjusted" {
3439 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.brkb.z.nxv16i1")]
3440 fn _svbrkb_b_z(pg: svbool_t, op: svbool_t) -> svbool_t;
3441 }
3442 unsafe { _svbrkb_b_z(pg, op) }
3443}
3444#[doc = "Propagate break to next partition"]
3445#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svbrkn[_b]_z)"]
3446#[inline]
3447#[target_feature(enable = "sve")]
3448#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
3449#[cfg_attr(test, assert_instr(brkn))]
3450pub fn svbrkn_b_z(pg: svbool_t, op1: svbool_t, op2: svbool_t) -> svbool_t {
3451 unsafe extern "unadjusted" {
3452 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.brkn.z.nxv16i1")]
3453 fn _svbrkn_b_z(pg: svbool_t, op1: svbool_t, op2: svbool_t) -> svbool_t;
3454 }
3455 unsafe { _svbrkn_b_z(pg, op1, op2) }
3456}
3457#[doc = "Break after first true condition, propagating from previous partition"]
3458#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svbrkpa[_b]_z)"]
3459#[inline]
3460#[target_feature(enable = "sve")]
3461#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
3462#[cfg_attr(test, assert_instr(brkpa))]
3463pub fn svbrkpa_b_z(pg: svbool_t, op1: svbool_t, op2: svbool_t) -> svbool_t {
3464 unsafe extern "unadjusted" {
3465 #[cfg_attr(
3466 target_arch = "aarch64",
3467 link_name = "llvm.aarch64.sve.brkpa.z.nxv16i1"
3468 )]
3469 fn _svbrkpa_b_z(pg: svbool_t, op1: svbool_t, op2: svbool_t) -> svbool_t;
3470 }
3471 unsafe { _svbrkpa_b_z(pg, op1, op2) }
3472}
3473#[doc = "Break before first true condition, propagating from previous partition"]
3474#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svbrkpb[_b]_z)"]
3475#[inline]
3476#[target_feature(enable = "sve")]
3477#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
3478#[cfg_attr(test, assert_instr(brkpb))]
3479pub fn svbrkpb_b_z(pg: svbool_t, op1: svbool_t, op2: svbool_t) -> svbool_t {
3480 unsafe extern "unadjusted" {
3481 #[cfg_attr(
3482 target_arch = "aarch64",
3483 link_name = "llvm.aarch64.sve.brkpb.z.nxv16i1"
3484 )]
3485 fn _svbrkpb_b_z(pg: svbool_t, op1: svbool_t, op2: svbool_t) -> svbool_t;
3486 }
3487 unsafe { _svbrkpb_b_z(pg, op1, op2) }
3488}
3489#[doc = "Complex add with rotate"]
3490#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcadd[_f32]_m)"]
3491#[inline]
3492#[target_feature(enable = "sve")]
3493#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
3494#[cfg_attr(test, assert_instr(fcadd, IMM_ROTATION = 90))]
3495pub fn svcadd_f32_m<const IMM_ROTATION: i32>(
3496 pg: svbool_t,
3497 op1: svfloat32_t,
3498 op2: svfloat32_t,
3499) -> svfloat32_t {
3500 static_assert!(IMM_ROTATION == 90 || IMM_ROTATION == 270);
3501 unsafe extern "unadjusted" {
3502 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.fcadd.nxv4f32")]
3503 fn _svcadd_f32_m(
3504 pg: svbool4_t,
3505 op1: svfloat32_t,
3506 op2: svfloat32_t,
3507 imm_rotation: i32,
3508 ) -> svfloat32_t;
3509 }
3510 unsafe { _svcadd_f32_m(pg.sve_into(), op1, op2, IMM_ROTATION) }
3511}
3512#[doc = "Complex add with rotate"]
3513#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcadd[_f32]_x)"]
3514#[inline]
3515#[target_feature(enable = "sve")]
3516#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
3517#[cfg_attr(test, assert_instr(fcadd, IMM_ROTATION = 90))]
3518pub fn svcadd_f32_x<const IMM_ROTATION: i32>(
3519 pg: svbool_t,
3520 op1: svfloat32_t,
3521 op2: svfloat32_t,
3522) -> svfloat32_t {
3523 svcadd_f32_m::<IMM_ROTATION>(pg, op1, op2)
3524}
3525#[doc = "Complex add with rotate"]
3526#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcadd[_f32]_z)"]
3527#[inline]
3528#[target_feature(enable = "sve")]
3529#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
3530#[cfg_attr(test, assert_instr(fcadd, IMM_ROTATION = 90))]
3531pub fn svcadd_f32_z<const IMM_ROTATION: i32>(
3532 pg: svbool_t,
3533 op1: svfloat32_t,
3534 op2: svfloat32_t,
3535) -> svfloat32_t {
3536 svcadd_f32_m::<IMM_ROTATION>(pg, svsel_f32(pg, op1, svdup_n_f32(0.0)), op2)
3537}
3538#[doc = "Complex add with rotate"]
3539#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcadd[_f64]_m)"]
3540#[inline]
3541#[target_feature(enable = "sve")]
3542#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
3543#[cfg_attr(test, assert_instr(fcadd, IMM_ROTATION = 90))]
3544pub fn svcadd_f64_m<const IMM_ROTATION: i32>(
3545 pg: svbool_t,
3546 op1: svfloat64_t,
3547 op2: svfloat64_t,
3548) -> svfloat64_t {
3549 static_assert!(IMM_ROTATION == 90 || IMM_ROTATION == 270);
3550 unsafe extern "unadjusted" {
3551 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.fcadd.nxv2f64")]
3552 fn _svcadd_f64_m(
3553 pg: svbool2_t,
3554 op1: svfloat64_t,
3555 op2: svfloat64_t,
3556 imm_rotation: i32,
3557 ) -> svfloat64_t;
3558 }
3559 unsafe { _svcadd_f64_m(pg.sve_into(), op1, op2, IMM_ROTATION) }
3560}
3561#[doc = "Complex add with rotate"]
3562#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcadd[_f64]_x)"]
3563#[inline]
3564#[target_feature(enable = "sve")]
3565#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
3566#[cfg_attr(test, assert_instr(fcadd, IMM_ROTATION = 90))]
3567pub fn svcadd_f64_x<const IMM_ROTATION: i32>(
3568 pg: svbool_t,
3569 op1: svfloat64_t,
3570 op2: svfloat64_t,
3571) -> svfloat64_t {
3572 svcadd_f64_m::<IMM_ROTATION>(pg, op1, op2)
3573}
3574#[doc = "Complex add with rotate"]
3575#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcadd[_f64]_z)"]
3576#[inline]
3577#[target_feature(enable = "sve")]
3578#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
3579#[cfg_attr(test, assert_instr(fcadd, IMM_ROTATION = 90))]
3580pub fn svcadd_f64_z<const IMM_ROTATION: i32>(
3581 pg: svbool_t,
3582 op1: svfloat64_t,
3583 op2: svfloat64_t,
3584) -> svfloat64_t {
3585 svcadd_f64_m::<IMM_ROTATION>(pg, svsel_f64(pg, op1, svdup_n_f64(0.0)), op2)
3586}
3587#[doc = "Conditionally extract element after last"]
3588#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svclasta[_f32])"]
3589#[inline]
3590#[target_feature(enable = "sve")]
3591#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
3592#[cfg_attr(test, assert_instr(clasta))]
3593pub fn svclasta_f32(pg: svbool_t, fallback: svfloat32_t, data: svfloat32_t) -> svfloat32_t {
3594 unsafe extern "unadjusted" {
3595 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.clasta.nxv4f32")]
3596 fn _svclasta_f32(pg: svbool4_t, fallback: svfloat32_t, data: svfloat32_t) -> svfloat32_t;
3597 }
3598 unsafe { _svclasta_f32(pg.sve_into(), fallback, data) }
3599}
3600#[doc = "Conditionally extract element after last"]
3601#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svclasta[_f64])"]
3602#[inline]
3603#[target_feature(enable = "sve")]
3604#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
3605#[cfg_attr(test, assert_instr(clasta))]
3606pub fn svclasta_f64(pg: svbool_t, fallback: svfloat64_t, data: svfloat64_t) -> svfloat64_t {
3607 unsafe extern "unadjusted" {
3608 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.clasta.nxv2f64")]
3609 fn _svclasta_f64(pg: svbool2_t, fallback: svfloat64_t, data: svfloat64_t) -> svfloat64_t;
3610 }
3611 unsafe { _svclasta_f64(pg.sve_into(), fallback, data) }
3612}
3613#[doc = "Conditionally extract element after last"]
3614#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svclasta[_s8])"]
3615#[inline]
3616#[target_feature(enable = "sve")]
3617#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
3618#[cfg_attr(test, assert_instr(clasta))]
3619pub fn svclasta_s8(pg: svbool_t, fallback: svint8_t, data: svint8_t) -> svint8_t {
3620 unsafe extern "unadjusted" {
3621 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.clasta.nxv16i8")]
3622 fn _svclasta_s8(pg: svbool_t, fallback: svint8_t, data: svint8_t) -> svint8_t;
3623 }
3624 unsafe { _svclasta_s8(pg, fallback, data) }
3625}
3626#[doc = "Conditionally extract element after last"]
3627#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svclasta[_s16])"]
3628#[inline]
3629#[target_feature(enable = "sve")]
3630#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
3631#[cfg_attr(test, assert_instr(clasta))]
3632pub fn svclasta_s16(pg: svbool_t, fallback: svint16_t, data: svint16_t) -> svint16_t {
3633 unsafe extern "unadjusted" {
3634 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.clasta.nxv8i16")]
3635 fn _svclasta_s16(pg: svbool8_t, fallback: svint16_t, data: svint16_t) -> svint16_t;
3636 }
3637 unsafe { _svclasta_s16(pg.sve_into(), fallback, data) }
3638}
3639#[doc = "Conditionally extract element after last"]
3640#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svclasta[_s32])"]
3641#[inline]
3642#[target_feature(enable = "sve")]
3643#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
3644#[cfg_attr(test, assert_instr(clasta))]
3645pub fn svclasta_s32(pg: svbool_t, fallback: svint32_t, data: svint32_t) -> svint32_t {
3646 unsafe extern "unadjusted" {
3647 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.clasta.nxv4i32")]
3648 fn _svclasta_s32(pg: svbool4_t, fallback: svint32_t, data: svint32_t) -> svint32_t;
3649 }
3650 unsafe { _svclasta_s32(pg.sve_into(), fallback, data) }
3651}
3652#[doc = "Conditionally extract element after last"]
3653#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svclasta[_s64])"]
3654#[inline]
3655#[target_feature(enable = "sve")]
3656#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
3657#[cfg_attr(test, assert_instr(clasta))]
3658pub fn svclasta_s64(pg: svbool_t, fallback: svint64_t, data: svint64_t) -> svint64_t {
3659 unsafe extern "unadjusted" {
3660 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.clasta.nxv2i64")]
3661 fn _svclasta_s64(pg: svbool2_t, fallback: svint64_t, data: svint64_t) -> svint64_t;
3662 }
3663 unsafe { _svclasta_s64(pg.sve_into(), fallback, data) }
3664}
3665#[doc = "Conditionally extract element after last"]
3666#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svclasta[_u8])"]
3667#[inline]
3668#[target_feature(enable = "sve")]
3669#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
3670#[cfg_attr(test, assert_instr(clasta))]
3671pub fn svclasta_u8(pg: svbool_t, fallback: svuint8_t, data: svuint8_t) -> svuint8_t {
3672 unsafe { svclasta_s8(pg, fallback.as_signed(), data.as_signed()).as_unsigned() }
3673}
3674#[doc = "Conditionally extract element after last"]
3675#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svclasta[_u16])"]
3676#[inline]
3677#[target_feature(enable = "sve")]
3678#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
3679#[cfg_attr(test, assert_instr(clasta))]
3680pub fn svclasta_u16(pg: svbool_t, fallback: svuint16_t, data: svuint16_t) -> svuint16_t {
3681 unsafe { svclasta_s16(pg, fallback.as_signed(), data.as_signed()).as_unsigned() }
3682}
3683#[doc = "Conditionally extract element after last"]
3684#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svclasta[_u32])"]
3685#[inline]
3686#[target_feature(enable = "sve")]
3687#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
3688#[cfg_attr(test, assert_instr(clasta))]
3689pub fn svclasta_u32(pg: svbool_t, fallback: svuint32_t, data: svuint32_t) -> svuint32_t {
3690 unsafe { svclasta_s32(pg, fallback.as_signed(), data.as_signed()).as_unsigned() }
3691}
3692#[doc = "Conditionally extract element after last"]
3693#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svclasta[_u64])"]
3694#[inline]
3695#[target_feature(enable = "sve")]
3696#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
3697#[cfg_attr(test, assert_instr(clasta))]
3698pub fn svclasta_u64(pg: svbool_t, fallback: svuint64_t, data: svuint64_t) -> svuint64_t {
3699 unsafe { svclasta_s64(pg, fallback.as_signed(), data.as_signed()).as_unsigned() }
3700}
3701#[doc = "Conditionally extract element after last"]
3702#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svclasta[_n_f32])"]
3703#[inline]
3704#[target_feature(enable = "sve")]
3705#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
3706#[cfg_attr(test, assert_instr(clasta))]
3707pub fn svclasta_n_f32(pg: svbool_t, fallback: f32, data: svfloat32_t) -> f32 {
3708 unsafe extern "unadjusted" {
3709 #[cfg_attr(
3710 target_arch = "aarch64",
3711 link_name = "llvm.aarch64.sve.clasta.n.nxv4f32"
3712 )]
3713 fn _svclasta_n_f32(pg: svbool4_t, fallback: f32, data: svfloat32_t) -> f32;
3714 }
3715 unsafe { _svclasta_n_f32(pg.sve_into(), fallback, data) }
3716}
3717#[doc = "Conditionally extract element after last"]
3718#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svclasta[_n_f64])"]
3719#[inline]
3720#[target_feature(enable = "sve")]
3721#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
3722#[cfg_attr(test, assert_instr(clasta))]
3723pub fn svclasta_n_f64(pg: svbool_t, fallback: f64, data: svfloat64_t) -> f64 {
3724 unsafe extern "unadjusted" {
3725 #[cfg_attr(
3726 target_arch = "aarch64",
3727 link_name = "llvm.aarch64.sve.clasta.n.nxv2f64"
3728 )]
3729 fn _svclasta_n_f64(pg: svbool2_t, fallback: f64, data: svfloat64_t) -> f64;
3730 }
3731 unsafe { _svclasta_n_f64(pg.sve_into(), fallback, data) }
3732}
3733#[doc = "Conditionally extract element after last"]
3734#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svclasta[_n_s8])"]
3735#[inline]
3736#[target_feature(enable = "sve")]
3737#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
3738#[cfg_attr(test, assert_instr(clasta))]
3739pub fn svclasta_n_s8(pg: svbool_t, fallback: i8, data: svint8_t) -> i8 {
3740 unsafe extern "unadjusted" {
3741 #[cfg_attr(
3742 target_arch = "aarch64",
3743 link_name = "llvm.aarch64.sve.clasta.n.nxv16i8"
3744 )]
3745 fn _svclasta_n_s8(pg: svbool_t, fallback: i8, data: svint8_t) -> i8;
3746 }
3747 unsafe { _svclasta_n_s8(pg, fallback, data) }
3748}
3749#[doc = "Conditionally extract element after last"]
3750#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svclasta[_n_s16])"]
3751#[inline]
3752#[target_feature(enable = "sve")]
3753#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
3754#[cfg_attr(test, assert_instr(clasta))]
3755pub fn svclasta_n_s16(pg: svbool_t, fallback: i16, data: svint16_t) -> i16 {
3756 unsafe extern "unadjusted" {
3757 #[cfg_attr(
3758 target_arch = "aarch64",
3759 link_name = "llvm.aarch64.sve.clasta.n.nxv8i16"
3760 )]
3761 fn _svclasta_n_s16(pg: svbool8_t, fallback: i16, data: svint16_t) -> i16;
3762 }
3763 unsafe { _svclasta_n_s16(pg.sve_into(), fallback, data) }
3764}
3765#[doc = "Conditionally extract element after last"]
3766#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svclasta[_n_s32])"]
3767#[inline]
3768#[target_feature(enable = "sve")]
3769#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
3770#[cfg_attr(test, assert_instr(clasta))]
3771pub fn svclasta_n_s32(pg: svbool_t, fallback: i32, data: svint32_t) -> i32 {
3772 unsafe extern "unadjusted" {
3773 #[cfg_attr(
3774 target_arch = "aarch64",
3775 link_name = "llvm.aarch64.sve.clasta.n.nxv4i32"
3776 )]
3777 fn _svclasta_n_s32(pg: svbool4_t, fallback: i32, data: svint32_t) -> i32;
3778 }
3779 unsafe { _svclasta_n_s32(pg.sve_into(), fallback, data) }
3780}
3781#[doc = "Conditionally extract element after last"]
3782#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svclasta[_n_s64])"]
3783#[inline]
3784#[target_feature(enable = "sve")]
3785#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
3786#[cfg_attr(test, assert_instr(clasta))]
3787pub fn svclasta_n_s64(pg: svbool_t, fallback: i64, data: svint64_t) -> i64 {
3788 unsafe extern "unadjusted" {
3789 #[cfg_attr(
3790 target_arch = "aarch64",
3791 link_name = "llvm.aarch64.sve.clasta.n.nxv2i64"
3792 )]
3793 fn _svclasta_n_s64(pg: svbool2_t, fallback: i64, data: svint64_t) -> i64;
3794 }
3795 unsafe { _svclasta_n_s64(pg.sve_into(), fallback, data) }
3796}
3797#[doc = "Conditionally extract element after last"]
3798#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svclasta[_n_u8])"]
3799#[inline]
3800#[target_feature(enable = "sve")]
3801#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
3802#[cfg_attr(test, assert_instr(clasta))]
3803pub fn svclasta_n_u8(pg: svbool_t, fallback: u8, data: svuint8_t) -> u8 {
3804 unsafe { svclasta_n_s8(pg, fallback.as_signed(), data.as_signed()).as_unsigned() }
3805}
3806#[doc = "Conditionally extract element after last"]
3807#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svclasta[_n_u16])"]
3808#[inline]
3809#[target_feature(enable = "sve")]
3810#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
3811#[cfg_attr(test, assert_instr(clasta))]
3812pub fn svclasta_n_u16(pg: svbool_t, fallback: u16, data: svuint16_t) -> u16 {
3813 unsafe { svclasta_n_s16(pg, fallback.as_signed(), data.as_signed()).as_unsigned() }
3814}
3815#[doc = "Conditionally extract element after last"]
3816#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svclasta[_n_u32])"]
3817#[inline]
3818#[target_feature(enable = "sve")]
3819#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
3820#[cfg_attr(test, assert_instr(clasta))]
3821pub fn svclasta_n_u32(pg: svbool_t, fallback: u32, data: svuint32_t) -> u32 {
3822 unsafe { svclasta_n_s32(pg, fallback.as_signed(), data.as_signed()).as_unsigned() }
3823}
3824#[doc = "Conditionally extract element after last"]
3825#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svclasta[_n_u64])"]
3826#[inline]
3827#[target_feature(enable = "sve")]
3828#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
3829#[cfg_attr(test, assert_instr(clasta))]
3830pub fn svclasta_n_u64(pg: svbool_t, fallback: u64, data: svuint64_t) -> u64 {
3831 unsafe { svclasta_n_s64(pg, fallback.as_signed(), data.as_signed()).as_unsigned() }
3832}
3833#[doc = "Conditionally extract last element"]
3834#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svclastb[_f32])"]
3835#[inline]
3836#[target_feature(enable = "sve")]
3837#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
3838#[cfg_attr(test, assert_instr(clastb))]
3839pub fn svclastb_f32(pg: svbool_t, fallback: svfloat32_t, data: svfloat32_t) -> svfloat32_t {
3840 unsafe extern "unadjusted" {
3841 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.clastb.nxv4f32")]
3842 fn _svclastb_f32(pg: svbool4_t, fallback: svfloat32_t, data: svfloat32_t) -> svfloat32_t;
3843 }
3844 unsafe { _svclastb_f32(pg.sve_into(), fallback, data) }
3845}
3846#[doc = "Conditionally extract last element"]
3847#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svclastb[_f64])"]
3848#[inline]
3849#[target_feature(enable = "sve")]
3850#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
3851#[cfg_attr(test, assert_instr(clastb))]
3852pub fn svclastb_f64(pg: svbool_t, fallback: svfloat64_t, data: svfloat64_t) -> svfloat64_t {
3853 unsafe extern "unadjusted" {
3854 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.clastb.nxv2f64")]
3855 fn _svclastb_f64(pg: svbool2_t, fallback: svfloat64_t, data: svfloat64_t) -> svfloat64_t;
3856 }
3857 unsafe { _svclastb_f64(pg.sve_into(), fallback, data) }
3858}
3859#[doc = "Conditionally extract last element"]
3860#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svclastb[_s8])"]
3861#[inline]
3862#[target_feature(enable = "sve")]
3863#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
3864#[cfg_attr(test, assert_instr(clastb))]
3865pub fn svclastb_s8(pg: svbool_t, fallback: svint8_t, data: svint8_t) -> svint8_t {
3866 unsafe extern "unadjusted" {
3867 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.clastb.nxv16i8")]
3868 fn _svclastb_s8(pg: svbool_t, fallback: svint8_t, data: svint8_t) -> svint8_t;
3869 }
3870 unsafe { _svclastb_s8(pg, fallback, data) }
3871}
3872#[doc = "Conditionally extract last element"]
3873#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svclastb[_s16])"]
3874#[inline]
3875#[target_feature(enable = "sve")]
3876#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
3877#[cfg_attr(test, assert_instr(clastb))]
3878pub fn svclastb_s16(pg: svbool_t, fallback: svint16_t, data: svint16_t) -> svint16_t {
3879 unsafe extern "unadjusted" {
3880 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.clastb.nxv8i16")]
3881 fn _svclastb_s16(pg: svbool8_t, fallback: svint16_t, data: svint16_t) -> svint16_t;
3882 }
3883 unsafe { _svclastb_s16(pg.sve_into(), fallback, data) }
3884}
3885#[doc = "Conditionally extract last element"]
3886#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svclastb[_s32])"]
3887#[inline]
3888#[target_feature(enable = "sve")]
3889#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
3890#[cfg_attr(test, assert_instr(clastb))]
3891pub fn svclastb_s32(pg: svbool_t, fallback: svint32_t, data: svint32_t) -> svint32_t {
3892 unsafe extern "unadjusted" {
3893 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.clastb.nxv4i32")]
3894 fn _svclastb_s32(pg: svbool4_t, fallback: svint32_t, data: svint32_t) -> svint32_t;
3895 }
3896 unsafe { _svclastb_s32(pg.sve_into(), fallback, data) }
3897}
3898#[doc = "Conditionally extract last element"]
3899#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svclastb[_s64])"]
3900#[inline]
3901#[target_feature(enable = "sve")]
3902#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
3903#[cfg_attr(test, assert_instr(clastb))]
3904pub fn svclastb_s64(pg: svbool_t, fallback: svint64_t, data: svint64_t) -> svint64_t {
3905 unsafe extern "unadjusted" {
3906 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.clastb.nxv2i64")]
3907 fn _svclastb_s64(pg: svbool2_t, fallback: svint64_t, data: svint64_t) -> svint64_t;
3908 }
3909 unsafe { _svclastb_s64(pg.sve_into(), fallback, data) }
3910}
3911#[doc = "Conditionally extract last element"]
3912#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svclastb[_u8])"]
3913#[inline]
3914#[target_feature(enable = "sve")]
3915#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
3916#[cfg_attr(test, assert_instr(clastb))]
3917pub fn svclastb_u8(pg: svbool_t, fallback: svuint8_t, data: svuint8_t) -> svuint8_t {
3918 unsafe { svclastb_s8(pg, fallback.as_signed(), data.as_signed()).as_unsigned() }
3919}
3920#[doc = "Conditionally extract last element"]
3921#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svclastb[_u16])"]
3922#[inline]
3923#[target_feature(enable = "sve")]
3924#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
3925#[cfg_attr(test, assert_instr(clastb))]
3926pub fn svclastb_u16(pg: svbool_t, fallback: svuint16_t, data: svuint16_t) -> svuint16_t {
3927 unsafe { svclastb_s16(pg, fallback.as_signed(), data.as_signed()).as_unsigned() }
3928}
3929#[doc = "Conditionally extract last element"]
3930#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svclastb[_u32])"]
3931#[inline]
3932#[target_feature(enable = "sve")]
3933#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
3934#[cfg_attr(test, assert_instr(clastb))]
3935pub fn svclastb_u32(pg: svbool_t, fallback: svuint32_t, data: svuint32_t) -> svuint32_t {
3936 unsafe { svclastb_s32(pg, fallback.as_signed(), data.as_signed()).as_unsigned() }
3937}
3938#[doc = "Conditionally extract last element"]
3939#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svclastb[_u64])"]
3940#[inline]
3941#[target_feature(enable = "sve")]
3942#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
3943#[cfg_attr(test, assert_instr(clastb))]
3944pub fn svclastb_u64(pg: svbool_t, fallback: svuint64_t, data: svuint64_t) -> svuint64_t {
3945 unsafe { svclastb_s64(pg, fallback.as_signed(), data.as_signed()).as_unsigned() }
3946}
3947#[doc = "Conditionally extract last element"]
3948#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svclastb[_n_f32])"]
3949#[inline]
3950#[target_feature(enable = "sve")]
3951#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
3952#[cfg_attr(test, assert_instr(clastb))]
3953pub fn svclastb_n_f32(pg: svbool_t, fallback: f32, data: svfloat32_t) -> f32 {
3954 unsafe extern "unadjusted" {
3955 #[cfg_attr(
3956 target_arch = "aarch64",
3957 link_name = "llvm.aarch64.sve.clastb.n.nxv4f32"
3958 )]
3959 fn _svclastb_n_f32(pg: svbool4_t, fallback: f32, data: svfloat32_t) -> f32;
3960 }
3961 unsafe { _svclastb_n_f32(pg.sve_into(), fallback, data) }
3962}
3963#[doc = "Conditionally extract last element"]
3964#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svclastb[_n_f64])"]
3965#[inline]
3966#[target_feature(enable = "sve")]
3967#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
3968#[cfg_attr(test, assert_instr(clastb))]
3969pub fn svclastb_n_f64(pg: svbool_t, fallback: f64, data: svfloat64_t) -> f64 {
3970 unsafe extern "unadjusted" {
3971 #[cfg_attr(
3972 target_arch = "aarch64",
3973 link_name = "llvm.aarch64.sve.clastb.n.nxv2f64"
3974 )]
3975 fn _svclastb_n_f64(pg: svbool2_t, fallback: f64, data: svfloat64_t) -> f64;
3976 }
3977 unsafe { _svclastb_n_f64(pg.sve_into(), fallback, data) }
3978}
3979#[doc = "Conditionally extract last element"]
3980#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svclastb[_n_s8])"]
3981#[inline]
3982#[target_feature(enable = "sve")]
3983#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
3984#[cfg_attr(test, assert_instr(clastb))]
3985pub fn svclastb_n_s8(pg: svbool_t, fallback: i8, data: svint8_t) -> i8 {
3986 unsafe extern "unadjusted" {
3987 #[cfg_attr(
3988 target_arch = "aarch64",
3989 link_name = "llvm.aarch64.sve.clastb.n.nxv16i8"
3990 )]
3991 fn _svclastb_n_s8(pg: svbool_t, fallback: i8, data: svint8_t) -> i8;
3992 }
3993 unsafe { _svclastb_n_s8(pg, fallback, data) }
3994}
3995#[doc = "Conditionally extract last element"]
3996#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svclastb[_n_s16])"]
3997#[inline]
3998#[target_feature(enable = "sve")]
3999#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
4000#[cfg_attr(test, assert_instr(clastb))]
4001pub fn svclastb_n_s16(pg: svbool_t, fallback: i16, data: svint16_t) -> i16 {
4002 unsafe extern "unadjusted" {
4003 #[cfg_attr(
4004 target_arch = "aarch64",
4005 link_name = "llvm.aarch64.sve.clastb.n.nxv8i16"
4006 )]
4007 fn _svclastb_n_s16(pg: svbool8_t, fallback: i16, data: svint16_t) -> i16;
4008 }
4009 unsafe { _svclastb_n_s16(pg.sve_into(), fallback, data) }
4010}
4011#[doc = "Conditionally extract last element"]
4012#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svclastb[_n_s32])"]
4013#[inline]
4014#[target_feature(enable = "sve")]
4015#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
4016#[cfg_attr(test, assert_instr(clastb))]
4017pub fn svclastb_n_s32(pg: svbool_t, fallback: i32, data: svint32_t) -> i32 {
4018 unsafe extern "unadjusted" {
4019 #[cfg_attr(
4020 target_arch = "aarch64",
4021 link_name = "llvm.aarch64.sve.clastb.n.nxv4i32"
4022 )]
4023 fn _svclastb_n_s32(pg: svbool4_t, fallback: i32, data: svint32_t) -> i32;
4024 }
4025 unsafe { _svclastb_n_s32(pg.sve_into(), fallback, data) }
4026}
4027#[doc = "Conditionally extract last element"]
4028#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svclastb[_n_s64])"]
4029#[inline]
4030#[target_feature(enable = "sve")]
4031#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
4032#[cfg_attr(test, assert_instr(clastb))]
4033pub fn svclastb_n_s64(pg: svbool_t, fallback: i64, data: svint64_t) -> i64 {
4034 unsafe extern "unadjusted" {
4035 #[cfg_attr(
4036 target_arch = "aarch64",
4037 link_name = "llvm.aarch64.sve.clastb.n.nxv2i64"
4038 )]
4039 fn _svclastb_n_s64(pg: svbool2_t, fallback: i64, data: svint64_t) -> i64;
4040 }
4041 unsafe { _svclastb_n_s64(pg.sve_into(), fallback, data) }
4042}
4043#[doc = "Conditionally extract last element"]
4044#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svclastb[_n_u8])"]
4045#[inline]
4046#[target_feature(enable = "sve")]
4047#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
4048#[cfg_attr(test, assert_instr(clastb))]
4049pub fn svclastb_n_u8(pg: svbool_t, fallback: u8, data: svuint8_t) -> u8 {
4050 unsafe { svclastb_n_s8(pg, fallback.as_signed(), data.as_signed()).as_unsigned() }
4051}
4052#[doc = "Conditionally extract last element"]
4053#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svclastb[_n_u16])"]
4054#[inline]
4055#[target_feature(enable = "sve")]
4056#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
4057#[cfg_attr(test, assert_instr(clastb))]
4058pub fn svclastb_n_u16(pg: svbool_t, fallback: u16, data: svuint16_t) -> u16 {
4059 unsafe { svclastb_n_s16(pg, fallback.as_signed(), data.as_signed()).as_unsigned() }
4060}
4061#[doc = "Conditionally extract last element"]
4062#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svclastb[_n_u32])"]
4063#[inline]
4064#[target_feature(enable = "sve")]
4065#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
4066#[cfg_attr(test, assert_instr(clastb))]
4067pub fn svclastb_n_u32(pg: svbool_t, fallback: u32, data: svuint32_t) -> u32 {
4068 unsafe { svclastb_n_s32(pg, fallback.as_signed(), data.as_signed()).as_unsigned() }
4069}
4070#[doc = "Conditionally extract last element"]
4071#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svclastb[_n_u64])"]
4072#[inline]
4073#[target_feature(enable = "sve")]
4074#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
4075#[cfg_attr(test, assert_instr(clastb))]
4076pub fn svclastb_n_u64(pg: svbool_t, fallback: u64, data: svuint64_t) -> u64 {
4077 unsafe { svclastb_n_s64(pg, fallback.as_signed(), data.as_signed()).as_unsigned() }
4078}
4079#[doc = "Count leading sign bits"]
4080#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcls[_s8]_m)"]
4081#[inline]
4082#[target_feature(enable = "sve")]
4083#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
4084#[cfg_attr(test, assert_instr(cls))]
4085pub fn svcls_s8_m(inactive: svuint8_t, pg: svbool_t, op: svint8_t) -> svuint8_t {
4086 unsafe extern "unadjusted" {
4087 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.cls.nxv16i8")]
4088 fn _svcls_s8_m(inactive: svint8_t, pg: svbool_t, op: svint8_t) -> svint8_t;
4089 }
4090 unsafe { _svcls_s8_m(inactive.as_signed(), pg, op).as_unsigned() }
4091}
4092#[doc = "Count leading sign bits"]
4093#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcls[_s8]_x)"]
4094#[inline]
4095#[target_feature(enable = "sve")]
4096#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
4097#[cfg_attr(test, assert_instr(cls))]
4098pub fn svcls_s8_x(pg: svbool_t, op: svint8_t) -> svuint8_t {
4099 unsafe { svcls_s8_m(op.as_unsigned(), pg, op) }
4100}
4101#[doc = "Count leading sign bits"]
4102#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcls[_s8]_z)"]
4103#[inline]
4104#[target_feature(enable = "sve")]
4105#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
4106#[cfg_attr(test, assert_instr(cls))]
4107pub fn svcls_s8_z(pg: svbool_t, op: svint8_t) -> svuint8_t {
4108 svcls_s8_m(svdup_n_u8(0), pg, op)
4109}
4110#[doc = "Count leading sign bits"]
4111#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcls[_s16]_m)"]
4112#[inline]
4113#[target_feature(enable = "sve")]
4114#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
4115#[cfg_attr(test, assert_instr(cls))]
4116pub fn svcls_s16_m(inactive: svuint16_t, pg: svbool_t, op: svint16_t) -> svuint16_t {
4117 unsafe extern "unadjusted" {
4118 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.cls.nxv8i16")]
4119 fn _svcls_s16_m(inactive: svint16_t, pg: svbool8_t, op: svint16_t) -> svint16_t;
4120 }
4121 unsafe { _svcls_s16_m(inactive.as_signed(), pg.sve_into(), op).as_unsigned() }
4122}
4123#[doc = "Count leading sign bits"]
4124#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcls[_s16]_x)"]
4125#[inline]
4126#[target_feature(enable = "sve")]
4127#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
4128#[cfg_attr(test, assert_instr(cls))]
4129pub fn svcls_s16_x(pg: svbool_t, op: svint16_t) -> svuint16_t {
4130 unsafe { svcls_s16_m(op.as_unsigned(), pg, op) }
4131}
4132#[doc = "Count leading sign bits"]
4133#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcls[_s16]_z)"]
4134#[inline]
4135#[target_feature(enable = "sve")]
4136#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
4137#[cfg_attr(test, assert_instr(cls))]
4138pub fn svcls_s16_z(pg: svbool_t, op: svint16_t) -> svuint16_t {
4139 svcls_s16_m(svdup_n_u16(0), pg, op)
4140}
4141#[doc = "Count leading sign bits"]
4142#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcls[_s32]_m)"]
4143#[inline]
4144#[target_feature(enable = "sve")]
4145#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
4146#[cfg_attr(test, assert_instr(cls))]
4147pub fn svcls_s32_m(inactive: svuint32_t, pg: svbool_t, op: svint32_t) -> svuint32_t {
4148 unsafe extern "unadjusted" {
4149 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.cls.nxv4i32")]
4150 fn _svcls_s32_m(inactive: svint32_t, pg: svbool4_t, op: svint32_t) -> svint32_t;
4151 }
4152 unsafe { _svcls_s32_m(inactive.as_signed(), pg.sve_into(), op).as_unsigned() }
4153}
4154#[doc = "Count leading sign bits"]
4155#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcls[_s32]_x)"]
4156#[inline]
4157#[target_feature(enable = "sve")]
4158#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
4159#[cfg_attr(test, assert_instr(cls))]
4160pub fn svcls_s32_x(pg: svbool_t, op: svint32_t) -> svuint32_t {
4161 unsafe { svcls_s32_m(op.as_unsigned(), pg, op) }
4162}
4163#[doc = "Count leading sign bits"]
4164#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcls[_s32]_z)"]
4165#[inline]
4166#[target_feature(enable = "sve")]
4167#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
4168#[cfg_attr(test, assert_instr(cls))]
4169pub fn svcls_s32_z(pg: svbool_t, op: svint32_t) -> svuint32_t {
4170 svcls_s32_m(svdup_n_u32(0), pg, op)
4171}
4172#[doc = "Count leading sign bits"]
4173#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcls[_s64]_m)"]
4174#[inline]
4175#[target_feature(enable = "sve")]
4176#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
4177#[cfg_attr(test, assert_instr(cls))]
4178pub fn svcls_s64_m(inactive: svuint64_t, pg: svbool_t, op: svint64_t) -> svuint64_t {
4179 unsafe extern "unadjusted" {
4180 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.cls.nxv2i64")]
4181 fn _svcls_s64_m(inactive: svint64_t, pg: svbool2_t, op: svint64_t) -> svint64_t;
4182 }
4183 unsafe { _svcls_s64_m(inactive.as_signed(), pg.sve_into(), op).as_unsigned() }
4184}
4185#[doc = "Count leading sign bits"]
4186#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcls[_s64]_x)"]
4187#[inline]
4188#[target_feature(enable = "sve")]
4189#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
4190#[cfg_attr(test, assert_instr(cls))]
4191pub fn svcls_s64_x(pg: svbool_t, op: svint64_t) -> svuint64_t {
4192 unsafe { svcls_s64_m(op.as_unsigned(), pg, op) }
4193}
4194#[doc = "Count leading sign bits"]
4195#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcls[_s64]_z)"]
4196#[inline]
4197#[target_feature(enable = "sve")]
4198#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
4199#[cfg_attr(test, assert_instr(cls))]
4200pub fn svcls_s64_z(pg: svbool_t, op: svint64_t) -> svuint64_t {
4201 svcls_s64_m(svdup_n_u64(0), pg, op)
4202}
4203#[doc = "Count leading zero bits"]
4204#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svclz[_s8]_m)"]
4205#[inline]
4206#[target_feature(enable = "sve")]
4207#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
4208#[cfg_attr(test, assert_instr(clz))]
4209pub fn svclz_s8_m(inactive: svuint8_t, pg: svbool_t, op: svint8_t) -> svuint8_t {
4210 unsafe extern "unadjusted" {
4211 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.clz.nxv16i8")]
4212 fn _svclz_s8_m(inactive: svint8_t, pg: svbool_t, op: svint8_t) -> svint8_t;
4213 }
4214 unsafe { _svclz_s8_m(inactive.as_signed(), pg, op).as_unsigned() }
4215}
4216#[doc = "Count leading zero bits"]
4217#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svclz[_s8]_x)"]
4218#[inline]
4219#[target_feature(enable = "sve")]
4220#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
4221#[cfg_attr(test, assert_instr(clz))]
4222pub fn svclz_s8_x(pg: svbool_t, op: svint8_t) -> svuint8_t {
4223 unsafe { svclz_s8_m(op.as_unsigned(), pg, op) }
4224}
4225#[doc = "Count leading zero bits"]
4226#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svclz[_s8]_z)"]
4227#[inline]
4228#[target_feature(enable = "sve")]
4229#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
4230#[cfg_attr(test, assert_instr(clz))]
4231pub fn svclz_s8_z(pg: svbool_t, op: svint8_t) -> svuint8_t {
4232 svclz_s8_m(svdup_n_u8(0), pg, op)
4233}
4234#[doc = "Count leading zero bits"]
4235#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svclz[_s16]_m)"]
4236#[inline]
4237#[target_feature(enable = "sve")]
4238#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
4239#[cfg_attr(test, assert_instr(clz))]
4240pub fn svclz_s16_m(inactive: svuint16_t, pg: svbool_t, op: svint16_t) -> svuint16_t {
4241 unsafe extern "unadjusted" {
4242 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.clz.nxv8i16")]
4243 fn _svclz_s16_m(inactive: svint16_t, pg: svbool8_t, op: svint16_t) -> svint16_t;
4244 }
4245 unsafe { _svclz_s16_m(inactive.as_signed(), pg.sve_into(), op).as_unsigned() }
4246}
4247#[doc = "Count leading zero bits"]
4248#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svclz[_s16]_x)"]
4249#[inline]
4250#[target_feature(enable = "sve")]
4251#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
4252#[cfg_attr(test, assert_instr(clz))]
4253pub fn svclz_s16_x(pg: svbool_t, op: svint16_t) -> svuint16_t {
4254 unsafe { svclz_s16_m(op.as_unsigned(), pg, op) }
4255}
4256#[doc = "Count leading zero bits"]
4257#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svclz[_s16]_z)"]
4258#[inline]
4259#[target_feature(enable = "sve")]
4260#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
4261#[cfg_attr(test, assert_instr(clz))]
4262pub fn svclz_s16_z(pg: svbool_t, op: svint16_t) -> svuint16_t {
4263 svclz_s16_m(svdup_n_u16(0), pg, op)
4264}
4265#[doc = "Count leading zero bits"]
4266#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svclz[_s32]_m)"]
4267#[inline]
4268#[target_feature(enable = "sve")]
4269#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
4270#[cfg_attr(test, assert_instr(clz))]
4271pub fn svclz_s32_m(inactive: svuint32_t, pg: svbool_t, op: svint32_t) -> svuint32_t {
4272 unsafe extern "unadjusted" {
4273 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.clz.nxv4i32")]
4274 fn _svclz_s32_m(inactive: svint32_t, pg: svbool4_t, op: svint32_t) -> svint32_t;
4275 }
4276 unsafe { _svclz_s32_m(inactive.as_signed(), pg.sve_into(), op).as_unsigned() }
4277}
4278#[doc = "Count leading zero bits"]
4279#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svclz[_s32]_x)"]
4280#[inline]
4281#[target_feature(enable = "sve")]
4282#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
4283#[cfg_attr(test, assert_instr(clz))]
4284pub fn svclz_s32_x(pg: svbool_t, op: svint32_t) -> svuint32_t {
4285 unsafe { svclz_s32_m(op.as_unsigned(), pg, op) }
4286}
4287#[doc = "Count leading zero bits"]
4288#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svclz[_s32]_z)"]
4289#[inline]
4290#[target_feature(enable = "sve")]
4291#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
4292#[cfg_attr(test, assert_instr(clz))]
4293pub fn svclz_s32_z(pg: svbool_t, op: svint32_t) -> svuint32_t {
4294 svclz_s32_m(svdup_n_u32(0), pg, op)
4295}
4296#[doc = "Count leading zero bits"]
4297#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svclz[_s64]_m)"]
4298#[inline]
4299#[target_feature(enable = "sve")]
4300#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
4301#[cfg_attr(test, assert_instr(clz))]
4302pub fn svclz_s64_m(inactive: svuint64_t, pg: svbool_t, op: svint64_t) -> svuint64_t {
4303 unsafe extern "unadjusted" {
4304 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.clz.nxv2i64")]
4305 fn _svclz_s64_m(inactive: svint64_t, pg: svbool2_t, op: svint64_t) -> svint64_t;
4306 }
4307 unsafe { _svclz_s64_m(inactive.as_signed(), pg.sve_into(), op).as_unsigned() }
4308}
4309#[doc = "Count leading zero bits"]
4310#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svclz[_s64]_x)"]
4311#[inline]
4312#[target_feature(enable = "sve")]
4313#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
4314#[cfg_attr(test, assert_instr(clz))]
4315pub fn svclz_s64_x(pg: svbool_t, op: svint64_t) -> svuint64_t {
4316 unsafe { svclz_s64_m(op.as_unsigned(), pg, op) }
4317}
4318#[doc = "Count leading zero bits"]
4319#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svclz[_s64]_z)"]
4320#[inline]
4321#[target_feature(enable = "sve")]
4322#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
4323#[cfg_attr(test, assert_instr(clz))]
4324pub fn svclz_s64_z(pg: svbool_t, op: svint64_t) -> svuint64_t {
4325 svclz_s64_m(svdup_n_u64(0), pg, op)
4326}
4327#[doc = "Count leading zero bits"]
4328#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svclz[_u8]_m)"]
4329#[inline]
4330#[target_feature(enable = "sve")]
4331#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
4332#[cfg_attr(test, assert_instr(clz))]
4333pub fn svclz_u8_m(inactive: svuint8_t, pg: svbool_t, op: svuint8_t) -> svuint8_t {
4334 unsafe { svclz_s8_m(inactive, pg, op.as_signed()) }
4335}
4336#[doc = "Count leading zero bits"]
4337#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svclz[_u8]_x)"]
4338#[inline]
4339#[target_feature(enable = "sve")]
4340#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
4341#[cfg_attr(test, assert_instr(clz))]
4342pub fn svclz_u8_x(pg: svbool_t, op: svuint8_t) -> svuint8_t {
4343 svclz_u8_m(op, pg, op)
4344}
4345#[doc = "Count leading zero bits"]
4346#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svclz[_u8]_z)"]
4347#[inline]
4348#[target_feature(enable = "sve")]
4349#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
4350#[cfg_attr(test, assert_instr(clz))]
4351pub fn svclz_u8_z(pg: svbool_t, op: svuint8_t) -> svuint8_t {
4352 svclz_u8_m(svdup_n_u8(0), pg, op)
4353}
4354#[doc = "Count leading zero bits"]
4355#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svclz[_u16]_m)"]
4356#[inline]
4357#[target_feature(enable = "sve")]
4358#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
4359#[cfg_attr(test, assert_instr(clz))]
4360pub fn svclz_u16_m(inactive: svuint16_t, pg: svbool_t, op: svuint16_t) -> svuint16_t {
4361 unsafe { svclz_s16_m(inactive, pg, op.as_signed()) }
4362}
4363#[doc = "Count leading zero bits"]
4364#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svclz[_u16]_x)"]
4365#[inline]
4366#[target_feature(enable = "sve")]
4367#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
4368#[cfg_attr(test, assert_instr(clz))]
4369pub fn svclz_u16_x(pg: svbool_t, op: svuint16_t) -> svuint16_t {
4370 svclz_u16_m(op, pg, op)
4371}
4372#[doc = "Count leading zero bits"]
4373#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svclz[_u16]_z)"]
4374#[inline]
4375#[target_feature(enable = "sve")]
4376#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
4377#[cfg_attr(test, assert_instr(clz))]
4378pub fn svclz_u16_z(pg: svbool_t, op: svuint16_t) -> svuint16_t {
4379 svclz_u16_m(svdup_n_u16(0), pg, op)
4380}
4381#[doc = "Count leading zero bits"]
4382#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svclz[_u32]_m)"]
4383#[inline]
4384#[target_feature(enable = "sve")]
4385#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
4386#[cfg_attr(test, assert_instr(clz))]
4387pub fn svclz_u32_m(inactive: svuint32_t, pg: svbool_t, op: svuint32_t) -> svuint32_t {
4388 unsafe { svclz_s32_m(inactive, pg, op.as_signed()) }
4389}
4390#[doc = "Count leading zero bits"]
4391#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svclz[_u32]_x)"]
4392#[inline]
4393#[target_feature(enable = "sve")]
4394#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
4395#[cfg_attr(test, assert_instr(clz))]
4396pub fn svclz_u32_x(pg: svbool_t, op: svuint32_t) -> svuint32_t {
4397 svclz_u32_m(op, pg, op)
4398}
4399#[doc = "Count leading zero bits"]
4400#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svclz[_u32]_z)"]
4401#[inline]
4402#[target_feature(enable = "sve")]
4403#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
4404#[cfg_attr(test, assert_instr(clz))]
4405pub fn svclz_u32_z(pg: svbool_t, op: svuint32_t) -> svuint32_t {
4406 svclz_u32_m(svdup_n_u32(0), pg, op)
4407}
4408#[doc = "Count leading zero bits"]
4409#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svclz[_u64]_m)"]
4410#[inline]
4411#[target_feature(enable = "sve")]
4412#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
4413#[cfg_attr(test, assert_instr(clz))]
4414pub fn svclz_u64_m(inactive: svuint64_t, pg: svbool_t, op: svuint64_t) -> svuint64_t {
4415 unsafe { svclz_s64_m(inactive, pg, op.as_signed()) }
4416}
4417#[doc = "Count leading zero bits"]
4418#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svclz[_u64]_x)"]
4419#[inline]
4420#[target_feature(enable = "sve")]
4421#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
4422#[cfg_attr(test, assert_instr(clz))]
4423pub fn svclz_u64_x(pg: svbool_t, op: svuint64_t) -> svuint64_t {
4424 svclz_u64_m(op, pg, op)
4425}
4426#[doc = "Count leading zero bits"]
4427#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svclz[_u64]_z)"]
4428#[inline]
4429#[target_feature(enable = "sve")]
4430#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
4431#[cfg_attr(test, assert_instr(clz))]
4432pub fn svclz_u64_z(pg: svbool_t, op: svuint64_t) -> svuint64_t {
4433 svclz_u64_m(svdup_n_u64(0), pg, op)
4434}
4435#[doc = "Complex multiply-add with rotate"]
4436#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmla[_f32]_m)"]
4437#[inline]
4438#[target_feature(enable = "sve")]
4439#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
4440#[cfg_attr(test, assert_instr(fcmla, IMM_ROTATION = 90))]
4441pub fn svcmla_f32_m<const IMM_ROTATION: i32>(
4442 pg: svbool_t,
4443 op1: svfloat32_t,
4444 op2: svfloat32_t,
4445 op3: svfloat32_t,
4446) -> svfloat32_t {
4447 static_assert!(
4448 IMM_ROTATION == 0 || IMM_ROTATION == 90 || IMM_ROTATION == 180 || IMM_ROTATION == 270
4449 );
4450 unsafe extern "unadjusted" {
4451 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.fcmla.nxv4f32")]
4452 fn _svcmla_f32_m(
4453 pg: svbool4_t,
4454 op1: svfloat32_t,
4455 op2: svfloat32_t,
4456 op3: svfloat32_t,
4457 imm_rotation: i32,
4458 ) -> svfloat32_t;
4459 }
4460 unsafe { _svcmla_f32_m(pg.sve_into(), op1, op2, op3, IMM_ROTATION) }
4461}
4462#[doc = "Complex multiply-add with rotate"]
4463#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmla[_f32]_x)"]
4464#[inline]
4465#[target_feature(enable = "sve")]
4466#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
4467#[cfg_attr(test, assert_instr(fcmla, IMM_ROTATION = 90))]
4468pub fn svcmla_f32_x<const IMM_ROTATION: i32>(
4469 pg: svbool_t,
4470 op1: svfloat32_t,
4471 op2: svfloat32_t,
4472 op3: svfloat32_t,
4473) -> svfloat32_t {
4474 svcmla_f32_m::<IMM_ROTATION>(pg, op1, op2, op3)
4475}
4476#[doc = "Complex multiply-add with rotate"]
4477#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmla[_f32]_z)"]
4478#[inline]
4479#[target_feature(enable = "sve")]
4480#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
4481#[cfg_attr(test, assert_instr(fcmla, IMM_ROTATION = 90))]
4482pub fn svcmla_f32_z<const IMM_ROTATION: i32>(
4483 pg: svbool_t,
4484 op1: svfloat32_t,
4485 op2: svfloat32_t,
4486 op3: svfloat32_t,
4487) -> svfloat32_t {
4488 svcmla_f32_m::<IMM_ROTATION>(pg, svsel_f32(pg, op1, svdup_n_f32(0.0)), op2, op3)
4489}
4490#[doc = "Complex multiply-add with rotate"]
4491#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmla[_f64]_m)"]
4492#[inline]
4493#[target_feature(enable = "sve")]
4494#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
4495#[cfg_attr(test, assert_instr(fcmla, IMM_ROTATION = 90))]
4496pub fn svcmla_f64_m<const IMM_ROTATION: i32>(
4497 pg: svbool_t,
4498 op1: svfloat64_t,
4499 op2: svfloat64_t,
4500 op3: svfloat64_t,
4501) -> svfloat64_t {
4502 static_assert!(
4503 IMM_ROTATION == 0 || IMM_ROTATION == 90 || IMM_ROTATION == 180 || IMM_ROTATION == 270
4504 );
4505 unsafe extern "unadjusted" {
4506 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.fcmla.nxv2f64")]
4507 fn _svcmla_f64_m(
4508 pg: svbool2_t,
4509 op1: svfloat64_t,
4510 op2: svfloat64_t,
4511 op3: svfloat64_t,
4512 imm_rotation: i32,
4513 ) -> svfloat64_t;
4514 }
4515 unsafe { _svcmla_f64_m(pg.sve_into(), op1, op2, op3, IMM_ROTATION) }
4516}
4517#[doc = "Complex multiply-add with rotate"]
4518#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmla[_f64]_x)"]
4519#[inline]
4520#[target_feature(enable = "sve")]
4521#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
4522#[cfg_attr(test, assert_instr(fcmla, IMM_ROTATION = 90))]
4523pub fn svcmla_f64_x<const IMM_ROTATION: i32>(
4524 pg: svbool_t,
4525 op1: svfloat64_t,
4526 op2: svfloat64_t,
4527 op3: svfloat64_t,
4528) -> svfloat64_t {
4529 svcmla_f64_m::<IMM_ROTATION>(pg, op1, op2, op3)
4530}
4531#[doc = "Complex multiply-add with rotate"]
4532#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmla[_f64]_z)"]
4533#[inline]
4534#[target_feature(enable = "sve")]
4535#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
4536#[cfg_attr(test, assert_instr(fcmla, IMM_ROTATION = 90))]
4537pub fn svcmla_f64_z<const IMM_ROTATION: i32>(
4538 pg: svbool_t,
4539 op1: svfloat64_t,
4540 op2: svfloat64_t,
4541 op3: svfloat64_t,
4542) -> svfloat64_t {
4543 svcmla_f64_m::<IMM_ROTATION>(pg, svsel_f64(pg, op1, svdup_n_f64(0.0)), op2, op3)
4544}
4545#[doc = "Complex multiply-add with rotate"]
4546#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmla_lane[_f32])"]
4547#[inline]
4548#[target_feature(enable = "sve")]
4549#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
4550#[cfg_attr(test, assert_instr(fcmla, IMM_INDEX = 0, IMM_ROTATION = 90))]
4551pub fn svcmla_lane_f32<const IMM_INDEX: i32, const IMM_ROTATION: i32>(
4552 op1: svfloat32_t,
4553 op2: svfloat32_t,
4554 op3: svfloat32_t,
4555) -> svfloat32_t {
4556 static_assert_range!(IMM_INDEX, 0..=1);
4557 static_assert!(
4558 IMM_ROTATION == 0 || IMM_ROTATION == 90 || IMM_ROTATION == 180 || IMM_ROTATION == 270
4559 );
4560 unsafe extern "unadjusted" {
4561 #[cfg_attr(
4562 target_arch = "aarch64",
4563 link_name = "llvm.aarch64.sve.fcmla.lane.nxv4f32"
4564 )]
4565 fn _svcmla_lane_f32(
4566 op1: svfloat32_t,
4567 op2: svfloat32_t,
4568 op3: svfloat32_t,
4569 imm_index: i32,
4570 imm_rotation: i32,
4571 ) -> svfloat32_t;
4572 }
4573 unsafe { _svcmla_lane_f32(op1, op2, op3, IMM_INDEX, IMM_ROTATION) }
4574}
4575#[doc = "Compare equal to"]
4576#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpeq[_f32])"]
4577#[inline]
4578#[target_feature(enable = "sve")]
4579#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
4580#[cfg_attr(test, assert_instr(fcmeq))]
4581pub fn svcmpeq_f32(pg: svbool_t, op1: svfloat32_t, op2: svfloat32_t) -> svbool_t {
4582 unsafe extern "unadjusted" {
4583 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.fcmpeq.nxv4f32")]
4584 fn _svcmpeq_f32(pg: svbool4_t, op1: svfloat32_t, op2: svfloat32_t) -> svbool4_t;
4585 }
4586 unsafe { _svcmpeq_f32(pg.sve_into(), op1, op2).sve_into() }
4587}
4588#[doc = "Compare equal to"]
4589#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpeq[_n_f32])"]
4590#[inline]
4591#[target_feature(enable = "sve")]
4592#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
4593#[cfg_attr(test, assert_instr(fcmeq))]
4594pub fn svcmpeq_n_f32(pg: svbool_t, op1: svfloat32_t, op2: f32) -> svbool_t {
4595 svcmpeq_f32(pg, op1, svdup_n_f32(op2))
4596}
4597#[doc = "Compare equal to"]
4598#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpeq[_f64])"]
4599#[inline]
4600#[target_feature(enable = "sve")]
4601#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
4602#[cfg_attr(test, assert_instr(fcmeq))]
4603pub fn svcmpeq_f64(pg: svbool_t, op1: svfloat64_t, op2: svfloat64_t) -> svbool_t {
4604 unsafe extern "unadjusted" {
4605 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.fcmpeq.nxv2f64")]
4606 fn _svcmpeq_f64(pg: svbool2_t, op1: svfloat64_t, op2: svfloat64_t) -> svbool2_t;
4607 }
4608 unsafe { _svcmpeq_f64(pg.sve_into(), op1, op2).sve_into() }
4609}
4610#[doc = "Compare equal to"]
4611#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpeq[_n_f64])"]
4612#[inline]
4613#[target_feature(enable = "sve")]
4614#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
4615#[cfg_attr(test, assert_instr(fcmeq))]
4616pub fn svcmpeq_n_f64(pg: svbool_t, op1: svfloat64_t, op2: f64) -> svbool_t {
4617 svcmpeq_f64(pg, op1, svdup_n_f64(op2))
4618}
4619#[doc = "Compare equal to"]
4620#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpeq[_s8])"]
4621#[inline]
4622#[target_feature(enable = "sve")]
4623#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
4624#[cfg_attr(test, assert_instr(cmpeq))]
4625pub fn svcmpeq_s8(pg: svbool_t, op1: svint8_t, op2: svint8_t) -> svbool_t {
4626 unsafe extern "unadjusted" {
4627 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.cmpeq.nxv16i8")]
4628 fn _svcmpeq_s8(pg: svbool_t, op1: svint8_t, op2: svint8_t) -> svbool_t;
4629 }
4630 unsafe { _svcmpeq_s8(pg, op1, op2) }
4631}
4632#[doc = "Compare equal to"]
4633#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpeq[_n_s8])"]
4634#[inline]
4635#[target_feature(enable = "sve")]
4636#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
4637#[cfg_attr(test, assert_instr(cmpeq))]
4638pub fn svcmpeq_n_s8(pg: svbool_t, op1: svint8_t, op2: i8) -> svbool_t {
4639 svcmpeq_s8(pg, op1, svdup_n_s8(op2))
4640}
4641#[doc = "Compare equal to"]
4642#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpeq[_s16])"]
4643#[inline]
4644#[target_feature(enable = "sve")]
4645#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
4646#[cfg_attr(test, assert_instr(cmpeq))]
4647pub fn svcmpeq_s16(pg: svbool_t, op1: svint16_t, op2: svint16_t) -> svbool_t {
4648 unsafe extern "unadjusted" {
4649 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.cmpeq.nxv8i16")]
4650 fn _svcmpeq_s16(pg: svbool8_t, op1: svint16_t, op2: svint16_t) -> svbool8_t;
4651 }
4652 unsafe { _svcmpeq_s16(pg.sve_into(), op1, op2).sve_into() }
4653}
4654#[doc = "Compare equal to"]
4655#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpeq[_n_s16])"]
4656#[inline]
4657#[target_feature(enable = "sve")]
4658#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
4659#[cfg_attr(test, assert_instr(cmpeq))]
4660pub fn svcmpeq_n_s16(pg: svbool_t, op1: svint16_t, op2: i16) -> svbool_t {
4661 svcmpeq_s16(pg, op1, svdup_n_s16(op2))
4662}
4663#[doc = "Compare equal to"]
4664#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpeq[_s32])"]
4665#[inline]
4666#[target_feature(enable = "sve")]
4667#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
4668#[cfg_attr(test, assert_instr(cmpeq))]
4669pub fn svcmpeq_s32(pg: svbool_t, op1: svint32_t, op2: svint32_t) -> svbool_t {
4670 unsafe extern "unadjusted" {
4671 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.cmpeq.nxv4i32")]
4672 fn _svcmpeq_s32(pg: svbool4_t, op1: svint32_t, op2: svint32_t) -> svbool4_t;
4673 }
4674 unsafe { _svcmpeq_s32(pg.sve_into(), op1, op2).sve_into() }
4675}
4676#[doc = "Compare equal to"]
4677#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpeq[_n_s32])"]
4678#[inline]
4679#[target_feature(enable = "sve")]
4680#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
4681#[cfg_attr(test, assert_instr(cmpeq))]
4682pub fn svcmpeq_n_s32(pg: svbool_t, op1: svint32_t, op2: i32) -> svbool_t {
4683 svcmpeq_s32(pg, op1, svdup_n_s32(op2))
4684}
4685#[doc = "Compare equal to"]
4686#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpeq[_s64])"]
4687#[inline]
4688#[target_feature(enable = "sve")]
4689#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
4690#[cfg_attr(test, assert_instr(cmpeq))]
4691pub fn svcmpeq_s64(pg: svbool_t, op1: svint64_t, op2: svint64_t) -> svbool_t {
4692 unsafe extern "unadjusted" {
4693 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.cmpeq.nxv2i64")]
4694 fn _svcmpeq_s64(pg: svbool2_t, op1: svint64_t, op2: svint64_t) -> svbool2_t;
4695 }
4696 unsafe { _svcmpeq_s64(pg.sve_into(), op1, op2).sve_into() }
4697}
4698#[doc = "Compare equal to"]
4699#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpeq[_n_s64])"]
4700#[inline]
4701#[target_feature(enable = "sve")]
4702#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
4703#[cfg_attr(test, assert_instr(cmpeq))]
4704pub fn svcmpeq_n_s64(pg: svbool_t, op1: svint64_t, op2: i64) -> svbool_t {
4705 svcmpeq_s64(pg, op1, svdup_n_s64(op2))
4706}
4707#[doc = "Compare equal to"]
4708#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpeq[_u8])"]
4709#[inline]
4710#[target_feature(enable = "sve")]
4711#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
4712#[cfg_attr(test, assert_instr(cmpeq))]
4713pub fn svcmpeq_u8(pg: svbool_t, op1: svuint8_t, op2: svuint8_t) -> svbool_t {
4714 unsafe { svcmpeq_s8(pg, op1.as_signed(), op2.as_signed()) }
4715}
4716#[doc = "Compare equal to"]
4717#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpeq[_n_u8])"]
4718#[inline]
4719#[target_feature(enable = "sve")]
4720#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
4721#[cfg_attr(test, assert_instr(cmpeq))]
4722pub fn svcmpeq_n_u8(pg: svbool_t, op1: svuint8_t, op2: u8) -> svbool_t {
4723 svcmpeq_u8(pg, op1, svdup_n_u8(op2))
4724}
4725#[doc = "Compare equal to"]
4726#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpeq[_u16])"]
4727#[inline]
4728#[target_feature(enable = "sve")]
4729#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
4730#[cfg_attr(test, assert_instr(cmpeq))]
4731pub fn svcmpeq_u16(pg: svbool_t, op1: svuint16_t, op2: svuint16_t) -> svbool_t {
4732 unsafe { svcmpeq_s16(pg, op1.as_signed(), op2.as_signed()) }
4733}
4734#[doc = "Compare equal to"]
4735#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpeq[_n_u16])"]
4736#[inline]
4737#[target_feature(enable = "sve")]
4738#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
4739#[cfg_attr(test, assert_instr(cmpeq))]
4740pub fn svcmpeq_n_u16(pg: svbool_t, op1: svuint16_t, op2: u16) -> svbool_t {
4741 svcmpeq_u16(pg, op1, svdup_n_u16(op2))
4742}
4743#[doc = "Compare equal to"]
4744#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpeq[_u32])"]
4745#[inline]
4746#[target_feature(enable = "sve")]
4747#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
4748#[cfg_attr(test, assert_instr(cmpeq))]
4749pub fn svcmpeq_u32(pg: svbool_t, op1: svuint32_t, op2: svuint32_t) -> svbool_t {
4750 unsafe { svcmpeq_s32(pg, op1.as_signed(), op2.as_signed()) }
4751}
4752#[doc = "Compare equal to"]
4753#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpeq[_n_u32])"]
4754#[inline]
4755#[target_feature(enable = "sve")]
4756#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
4757#[cfg_attr(test, assert_instr(cmpeq))]
4758pub fn svcmpeq_n_u32(pg: svbool_t, op1: svuint32_t, op2: u32) -> svbool_t {
4759 svcmpeq_u32(pg, op1, svdup_n_u32(op2))
4760}
4761#[doc = "Compare equal to"]
4762#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpeq[_u64])"]
4763#[inline]
4764#[target_feature(enable = "sve")]
4765#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
4766#[cfg_attr(test, assert_instr(cmpeq))]
4767pub fn svcmpeq_u64(pg: svbool_t, op1: svuint64_t, op2: svuint64_t) -> svbool_t {
4768 unsafe { svcmpeq_s64(pg, op1.as_signed(), op2.as_signed()) }
4769}
4770#[doc = "Compare equal to"]
4771#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpeq[_n_u64])"]
4772#[inline]
4773#[target_feature(enable = "sve")]
4774#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
4775#[cfg_attr(test, assert_instr(cmpeq))]
4776pub fn svcmpeq_n_u64(pg: svbool_t, op1: svuint64_t, op2: u64) -> svbool_t {
4777 svcmpeq_u64(pg, op1, svdup_n_u64(op2))
4778}
4779#[doc = "Compare equal to"]
4780#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpeq_wide[_s8])"]
4781#[inline]
4782#[target_feature(enable = "sve")]
4783#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
4784#[cfg_attr(test, assert_instr(cmpeq))]
4785pub fn svcmpeq_wide_s8(pg: svbool_t, op1: svint8_t, op2: svint64_t) -> svbool_t {
4786 unsafe extern "unadjusted" {
4787 #[cfg_attr(
4788 target_arch = "aarch64",
4789 link_name = "llvm.aarch64.sve.cmpeq.wide.nxv16i8"
4790 )]
4791 fn _svcmpeq_wide_s8(pg: svbool_t, op1: svint8_t, op2: svint64_t) -> svbool_t;
4792 }
4793 unsafe { _svcmpeq_wide_s8(pg, op1, op2) }
4794}
4795#[doc = "Compare equal to"]
4796#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpeq_wide[_n_s8])"]
4797#[inline]
4798#[target_feature(enable = "sve")]
4799#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
4800#[cfg_attr(test, assert_instr(cmpeq))]
4801pub fn svcmpeq_wide_n_s8(pg: svbool_t, op1: svint8_t, op2: i64) -> svbool_t {
4802 svcmpeq_wide_s8(pg, op1, svdup_n_s64(op2))
4803}
4804#[doc = "Compare equal to"]
4805#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpeq_wide[_s16])"]
4806#[inline]
4807#[target_feature(enable = "sve")]
4808#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
4809#[cfg_attr(test, assert_instr(cmpeq))]
4810pub fn svcmpeq_wide_s16(pg: svbool_t, op1: svint16_t, op2: svint64_t) -> svbool_t {
4811 unsafe extern "unadjusted" {
4812 #[cfg_attr(
4813 target_arch = "aarch64",
4814 link_name = "llvm.aarch64.sve.cmpeq.wide.nxv8i16"
4815 )]
4816 fn _svcmpeq_wide_s16(pg: svbool8_t, op1: svint16_t, op2: svint64_t) -> svbool8_t;
4817 }
4818 unsafe { _svcmpeq_wide_s16(pg.sve_into(), op1, op2).sve_into() }
4819}
4820#[doc = "Compare equal to"]
4821#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpeq_wide[_n_s16])"]
4822#[inline]
4823#[target_feature(enable = "sve")]
4824#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
4825#[cfg_attr(test, assert_instr(cmpeq))]
4826pub fn svcmpeq_wide_n_s16(pg: svbool_t, op1: svint16_t, op2: i64) -> svbool_t {
4827 svcmpeq_wide_s16(pg, op1, svdup_n_s64(op2))
4828}
4829#[doc = "Compare equal to"]
4830#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpeq_wide[_s32])"]
4831#[inline]
4832#[target_feature(enable = "sve")]
4833#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
4834#[cfg_attr(test, assert_instr(cmpeq))]
4835pub fn svcmpeq_wide_s32(pg: svbool_t, op1: svint32_t, op2: svint64_t) -> svbool_t {
4836 unsafe extern "unadjusted" {
4837 #[cfg_attr(
4838 target_arch = "aarch64",
4839 link_name = "llvm.aarch64.sve.cmpeq.wide.nxv4i32"
4840 )]
4841 fn _svcmpeq_wide_s32(pg: svbool4_t, op1: svint32_t, op2: svint64_t) -> svbool4_t;
4842 }
4843 unsafe { _svcmpeq_wide_s32(pg.sve_into(), op1, op2).sve_into() }
4844}
4845#[doc = "Compare equal to"]
4846#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpeq_wide[_n_s32])"]
4847#[inline]
4848#[target_feature(enable = "sve")]
4849#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
4850#[cfg_attr(test, assert_instr(cmpeq))]
4851pub fn svcmpeq_wide_n_s32(pg: svbool_t, op1: svint32_t, op2: i64) -> svbool_t {
4852 svcmpeq_wide_s32(pg, op1, svdup_n_s64(op2))
4853}
4854#[doc = "Compare greater than or equal to"]
4855#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpge[_f32])"]
4856#[inline]
4857#[target_feature(enable = "sve")]
4858#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
4859#[cfg_attr(test, assert_instr(fcmge))]
4860pub fn svcmpge_f32(pg: svbool_t, op1: svfloat32_t, op2: svfloat32_t) -> svbool_t {
4861 unsafe extern "unadjusted" {
4862 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.fcmpge.nxv4f32")]
4863 fn _svcmpge_f32(pg: svbool4_t, op1: svfloat32_t, op2: svfloat32_t) -> svbool4_t;
4864 }
4865 unsafe { _svcmpge_f32(pg.sve_into(), op1, op2).sve_into() }
4866}
4867#[doc = "Compare greater than or equal to"]
4868#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpge[_n_f32])"]
4869#[inline]
4870#[target_feature(enable = "sve")]
4871#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
4872#[cfg_attr(test, assert_instr(fcmge))]
4873pub fn svcmpge_n_f32(pg: svbool_t, op1: svfloat32_t, op2: f32) -> svbool_t {
4874 svcmpge_f32(pg, op1, svdup_n_f32(op2))
4875}
4876#[doc = "Compare greater than or equal to"]
4877#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpge[_f64])"]
4878#[inline]
4879#[target_feature(enable = "sve")]
4880#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
4881#[cfg_attr(test, assert_instr(fcmge))]
4882pub fn svcmpge_f64(pg: svbool_t, op1: svfloat64_t, op2: svfloat64_t) -> svbool_t {
4883 unsafe extern "unadjusted" {
4884 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.fcmpge.nxv2f64")]
4885 fn _svcmpge_f64(pg: svbool2_t, op1: svfloat64_t, op2: svfloat64_t) -> svbool2_t;
4886 }
4887 unsafe { _svcmpge_f64(pg.sve_into(), op1, op2).sve_into() }
4888}
4889#[doc = "Compare greater than or equal to"]
4890#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpge[_n_f64])"]
4891#[inline]
4892#[target_feature(enable = "sve")]
4893#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
4894#[cfg_attr(test, assert_instr(fcmge))]
4895pub fn svcmpge_n_f64(pg: svbool_t, op1: svfloat64_t, op2: f64) -> svbool_t {
4896 svcmpge_f64(pg, op1, svdup_n_f64(op2))
4897}
4898#[doc = "Compare greater than or equal to"]
4899#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpge[_s8])"]
4900#[inline]
4901#[target_feature(enable = "sve")]
4902#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
4903#[cfg_attr(test, assert_instr(cmpge))]
4904pub fn svcmpge_s8(pg: svbool_t, op1: svint8_t, op2: svint8_t) -> svbool_t {
4905 unsafe extern "unadjusted" {
4906 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.cmpge.nxv16i8")]
4907 fn _svcmpge_s8(pg: svbool_t, op1: svint8_t, op2: svint8_t) -> svbool_t;
4908 }
4909 unsafe { _svcmpge_s8(pg, op1, op2) }
4910}
4911#[doc = "Compare greater than or equal to"]
4912#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpge[_n_s8])"]
4913#[inline]
4914#[target_feature(enable = "sve")]
4915#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
4916#[cfg_attr(test, assert_instr(cmpge))]
4917pub fn svcmpge_n_s8(pg: svbool_t, op1: svint8_t, op2: i8) -> svbool_t {
4918 svcmpge_s8(pg, op1, svdup_n_s8(op2))
4919}
4920#[doc = "Compare greater than or equal to"]
4921#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpge[_s16])"]
4922#[inline]
4923#[target_feature(enable = "sve")]
4924#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
4925#[cfg_attr(test, assert_instr(cmpge))]
4926pub fn svcmpge_s16(pg: svbool_t, op1: svint16_t, op2: svint16_t) -> svbool_t {
4927 unsafe extern "unadjusted" {
4928 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.cmpge.nxv8i16")]
4929 fn _svcmpge_s16(pg: svbool8_t, op1: svint16_t, op2: svint16_t) -> svbool8_t;
4930 }
4931 unsafe { _svcmpge_s16(pg.sve_into(), op1, op2).sve_into() }
4932}
4933#[doc = "Compare greater than or equal to"]
4934#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpge[_n_s16])"]
4935#[inline]
4936#[target_feature(enable = "sve")]
4937#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
4938#[cfg_attr(test, assert_instr(cmpge))]
4939pub fn svcmpge_n_s16(pg: svbool_t, op1: svint16_t, op2: i16) -> svbool_t {
4940 svcmpge_s16(pg, op1, svdup_n_s16(op2))
4941}
4942#[doc = "Compare greater than or equal to"]
4943#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpge[_s32])"]
4944#[inline]
4945#[target_feature(enable = "sve")]
4946#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
4947#[cfg_attr(test, assert_instr(cmpge))]
4948pub fn svcmpge_s32(pg: svbool_t, op1: svint32_t, op2: svint32_t) -> svbool_t {
4949 unsafe extern "unadjusted" {
4950 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.cmpge.nxv4i32")]
4951 fn _svcmpge_s32(pg: svbool4_t, op1: svint32_t, op2: svint32_t) -> svbool4_t;
4952 }
4953 unsafe { _svcmpge_s32(pg.sve_into(), op1, op2).sve_into() }
4954}
4955#[doc = "Compare greater than or equal to"]
4956#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpge[_n_s32])"]
4957#[inline]
4958#[target_feature(enable = "sve")]
4959#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
4960#[cfg_attr(test, assert_instr(cmpge))]
4961pub fn svcmpge_n_s32(pg: svbool_t, op1: svint32_t, op2: i32) -> svbool_t {
4962 svcmpge_s32(pg, op1, svdup_n_s32(op2))
4963}
4964#[doc = "Compare greater than or equal to"]
4965#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpge[_s64])"]
4966#[inline]
4967#[target_feature(enable = "sve")]
4968#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
4969#[cfg_attr(test, assert_instr(cmpge))]
4970pub fn svcmpge_s64(pg: svbool_t, op1: svint64_t, op2: svint64_t) -> svbool_t {
4971 unsafe extern "unadjusted" {
4972 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.cmpge.nxv2i64")]
4973 fn _svcmpge_s64(pg: svbool2_t, op1: svint64_t, op2: svint64_t) -> svbool2_t;
4974 }
4975 unsafe { _svcmpge_s64(pg.sve_into(), op1, op2).sve_into() }
4976}
4977#[doc = "Compare greater than or equal to"]
4978#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpge[_n_s64])"]
4979#[inline]
4980#[target_feature(enable = "sve")]
4981#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
4982#[cfg_attr(test, assert_instr(cmpge))]
4983pub fn svcmpge_n_s64(pg: svbool_t, op1: svint64_t, op2: i64) -> svbool_t {
4984 svcmpge_s64(pg, op1, svdup_n_s64(op2))
4985}
4986#[doc = "Compare greater than or equal to"]
4987#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpge[_u8])"]
4988#[inline]
4989#[target_feature(enable = "sve")]
4990#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
4991#[cfg_attr(test, assert_instr(cmphs))]
4992pub fn svcmpge_u8(pg: svbool_t, op1: svuint8_t, op2: svuint8_t) -> svbool_t {
4993 unsafe extern "unadjusted" {
4994 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.cmphs.nxv16i8")]
4995 fn _svcmpge_u8(pg: svbool_t, op1: svint8_t, op2: svint8_t) -> svbool_t;
4996 }
4997 unsafe { _svcmpge_u8(pg, op1.as_signed(), op2.as_signed()) }
4998}
4999#[doc = "Compare greater than or equal to"]
5000#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpge[_n_u8])"]
5001#[inline]
5002#[target_feature(enable = "sve")]
5003#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
5004#[cfg_attr(test, assert_instr(cmphs))]
5005pub fn svcmpge_n_u8(pg: svbool_t, op1: svuint8_t, op2: u8) -> svbool_t {
5006 svcmpge_u8(pg, op1, svdup_n_u8(op2))
5007}
5008#[doc = "Compare greater than or equal to"]
5009#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpge[_u16])"]
5010#[inline]
5011#[target_feature(enable = "sve")]
5012#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
5013#[cfg_attr(test, assert_instr(cmphs))]
5014pub fn svcmpge_u16(pg: svbool_t, op1: svuint16_t, op2: svuint16_t) -> svbool_t {
5015 unsafe extern "unadjusted" {
5016 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.cmphs.nxv8i16")]
5017 fn _svcmpge_u16(pg: svbool8_t, op1: svint16_t, op2: svint16_t) -> svbool8_t;
5018 }
5019 unsafe { _svcmpge_u16(pg.sve_into(), op1.as_signed(), op2.as_signed()).sve_into() }
5020}
5021#[doc = "Compare greater than or equal to"]
5022#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpge[_n_u16])"]
5023#[inline]
5024#[target_feature(enable = "sve")]
5025#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
5026#[cfg_attr(test, assert_instr(cmphs))]
5027pub fn svcmpge_n_u16(pg: svbool_t, op1: svuint16_t, op2: u16) -> svbool_t {
5028 svcmpge_u16(pg, op1, svdup_n_u16(op2))
5029}
5030#[doc = "Compare greater than or equal to"]
5031#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpge[_u32])"]
5032#[inline]
5033#[target_feature(enable = "sve")]
5034#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
5035#[cfg_attr(test, assert_instr(cmphs))]
5036pub fn svcmpge_u32(pg: svbool_t, op1: svuint32_t, op2: svuint32_t) -> svbool_t {
5037 unsafe extern "unadjusted" {
5038 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.cmphs.nxv4i32")]
5039 fn _svcmpge_u32(pg: svbool4_t, op1: svint32_t, op2: svint32_t) -> svbool4_t;
5040 }
5041 unsafe { _svcmpge_u32(pg.sve_into(), op1.as_signed(), op2.as_signed()).sve_into() }
5042}
5043#[doc = "Compare greater than or equal to"]
5044#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpge[_n_u32])"]
5045#[inline]
5046#[target_feature(enable = "sve")]
5047#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
5048#[cfg_attr(test, assert_instr(cmphs))]
5049pub fn svcmpge_n_u32(pg: svbool_t, op1: svuint32_t, op2: u32) -> svbool_t {
5050 svcmpge_u32(pg, op1, svdup_n_u32(op2))
5051}
5052#[doc = "Compare greater than or equal to"]
5053#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpge[_u64])"]
5054#[inline]
5055#[target_feature(enable = "sve")]
5056#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
5057#[cfg_attr(test, assert_instr(cmphs))]
5058pub fn svcmpge_u64(pg: svbool_t, op1: svuint64_t, op2: svuint64_t) -> svbool_t {
5059 unsafe extern "unadjusted" {
5060 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.cmphs.nxv2i64")]
5061 fn _svcmpge_u64(pg: svbool2_t, op1: svint64_t, op2: svint64_t) -> svbool2_t;
5062 }
5063 unsafe { _svcmpge_u64(pg.sve_into(), op1.as_signed(), op2.as_signed()).sve_into() }
5064}
5065#[doc = "Compare greater than or equal to"]
5066#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpge[_n_u64])"]
5067#[inline]
5068#[target_feature(enable = "sve")]
5069#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
5070#[cfg_attr(test, assert_instr(cmphs))]
5071pub fn svcmpge_n_u64(pg: svbool_t, op1: svuint64_t, op2: u64) -> svbool_t {
5072 svcmpge_u64(pg, op1, svdup_n_u64(op2))
5073}
5074#[doc = "Compare greater than or equal to"]
5075#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpge_wide[_s8])"]
5076#[inline]
5077#[target_feature(enable = "sve")]
5078#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
5079#[cfg_attr(test, assert_instr(cmpge))]
5080pub fn svcmpge_wide_s8(pg: svbool_t, op1: svint8_t, op2: svint64_t) -> svbool_t {
5081 unsafe extern "unadjusted" {
5082 #[cfg_attr(
5083 target_arch = "aarch64",
5084 link_name = "llvm.aarch64.sve.cmpge.wide.nxv16i8"
5085 )]
5086 fn _svcmpge_wide_s8(pg: svbool_t, op1: svint8_t, op2: svint64_t) -> svbool_t;
5087 }
5088 unsafe { _svcmpge_wide_s8(pg, op1, op2) }
5089}
5090#[doc = "Compare greater than or equal to"]
5091#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpge_wide[_n_s8])"]
5092#[inline]
5093#[target_feature(enable = "sve")]
5094#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
5095#[cfg_attr(test, assert_instr(cmpge))]
5096pub fn svcmpge_wide_n_s8(pg: svbool_t, op1: svint8_t, op2: i64) -> svbool_t {
5097 svcmpge_wide_s8(pg, op1, svdup_n_s64(op2))
5098}
5099#[doc = "Compare greater than or equal to"]
5100#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpge_wide[_s16])"]
5101#[inline]
5102#[target_feature(enable = "sve")]
5103#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
5104#[cfg_attr(test, assert_instr(cmpge))]
5105pub fn svcmpge_wide_s16(pg: svbool_t, op1: svint16_t, op2: svint64_t) -> svbool_t {
5106 unsafe extern "unadjusted" {
5107 #[cfg_attr(
5108 target_arch = "aarch64",
5109 link_name = "llvm.aarch64.sve.cmpge.wide.nxv8i16"
5110 )]
5111 fn _svcmpge_wide_s16(pg: svbool8_t, op1: svint16_t, op2: svint64_t) -> svbool8_t;
5112 }
5113 unsafe { _svcmpge_wide_s16(pg.sve_into(), op1, op2).sve_into() }
5114}
5115#[doc = "Compare greater than or equal to"]
5116#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpge_wide[_n_s16])"]
5117#[inline]
5118#[target_feature(enable = "sve")]
5119#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
5120#[cfg_attr(test, assert_instr(cmpge))]
5121pub fn svcmpge_wide_n_s16(pg: svbool_t, op1: svint16_t, op2: i64) -> svbool_t {
5122 svcmpge_wide_s16(pg, op1, svdup_n_s64(op2))
5123}
5124#[doc = "Compare greater than or equal to"]
5125#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpge_wide[_s32])"]
5126#[inline]
5127#[target_feature(enable = "sve")]
5128#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
5129#[cfg_attr(test, assert_instr(cmpge))]
5130pub fn svcmpge_wide_s32(pg: svbool_t, op1: svint32_t, op2: svint64_t) -> svbool_t {
5131 unsafe extern "unadjusted" {
5132 #[cfg_attr(
5133 target_arch = "aarch64",
5134 link_name = "llvm.aarch64.sve.cmpge.wide.nxv4i32"
5135 )]
5136 fn _svcmpge_wide_s32(pg: svbool4_t, op1: svint32_t, op2: svint64_t) -> svbool4_t;
5137 }
5138 unsafe { _svcmpge_wide_s32(pg.sve_into(), op1, op2).sve_into() }
5139}
5140#[doc = "Compare greater than or equal to"]
5141#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpge_wide[_n_s32])"]
5142#[inline]
5143#[target_feature(enable = "sve")]
5144#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
5145#[cfg_attr(test, assert_instr(cmpge))]
5146pub fn svcmpge_wide_n_s32(pg: svbool_t, op1: svint32_t, op2: i64) -> svbool_t {
5147 svcmpge_wide_s32(pg, op1, svdup_n_s64(op2))
5148}
5149#[doc = "Compare greater than or equal to"]
5150#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpge_wide[_u8])"]
5151#[inline]
5152#[target_feature(enable = "sve")]
5153#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
5154#[cfg_attr(test, assert_instr(cmphs))]
5155pub fn svcmpge_wide_u8(pg: svbool_t, op1: svuint8_t, op2: svuint64_t) -> svbool_t {
5156 unsafe extern "unadjusted" {
5157 #[cfg_attr(
5158 target_arch = "aarch64",
5159 link_name = "llvm.aarch64.sve.cmphs.wide.nxv16i8"
5160 )]
5161 fn _svcmpge_wide_u8(pg: svbool_t, op1: svint8_t, op2: svint64_t) -> svbool_t;
5162 }
5163 unsafe { _svcmpge_wide_u8(pg, op1.as_signed(), op2.as_signed()) }
5164}
5165#[doc = "Compare greater than or equal to"]
5166#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpge_wide[_n_u8])"]
5167#[inline]
5168#[target_feature(enable = "sve")]
5169#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
5170#[cfg_attr(test, assert_instr(cmphs))]
5171pub fn svcmpge_wide_n_u8(pg: svbool_t, op1: svuint8_t, op2: u64) -> svbool_t {
5172 svcmpge_wide_u8(pg, op1, svdup_n_u64(op2))
5173}
5174#[doc = "Compare greater than or equal to"]
5175#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpge_wide[_u16])"]
5176#[inline]
5177#[target_feature(enable = "sve")]
5178#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
5179#[cfg_attr(test, assert_instr(cmphs))]
5180pub fn svcmpge_wide_u16(pg: svbool_t, op1: svuint16_t, op2: svuint64_t) -> svbool_t {
5181 unsafe extern "unadjusted" {
5182 #[cfg_attr(
5183 target_arch = "aarch64",
5184 link_name = "llvm.aarch64.sve.cmphs.wide.nxv8i16"
5185 )]
5186 fn _svcmpge_wide_u16(pg: svbool8_t, op1: svint16_t, op2: svint64_t) -> svbool8_t;
5187 }
5188 unsafe { _svcmpge_wide_u16(pg.sve_into(), op1.as_signed(), op2.as_signed()).sve_into() }
5189}
5190#[doc = "Compare greater than or equal to"]
5191#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpge_wide[_n_u16])"]
5192#[inline]
5193#[target_feature(enable = "sve")]
5194#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
5195#[cfg_attr(test, assert_instr(cmphs))]
5196pub fn svcmpge_wide_n_u16(pg: svbool_t, op1: svuint16_t, op2: u64) -> svbool_t {
5197 svcmpge_wide_u16(pg, op1, svdup_n_u64(op2))
5198}
5199#[doc = "Compare greater than or equal to"]
5200#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpge_wide[_u32])"]
5201#[inline]
5202#[target_feature(enable = "sve")]
5203#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
5204#[cfg_attr(test, assert_instr(cmphs))]
5205pub fn svcmpge_wide_u32(pg: svbool_t, op1: svuint32_t, op2: svuint64_t) -> svbool_t {
5206 unsafe extern "unadjusted" {
5207 #[cfg_attr(
5208 target_arch = "aarch64",
5209 link_name = "llvm.aarch64.sve.cmphs.wide.nxv4i32"
5210 )]
5211 fn _svcmpge_wide_u32(pg: svbool4_t, op1: svint32_t, op2: svint64_t) -> svbool4_t;
5212 }
5213 unsafe { _svcmpge_wide_u32(pg.sve_into(), op1.as_signed(), op2.as_signed()).sve_into() }
5214}
5215#[doc = "Compare greater than or equal to"]
5216#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpge_wide[_n_u32])"]
5217#[inline]
5218#[target_feature(enable = "sve")]
5219#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
5220#[cfg_attr(test, assert_instr(cmphs))]
5221pub fn svcmpge_wide_n_u32(pg: svbool_t, op1: svuint32_t, op2: u64) -> svbool_t {
5222 svcmpge_wide_u32(pg, op1, svdup_n_u64(op2))
5223}
5224#[doc = "Compare greater than"]
5225#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpgt[_f32])"]
5226#[inline]
5227#[target_feature(enable = "sve")]
5228#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
5229#[cfg_attr(test, assert_instr(fcmgt))]
5230pub fn svcmpgt_f32(pg: svbool_t, op1: svfloat32_t, op2: svfloat32_t) -> svbool_t {
5231 unsafe extern "unadjusted" {
5232 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.fcmpgt.nxv4f32")]
5233 fn _svcmpgt_f32(pg: svbool4_t, op1: svfloat32_t, op2: svfloat32_t) -> svbool4_t;
5234 }
5235 unsafe { _svcmpgt_f32(pg.sve_into(), op1, op2).sve_into() }
5236}
5237#[doc = "Compare greater than"]
5238#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpgt[_n_f32])"]
5239#[inline]
5240#[target_feature(enable = "sve")]
5241#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
5242#[cfg_attr(test, assert_instr(fcmgt))]
5243pub fn svcmpgt_n_f32(pg: svbool_t, op1: svfloat32_t, op2: f32) -> svbool_t {
5244 svcmpgt_f32(pg, op1, svdup_n_f32(op2))
5245}
5246#[doc = "Compare greater than"]
5247#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpgt[_f64])"]
5248#[inline]
5249#[target_feature(enable = "sve")]
5250#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
5251#[cfg_attr(test, assert_instr(fcmgt))]
5252pub fn svcmpgt_f64(pg: svbool_t, op1: svfloat64_t, op2: svfloat64_t) -> svbool_t {
5253 unsafe extern "unadjusted" {
5254 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.fcmpgt.nxv2f64")]
5255 fn _svcmpgt_f64(pg: svbool2_t, op1: svfloat64_t, op2: svfloat64_t) -> svbool2_t;
5256 }
5257 unsafe { _svcmpgt_f64(pg.sve_into(), op1, op2).sve_into() }
5258}
5259#[doc = "Compare greater than"]
5260#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpgt[_n_f64])"]
5261#[inline]
5262#[target_feature(enable = "sve")]
5263#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
5264#[cfg_attr(test, assert_instr(fcmgt))]
5265pub fn svcmpgt_n_f64(pg: svbool_t, op1: svfloat64_t, op2: f64) -> svbool_t {
5266 svcmpgt_f64(pg, op1, svdup_n_f64(op2))
5267}
5268#[doc = "Compare greater than"]
5269#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpgt[_s8])"]
5270#[inline]
5271#[target_feature(enable = "sve")]
5272#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
5273#[cfg_attr(test, assert_instr(cmpgt))]
5274pub fn svcmpgt_s8(pg: svbool_t, op1: svint8_t, op2: svint8_t) -> svbool_t {
5275 unsafe extern "unadjusted" {
5276 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.cmpgt.nxv16i8")]
5277 fn _svcmpgt_s8(pg: svbool_t, op1: svint8_t, op2: svint8_t) -> svbool_t;
5278 }
5279 unsafe { _svcmpgt_s8(pg, op1, op2) }
5280}
5281#[doc = "Compare greater than"]
5282#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpgt[_n_s8])"]
5283#[inline]
5284#[target_feature(enable = "sve")]
5285#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
5286#[cfg_attr(test, assert_instr(cmpgt))]
5287pub fn svcmpgt_n_s8(pg: svbool_t, op1: svint8_t, op2: i8) -> svbool_t {
5288 svcmpgt_s8(pg, op1, svdup_n_s8(op2))
5289}
5290#[doc = "Compare greater than"]
5291#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpgt[_s16])"]
5292#[inline]
5293#[target_feature(enable = "sve")]
5294#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
5295#[cfg_attr(test, assert_instr(cmpgt))]
5296pub fn svcmpgt_s16(pg: svbool_t, op1: svint16_t, op2: svint16_t) -> svbool_t {
5297 unsafe extern "unadjusted" {
5298 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.cmpgt.nxv8i16")]
5299 fn _svcmpgt_s16(pg: svbool8_t, op1: svint16_t, op2: svint16_t) -> svbool8_t;
5300 }
5301 unsafe { _svcmpgt_s16(pg.sve_into(), op1, op2).sve_into() }
5302}
5303#[doc = "Compare greater than"]
5304#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpgt[_n_s16])"]
5305#[inline]
5306#[target_feature(enable = "sve")]
5307#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
5308#[cfg_attr(test, assert_instr(cmpgt))]
5309pub fn svcmpgt_n_s16(pg: svbool_t, op1: svint16_t, op2: i16) -> svbool_t {
5310 svcmpgt_s16(pg, op1, svdup_n_s16(op2))
5311}
5312#[doc = "Compare greater than"]
5313#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpgt[_s32])"]
5314#[inline]
5315#[target_feature(enable = "sve")]
5316#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
5317#[cfg_attr(test, assert_instr(cmpgt))]
5318pub fn svcmpgt_s32(pg: svbool_t, op1: svint32_t, op2: svint32_t) -> svbool_t {
5319 unsafe extern "unadjusted" {
5320 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.cmpgt.nxv4i32")]
5321 fn _svcmpgt_s32(pg: svbool4_t, op1: svint32_t, op2: svint32_t) -> svbool4_t;
5322 }
5323 unsafe { _svcmpgt_s32(pg.sve_into(), op1, op2).sve_into() }
5324}
5325#[doc = "Compare greater than"]
5326#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpgt[_n_s32])"]
5327#[inline]
5328#[target_feature(enable = "sve")]
5329#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
5330#[cfg_attr(test, assert_instr(cmpgt))]
5331pub fn svcmpgt_n_s32(pg: svbool_t, op1: svint32_t, op2: i32) -> svbool_t {
5332 svcmpgt_s32(pg, op1, svdup_n_s32(op2))
5333}
5334#[doc = "Compare greater than"]
5335#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpgt[_s64])"]
5336#[inline]
5337#[target_feature(enable = "sve")]
5338#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
5339#[cfg_attr(test, assert_instr(cmpgt))]
5340pub fn svcmpgt_s64(pg: svbool_t, op1: svint64_t, op2: svint64_t) -> svbool_t {
5341 unsafe extern "unadjusted" {
5342 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.cmpgt.nxv2i64")]
5343 fn _svcmpgt_s64(pg: svbool2_t, op1: svint64_t, op2: svint64_t) -> svbool2_t;
5344 }
5345 unsafe { _svcmpgt_s64(pg.sve_into(), op1, op2).sve_into() }
5346}
5347#[doc = "Compare greater than"]
5348#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpgt[_n_s64])"]
5349#[inline]
5350#[target_feature(enable = "sve")]
5351#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
5352#[cfg_attr(test, assert_instr(cmpgt))]
5353pub fn svcmpgt_n_s64(pg: svbool_t, op1: svint64_t, op2: i64) -> svbool_t {
5354 svcmpgt_s64(pg, op1, svdup_n_s64(op2))
5355}
5356#[doc = "Compare greater than"]
5357#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpgt[_u8])"]
5358#[inline]
5359#[target_feature(enable = "sve")]
5360#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
5361#[cfg_attr(test, assert_instr(cmphi))]
5362pub fn svcmpgt_u8(pg: svbool_t, op1: svuint8_t, op2: svuint8_t) -> svbool_t {
5363 unsafe extern "unadjusted" {
5364 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.cmphi.nxv16i8")]
5365 fn _svcmpgt_u8(pg: svbool_t, op1: svint8_t, op2: svint8_t) -> svbool_t;
5366 }
5367 unsafe { _svcmpgt_u8(pg, op1.as_signed(), op2.as_signed()) }
5368}
5369#[doc = "Compare greater than"]
5370#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpgt[_n_u8])"]
5371#[inline]
5372#[target_feature(enable = "sve")]
5373#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
5374#[cfg_attr(test, assert_instr(cmphi))]
5375pub fn svcmpgt_n_u8(pg: svbool_t, op1: svuint8_t, op2: u8) -> svbool_t {
5376 svcmpgt_u8(pg, op1, svdup_n_u8(op2))
5377}
5378#[doc = "Compare greater than"]
5379#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpgt[_u16])"]
5380#[inline]
5381#[target_feature(enable = "sve")]
5382#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
5383#[cfg_attr(test, assert_instr(cmphi))]
5384pub fn svcmpgt_u16(pg: svbool_t, op1: svuint16_t, op2: svuint16_t) -> svbool_t {
5385 unsafe extern "unadjusted" {
5386 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.cmphi.nxv8i16")]
5387 fn _svcmpgt_u16(pg: svbool8_t, op1: svint16_t, op2: svint16_t) -> svbool8_t;
5388 }
5389 unsafe { _svcmpgt_u16(pg.sve_into(), op1.as_signed(), op2.as_signed()).sve_into() }
5390}
5391#[doc = "Compare greater than"]
5392#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpgt[_n_u16])"]
5393#[inline]
5394#[target_feature(enable = "sve")]
5395#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
5396#[cfg_attr(test, assert_instr(cmphi))]
5397pub fn svcmpgt_n_u16(pg: svbool_t, op1: svuint16_t, op2: u16) -> svbool_t {
5398 svcmpgt_u16(pg, op1, svdup_n_u16(op2))
5399}
5400#[doc = "Compare greater than"]
5401#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpgt[_u32])"]
5402#[inline]
5403#[target_feature(enable = "sve")]
5404#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
5405#[cfg_attr(test, assert_instr(cmphi))]
5406pub fn svcmpgt_u32(pg: svbool_t, op1: svuint32_t, op2: svuint32_t) -> svbool_t {
5407 unsafe extern "unadjusted" {
5408 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.cmphi.nxv4i32")]
5409 fn _svcmpgt_u32(pg: svbool4_t, op1: svint32_t, op2: svint32_t) -> svbool4_t;
5410 }
5411 unsafe { _svcmpgt_u32(pg.sve_into(), op1.as_signed(), op2.as_signed()).sve_into() }
5412}
5413#[doc = "Compare greater than"]
5414#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpgt[_n_u32])"]
5415#[inline]
5416#[target_feature(enable = "sve")]
5417#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
5418#[cfg_attr(test, assert_instr(cmphi))]
5419pub fn svcmpgt_n_u32(pg: svbool_t, op1: svuint32_t, op2: u32) -> svbool_t {
5420 svcmpgt_u32(pg, op1, svdup_n_u32(op2))
5421}
5422#[doc = "Compare greater than"]
5423#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpgt[_u64])"]
5424#[inline]
5425#[target_feature(enable = "sve")]
5426#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
5427#[cfg_attr(test, assert_instr(cmphi))]
5428pub fn svcmpgt_u64(pg: svbool_t, op1: svuint64_t, op2: svuint64_t) -> svbool_t {
5429 unsafe extern "unadjusted" {
5430 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.cmphi.nxv2i64")]
5431 fn _svcmpgt_u64(pg: svbool2_t, op1: svint64_t, op2: svint64_t) -> svbool2_t;
5432 }
5433 unsafe { _svcmpgt_u64(pg.sve_into(), op1.as_signed(), op2.as_signed()).sve_into() }
5434}
5435#[doc = "Compare greater than"]
5436#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpgt[_n_u64])"]
5437#[inline]
5438#[target_feature(enable = "sve")]
5439#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
5440#[cfg_attr(test, assert_instr(cmphi))]
5441pub fn svcmpgt_n_u64(pg: svbool_t, op1: svuint64_t, op2: u64) -> svbool_t {
5442 svcmpgt_u64(pg, op1, svdup_n_u64(op2))
5443}
5444#[doc = "Compare greater than"]
5445#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpgt_wide[_s8])"]
5446#[inline]
5447#[target_feature(enable = "sve")]
5448#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
5449#[cfg_attr(test, assert_instr(cmpgt))]
5450pub fn svcmpgt_wide_s8(pg: svbool_t, op1: svint8_t, op2: svint64_t) -> svbool_t {
5451 unsafe extern "unadjusted" {
5452 #[cfg_attr(
5453 target_arch = "aarch64",
5454 link_name = "llvm.aarch64.sve.cmpgt.wide.nxv16i8"
5455 )]
5456 fn _svcmpgt_wide_s8(pg: svbool_t, op1: svint8_t, op2: svint64_t) -> svbool_t;
5457 }
5458 unsafe { _svcmpgt_wide_s8(pg, op1, op2) }
5459}
5460#[doc = "Compare greater than"]
5461#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpgt_wide[_n_s8])"]
5462#[inline]
5463#[target_feature(enable = "sve")]
5464#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
5465#[cfg_attr(test, assert_instr(cmpgt))]
5466pub fn svcmpgt_wide_n_s8(pg: svbool_t, op1: svint8_t, op2: i64) -> svbool_t {
5467 svcmpgt_wide_s8(pg, op1, svdup_n_s64(op2))
5468}
5469#[doc = "Compare greater than"]
5470#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpgt_wide[_s16])"]
5471#[inline]
5472#[target_feature(enable = "sve")]
5473#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
5474#[cfg_attr(test, assert_instr(cmpgt))]
5475pub fn svcmpgt_wide_s16(pg: svbool_t, op1: svint16_t, op2: svint64_t) -> svbool_t {
5476 unsafe extern "unadjusted" {
5477 #[cfg_attr(
5478 target_arch = "aarch64",
5479 link_name = "llvm.aarch64.sve.cmpgt.wide.nxv8i16"
5480 )]
5481 fn _svcmpgt_wide_s16(pg: svbool8_t, op1: svint16_t, op2: svint64_t) -> svbool8_t;
5482 }
5483 unsafe { _svcmpgt_wide_s16(pg.sve_into(), op1, op2).sve_into() }
5484}
5485#[doc = "Compare greater than"]
5486#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpgt_wide[_n_s16])"]
5487#[inline]
5488#[target_feature(enable = "sve")]
5489#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
5490#[cfg_attr(test, assert_instr(cmpgt))]
5491pub fn svcmpgt_wide_n_s16(pg: svbool_t, op1: svint16_t, op2: i64) -> svbool_t {
5492 svcmpgt_wide_s16(pg, op1, svdup_n_s64(op2))
5493}
5494#[doc = "Compare greater than"]
5495#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpgt_wide[_s32])"]
5496#[inline]
5497#[target_feature(enable = "sve")]
5498#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
5499#[cfg_attr(test, assert_instr(cmpgt))]
5500pub fn svcmpgt_wide_s32(pg: svbool_t, op1: svint32_t, op2: svint64_t) -> svbool_t {
5501 unsafe extern "unadjusted" {
5502 #[cfg_attr(
5503 target_arch = "aarch64",
5504 link_name = "llvm.aarch64.sve.cmpgt.wide.nxv4i32"
5505 )]
5506 fn _svcmpgt_wide_s32(pg: svbool4_t, op1: svint32_t, op2: svint64_t) -> svbool4_t;
5507 }
5508 unsafe { _svcmpgt_wide_s32(pg.sve_into(), op1, op2).sve_into() }
5509}
5510#[doc = "Compare greater than"]
5511#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpgt_wide[_n_s32])"]
5512#[inline]
5513#[target_feature(enable = "sve")]
5514#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
5515#[cfg_attr(test, assert_instr(cmpgt))]
5516pub fn svcmpgt_wide_n_s32(pg: svbool_t, op1: svint32_t, op2: i64) -> svbool_t {
5517 svcmpgt_wide_s32(pg, op1, svdup_n_s64(op2))
5518}
5519#[doc = "Compare greater than"]
5520#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpgt_wide[_u8])"]
5521#[inline]
5522#[target_feature(enable = "sve")]
5523#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
5524#[cfg_attr(test, assert_instr(cmphi))]
5525pub fn svcmpgt_wide_u8(pg: svbool_t, op1: svuint8_t, op2: svuint64_t) -> svbool_t {
5526 unsafe extern "unadjusted" {
5527 #[cfg_attr(
5528 target_arch = "aarch64",
5529 link_name = "llvm.aarch64.sve.cmphi.wide.nxv16i8"
5530 )]
5531 fn _svcmpgt_wide_u8(pg: svbool_t, op1: svint8_t, op2: svint64_t) -> svbool_t;
5532 }
5533 unsafe { _svcmpgt_wide_u8(pg, op1.as_signed(), op2.as_signed()) }
5534}
5535#[doc = "Compare greater than"]
5536#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpgt_wide[_n_u8])"]
5537#[inline]
5538#[target_feature(enable = "sve")]
5539#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
5540#[cfg_attr(test, assert_instr(cmphi))]
5541pub fn svcmpgt_wide_n_u8(pg: svbool_t, op1: svuint8_t, op2: u64) -> svbool_t {
5542 svcmpgt_wide_u8(pg, op1, svdup_n_u64(op2))
5543}
5544#[doc = "Compare greater than"]
5545#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpgt_wide[_u16])"]
5546#[inline]
5547#[target_feature(enable = "sve")]
5548#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
5549#[cfg_attr(test, assert_instr(cmphi))]
5550pub fn svcmpgt_wide_u16(pg: svbool_t, op1: svuint16_t, op2: svuint64_t) -> svbool_t {
5551 unsafe extern "unadjusted" {
5552 #[cfg_attr(
5553 target_arch = "aarch64",
5554 link_name = "llvm.aarch64.sve.cmphi.wide.nxv8i16"
5555 )]
5556 fn _svcmpgt_wide_u16(pg: svbool8_t, op1: svint16_t, op2: svint64_t) -> svbool8_t;
5557 }
5558 unsafe { _svcmpgt_wide_u16(pg.sve_into(), op1.as_signed(), op2.as_signed()).sve_into() }
5559}
5560#[doc = "Compare greater than"]
5561#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpgt_wide[_n_u16])"]
5562#[inline]
5563#[target_feature(enable = "sve")]
5564#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
5565#[cfg_attr(test, assert_instr(cmphi))]
5566pub fn svcmpgt_wide_n_u16(pg: svbool_t, op1: svuint16_t, op2: u64) -> svbool_t {
5567 svcmpgt_wide_u16(pg, op1, svdup_n_u64(op2))
5568}
5569#[doc = "Compare greater than"]
5570#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpgt_wide[_u32])"]
5571#[inline]
5572#[target_feature(enable = "sve")]
5573#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
5574#[cfg_attr(test, assert_instr(cmphi))]
5575pub fn svcmpgt_wide_u32(pg: svbool_t, op1: svuint32_t, op2: svuint64_t) -> svbool_t {
5576 unsafe extern "unadjusted" {
5577 #[cfg_attr(
5578 target_arch = "aarch64",
5579 link_name = "llvm.aarch64.sve.cmphi.wide.nxv4i32"
5580 )]
5581 fn _svcmpgt_wide_u32(pg: svbool4_t, op1: svint32_t, op2: svint64_t) -> svbool4_t;
5582 }
5583 unsafe { _svcmpgt_wide_u32(pg.sve_into(), op1.as_signed(), op2.as_signed()).sve_into() }
5584}
5585#[doc = "Compare greater than"]
5586#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpgt_wide[_n_u32])"]
5587#[inline]
5588#[target_feature(enable = "sve")]
5589#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
5590#[cfg_attr(test, assert_instr(cmphi))]
5591pub fn svcmpgt_wide_n_u32(pg: svbool_t, op1: svuint32_t, op2: u64) -> svbool_t {
5592 svcmpgt_wide_u32(pg, op1, svdup_n_u64(op2))
5593}
5594#[doc = "Compare less than or equal to"]
5595#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmple[_f32])"]
5596#[inline]
5597#[target_feature(enable = "sve")]
5598#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
5599#[cfg_attr(test, assert_instr(fcmge))]
5600pub fn svcmple_f32(pg: svbool_t, op1: svfloat32_t, op2: svfloat32_t) -> svbool_t {
5601 svcmpge_f32(pg, op2, op1)
5602}
5603#[doc = "Compare less than or equal to"]
5604#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmple[_n_f32])"]
5605#[inline]
5606#[target_feature(enable = "sve")]
5607#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
5608#[cfg_attr(test, assert_instr(fcmge))]
5609pub fn svcmple_n_f32(pg: svbool_t, op1: svfloat32_t, op2: f32) -> svbool_t {
5610 svcmple_f32(pg, op1, svdup_n_f32(op2))
5611}
5612#[doc = "Compare less than or equal to"]
5613#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmple[_f64])"]
5614#[inline]
5615#[target_feature(enable = "sve")]
5616#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
5617#[cfg_attr(test, assert_instr(fcmge))]
5618pub fn svcmple_f64(pg: svbool_t, op1: svfloat64_t, op2: svfloat64_t) -> svbool_t {
5619 svcmpge_f64(pg, op2, op1)
5620}
5621#[doc = "Compare less than or equal to"]
5622#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmple[_n_f64])"]
5623#[inline]
5624#[target_feature(enable = "sve")]
5625#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
5626#[cfg_attr(test, assert_instr(fcmge))]
5627pub fn svcmple_n_f64(pg: svbool_t, op1: svfloat64_t, op2: f64) -> svbool_t {
5628 svcmple_f64(pg, op1, svdup_n_f64(op2))
5629}
5630#[doc = "Compare less than or equal to"]
5631#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmple[_s8])"]
5632#[inline]
5633#[target_feature(enable = "sve")]
5634#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
5635#[cfg_attr(test, assert_instr(cmpge))]
5636pub fn svcmple_s8(pg: svbool_t, op1: svint8_t, op2: svint8_t) -> svbool_t {
5637 svcmpge_s8(pg, op2, op1)
5638}
5639#[doc = "Compare less than or equal to"]
5640#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmple[_n_s8])"]
5641#[inline]
5642#[target_feature(enable = "sve")]
5643#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
5644#[cfg_attr(test, assert_instr(cmpge))]
5645pub fn svcmple_n_s8(pg: svbool_t, op1: svint8_t, op2: i8) -> svbool_t {
5646 svcmple_s8(pg, op1, svdup_n_s8(op2))
5647}
5648#[doc = "Compare less than or equal to"]
5649#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmple[_s16])"]
5650#[inline]
5651#[target_feature(enable = "sve")]
5652#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
5653#[cfg_attr(test, assert_instr(cmpge))]
5654pub fn svcmple_s16(pg: svbool_t, op1: svint16_t, op2: svint16_t) -> svbool_t {
5655 svcmpge_s16(pg, op2, op1)
5656}
5657#[doc = "Compare less than or equal to"]
5658#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmple[_n_s16])"]
5659#[inline]
5660#[target_feature(enable = "sve")]
5661#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
5662#[cfg_attr(test, assert_instr(cmpge))]
5663pub fn svcmple_n_s16(pg: svbool_t, op1: svint16_t, op2: i16) -> svbool_t {
5664 svcmple_s16(pg, op1, svdup_n_s16(op2))
5665}
5666#[doc = "Compare less than or equal to"]
5667#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmple[_s32])"]
5668#[inline]
5669#[target_feature(enable = "sve")]
5670#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
5671#[cfg_attr(test, assert_instr(cmpge))]
5672pub fn svcmple_s32(pg: svbool_t, op1: svint32_t, op2: svint32_t) -> svbool_t {
5673 svcmpge_s32(pg, op2, op1)
5674}
5675#[doc = "Compare less than or equal to"]
5676#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmple[_n_s32])"]
5677#[inline]
5678#[target_feature(enable = "sve")]
5679#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
5680#[cfg_attr(test, assert_instr(cmpge))]
5681pub fn svcmple_n_s32(pg: svbool_t, op1: svint32_t, op2: i32) -> svbool_t {
5682 svcmple_s32(pg, op1, svdup_n_s32(op2))
5683}
5684#[doc = "Compare less than or equal to"]
5685#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmple[_s64])"]
5686#[inline]
5687#[target_feature(enable = "sve")]
5688#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
5689#[cfg_attr(test, assert_instr(cmpge))]
5690pub fn svcmple_s64(pg: svbool_t, op1: svint64_t, op2: svint64_t) -> svbool_t {
5691 svcmpge_s64(pg, op2, op1)
5692}
5693#[doc = "Compare less than or equal to"]
5694#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmple[_n_s64])"]
5695#[inline]
5696#[target_feature(enable = "sve")]
5697#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
5698#[cfg_attr(test, assert_instr(cmpge))]
5699pub fn svcmple_n_s64(pg: svbool_t, op1: svint64_t, op2: i64) -> svbool_t {
5700 svcmple_s64(pg, op1, svdup_n_s64(op2))
5701}
5702#[doc = "Compare less than or equal to"]
5703#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmple[_u8])"]
5704#[inline]
5705#[target_feature(enable = "sve")]
5706#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
5707#[cfg_attr(test, assert_instr(cmphs))]
5708pub fn svcmple_u8(pg: svbool_t, op1: svuint8_t, op2: svuint8_t) -> svbool_t {
5709 svcmpge_u8(pg, op2, op1)
5710}
5711#[doc = "Compare less than or equal to"]
5712#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmple[_n_u8])"]
5713#[inline]
5714#[target_feature(enable = "sve")]
5715#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
5716#[cfg_attr(test, assert_instr(cmphs))]
5717pub fn svcmple_n_u8(pg: svbool_t, op1: svuint8_t, op2: u8) -> svbool_t {
5718 svcmple_u8(pg, op1, svdup_n_u8(op2))
5719}
5720#[doc = "Compare less than or equal to"]
5721#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmple[_u16])"]
5722#[inline]
5723#[target_feature(enable = "sve")]
5724#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
5725#[cfg_attr(test, assert_instr(cmphs))]
5726pub fn svcmple_u16(pg: svbool_t, op1: svuint16_t, op2: svuint16_t) -> svbool_t {
5727 svcmpge_u16(pg, op2, op1)
5728}
5729#[doc = "Compare less than or equal to"]
5730#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmple[_n_u16])"]
5731#[inline]
5732#[target_feature(enable = "sve")]
5733#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
5734#[cfg_attr(test, assert_instr(cmphs))]
5735pub fn svcmple_n_u16(pg: svbool_t, op1: svuint16_t, op2: u16) -> svbool_t {
5736 svcmple_u16(pg, op1, svdup_n_u16(op2))
5737}
5738#[doc = "Compare less than or equal to"]
5739#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmple[_u32])"]
5740#[inline]
5741#[target_feature(enable = "sve")]
5742#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
5743#[cfg_attr(test, assert_instr(cmphs))]
5744pub fn svcmple_u32(pg: svbool_t, op1: svuint32_t, op2: svuint32_t) -> svbool_t {
5745 svcmpge_u32(pg, op2, op1)
5746}
5747#[doc = "Compare less than or equal to"]
5748#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmple[_n_u32])"]
5749#[inline]
5750#[target_feature(enable = "sve")]
5751#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
5752#[cfg_attr(test, assert_instr(cmphs))]
5753pub fn svcmple_n_u32(pg: svbool_t, op1: svuint32_t, op2: u32) -> svbool_t {
5754 svcmple_u32(pg, op1, svdup_n_u32(op2))
5755}
5756#[doc = "Compare less than or equal to"]
5757#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmple[_u64])"]
5758#[inline]
5759#[target_feature(enable = "sve")]
5760#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
5761#[cfg_attr(test, assert_instr(cmphs))]
5762pub fn svcmple_u64(pg: svbool_t, op1: svuint64_t, op2: svuint64_t) -> svbool_t {
5763 svcmpge_u64(pg, op2, op1)
5764}
5765#[doc = "Compare less than or equal to"]
5766#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmple[_n_u64])"]
5767#[inline]
5768#[target_feature(enable = "sve")]
5769#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
5770#[cfg_attr(test, assert_instr(cmphs))]
5771pub fn svcmple_n_u64(pg: svbool_t, op1: svuint64_t, op2: u64) -> svbool_t {
5772 svcmple_u64(pg, op1, svdup_n_u64(op2))
5773}
5774#[doc = "Compare less than or equal to"]
5775#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmple_wide[_s8])"]
5776#[inline]
5777#[target_feature(enable = "sve")]
5778#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
5779#[cfg_attr(test, assert_instr(cmple))]
5780pub fn svcmple_wide_s8(pg: svbool_t, op1: svint8_t, op2: svint64_t) -> svbool_t {
5781 unsafe extern "unadjusted" {
5782 #[cfg_attr(
5783 target_arch = "aarch64",
5784 link_name = "llvm.aarch64.sve.cmple.wide.nxv16i8"
5785 )]
5786 fn _svcmple_wide_s8(pg: svbool_t, op1: svint8_t, op2: svint64_t) -> svbool_t;
5787 }
5788 unsafe { _svcmple_wide_s8(pg, op1, op2) }
5789}
5790#[doc = "Compare less than or equal to"]
5791#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmple_wide[_n_s8])"]
5792#[inline]
5793#[target_feature(enable = "sve")]
5794#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
5795#[cfg_attr(test, assert_instr(cmple))]
5796pub fn svcmple_wide_n_s8(pg: svbool_t, op1: svint8_t, op2: i64) -> svbool_t {
5797 svcmple_wide_s8(pg, op1, svdup_n_s64(op2))
5798}
5799#[doc = "Compare less than or equal to"]
5800#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmple_wide[_s16])"]
5801#[inline]
5802#[target_feature(enable = "sve")]
5803#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
5804#[cfg_attr(test, assert_instr(cmple))]
5805pub fn svcmple_wide_s16(pg: svbool_t, op1: svint16_t, op2: svint64_t) -> svbool_t {
5806 unsafe extern "unadjusted" {
5807 #[cfg_attr(
5808 target_arch = "aarch64",
5809 link_name = "llvm.aarch64.sve.cmple.wide.nxv8i16"
5810 )]
5811 fn _svcmple_wide_s16(pg: svbool8_t, op1: svint16_t, op2: svint64_t) -> svbool8_t;
5812 }
5813 unsafe { _svcmple_wide_s16(pg.sve_into(), op1, op2).sve_into() }
5814}
5815#[doc = "Compare less than or equal to"]
5816#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmple_wide[_n_s16])"]
5817#[inline]
5818#[target_feature(enable = "sve")]
5819#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
5820#[cfg_attr(test, assert_instr(cmple))]
5821pub fn svcmple_wide_n_s16(pg: svbool_t, op1: svint16_t, op2: i64) -> svbool_t {
5822 svcmple_wide_s16(pg, op1, svdup_n_s64(op2))
5823}
5824#[doc = "Compare less than or equal to"]
5825#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmple_wide[_s32])"]
5826#[inline]
5827#[target_feature(enable = "sve")]
5828#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
5829#[cfg_attr(test, assert_instr(cmple))]
5830pub fn svcmple_wide_s32(pg: svbool_t, op1: svint32_t, op2: svint64_t) -> svbool_t {
5831 unsafe extern "unadjusted" {
5832 #[cfg_attr(
5833 target_arch = "aarch64",
5834 link_name = "llvm.aarch64.sve.cmple.wide.nxv4i32"
5835 )]
5836 fn _svcmple_wide_s32(pg: svbool4_t, op1: svint32_t, op2: svint64_t) -> svbool4_t;
5837 }
5838 unsafe { _svcmple_wide_s32(pg.sve_into(), op1, op2).sve_into() }
5839}
5840#[doc = "Compare less than or equal to"]
5841#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmple_wide[_n_s32])"]
5842#[inline]
5843#[target_feature(enable = "sve")]
5844#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
5845#[cfg_attr(test, assert_instr(cmple))]
5846pub fn svcmple_wide_n_s32(pg: svbool_t, op1: svint32_t, op2: i64) -> svbool_t {
5847 svcmple_wide_s32(pg, op1, svdup_n_s64(op2))
5848}
5849#[doc = "Compare less than or equal to"]
5850#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmple_wide[_u8])"]
5851#[inline]
5852#[target_feature(enable = "sve")]
5853#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
5854#[cfg_attr(test, assert_instr(cmpls))]
5855pub fn svcmple_wide_u8(pg: svbool_t, op1: svuint8_t, op2: svuint64_t) -> svbool_t {
5856 unsafe extern "unadjusted" {
5857 #[cfg_attr(
5858 target_arch = "aarch64",
5859 link_name = "llvm.aarch64.sve.cmpls.wide.nxv16i8"
5860 )]
5861 fn _svcmple_wide_u8(pg: svbool_t, op1: svint8_t, op2: svint64_t) -> svbool_t;
5862 }
5863 unsafe { _svcmple_wide_u8(pg, op1.as_signed(), op2.as_signed()) }
5864}
5865#[doc = "Compare less than or equal to"]
5866#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmple_wide[_n_u8])"]
5867#[inline]
5868#[target_feature(enable = "sve")]
5869#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
5870#[cfg_attr(test, assert_instr(cmpls))]
5871pub fn svcmple_wide_n_u8(pg: svbool_t, op1: svuint8_t, op2: u64) -> svbool_t {
5872 svcmple_wide_u8(pg, op1, svdup_n_u64(op2))
5873}
5874#[doc = "Compare less than or equal to"]
5875#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmple_wide[_u16])"]
5876#[inline]
5877#[target_feature(enable = "sve")]
5878#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
5879#[cfg_attr(test, assert_instr(cmpls))]
5880pub fn svcmple_wide_u16(pg: svbool_t, op1: svuint16_t, op2: svuint64_t) -> svbool_t {
5881 unsafe extern "unadjusted" {
5882 #[cfg_attr(
5883 target_arch = "aarch64",
5884 link_name = "llvm.aarch64.sve.cmpls.wide.nxv8i16"
5885 )]
5886 fn _svcmple_wide_u16(pg: svbool8_t, op1: svint16_t, op2: svint64_t) -> svbool8_t;
5887 }
5888 unsafe { _svcmple_wide_u16(pg.sve_into(), op1.as_signed(), op2.as_signed()).sve_into() }
5889}
5890#[doc = "Compare less than or equal to"]
5891#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmple_wide[_n_u16])"]
5892#[inline]
5893#[target_feature(enable = "sve")]
5894#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
5895#[cfg_attr(test, assert_instr(cmpls))]
5896pub fn svcmple_wide_n_u16(pg: svbool_t, op1: svuint16_t, op2: u64) -> svbool_t {
5897 svcmple_wide_u16(pg, op1, svdup_n_u64(op2))
5898}
5899#[doc = "Compare less than or equal to"]
5900#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmple_wide[_u32])"]
5901#[inline]
5902#[target_feature(enable = "sve")]
5903#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
5904#[cfg_attr(test, assert_instr(cmpls))]
5905pub fn svcmple_wide_u32(pg: svbool_t, op1: svuint32_t, op2: svuint64_t) -> svbool_t {
5906 unsafe extern "unadjusted" {
5907 #[cfg_attr(
5908 target_arch = "aarch64",
5909 link_name = "llvm.aarch64.sve.cmpls.wide.nxv4i32"
5910 )]
5911 fn _svcmple_wide_u32(pg: svbool4_t, op1: svint32_t, op2: svint64_t) -> svbool4_t;
5912 }
5913 unsafe { _svcmple_wide_u32(pg.sve_into(), op1.as_signed(), op2.as_signed()).sve_into() }
5914}
5915#[doc = "Compare less than or equal to"]
5916#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmple_wide[_n_u32])"]
5917#[inline]
5918#[target_feature(enable = "sve")]
5919#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
5920#[cfg_attr(test, assert_instr(cmpls))]
5921pub fn svcmple_wide_n_u32(pg: svbool_t, op1: svuint32_t, op2: u64) -> svbool_t {
5922 svcmple_wide_u32(pg, op1, svdup_n_u64(op2))
5923}
5924#[doc = "Compare less than"]
5925#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmplt[_f32])"]
5926#[inline]
5927#[target_feature(enable = "sve")]
5928#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
5929#[cfg_attr(test, assert_instr(fcmgt))]
5930pub fn svcmplt_f32(pg: svbool_t, op1: svfloat32_t, op2: svfloat32_t) -> svbool_t {
5931 svcmpgt_f32(pg, op2, op1)
5932}
5933#[doc = "Compare less than"]
5934#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmplt[_n_f32])"]
5935#[inline]
5936#[target_feature(enable = "sve")]
5937#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
5938#[cfg_attr(test, assert_instr(fcmgt))]
5939pub fn svcmplt_n_f32(pg: svbool_t, op1: svfloat32_t, op2: f32) -> svbool_t {
5940 svcmplt_f32(pg, op1, svdup_n_f32(op2))
5941}
5942#[doc = "Compare less than"]
5943#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmplt[_f64])"]
5944#[inline]
5945#[target_feature(enable = "sve")]
5946#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
5947#[cfg_attr(test, assert_instr(fcmgt))]
5948pub fn svcmplt_f64(pg: svbool_t, op1: svfloat64_t, op2: svfloat64_t) -> svbool_t {
5949 svcmpgt_f64(pg, op2, op1)
5950}
5951#[doc = "Compare less than"]
5952#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmplt[_n_f64])"]
5953#[inline]
5954#[target_feature(enable = "sve")]
5955#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
5956#[cfg_attr(test, assert_instr(fcmgt))]
5957pub fn svcmplt_n_f64(pg: svbool_t, op1: svfloat64_t, op2: f64) -> svbool_t {
5958 svcmplt_f64(pg, op1, svdup_n_f64(op2))
5959}
5960#[doc = "Compare less than"]
5961#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmplt[_s8])"]
5962#[inline]
5963#[target_feature(enable = "sve")]
5964#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
5965#[cfg_attr(test, assert_instr(cmpgt))]
5966pub fn svcmplt_s8(pg: svbool_t, op1: svint8_t, op2: svint8_t) -> svbool_t {
5967 svcmpgt_s8(pg, op2, op1)
5968}
5969#[doc = "Compare less than"]
5970#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmplt[_n_s8])"]
5971#[inline]
5972#[target_feature(enable = "sve")]
5973#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
5974#[cfg_attr(test, assert_instr(cmpgt))]
5975pub fn svcmplt_n_s8(pg: svbool_t, op1: svint8_t, op2: i8) -> svbool_t {
5976 svcmplt_s8(pg, op1, svdup_n_s8(op2))
5977}
5978#[doc = "Compare less than"]
5979#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmplt[_s16])"]
5980#[inline]
5981#[target_feature(enable = "sve")]
5982#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
5983#[cfg_attr(test, assert_instr(cmpgt))]
5984pub fn svcmplt_s16(pg: svbool_t, op1: svint16_t, op2: svint16_t) -> svbool_t {
5985 svcmpgt_s16(pg, op2, op1)
5986}
5987#[doc = "Compare less than"]
5988#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmplt[_n_s16])"]
5989#[inline]
5990#[target_feature(enable = "sve")]
5991#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
5992#[cfg_attr(test, assert_instr(cmpgt))]
5993pub fn svcmplt_n_s16(pg: svbool_t, op1: svint16_t, op2: i16) -> svbool_t {
5994 svcmplt_s16(pg, op1, svdup_n_s16(op2))
5995}
5996#[doc = "Compare less than"]
5997#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmplt[_s32])"]
5998#[inline]
5999#[target_feature(enable = "sve")]
6000#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6001#[cfg_attr(test, assert_instr(cmpgt))]
6002pub fn svcmplt_s32(pg: svbool_t, op1: svint32_t, op2: svint32_t) -> svbool_t {
6003 svcmpgt_s32(pg, op2, op1)
6004}
6005#[doc = "Compare less than"]
6006#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmplt[_n_s32])"]
6007#[inline]
6008#[target_feature(enable = "sve")]
6009#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6010#[cfg_attr(test, assert_instr(cmpgt))]
6011pub fn svcmplt_n_s32(pg: svbool_t, op1: svint32_t, op2: i32) -> svbool_t {
6012 svcmplt_s32(pg, op1, svdup_n_s32(op2))
6013}
6014#[doc = "Compare less than"]
6015#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmplt[_s64])"]
6016#[inline]
6017#[target_feature(enable = "sve")]
6018#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6019#[cfg_attr(test, assert_instr(cmpgt))]
6020pub fn svcmplt_s64(pg: svbool_t, op1: svint64_t, op2: svint64_t) -> svbool_t {
6021 svcmpgt_s64(pg, op2, op1)
6022}
6023#[doc = "Compare less than"]
6024#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmplt[_n_s64])"]
6025#[inline]
6026#[target_feature(enable = "sve")]
6027#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6028#[cfg_attr(test, assert_instr(cmpgt))]
6029pub fn svcmplt_n_s64(pg: svbool_t, op1: svint64_t, op2: i64) -> svbool_t {
6030 svcmplt_s64(pg, op1, svdup_n_s64(op2))
6031}
6032#[doc = "Compare less than"]
6033#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmplt[_u8])"]
6034#[inline]
6035#[target_feature(enable = "sve")]
6036#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6037#[cfg_attr(test, assert_instr(cmphi))]
6038pub fn svcmplt_u8(pg: svbool_t, op1: svuint8_t, op2: svuint8_t) -> svbool_t {
6039 svcmpgt_u8(pg, op2, op1)
6040}
6041#[doc = "Compare less than"]
6042#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmplt[_n_u8])"]
6043#[inline]
6044#[target_feature(enable = "sve")]
6045#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6046#[cfg_attr(test, assert_instr(cmphi))]
6047pub fn svcmplt_n_u8(pg: svbool_t, op1: svuint8_t, op2: u8) -> svbool_t {
6048 svcmplt_u8(pg, op1, svdup_n_u8(op2))
6049}
6050#[doc = "Compare less than"]
6051#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmplt[_u16])"]
6052#[inline]
6053#[target_feature(enable = "sve")]
6054#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6055#[cfg_attr(test, assert_instr(cmphi))]
6056pub fn svcmplt_u16(pg: svbool_t, op1: svuint16_t, op2: svuint16_t) -> svbool_t {
6057 svcmpgt_u16(pg, op2, op1)
6058}
6059#[doc = "Compare less than"]
6060#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmplt[_n_u16])"]
6061#[inline]
6062#[target_feature(enable = "sve")]
6063#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6064#[cfg_attr(test, assert_instr(cmphi))]
6065pub fn svcmplt_n_u16(pg: svbool_t, op1: svuint16_t, op2: u16) -> svbool_t {
6066 svcmplt_u16(pg, op1, svdup_n_u16(op2))
6067}
6068#[doc = "Compare less than"]
6069#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmplt[_u32])"]
6070#[inline]
6071#[target_feature(enable = "sve")]
6072#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6073#[cfg_attr(test, assert_instr(cmphi))]
6074pub fn svcmplt_u32(pg: svbool_t, op1: svuint32_t, op2: svuint32_t) -> svbool_t {
6075 svcmpgt_u32(pg, op2, op1)
6076}
6077#[doc = "Compare less than"]
6078#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmplt[_n_u32])"]
6079#[inline]
6080#[target_feature(enable = "sve")]
6081#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6082#[cfg_attr(test, assert_instr(cmphi))]
6083pub fn svcmplt_n_u32(pg: svbool_t, op1: svuint32_t, op2: u32) -> svbool_t {
6084 svcmplt_u32(pg, op1, svdup_n_u32(op2))
6085}
6086#[doc = "Compare less than"]
6087#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmplt[_u64])"]
6088#[inline]
6089#[target_feature(enable = "sve")]
6090#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6091#[cfg_attr(test, assert_instr(cmphi))]
6092pub fn svcmplt_u64(pg: svbool_t, op1: svuint64_t, op2: svuint64_t) -> svbool_t {
6093 svcmpgt_u64(pg, op2, op1)
6094}
6095#[doc = "Compare less than"]
6096#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmplt[_n_u64])"]
6097#[inline]
6098#[target_feature(enable = "sve")]
6099#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6100#[cfg_attr(test, assert_instr(cmphi))]
6101pub fn svcmplt_n_u64(pg: svbool_t, op1: svuint64_t, op2: u64) -> svbool_t {
6102 svcmplt_u64(pg, op1, svdup_n_u64(op2))
6103}
6104#[doc = "Compare less than"]
6105#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmplt_wide[_s8])"]
6106#[inline]
6107#[target_feature(enable = "sve")]
6108#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6109#[cfg_attr(test, assert_instr(cmplt))]
6110pub fn svcmplt_wide_s8(pg: svbool_t, op1: svint8_t, op2: svint64_t) -> svbool_t {
6111 unsafe extern "unadjusted" {
6112 #[cfg_attr(
6113 target_arch = "aarch64",
6114 link_name = "llvm.aarch64.sve.cmplt.wide.nxv16i8"
6115 )]
6116 fn _svcmplt_wide_s8(pg: svbool_t, op1: svint8_t, op2: svint64_t) -> svbool_t;
6117 }
6118 unsafe { _svcmplt_wide_s8(pg, op1, op2) }
6119}
6120#[doc = "Compare less than"]
6121#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmplt_wide[_n_s8])"]
6122#[inline]
6123#[target_feature(enable = "sve")]
6124#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6125#[cfg_attr(test, assert_instr(cmplt))]
6126pub fn svcmplt_wide_n_s8(pg: svbool_t, op1: svint8_t, op2: i64) -> svbool_t {
6127 svcmplt_wide_s8(pg, op1, svdup_n_s64(op2))
6128}
6129#[doc = "Compare less than"]
6130#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmplt_wide[_s16])"]
6131#[inline]
6132#[target_feature(enable = "sve")]
6133#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6134#[cfg_attr(test, assert_instr(cmplt))]
6135pub fn svcmplt_wide_s16(pg: svbool_t, op1: svint16_t, op2: svint64_t) -> svbool_t {
6136 unsafe extern "unadjusted" {
6137 #[cfg_attr(
6138 target_arch = "aarch64",
6139 link_name = "llvm.aarch64.sve.cmplt.wide.nxv8i16"
6140 )]
6141 fn _svcmplt_wide_s16(pg: svbool8_t, op1: svint16_t, op2: svint64_t) -> svbool8_t;
6142 }
6143 unsafe { _svcmplt_wide_s16(pg.sve_into(), op1, op2).sve_into() }
6144}
6145#[doc = "Compare less than"]
6146#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmplt_wide[_n_s16])"]
6147#[inline]
6148#[target_feature(enable = "sve")]
6149#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6150#[cfg_attr(test, assert_instr(cmplt))]
6151pub fn svcmplt_wide_n_s16(pg: svbool_t, op1: svint16_t, op2: i64) -> svbool_t {
6152 svcmplt_wide_s16(pg, op1, svdup_n_s64(op2))
6153}
6154#[doc = "Compare less than"]
6155#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmplt_wide[_s32])"]
6156#[inline]
6157#[target_feature(enable = "sve")]
6158#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6159#[cfg_attr(test, assert_instr(cmplt))]
6160pub fn svcmplt_wide_s32(pg: svbool_t, op1: svint32_t, op2: svint64_t) -> svbool_t {
6161 unsafe extern "unadjusted" {
6162 #[cfg_attr(
6163 target_arch = "aarch64",
6164 link_name = "llvm.aarch64.sve.cmplt.wide.nxv4i32"
6165 )]
6166 fn _svcmplt_wide_s32(pg: svbool4_t, op1: svint32_t, op2: svint64_t) -> svbool4_t;
6167 }
6168 unsafe { _svcmplt_wide_s32(pg.sve_into(), op1, op2).sve_into() }
6169}
6170#[doc = "Compare less than"]
6171#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmplt_wide[_n_s32])"]
6172#[inline]
6173#[target_feature(enable = "sve")]
6174#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6175#[cfg_attr(test, assert_instr(cmplt))]
6176pub fn svcmplt_wide_n_s32(pg: svbool_t, op1: svint32_t, op2: i64) -> svbool_t {
6177 svcmplt_wide_s32(pg, op1, svdup_n_s64(op2))
6178}
6179#[doc = "Compare less than"]
6180#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmplt_wide[_u8])"]
6181#[inline]
6182#[target_feature(enable = "sve")]
6183#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6184#[cfg_attr(test, assert_instr(cmplo))]
6185pub fn svcmplt_wide_u8(pg: svbool_t, op1: svuint8_t, op2: svuint64_t) -> svbool_t {
6186 unsafe extern "unadjusted" {
6187 #[cfg_attr(
6188 target_arch = "aarch64",
6189 link_name = "llvm.aarch64.sve.cmplo.wide.nxv16i8"
6190 )]
6191 fn _svcmplt_wide_u8(pg: svbool_t, op1: svint8_t, op2: svint64_t) -> svbool_t;
6192 }
6193 unsafe { _svcmplt_wide_u8(pg, op1.as_signed(), op2.as_signed()) }
6194}
6195#[doc = "Compare less than"]
6196#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmplt_wide[_n_u8])"]
6197#[inline]
6198#[target_feature(enable = "sve")]
6199#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6200#[cfg_attr(test, assert_instr(cmplo))]
6201pub fn svcmplt_wide_n_u8(pg: svbool_t, op1: svuint8_t, op2: u64) -> svbool_t {
6202 svcmplt_wide_u8(pg, op1, svdup_n_u64(op2))
6203}
6204#[doc = "Compare less than"]
6205#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmplt_wide[_u16])"]
6206#[inline]
6207#[target_feature(enable = "sve")]
6208#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6209#[cfg_attr(test, assert_instr(cmplo))]
6210pub fn svcmplt_wide_u16(pg: svbool_t, op1: svuint16_t, op2: svuint64_t) -> svbool_t {
6211 unsafe extern "unadjusted" {
6212 #[cfg_attr(
6213 target_arch = "aarch64",
6214 link_name = "llvm.aarch64.sve.cmplo.wide.nxv8i16"
6215 )]
6216 fn _svcmplt_wide_u16(pg: svbool8_t, op1: svint16_t, op2: svint64_t) -> svbool8_t;
6217 }
6218 unsafe { _svcmplt_wide_u16(pg.sve_into(), op1.as_signed(), op2.as_signed()).sve_into() }
6219}
6220#[doc = "Compare less than"]
6221#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmplt_wide[_n_u16])"]
6222#[inline]
6223#[target_feature(enable = "sve")]
6224#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6225#[cfg_attr(test, assert_instr(cmplo))]
6226pub fn svcmplt_wide_n_u16(pg: svbool_t, op1: svuint16_t, op2: u64) -> svbool_t {
6227 svcmplt_wide_u16(pg, op1, svdup_n_u64(op2))
6228}
6229#[doc = "Compare less than"]
6230#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmplt_wide[_u32])"]
6231#[inline]
6232#[target_feature(enable = "sve")]
6233#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6234#[cfg_attr(test, assert_instr(cmplo))]
6235pub fn svcmplt_wide_u32(pg: svbool_t, op1: svuint32_t, op2: svuint64_t) -> svbool_t {
6236 unsafe extern "unadjusted" {
6237 #[cfg_attr(
6238 target_arch = "aarch64",
6239 link_name = "llvm.aarch64.sve.cmplo.wide.nxv4i32"
6240 )]
6241 fn _svcmplt_wide_u32(pg: svbool4_t, op1: svint32_t, op2: svint64_t) -> svbool4_t;
6242 }
6243 unsafe { _svcmplt_wide_u32(pg.sve_into(), op1.as_signed(), op2.as_signed()).sve_into() }
6244}
6245#[doc = "Compare less than"]
6246#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmplt_wide[_n_u32])"]
6247#[inline]
6248#[target_feature(enable = "sve")]
6249#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6250#[cfg_attr(test, assert_instr(cmplo))]
6251pub fn svcmplt_wide_n_u32(pg: svbool_t, op1: svuint32_t, op2: u64) -> svbool_t {
6252 svcmplt_wide_u32(pg, op1, svdup_n_u64(op2))
6253}
6254#[doc = "Compare not equal to"]
6255#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpne[_f32])"]
6256#[inline]
6257#[target_feature(enable = "sve")]
6258#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6259#[cfg_attr(test, assert_instr(fcmne))]
6260pub fn svcmpne_f32(pg: svbool_t, op1: svfloat32_t, op2: svfloat32_t) -> svbool_t {
6261 unsafe extern "unadjusted" {
6262 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.fcmpne.nxv4f32")]
6263 fn _svcmpne_f32(pg: svbool4_t, op1: svfloat32_t, op2: svfloat32_t) -> svbool4_t;
6264 }
6265 unsafe { _svcmpne_f32(pg.sve_into(), op1, op2).sve_into() }
6266}
6267#[doc = "Compare not equal to"]
6268#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpne[_n_f32])"]
6269#[inline]
6270#[target_feature(enable = "sve")]
6271#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6272#[cfg_attr(test, assert_instr(fcmne))]
6273pub fn svcmpne_n_f32(pg: svbool_t, op1: svfloat32_t, op2: f32) -> svbool_t {
6274 svcmpne_f32(pg, op1, svdup_n_f32(op2))
6275}
6276#[doc = "Compare not equal to"]
6277#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpne[_f64])"]
6278#[inline]
6279#[target_feature(enable = "sve")]
6280#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6281#[cfg_attr(test, assert_instr(fcmne))]
6282pub fn svcmpne_f64(pg: svbool_t, op1: svfloat64_t, op2: svfloat64_t) -> svbool_t {
6283 unsafe extern "unadjusted" {
6284 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.fcmpne.nxv2f64")]
6285 fn _svcmpne_f64(pg: svbool2_t, op1: svfloat64_t, op2: svfloat64_t) -> svbool2_t;
6286 }
6287 unsafe { _svcmpne_f64(pg.sve_into(), op1, op2).sve_into() }
6288}
6289#[doc = "Compare not equal to"]
6290#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpne[_n_f64])"]
6291#[inline]
6292#[target_feature(enable = "sve")]
6293#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6294#[cfg_attr(test, assert_instr(fcmne))]
6295pub fn svcmpne_n_f64(pg: svbool_t, op1: svfloat64_t, op2: f64) -> svbool_t {
6296 svcmpne_f64(pg, op1, svdup_n_f64(op2))
6297}
6298#[doc = "Compare not equal to"]
6299#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpne[_s8])"]
6300#[inline]
6301#[target_feature(enable = "sve")]
6302#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6303#[cfg_attr(test, assert_instr(cmpne))]
6304pub fn svcmpne_s8(pg: svbool_t, op1: svint8_t, op2: svint8_t) -> svbool_t {
6305 unsafe extern "unadjusted" {
6306 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.cmpne.nxv16i8")]
6307 fn _svcmpne_s8(pg: svbool_t, op1: svint8_t, op2: svint8_t) -> svbool_t;
6308 }
6309 unsafe { _svcmpne_s8(pg, op1, op2) }
6310}
6311#[doc = "Compare not equal to"]
6312#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpne[_n_s8])"]
6313#[inline]
6314#[target_feature(enable = "sve")]
6315#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6316#[cfg_attr(test, assert_instr(cmpne))]
6317pub fn svcmpne_n_s8(pg: svbool_t, op1: svint8_t, op2: i8) -> svbool_t {
6318 svcmpne_s8(pg, op1, svdup_n_s8(op2))
6319}
6320#[doc = "Compare not equal to"]
6321#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpne[_s16])"]
6322#[inline]
6323#[target_feature(enable = "sve")]
6324#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6325#[cfg_attr(test, assert_instr(cmpne))]
6326pub fn svcmpne_s16(pg: svbool_t, op1: svint16_t, op2: svint16_t) -> svbool_t {
6327 unsafe extern "unadjusted" {
6328 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.cmpne.nxv8i16")]
6329 fn _svcmpne_s16(pg: svbool8_t, op1: svint16_t, op2: svint16_t) -> svbool8_t;
6330 }
6331 unsafe { _svcmpne_s16(pg.sve_into(), op1, op2).sve_into() }
6332}
6333#[doc = "Compare not equal to"]
6334#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpne[_n_s16])"]
6335#[inline]
6336#[target_feature(enable = "sve")]
6337#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6338#[cfg_attr(test, assert_instr(cmpne))]
6339pub fn svcmpne_n_s16(pg: svbool_t, op1: svint16_t, op2: i16) -> svbool_t {
6340 svcmpne_s16(pg, op1, svdup_n_s16(op2))
6341}
6342#[doc = "Compare not equal to"]
6343#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpne[_s32])"]
6344#[inline]
6345#[target_feature(enable = "sve")]
6346#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6347#[cfg_attr(test, assert_instr(cmpne))]
6348pub fn svcmpne_s32(pg: svbool_t, op1: svint32_t, op2: svint32_t) -> svbool_t {
6349 unsafe extern "unadjusted" {
6350 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.cmpne.nxv4i32")]
6351 fn _svcmpne_s32(pg: svbool4_t, op1: svint32_t, op2: svint32_t) -> svbool4_t;
6352 }
6353 unsafe { _svcmpne_s32(pg.sve_into(), op1, op2).sve_into() }
6354}
6355#[doc = "Compare not equal to"]
6356#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpne[_n_s32])"]
6357#[inline]
6358#[target_feature(enable = "sve")]
6359#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6360#[cfg_attr(test, assert_instr(cmpne))]
6361pub fn svcmpne_n_s32(pg: svbool_t, op1: svint32_t, op2: i32) -> svbool_t {
6362 svcmpne_s32(pg, op1, svdup_n_s32(op2))
6363}
6364#[doc = "Compare not equal to"]
6365#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpne[_s64])"]
6366#[inline]
6367#[target_feature(enable = "sve")]
6368#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6369#[cfg_attr(test, assert_instr(cmpne))]
6370pub fn svcmpne_s64(pg: svbool_t, op1: svint64_t, op2: svint64_t) -> svbool_t {
6371 unsafe extern "unadjusted" {
6372 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.cmpne.nxv2i64")]
6373 fn _svcmpne_s64(pg: svbool2_t, op1: svint64_t, op2: svint64_t) -> svbool2_t;
6374 }
6375 unsafe { _svcmpne_s64(pg.sve_into(), op1, op2).sve_into() }
6376}
6377#[doc = "Compare not equal to"]
6378#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpne[_n_s64])"]
6379#[inline]
6380#[target_feature(enable = "sve")]
6381#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6382#[cfg_attr(test, assert_instr(cmpne))]
6383pub fn svcmpne_n_s64(pg: svbool_t, op1: svint64_t, op2: i64) -> svbool_t {
6384 svcmpne_s64(pg, op1, svdup_n_s64(op2))
6385}
6386#[doc = "Compare not equal to"]
6387#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpne[_u8])"]
6388#[inline]
6389#[target_feature(enable = "sve")]
6390#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6391#[cfg_attr(test, assert_instr(cmpne))]
6392pub fn svcmpne_u8(pg: svbool_t, op1: svuint8_t, op2: svuint8_t) -> svbool_t {
6393 unsafe { svcmpne_s8(pg, op1.as_signed(), op2.as_signed()) }
6394}
6395#[doc = "Compare not equal to"]
6396#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpne[_n_u8])"]
6397#[inline]
6398#[target_feature(enable = "sve")]
6399#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6400#[cfg_attr(test, assert_instr(cmpne))]
6401pub fn svcmpne_n_u8(pg: svbool_t, op1: svuint8_t, op2: u8) -> svbool_t {
6402 svcmpne_u8(pg, op1, svdup_n_u8(op2))
6403}
6404#[doc = "Compare not equal to"]
6405#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpne[_u16])"]
6406#[inline]
6407#[target_feature(enable = "sve")]
6408#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6409#[cfg_attr(test, assert_instr(cmpne))]
6410pub fn svcmpne_u16(pg: svbool_t, op1: svuint16_t, op2: svuint16_t) -> svbool_t {
6411 unsafe { svcmpne_s16(pg, op1.as_signed(), op2.as_signed()) }
6412}
6413#[doc = "Compare not equal to"]
6414#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpne[_n_u16])"]
6415#[inline]
6416#[target_feature(enable = "sve")]
6417#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6418#[cfg_attr(test, assert_instr(cmpne))]
6419pub fn svcmpne_n_u16(pg: svbool_t, op1: svuint16_t, op2: u16) -> svbool_t {
6420 svcmpne_u16(pg, op1, svdup_n_u16(op2))
6421}
6422#[doc = "Compare not equal to"]
6423#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpne[_u32])"]
6424#[inline]
6425#[target_feature(enable = "sve")]
6426#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6427#[cfg_attr(test, assert_instr(cmpne))]
6428pub fn svcmpne_u32(pg: svbool_t, op1: svuint32_t, op2: svuint32_t) -> svbool_t {
6429 unsafe { svcmpne_s32(pg, op1.as_signed(), op2.as_signed()) }
6430}
6431#[doc = "Compare not equal to"]
6432#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpne[_n_u32])"]
6433#[inline]
6434#[target_feature(enable = "sve")]
6435#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6436#[cfg_attr(test, assert_instr(cmpne))]
6437pub fn svcmpne_n_u32(pg: svbool_t, op1: svuint32_t, op2: u32) -> svbool_t {
6438 svcmpne_u32(pg, op1, svdup_n_u32(op2))
6439}
6440#[doc = "Compare not equal to"]
6441#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpne[_u64])"]
6442#[inline]
6443#[target_feature(enable = "sve")]
6444#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6445#[cfg_attr(test, assert_instr(cmpne))]
6446pub fn svcmpne_u64(pg: svbool_t, op1: svuint64_t, op2: svuint64_t) -> svbool_t {
6447 unsafe { svcmpne_s64(pg, op1.as_signed(), op2.as_signed()) }
6448}
6449#[doc = "Compare not equal to"]
6450#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpne[_n_u64])"]
6451#[inline]
6452#[target_feature(enable = "sve")]
6453#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6454#[cfg_attr(test, assert_instr(cmpne))]
6455pub fn svcmpne_n_u64(pg: svbool_t, op1: svuint64_t, op2: u64) -> svbool_t {
6456 svcmpne_u64(pg, op1, svdup_n_u64(op2))
6457}
6458#[doc = "Compare not equal to"]
6459#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpne_wide[_s8])"]
6460#[inline]
6461#[target_feature(enable = "sve")]
6462#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6463#[cfg_attr(test, assert_instr(cmpne))]
6464pub fn svcmpne_wide_s8(pg: svbool_t, op1: svint8_t, op2: svint64_t) -> svbool_t {
6465 unsafe extern "unadjusted" {
6466 #[cfg_attr(
6467 target_arch = "aarch64",
6468 link_name = "llvm.aarch64.sve.cmpne.wide.nxv16i8"
6469 )]
6470 fn _svcmpne_wide_s8(pg: svbool_t, op1: svint8_t, op2: svint64_t) -> svbool_t;
6471 }
6472 unsafe { _svcmpne_wide_s8(pg, op1, op2) }
6473}
6474#[doc = "Compare not equal to"]
6475#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpne_wide[_n_s8])"]
6476#[inline]
6477#[target_feature(enable = "sve")]
6478#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6479#[cfg_attr(test, assert_instr(cmpne))]
6480pub fn svcmpne_wide_n_s8(pg: svbool_t, op1: svint8_t, op2: i64) -> svbool_t {
6481 svcmpne_wide_s8(pg, op1, svdup_n_s64(op2))
6482}
6483#[doc = "Compare not equal to"]
6484#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpne_wide[_s16])"]
6485#[inline]
6486#[target_feature(enable = "sve")]
6487#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6488#[cfg_attr(test, assert_instr(cmpne))]
6489pub fn svcmpne_wide_s16(pg: svbool_t, op1: svint16_t, op2: svint64_t) -> svbool_t {
6490 unsafe extern "unadjusted" {
6491 #[cfg_attr(
6492 target_arch = "aarch64",
6493 link_name = "llvm.aarch64.sve.cmpne.wide.nxv8i16"
6494 )]
6495 fn _svcmpne_wide_s16(pg: svbool8_t, op1: svint16_t, op2: svint64_t) -> svbool8_t;
6496 }
6497 unsafe { _svcmpne_wide_s16(pg.sve_into(), op1, op2).sve_into() }
6498}
6499#[doc = "Compare not equal to"]
6500#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpne_wide[_n_s16])"]
6501#[inline]
6502#[target_feature(enable = "sve")]
6503#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6504#[cfg_attr(test, assert_instr(cmpne))]
6505pub fn svcmpne_wide_n_s16(pg: svbool_t, op1: svint16_t, op2: i64) -> svbool_t {
6506 svcmpne_wide_s16(pg, op1, svdup_n_s64(op2))
6507}
6508#[doc = "Compare not equal to"]
6509#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpne_wide[_s32])"]
6510#[inline]
6511#[target_feature(enable = "sve")]
6512#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6513#[cfg_attr(test, assert_instr(cmpne))]
6514pub fn svcmpne_wide_s32(pg: svbool_t, op1: svint32_t, op2: svint64_t) -> svbool_t {
6515 unsafe extern "unadjusted" {
6516 #[cfg_attr(
6517 target_arch = "aarch64",
6518 link_name = "llvm.aarch64.sve.cmpne.wide.nxv4i32"
6519 )]
6520 fn _svcmpne_wide_s32(pg: svbool4_t, op1: svint32_t, op2: svint64_t) -> svbool4_t;
6521 }
6522 unsafe { _svcmpne_wide_s32(pg.sve_into(), op1, op2).sve_into() }
6523}
6524#[doc = "Compare not equal to"]
6525#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpne_wide[_n_s32])"]
6526#[inline]
6527#[target_feature(enable = "sve")]
6528#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6529#[cfg_attr(test, assert_instr(cmpne))]
6530pub fn svcmpne_wide_n_s32(pg: svbool_t, op1: svint32_t, op2: i64) -> svbool_t {
6531 svcmpne_wide_s32(pg, op1, svdup_n_s64(op2))
6532}
6533#[doc = "Compare unordered with"]
6534#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpuo[_f32])"]
6535#[inline]
6536#[target_feature(enable = "sve")]
6537#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6538#[cfg_attr(test, assert_instr(fcmuo))]
6539pub fn svcmpuo_f32(pg: svbool_t, op1: svfloat32_t, op2: svfloat32_t) -> svbool_t {
6540 unsafe extern "unadjusted" {
6541 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.fcmpuo.nxv4f32")]
6542 fn _svcmpuo_f32(pg: svbool4_t, op1: svfloat32_t, op2: svfloat32_t) -> svbool4_t;
6543 }
6544 unsafe { _svcmpuo_f32(pg.sve_into(), op1, op2).sve_into() }
6545}
6546#[doc = "Compare unordered with"]
6547#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpuo[_n_f32])"]
6548#[inline]
6549#[target_feature(enable = "sve")]
6550#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6551#[cfg_attr(test, assert_instr(fcmuo))]
6552pub fn svcmpuo_n_f32(pg: svbool_t, op1: svfloat32_t, op2: f32) -> svbool_t {
6553 svcmpuo_f32(pg, op1, svdup_n_f32(op2))
6554}
6555#[doc = "Compare unordered with"]
6556#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpuo[_f64])"]
6557#[inline]
6558#[target_feature(enable = "sve")]
6559#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6560#[cfg_attr(test, assert_instr(fcmuo))]
6561pub fn svcmpuo_f64(pg: svbool_t, op1: svfloat64_t, op2: svfloat64_t) -> svbool_t {
6562 unsafe extern "unadjusted" {
6563 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.fcmpuo.nxv2f64")]
6564 fn _svcmpuo_f64(pg: svbool2_t, op1: svfloat64_t, op2: svfloat64_t) -> svbool2_t;
6565 }
6566 unsafe { _svcmpuo_f64(pg.sve_into(), op1, op2).sve_into() }
6567}
6568#[doc = "Compare unordered with"]
6569#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpuo[_n_f64])"]
6570#[inline]
6571#[target_feature(enable = "sve")]
6572#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6573#[cfg_attr(test, assert_instr(fcmuo))]
6574pub fn svcmpuo_n_f64(pg: svbool_t, op1: svfloat64_t, op2: f64) -> svbool_t {
6575 svcmpuo_f64(pg, op1, svdup_n_f64(op2))
6576}
6577#[doc = "Logically invert boolean condition"]
6578#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcnot[_s8]_m)"]
6579#[inline]
6580#[target_feature(enable = "sve")]
6581#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6582#[cfg_attr(test, assert_instr(cnot))]
6583pub fn svcnot_s8_m(inactive: svint8_t, pg: svbool_t, op: svint8_t) -> svint8_t {
6584 unsafe extern "unadjusted" {
6585 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.cnot.nxv16i8")]
6586 fn _svcnot_s8_m(inactive: svint8_t, pg: svbool_t, op: svint8_t) -> svint8_t;
6587 }
6588 unsafe { _svcnot_s8_m(inactive, pg, op) }
6589}
6590#[doc = "Logically invert boolean condition"]
6591#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcnot[_s8]_x)"]
6592#[inline]
6593#[target_feature(enable = "sve")]
6594#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6595#[cfg_attr(test, assert_instr(cnot))]
6596pub fn svcnot_s8_x(pg: svbool_t, op: svint8_t) -> svint8_t {
6597 svcnot_s8_m(op, pg, op)
6598}
6599#[doc = "Logically invert boolean condition"]
6600#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcnot[_s8]_z)"]
6601#[inline]
6602#[target_feature(enable = "sve")]
6603#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6604#[cfg_attr(test, assert_instr(cnot))]
6605pub fn svcnot_s8_z(pg: svbool_t, op: svint8_t) -> svint8_t {
6606 svcnot_s8_m(svdup_n_s8(0), pg, op)
6607}
6608#[doc = "Logically invert boolean condition"]
6609#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcnot[_s16]_m)"]
6610#[inline]
6611#[target_feature(enable = "sve")]
6612#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6613#[cfg_attr(test, assert_instr(cnot))]
6614pub fn svcnot_s16_m(inactive: svint16_t, pg: svbool_t, op: svint16_t) -> svint16_t {
6615 unsafe extern "unadjusted" {
6616 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.cnot.nxv8i16")]
6617 fn _svcnot_s16_m(inactive: svint16_t, pg: svbool8_t, op: svint16_t) -> svint16_t;
6618 }
6619 unsafe { _svcnot_s16_m(inactive, pg.sve_into(), op) }
6620}
6621#[doc = "Logically invert boolean condition"]
6622#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcnot[_s16]_x)"]
6623#[inline]
6624#[target_feature(enable = "sve")]
6625#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6626#[cfg_attr(test, assert_instr(cnot))]
6627pub fn svcnot_s16_x(pg: svbool_t, op: svint16_t) -> svint16_t {
6628 svcnot_s16_m(op, pg, op)
6629}
6630#[doc = "Logically invert boolean condition"]
6631#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcnot[_s16]_z)"]
6632#[inline]
6633#[target_feature(enable = "sve")]
6634#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6635#[cfg_attr(test, assert_instr(cnot))]
6636pub fn svcnot_s16_z(pg: svbool_t, op: svint16_t) -> svint16_t {
6637 svcnot_s16_m(svdup_n_s16(0), pg, op)
6638}
6639#[doc = "Logically invert boolean condition"]
6640#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcnot[_s32]_m)"]
6641#[inline]
6642#[target_feature(enable = "sve")]
6643#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6644#[cfg_attr(test, assert_instr(cnot))]
6645pub fn svcnot_s32_m(inactive: svint32_t, pg: svbool_t, op: svint32_t) -> svint32_t {
6646 unsafe extern "unadjusted" {
6647 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.cnot.nxv4i32")]
6648 fn _svcnot_s32_m(inactive: svint32_t, pg: svbool4_t, op: svint32_t) -> svint32_t;
6649 }
6650 unsafe { _svcnot_s32_m(inactive, pg.sve_into(), op) }
6651}
6652#[doc = "Logically invert boolean condition"]
6653#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcnot[_s32]_x)"]
6654#[inline]
6655#[target_feature(enable = "sve")]
6656#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6657#[cfg_attr(test, assert_instr(cnot))]
6658pub fn svcnot_s32_x(pg: svbool_t, op: svint32_t) -> svint32_t {
6659 svcnot_s32_m(op, pg, op)
6660}
6661#[doc = "Logically invert boolean condition"]
6662#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcnot[_s32]_z)"]
6663#[inline]
6664#[target_feature(enable = "sve")]
6665#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6666#[cfg_attr(test, assert_instr(cnot))]
6667pub fn svcnot_s32_z(pg: svbool_t, op: svint32_t) -> svint32_t {
6668 svcnot_s32_m(svdup_n_s32(0), pg, op)
6669}
6670#[doc = "Logically invert boolean condition"]
6671#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcnot[_s64]_m)"]
6672#[inline]
6673#[target_feature(enable = "sve")]
6674#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6675#[cfg_attr(test, assert_instr(cnot))]
6676pub fn svcnot_s64_m(inactive: svint64_t, pg: svbool_t, op: svint64_t) -> svint64_t {
6677 unsafe extern "unadjusted" {
6678 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.cnot.nxv2i64")]
6679 fn _svcnot_s64_m(inactive: svint64_t, pg: svbool2_t, op: svint64_t) -> svint64_t;
6680 }
6681 unsafe { _svcnot_s64_m(inactive, pg.sve_into(), op) }
6682}
6683#[doc = "Logically invert boolean condition"]
6684#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcnot[_s64]_x)"]
6685#[inline]
6686#[target_feature(enable = "sve")]
6687#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6688#[cfg_attr(test, assert_instr(cnot))]
6689pub fn svcnot_s64_x(pg: svbool_t, op: svint64_t) -> svint64_t {
6690 svcnot_s64_m(op, pg, op)
6691}
6692#[doc = "Logically invert boolean condition"]
6693#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcnot[_s64]_z)"]
6694#[inline]
6695#[target_feature(enable = "sve")]
6696#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6697#[cfg_attr(test, assert_instr(cnot))]
6698pub fn svcnot_s64_z(pg: svbool_t, op: svint64_t) -> svint64_t {
6699 svcnot_s64_m(svdup_n_s64(0), pg, op)
6700}
6701#[doc = "Logically invert boolean condition"]
6702#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcnot[_u8]_m)"]
6703#[inline]
6704#[target_feature(enable = "sve")]
6705#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6706#[cfg_attr(test, assert_instr(cnot))]
6707pub fn svcnot_u8_m(inactive: svuint8_t, pg: svbool_t, op: svuint8_t) -> svuint8_t {
6708 unsafe { svcnot_s8_m(inactive.as_signed(), pg, op.as_signed()).as_unsigned() }
6709}
6710#[doc = "Logically invert boolean condition"]
6711#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcnot[_u8]_x)"]
6712#[inline]
6713#[target_feature(enable = "sve")]
6714#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6715#[cfg_attr(test, assert_instr(cnot))]
6716pub fn svcnot_u8_x(pg: svbool_t, op: svuint8_t) -> svuint8_t {
6717 svcnot_u8_m(op, pg, op)
6718}
6719#[doc = "Logically invert boolean condition"]
6720#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcnot[_u8]_z)"]
6721#[inline]
6722#[target_feature(enable = "sve")]
6723#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6724#[cfg_attr(test, assert_instr(cnot))]
6725pub fn svcnot_u8_z(pg: svbool_t, op: svuint8_t) -> svuint8_t {
6726 svcnot_u8_m(svdup_n_u8(0), pg, op)
6727}
6728#[doc = "Logically invert boolean condition"]
6729#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcnot[_u16]_m)"]
6730#[inline]
6731#[target_feature(enable = "sve")]
6732#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6733#[cfg_attr(test, assert_instr(cnot))]
6734pub fn svcnot_u16_m(inactive: svuint16_t, pg: svbool_t, op: svuint16_t) -> svuint16_t {
6735 unsafe { svcnot_s16_m(inactive.as_signed(), pg, op.as_signed()).as_unsigned() }
6736}
6737#[doc = "Logically invert boolean condition"]
6738#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcnot[_u16]_x)"]
6739#[inline]
6740#[target_feature(enable = "sve")]
6741#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6742#[cfg_attr(test, assert_instr(cnot))]
6743pub fn svcnot_u16_x(pg: svbool_t, op: svuint16_t) -> svuint16_t {
6744 svcnot_u16_m(op, pg, op)
6745}
6746#[doc = "Logically invert boolean condition"]
6747#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcnot[_u16]_z)"]
6748#[inline]
6749#[target_feature(enable = "sve")]
6750#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6751#[cfg_attr(test, assert_instr(cnot))]
6752pub fn svcnot_u16_z(pg: svbool_t, op: svuint16_t) -> svuint16_t {
6753 svcnot_u16_m(svdup_n_u16(0), pg, op)
6754}
6755#[doc = "Logically invert boolean condition"]
6756#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcnot[_u32]_m)"]
6757#[inline]
6758#[target_feature(enable = "sve")]
6759#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6760#[cfg_attr(test, assert_instr(cnot))]
6761pub fn svcnot_u32_m(inactive: svuint32_t, pg: svbool_t, op: svuint32_t) -> svuint32_t {
6762 unsafe { svcnot_s32_m(inactive.as_signed(), pg, op.as_signed()).as_unsigned() }
6763}
6764#[doc = "Logically invert boolean condition"]
6765#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcnot[_u32]_x)"]
6766#[inline]
6767#[target_feature(enable = "sve")]
6768#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6769#[cfg_attr(test, assert_instr(cnot))]
6770pub fn svcnot_u32_x(pg: svbool_t, op: svuint32_t) -> svuint32_t {
6771 svcnot_u32_m(op, pg, op)
6772}
6773#[doc = "Logically invert boolean condition"]
6774#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcnot[_u32]_z)"]
6775#[inline]
6776#[target_feature(enable = "sve")]
6777#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6778#[cfg_attr(test, assert_instr(cnot))]
6779pub fn svcnot_u32_z(pg: svbool_t, op: svuint32_t) -> svuint32_t {
6780 svcnot_u32_m(svdup_n_u32(0), pg, op)
6781}
6782#[doc = "Logically invert boolean condition"]
6783#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcnot[_u64]_m)"]
6784#[inline]
6785#[target_feature(enable = "sve")]
6786#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6787#[cfg_attr(test, assert_instr(cnot))]
6788pub fn svcnot_u64_m(inactive: svuint64_t, pg: svbool_t, op: svuint64_t) -> svuint64_t {
6789 unsafe { svcnot_s64_m(inactive.as_signed(), pg, op.as_signed()).as_unsigned() }
6790}
6791#[doc = "Logically invert boolean condition"]
6792#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcnot[_u64]_x)"]
6793#[inline]
6794#[target_feature(enable = "sve")]
6795#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6796#[cfg_attr(test, assert_instr(cnot))]
6797pub fn svcnot_u64_x(pg: svbool_t, op: svuint64_t) -> svuint64_t {
6798 svcnot_u64_m(op, pg, op)
6799}
6800#[doc = "Logically invert boolean condition"]
6801#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcnot[_u64]_z)"]
6802#[inline]
6803#[target_feature(enable = "sve")]
6804#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6805#[cfg_attr(test, assert_instr(cnot))]
6806pub fn svcnot_u64_z(pg: svbool_t, op: svuint64_t) -> svuint64_t {
6807 svcnot_u64_m(svdup_n_u64(0), pg, op)
6808}
6809#[doc = "Count nonzero bits"]
6810#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcnt[_f32]_m)"]
6811#[inline]
6812#[target_feature(enable = "sve")]
6813#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6814#[cfg_attr(test, assert_instr(cnt))]
6815pub fn svcnt_f32_m(inactive: svuint32_t, pg: svbool_t, op: svfloat32_t) -> svuint32_t {
6816 unsafe extern "unadjusted" {
6817 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.cnt.nxv4f32")]
6818 fn _svcnt_f32_m(inactive: svint32_t, pg: svbool4_t, op: svfloat32_t) -> svint32_t;
6819 }
6820 unsafe { _svcnt_f32_m(inactive.as_signed(), pg.sve_into(), op).as_unsigned() }
6821}
6822#[doc = "Count nonzero bits"]
6823#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcnt[_f32]_x)"]
6824#[inline]
6825#[target_feature(enable = "sve")]
6826#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6827#[cfg_attr(test, assert_instr(cnt))]
6828pub fn svcnt_f32_x(pg: svbool_t, op: svfloat32_t) -> svuint32_t {
6829 unsafe { svcnt_f32_m(transmute_unchecked(op), pg, op) }
6830}
6831#[doc = "Count nonzero bits"]
6832#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcnt[_f32]_z)"]
6833#[inline]
6834#[target_feature(enable = "sve")]
6835#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6836#[cfg_attr(test, assert_instr(cnt))]
6837pub fn svcnt_f32_z(pg: svbool_t, op: svfloat32_t) -> svuint32_t {
6838 svcnt_f32_m(svdup_n_u32(0), pg, op)
6839}
6840#[doc = "Count nonzero bits"]
6841#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcnt[_f64]_m)"]
6842#[inline]
6843#[target_feature(enable = "sve")]
6844#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6845#[cfg_attr(test, assert_instr(cnt))]
6846pub fn svcnt_f64_m(inactive: svuint64_t, pg: svbool_t, op: svfloat64_t) -> svuint64_t {
6847 unsafe extern "unadjusted" {
6848 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.cnt.nxv2f64")]
6849 fn _svcnt_f64_m(inactive: svint64_t, pg: svbool2_t, op: svfloat64_t) -> svint64_t;
6850 }
6851 unsafe { _svcnt_f64_m(inactive.as_signed(), pg.sve_into(), op).as_unsigned() }
6852}
6853#[doc = "Count nonzero bits"]
6854#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcnt[_f64]_x)"]
6855#[inline]
6856#[target_feature(enable = "sve")]
6857#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6858#[cfg_attr(test, assert_instr(cnt))]
6859pub fn svcnt_f64_x(pg: svbool_t, op: svfloat64_t) -> svuint64_t {
6860 unsafe { svcnt_f64_m(transmute_unchecked(op), pg, op) }
6861}
6862#[doc = "Count nonzero bits"]
6863#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcnt[_f64]_z)"]
6864#[inline]
6865#[target_feature(enable = "sve")]
6866#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6867#[cfg_attr(test, assert_instr(cnt))]
6868pub fn svcnt_f64_z(pg: svbool_t, op: svfloat64_t) -> svuint64_t {
6869 svcnt_f64_m(svdup_n_u64(0), pg, op)
6870}
6871#[doc = "Count nonzero bits"]
6872#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcnt[_s8]_m)"]
6873#[inline]
6874#[target_feature(enable = "sve")]
6875#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6876#[cfg_attr(test, assert_instr(cnt))]
6877pub fn svcnt_s8_m(inactive: svuint8_t, pg: svbool_t, op: svint8_t) -> svuint8_t {
6878 unsafe extern "unadjusted" {
6879 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.cnt.nxv16i8")]
6880 fn _svcnt_s8_m(inactive: svint8_t, pg: svbool_t, op: svint8_t) -> svint8_t;
6881 }
6882 unsafe { _svcnt_s8_m(inactive.as_signed(), pg, op).as_unsigned() }
6883}
6884#[doc = "Count nonzero bits"]
6885#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcnt[_s8]_x)"]
6886#[inline]
6887#[target_feature(enable = "sve")]
6888#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6889#[cfg_attr(test, assert_instr(cnt))]
6890pub fn svcnt_s8_x(pg: svbool_t, op: svint8_t) -> svuint8_t {
6891 unsafe { svcnt_s8_m(op.as_unsigned(), pg, op) }
6892}
6893#[doc = "Count nonzero bits"]
6894#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcnt[_s8]_z)"]
6895#[inline]
6896#[target_feature(enable = "sve")]
6897#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6898#[cfg_attr(test, assert_instr(cnt))]
6899pub fn svcnt_s8_z(pg: svbool_t, op: svint8_t) -> svuint8_t {
6900 svcnt_s8_m(svdup_n_u8(0), pg, op)
6901}
6902#[doc = "Count nonzero bits"]
6903#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcnt[_s16]_m)"]
6904#[inline]
6905#[target_feature(enable = "sve")]
6906#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6907#[cfg_attr(test, assert_instr(cnt))]
6908pub fn svcnt_s16_m(inactive: svuint16_t, pg: svbool_t, op: svint16_t) -> svuint16_t {
6909 unsafe extern "unadjusted" {
6910 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.cnt.nxv8i16")]
6911 fn _svcnt_s16_m(inactive: svint16_t, pg: svbool8_t, op: svint16_t) -> svint16_t;
6912 }
6913 unsafe { _svcnt_s16_m(inactive.as_signed(), pg.sve_into(), op).as_unsigned() }
6914}
6915#[doc = "Count nonzero bits"]
6916#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcnt[_s16]_x)"]
6917#[inline]
6918#[target_feature(enable = "sve")]
6919#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6920#[cfg_attr(test, assert_instr(cnt))]
6921pub fn svcnt_s16_x(pg: svbool_t, op: svint16_t) -> svuint16_t {
6922 unsafe { svcnt_s16_m(op.as_unsigned(), pg, op) }
6923}
6924#[doc = "Count nonzero bits"]
6925#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcnt[_s16]_z)"]
6926#[inline]
6927#[target_feature(enable = "sve")]
6928#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6929#[cfg_attr(test, assert_instr(cnt))]
6930pub fn svcnt_s16_z(pg: svbool_t, op: svint16_t) -> svuint16_t {
6931 svcnt_s16_m(svdup_n_u16(0), pg, op)
6932}
6933#[doc = "Count nonzero bits"]
6934#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcnt[_s32]_m)"]
6935#[inline]
6936#[target_feature(enable = "sve")]
6937#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6938#[cfg_attr(test, assert_instr(cnt))]
6939pub fn svcnt_s32_m(inactive: svuint32_t, pg: svbool_t, op: svint32_t) -> svuint32_t {
6940 unsafe extern "unadjusted" {
6941 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.cnt.nxv4i32")]
6942 fn _svcnt_s32_m(inactive: svint32_t, pg: svbool4_t, op: svint32_t) -> svint32_t;
6943 }
6944 unsafe { _svcnt_s32_m(inactive.as_signed(), pg.sve_into(), op).as_unsigned() }
6945}
6946#[doc = "Count nonzero bits"]
6947#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcnt[_s32]_x)"]
6948#[inline]
6949#[target_feature(enable = "sve")]
6950#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6951#[cfg_attr(test, assert_instr(cnt))]
6952pub fn svcnt_s32_x(pg: svbool_t, op: svint32_t) -> svuint32_t {
6953 unsafe { svcnt_s32_m(op.as_unsigned(), pg, op) }
6954}
6955#[doc = "Count nonzero bits"]
6956#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcnt[_s32]_z)"]
6957#[inline]
6958#[target_feature(enable = "sve")]
6959#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6960#[cfg_attr(test, assert_instr(cnt))]
6961pub fn svcnt_s32_z(pg: svbool_t, op: svint32_t) -> svuint32_t {
6962 svcnt_s32_m(svdup_n_u32(0), pg, op)
6963}
6964#[doc = "Count nonzero bits"]
6965#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcnt[_s64]_m)"]
6966#[inline]
6967#[target_feature(enable = "sve")]
6968#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6969#[cfg_attr(test, assert_instr(cnt))]
6970pub fn svcnt_s64_m(inactive: svuint64_t, pg: svbool_t, op: svint64_t) -> svuint64_t {
6971 unsafe extern "unadjusted" {
6972 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.cnt.nxv2i64")]
6973 fn _svcnt_s64_m(inactive: svint64_t, pg: svbool2_t, op: svint64_t) -> svint64_t;
6974 }
6975 unsafe { _svcnt_s64_m(inactive.as_signed(), pg.sve_into(), op).as_unsigned() }
6976}
6977#[doc = "Count nonzero bits"]
6978#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcnt[_s64]_x)"]
6979#[inline]
6980#[target_feature(enable = "sve")]
6981#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6982#[cfg_attr(test, assert_instr(cnt))]
6983pub fn svcnt_s64_x(pg: svbool_t, op: svint64_t) -> svuint64_t {
6984 unsafe { svcnt_s64_m(op.as_unsigned(), pg, op) }
6985}
6986#[doc = "Count nonzero bits"]
6987#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcnt[_s64]_z)"]
6988#[inline]
6989#[target_feature(enable = "sve")]
6990#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6991#[cfg_attr(test, assert_instr(cnt))]
6992pub fn svcnt_s64_z(pg: svbool_t, op: svint64_t) -> svuint64_t {
6993 svcnt_s64_m(svdup_n_u64(0), pg, op)
6994}
6995#[doc = "Count nonzero bits"]
6996#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcnt[_u8]_m)"]
6997#[inline]
6998#[target_feature(enable = "sve")]
6999#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7000#[cfg_attr(test, assert_instr(cnt))]
7001pub fn svcnt_u8_m(inactive: svuint8_t, pg: svbool_t, op: svuint8_t) -> svuint8_t {
7002 unsafe { svcnt_s8_m(inactive, pg, op.as_signed()) }
7003}
7004#[doc = "Count nonzero bits"]
7005#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcnt[_u8]_x)"]
7006#[inline]
7007#[target_feature(enable = "sve")]
7008#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7009#[cfg_attr(test, assert_instr(cnt))]
7010pub fn svcnt_u8_x(pg: svbool_t, op: svuint8_t) -> svuint8_t {
7011 svcnt_u8_m(op, pg, op)
7012}
7013#[doc = "Count nonzero bits"]
7014#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcnt[_u8]_z)"]
7015#[inline]
7016#[target_feature(enable = "sve")]
7017#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7018#[cfg_attr(test, assert_instr(cnt))]
7019pub fn svcnt_u8_z(pg: svbool_t, op: svuint8_t) -> svuint8_t {
7020 svcnt_u8_m(svdup_n_u8(0), pg, op)
7021}
7022#[doc = "Count nonzero bits"]
7023#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcnt[_u16]_m)"]
7024#[inline]
7025#[target_feature(enable = "sve")]
7026#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7027#[cfg_attr(test, assert_instr(cnt))]
7028pub fn svcnt_u16_m(inactive: svuint16_t, pg: svbool_t, op: svuint16_t) -> svuint16_t {
7029 unsafe { svcnt_s16_m(inactive, pg, op.as_signed()) }
7030}
7031#[doc = "Count nonzero bits"]
7032#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcnt[_u16]_x)"]
7033#[inline]
7034#[target_feature(enable = "sve")]
7035#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7036#[cfg_attr(test, assert_instr(cnt))]
7037pub fn svcnt_u16_x(pg: svbool_t, op: svuint16_t) -> svuint16_t {
7038 svcnt_u16_m(op, pg, op)
7039}
7040#[doc = "Count nonzero bits"]
7041#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcnt[_u16]_z)"]
7042#[inline]
7043#[target_feature(enable = "sve")]
7044#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7045#[cfg_attr(test, assert_instr(cnt))]
7046pub fn svcnt_u16_z(pg: svbool_t, op: svuint16_t) -> svuint16_t {
7047 svcnt_u16_m(svdup_n_u16(0), pg, op)
7048}
7049#[doc = "Count nonzero bits"]
7050#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcnt[_u32]_m)"]
7051#[inline]
7052#[target_feature(enable = "sve")]
7053#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7054#[cfg_attr(test, assert_instr(cnt))]
7055pub fn svcnt_u32_m(inactive: svuint32_t, pg: svbool_t, op: svuint32_t) -> svuint32_t {
7056 unsafe { svcnt_s32_m(inactive, pg, op.as_signed()) }
7057}
7058#[doc = "Count nonzero bits"]
7059#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcnt[_u32]_x)"]
7060#[inline]
7061#[target_feature(enable = "sve")]
7062#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7063#[cfg_attr(test, assert_instr(cnt))]
7064pub fn svcnt_u32_x(pg: svbool_t, op: svuint32_t) -> svuint32_t {
7065 svcnt_u32_m(op, pg, op)
7066}
7067#[doc = "Count nonzero bits"]
7068#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcnt[_u32]_z)"]
7069#[inline]
7070#[target_feature(enable = "sve")]
7071#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7072#[cfg_attr(test, assert_instr(cnt))]
7073pub fn svcnt_u32_z(pg: svbool_t, op: svuint32_t) -> svuint32_t {
7074 svcnt_u32_m(svdup_n_u32(0), pg, op)
7075}
7076#[doc = "Count nonzero bits"]
7077#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcnt[_u64]_m)"]
7078#[inline]
7079#[target_feature(enable = "sve")]
7080#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7081#[cfg_attr(test, assert_instr(cnt))]
7082pub fn svcnt_u64_m(inactive: svuint64_t, pg: svbool_t, op: svuint64_t) -> svuint64_t {
7083 unsafe { svcnt_s64_m(inactive, pg, op.as_signed()) }
7084}
7085#[doc = "Count nonzero bits"]
7086#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcnt[_u64]_x)"]
7087#[inline]
7088#[target_feature(enable = "sve")]
7089#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7090#[cfg_attr(test, assert_instr(cnt))]
7091pub fn svcnt_u64_x(pg: svbool_t, op: svuint64_t) -> svuint64_t {
7092 svcnt_u64_m(op, pg, op)
7093}
7094#[doc = "Count nonzero bits"]
7095#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcnt[_u64]_z)"]
7096#[inline]
7097#[target_feature(enable = "sve")]
7098#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7099#[cfg_attr(test, assert_instr(cnt))]
7100pub fn svcnt_u64_z(pg: svbool_t, op: svuint64_t) -> svuint64_t {
7101 svcnt_u64_m(svdup_n_u64(0), pg, op)
7102}
7103#[doc = "Count the number of 8-bit elements in a vector"]
7104#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcntb)"]
7105#[inline]
7106#[target_feature(enable = "sve")]
7107#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7108#[cfg_attr(test, assert_instr(rdvl))]
7109pub fn svcntb() -> u64 {
7110 svcntb_pat::<{ svpattern::SV_ALL }>()
7111}
7112#[doc = "Count the number of 16-bit elements in a vector"]
7113#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcnth)"]
7114#[inline]
7115#[target_feature(enable = "sve")]
7116#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7117#[cfg_attr(test, assert_instr(cnth))]
7118pub fn svcnth() -> u64 {
7119 svcnth_pat::<{ svpattern::SV_ALL }>()
7120}
7121#[doc = "Count the number of 32-bit elements in a vector"]
7122#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcntw)"]
7123#[inline]
7124#[target_feature(enable = "sve")]
7125#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7126#[cfg_attr(test, assert_instr(cntw))]
7127pub fn svcntw() -> u64 {
7128 svcntw_pat::<{ svpattern::SV_ALL }>()
7129}
7130#[doc = "Count the number of 64-bit elements in a vector"]
7131#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcntd)"]
7132#[inline]
7133#[target_feature(enable = "sve")]
7134#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7135#[cfg_attr(test, assert_instr(cntd))]
7136pub fn svcntd() -> u64 {
7137 svcntd_pat::<{ svpattern::SV_ALL }>()
7138}
7139#[doc = "Count the number of 8-bit elements in a vector"]
7140#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcntb_pat)"]
7141#[inline]
7142#[target_feature(enable = "sve")]
7143#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7144# [cfg_attr (test , assert_instr (rdvl , PATTERN = { svpattern :: SV_ALL }))]
7145# [cfg_attr (test , assert_instr (cntb , PATTERN = { svpattern :: SV_MUL4 }))]
7146pub fn svcntb_pat<const PATTERN: svpattern>() -> u64 {
7147 unsafe extern "unadjusted" {
7148 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.cntb")]
7149 fn _svcntb_pat(pattern: svpattern) -> i64;
7150 }
7151 unsafe { _svcntb_pat(PATTERN).as_unsigned() }
7152}
7153#[doc = "Count the number of 16-bit elements in a vector"]
7154#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcnth_pat)"]
7155#[inline]
7156#[target_feature(enable = "sve")]
7157#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7158# [cfg_attr (test , assert_instr (cnth , PATTERN = { svpattern :: SV_ALL }))]
7159pub fn svcnth_pat<const PATTERN: svpattern>() -> u64 {
7160 unsafe extern "unadjusted" {
7161 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.cnth")]
7162 fn _svcnth_pat(pattern: svpattern) -> i64;
7163 }
7164 unsafe { _svcnth_pat(PATTERN).as_unsigned() }
7165}
7166#[doc = "Count the number of 32-bit elements in a vector"]
7167#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcntw_pat)"]
7168#[inline]
7169#[target_feature(enable = "sve")]
7170#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7171# [cfg_attr (test , assert_instr (cntw , PATTERN = { svpattern :: SV_ALL }))]
7172pub fn svcntw_pat<const PATTERN: svpattern>() -> u64 {
7173 unsafe extern "unadjusted" {
7174 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.cntw")]
7175 fn _svcntw_pat(pattern: svpattern) -> i64;
7176 }
7177 unsafe { _svcntw_pat(PATTERN).as_unsigned() }
7178}
7179#[doc = "Count the number of 64-bit elements in a vector"]
7180#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcntd_pat)"]
7181#[inline]
7182#[target_feature(enable = "sve")]
7183#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7184# [cfg_attr (test , assert_instr (cntd , PATTERN = { svpattern :: SV_ALL }))]
7185pub fn svcntd_pat<const PATTERN: svpattern>() -> u64 {
7186 unsafe extern "unadjusted" {
7187 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.cntd")]
7188 fn _svcntd_pat(pattern: svpattern) -> i64;
7189 }
7190 unsafe { _svcntd_pat(PATTERN).as_unsigned() }
7191}
7192#[doc = "Count set predicate bits"]
7193#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcntp_b8)"]
7194#[inline]
7195#[target_feature(enable = "sve")]
7196#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7197#[cfg_attr(test, assert_instr(cntp))]
7198pub fn svcntp_b8(pg: svbool_t, op: svbool_t) -> u64 {
7199 unsafe extern "unadjusted" {
7200 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.cntp.nxv16i1")]
7201 fn _svcntp_b8(pg: svbool_t, op: svbool_t) -> i64;
7202 }
7203 unsafe { _svcntp_b8(pg, op).as_unsigned() }
7204}
7205#[doc = "Count set predicate bits"]
7206#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcntp_b16)"]
7207#[inline]
7208#[target_feature(enable = "sve")]
7209#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7210#[cfg_attr(test, assert_instr(cntp))]
7211pub fn svcntp_b16(pg: svbool_t, op: svbool_t) -> u64 {
7212 unsafe extern "unadjusted" {
7213 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.cntp.nxv8i1")]
7214 fn _svcntp_b16(pg: svbool8_t, op: svbool8_t) -> i64;
7215 }
7216 unsafe { _svcntp_b16(pg.sve_into(), op.sve_into()).as_unsigned() }
7217}
7218#[doc = "Count set predicate bits"]
7219#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcntp_b32)"]
7220#[inline]
7221#[target_feature(enable = "sve")]
7222#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7223#[cfg_attr(test, assert_instr(cntp))]
7224pub fn svcntp_b32(pg: svbool_t, op: svbool_t) -> u64 {
7225 unsafe extern "unadjusted" {
7226 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.cntp.nxv4i1")]
7227 fn _svcntp_b32(pg: svbool4_t, op: svbool4_t) -> i64;
7228 }
7229 unsafe { _svcntp_b32(pg.sve_into(), op.sve_into()).as_unsigned() }
7230}
7231#[doc = "Count set predicate bits"]
7232#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcntp_b64)"]
7233#[inline]
7234#[target_feature(enable = "sve")]
7235#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7236#[cfg_attr(test, assert_instr(cntp))]
7237pub fn svcntp_b64(pg: svbool_t, op: svbool_t) -> u64 {
7238 unsafe extern "unadjusted" {
7239 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.cntp.nxv2i1")]
7240 fn _svcntp_b64(pg: svbool2_t, op: svbool2_t) -> i64;
7241 }
7242 unsafe { _svcntp_b64(pg.sve_into(), op.sve_into()).as_unsigned() }
7243}
7244#[doc = "Shuffle active elements of vector to the right and fill with zero"]
7245#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcompact[_f32])"]
7246#[inline]
7247#[target_feature(enable = "sve")]
7248#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7249#[cfg_attr(test, assert_instr(compact))]
7250pub fn svcompact_f32(pg: svbool_t, op: svfloat32_t) -> svfloat32_t {
7251 unsafe extern "unadjusted" {
7252 #[cfg_attr(
7253 target_arch = "aarch64",
7254 link_name = "llvm.aarch64.sve.compact.nxv4f32"
7255 )]
7256 fn _svcompact_f32(pg: svbool4_t, op: svfloat32_t) -> svfloat32_t;
7257 }
7258 unsafe { _svcompact_f32(pg.sve_into(), op) }
7259}
7260#[doc = "Shuffle active elements of vector to the right and fill with zero"]
7261#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcompact[_f64])"]
7262#[inline]
7263#[target_feature(enable = "sve")]
7264#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7265#[cfg_attr(test, assert_instr(compact))]
7266pub fn svcompact_f64(pg: svbool_t, op: svfloat64_t) -> svfloat64_t {
7267 unsafe extern "unadjusted" {
7268 #[cfg_attr(
7269 target_arch = "aarch64",
7270 link_name = "llvm.aarch64.sve.compact.nxv2f64"
7271 )]
7272 fn _svcompact_f64(pg: svbool2_t, op: svfloat64_t) -> svfloat64_t;
7273 }
7274 unsafe { _svcompact_f64(pg.sve_into(), op) }
7275}
7276#[doc = "Shuffle active elements of vector to the right and fill with zero"]
7277#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcompact[_s32])"]
7278#[inline]
7279#[target_feature(enable = "sve")]
7280#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7281#[cfg_attr(test, assert_instr(compact))]
7282pub fn svcompact_s32(pg: svbool_t, op: svint32_t) -> svint32_t {
7283 unsafe extern "unadjusted" {
7284 #[cfg_attr(
7285 target_arch = "aarch64",
7286 link_name = "llvm.aarch64.sve.compact.nxv4i32"
7287 )]
7288 fn _svcompact_s32(pg: svbool4_t, op: svint32_t) -> svint32_t;
7289 }
7290 unsafe { _svcompact_s32(pg.sve_into(), op) }
7291}
7292#[doc = "Shuffle active elements of vector to the right and fill with zero"]
7293#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcompact[_s64])"]
7294#[inline]
7295#[target_feature(enable = "sve")]
7296#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7297#[cfg_attr(test, assert_instr(compact))]
7298pub fn svcompact_s64(pg: svbool_t, op: svint64_t) -> svint64_t {
7299 unsafe extern "unadjusted" {
7300 #[cfg_attr(
7301 target_arch = "aarch64",
7302 link_name = "llvm.aarch64.sve.compact.nxv2i64"
7303 )]
7304 fn _svcompact_s64(pg: svbool2_t, op: svint64_t) -> svint64_t;
7305 }
7306 unsafe { _svcompact_s64(pg.sve_into(), op) }
7307}
7308#[doc = "Shuffle active elements of vector to the right and fill with zero"]
7309#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcompact[_u32])"]
7310#[inline]
7311#[target_feature(enable = "sve")]
7312#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7313#[cfg_attr(test, assert_instr(compact))]
7314pub fn svcompact_u32(pg: svbool_t, op: svuint32_t) -> svuint32_t {
7315 unsafe { svcompact_s32(pg, op.as_signed()).as_unsigned() }
7316}
7317#[doc = "Shuffle active elements of vector to the right and fill with zero"]
7318#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcompact[_u64])"]
7319#[inline]
7320#[target_feature(enable = "sve")]
7321#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7322#[cfg_attr(test, assert_instr(compact))]
7323pub fn svcompact_u64(pg: svbool_t, op: svuint64_t) -> svuint64_t {
7324 unsafe { svcompact_s64(pg, op.as_signed()).as_unsigned() }
7325}
7326#[doc = "Create a tuple of two vectors"]
7327#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcreate2[_f32])"]
7328#[inline]
7329#[target_feature(enable = "sve")]
7330#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7331pub fn svcreate2_f32(x0: svfloat32_t, x1: svfloat32_t) -> svfloat32x2_t {
7332 unsafe { crate::intrinsics::simd::scalable::sve_tuple_create2(x0, x1) }
7333}
7334#[doc = "Create a tuple of two vectors"]
7335#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcreate2[_f64])"]
7336#[inline]
7337#[target_feature(enable = "sve")]
7338#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7339pub fn svcreate2_f64(x0: svfloat64_t, x1: svfloat64_t) -> svfloat64x2_t {
7340 unsafe { crate::intrinsics::simd::scalable::sve_tuple_create2(x0, x1) }
7341}
7342#[doc = "Create a tuple of two vectors"]
7343#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcreate2[_s8])"]
7344#[inline]
7345#[target_feature(enable = "sve")]
7346#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7347pub fn svcreate2_s8(x0: svint8_t, x1: svint8_t) -> svint8x2_t {
7348 unsafe { crate::intrinsics::simd::scalable::sve_tuple_create2(x0, x1) }
7349}
7350#[doc = "Create a tuple of two vectors"]
7351#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcreate2[_s16])"]
7352#[inline]
7353#[target_feature(enable = "sve")]
7354#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7355pub fn svcreate2_s16(x0: svint16_t, x1: svint16_t) -> svint16x2_t {
7356 unsafe { crate::intrinsics::simd::scalable::sve_tuple_create2(x0, x1) }
7357}
7358#[doc = "Create a tuple of two vectors"]
7359#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcreate2[_s32])"]
7360#[inline]
7361#[target_feature(enable = "sve")]
7362#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7363pub fn svcreate2_s32(x0: svint32_t, x1: svint32_t) -> svint32x2_t {
7364 unsafe { crate::intrinsics::simd::scalable::sve_tuple_create2(x0, x1) }
7365}
7366#[doc = "Create a tuple of two vectors"]
7367#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcreate2[_s64])"]
7368#[inline]
7369#[target_feature(enable = "sve")]
7370#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7371pub fn svcreate2_s64(x0: svint64_t, x1: svint64_t) -> svint64x2_t {
7372 unsafe { crate::intrinsics::simd::scalable::sve_tuple_create2(x0, x1) }
7373}
7374#[doc = "Create a tuple of two vectors"]
7375#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcreate2[_u8])"]
7376#[inline]
7377#[target_feature(enable = "sve")]
7378#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7379pub fn svcreate2_u8(x0: svuint8_t, x1: svuint8_t) -> svuint8x2_t {
7380 unsafe { crate::intrinsics::simd::scalable::sve_tuple_create2(x0, x1) }
7381}
7382#[doc = "Create a tuple of two vectors"]
7383#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcreate2[_u16])"]
7384#[inline]
7385#[target_feature(enable = "sve")]
7386#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7387pub fn svcreate2_u16(x0: svuint16_t, x1: svuint16_t) -> svuint16x2_t {
7388 unsafe { crate::intrinsics::simd::scalable::sve_tuple_create2(x0, x1) }
7389}
7390#[doc = "Create a tuple of two vectors"]
7391#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcreate2[_u32])"]
7392#[inline]
7393#[target_feature(enable = "sve")]
7394#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7395pub fn svcreate2_u32(x0: svuint32_t, x1: svuint32_t) -> svuint32x2_t {
7396 unsafe { crate::intrinsics::simd::scalable::sve_tuple_create2(x0, x1) }
7397}
7398#[doc = "Create a tuple of two vectors"]
7399#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcreate2[_u64])"]
7400#[inline]
7401#[target_feature(enable = "sve")]
7402#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7403pub fn svcreate2_u64(x0: svuint64_t, x1: svuint64_t) -> svuint64x2_t {
7404 unsafe { crate::intrinsics::simd::scalable::sve_tuple_create2(x0, x1) }
7405}
7406#[doc = "Create a tuple of three vectors"]
7407#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcreate3[_f32])"]
7408#[inline]
7409#[target_feature(enable = "sve")]
7410#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7411pub fn svcreate3_f32(x0: svfloat32_t, x1: svfloat32_t, x2: svfloat32_t) -> svfloat32x3_t {
7412 unsafe { crate::intrinsics::simd::scalable::sve_tuple_create3(x0, x1, x2) }
7413}
7414#[doc = "Create a tuple of three vectors"]
7415#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcreate3[_f64])"]
7416#[inline]
7417#[target_feature(enable = "sve")]
7418#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7419pub fn svcreate3_f64(x0: svfloat64_t, x1: svfloat64_t, x2: svfloat64_t) -> svfloat64x3_t {
7420 unsafe { crate::intrinsics::simd::scalable::sve_tuple_create3(x0, x1, x2) }
7421}
7422#[doc = "Create a tuple of three vectors"]
7423#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcreate3[_s8])"]
7424#[inline]
7425#[target_feature(enable = "sve")]
7426#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7427pub fn svcreate3_s8(x0: svint8_t, x1: svint8_t, x2: svint8_t) -> svint8x3_t {
7428 unsafe { crate::intrinsics::simd::scalable::sve_tuple_create3(x0, x1, x2) }
7429}
7430#[doc = "Create a tuple of three vectors"]
7431#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcreate3[_s16])"]
7432#[inline]
7433#[target_feature(enable = "sve")]
7434#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7435pub fn svcreate3_s16(x0: svint16_t, x1: svint16_t, x2: svint16_t) -> svint16x3_t {
7436 unsafe { crate::intrinsics::simd::scalable::sve_tuple_create3(x0, x1, x2) }
7437}
7438#[doc = "Create a tuple of three vectors"]
7439#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcreate3[_s32])"]
7440#[inline]
7441#[target_feature(enable = "sve")]
7442#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7443pub fn svcreate3_s32(x0: svint32_t, x1: svint32_t, x2: svint32_t) -> svint32x3_t {
7444 unsafe { crate::intrinsics::simd::scalable::sve_tuple_create3(x0, x1, x2) }
7445}
7446#[doc = "Create a tuple of three vectors"]
7447#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcreate3[_s64])"]
7448#[inline]
7449#[target_feature(enable = "sve")]
7450#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7451pub fn svcreate3_s64(x0: svint64_t, x1: svint64_t, x2: svint64_t) -> svint64x3_t {
7452 unsafe { crate::intrinsics::simd::scalable::sve_tuple_create3(x0, x1, x2) }
7453}
7454#[doc = "Create a tuple of three vectors"]
7455#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcreate3[_u8])"]
7456#[inline]
7457#[target_feature(enable = "sve")]
7458#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7459pub fn svcreate3_u8(x0: svuint8_t, x1: svuint8_t, x2: svuint8_t) -> svuint8x3_t {
7460 unsafe { crate::intrinsics::simd::scalable::sve_tuple_create3(x0, x1, x2) }
7461}
7462#[doc = "Create a tuple of three vectors"]
7463#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcreate3[_u16])"]
7464#[inline]
7465#[target_feature(enable = "sve")]
7466#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7467pub fn svcreate3_u16(x0: svuint16_t, x1: svuint16_t, x2: svuint16_t) -> svuint16x3_t {
7468 unsafe { crate::intrinsics::simd::scalable::sve_tuple_create3(x0, x1, x2) }
7469}
7470#[doc = "Create a tuple of three vectors"]
7471#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcreate3[_u32])"]
7472#[inline]
7473#[target_feature(enable = "sve")]
7474#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7475pub fn svcreate3_u32(x0: svuint32_t, x1: svuint32_t, x2: svuint32_t) -> svuint32x3_t {
7476 unsafe { crate::intrinsics::simd::scalable::sve_tuple_create3(x0, x1, x2) }
7477}
7478#[doc = "Create a tuple of three vectors"]
7479#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcreate3[_u64])"]
7480#[inline]
7481#[target_feature(enable = "sve")]
7482#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7483pub fn svcreate3_u64(x0: svuint64_t, x1: svuint64_t, x2: svuint64_t) -> svuint64x3_t {
7484 unsafe { crate::intrinsics::simd::scalable::sve_tuple_create3(x0, x1, x2) }
7485}
7486#[doc = "Create a tuple of four vectors"]
7487#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcreate4[_f32])"]
7488#[inline]
7489#[target_feature(enable = "sve")]
7490#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7491pub fn svcreate4_f32(
7492 x0: svfloat32_t,
7493 x1: svfloat32_t,
7494 x2: svfloat32_t,
7495 x3: svfloat32_t,
7496) -> svfloat32x4_t {
7497 unsafe { crate::intrinsics::simd::scalable::sve_tuple_create4(x0, x1, x2, x3) }
7498}
7499#[doc = "Create a tuple of four vectors"]
7500#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcreate4[_f64])"]
7501#[inline]
7502#[target_feature(enable = "sve")]
7503#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7504pub fn svcreate4_f64(
7505 x0: svfloat64_t,
7506 x1: svfloat64_t,
7507 x2: svfloat64_t,
7508 x3: svfloat64_t,
7509) -> svfloat64x4_t {
7510 unsafe { crate::intrinsics::simd::scalable::sve_tuple_create4(x0, x1, x2, x3) }
7511}
7512#[doc = "Create a tuple of four vectors"]
7513#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcreate4[_s8])"]
7514#[inline]
7515#[target_feature(enable = "sve")]
7516#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7517pub fn svcreate4_s8(x0: svint8_t, x1: svint8_t, x2: svint8_t, x3: svint8_t) -> svint8x4_t {
7518 unsafe { crate::intrinsics::simd::scalable::sve_tuple_create4(x0, x1, x2, x3) }
7519}
7520#[doc = "Create a tuple of four vectors"]
7521#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcreate4[_s16])"]
7522#[inline]
7523#[target_feature(enable = "sve")]
7524#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7525pub fn svcreate4_s16(x0: svint16_t, x1: svint16_t, x2: svint16_t, x3: svint16_t) -> svint16x4_t {
7526 unsafe { crate::intrinsics::simd::scalable::sve_tuple_create4(x0, x1, x2, x3) }
7527}
7528#[doc = "Create a tuple of four vectors"]
7529#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcreate4[_s32])"]
7530#[inline]
7531#[target_feature(enable = "sve")]
7532#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7533pub fn svcreate4_s32(x0: svint32_t, x1: svint32_t, x2: svint32_t, x3: svint32_t) -> svint32x4_t {
7534 unsafe { crate::intrinsics::simd::scalable::sve_tuple_create4(x0, x1, x2, x3) }
7535}
7536#[doc = "Create a tuple of four vectors"]
7537#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcreate4[_s64])"]
7538#[inline]
7539#[target_feature(enable = "sve")]
7540#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7541pub fn svcreate4_s64(x0: svint64_t, x1: svint64_t, x2: svint64_t, x3: svint64_t) -> svint64x4_t {
7542 unsafe { crate::intrinsics::simd::scalable::sve_tuple_create4(x0, x1, x2, x3) }
7543}
7544#[doc = "Create a tuple of four vectors"]
7545#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcreate4[_u8])"]
7546#[inline]
7547#[target_feature(enable = "sve")]
7548#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7549pub fn svcreate4_u8(x0: svuint8_t, x1: svuint8_t, x2: svuint8_t, x3: svuint8_t) -> svuint8x4_t {
7550 unsafe { crate::intrinsics::simd::scalable::sve_tuple_create4(x0, x1, x2, x3) }
7551}
7552#[doc = "Create a tuple of four vectors"]
7553#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcreate4[_u16])"]
7554#[inline]
7555#[target_feature(enable = "sve")]
7556#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7557pub fn svcreate4_u16(
7558 x0: svuint16_t,
7559 x1: svuint16_t,
7560 x2: svuint16_t,
7561 x3: svuint16_t,
7562) -> svuint16x4_t {
7563 unsafe { crate::intrinsics::simd::scalable::sve_tuple_create4(x0, x1, x2, x3) }
7564}
7565#[doc = "Create a tuple of four vectors"]
7566#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcreate4[_u32])"]
7567#[inline]
7568#[target_feature(enable = "sve")]
7569#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7570pub fn svcreate4_u32(
7571 x0: svuint32_t,
7572 x1: svuint32_t,
7573 x2: svuint32_t,
7574 x3: svuint32_t,
7575) -> svuint32x4_t {
7576 unsafe { crate::intrinsics::simd::scalable::sve_tuple_create4(x0, x1, x2, x3) }
7577}
7578#[doc = "Create a tuple of four vectors"]
7579#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcreate4[_u64])"]
7580#[inline]
7581#[target_feature(enable = "sve")]
7582#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7583pub fn svcreate4_u64(
7584 x0: svuint64_t,
7585 x1: svuint64_t,
7586 x2: svuint64_t,
7587 x3: svuint64_t,
7588) -> svuint64x4_t {
7589 unsafe { crate::intrinsics::simd::scalable::sve_tuple_create4(x0, x1, x2, x3) }
7590}
7591#[doc = "Floating-point convert"]
7592#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcvt_f32[_f64]_m)"]
7593#[inline]
7594#[target_feature(enable = "sve")]
7595#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7596#[cfg_attr(test, assert_instr(fcvt))]
7597pub fn svcvt_f32_f64_m(inactive: svfloat32_t, pg: svbool_t, op: svfloat64_t) -> svfloat32_t {
7598 unsafe extern "unadjusted" {
7599 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.fcvt.f32f64")]
7600 fn _svcvt_f32_f64_m(inactive: svfloat32_t, pg: svbool2_t, op: svfloat64_t) -> svfloat32_t;
7601 }
7602 unsafe { _svcvt_f32_f64_m(inactive, pg.sve_into(), op) }
7603}
7604#[doc = "Floating-point convert"]
7605#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcvt_f32[_f64]_x)"]
7606#[inline]
7607#[target_feature(enable = "sve")]
7608#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7609#[cfg_attr(test, assert_instr(fcvt))]
7610pub fn svcvt_f32_f64_x(pg: svbool_t, op: svfloat64_t) -> svfloat32_t {
7611 unsafe { svcvt_f32_f64_m(transmute_unchecked(op), pg, op) }
7612}
7613#[doc = "Floating-point convert"]
7614#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcvt_f32[_f64]_z)"]
7615#[inline]
7616#[target_feature(enable = "sve")]
7617#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7618#[cfg_attr(test, assert_instr(fcvt))]
7619pub fn svcvt_f32_f64_z(pg: svbool_t, op: svfloat64_t) -> svfloat32_t {
7620 svcvt_f32_f64_m(svdup_n_f32(0.0), pg, op)
7621}
7622#[doc = "Floating-point convert"]
7623#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcvt_f64[_f32]_m)"]
7624#[inline]
7625#[target_feature(enable = "sve")]
7626#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7627#[cfg_attr(test, assert_instr(fcvt))]
7628pub fn svcvt_f64_f32_m(inactive: svfloat64_t, pg: svbool_t, op: svfloat32_t) -> svfloat64_t {
7629 unsafe extern "unadjusted" {
7630 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.fcvt.f64f32")]
7631 fn _svcvt_f64_f32_m(inactive: svfloat64_t, pg: svbool2_t, op: svfloat32_t) -> svfloat64_t;
7632 }
7633 unsafe { _svcvt_f64_f32_m(inactive, pg.sve_into(), op) }
7634}
7635#[doc = "Floating-point convert"]
7636#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcvt_f64[_f32]_x)"]
7637#[inline]
7638#[target_feature(enable = "sve")]
7639#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7640#[cfg_attr(test, assert_instr(fcvt))]
7641pub fn svcvt_f64_f32_x(pg: svbool_t, op: svfloat32_t) -> svfloat64_t {
7642 unsafe { svcvt_f64_f32_m(transmute_unchecked(op), pg, op) }
7643}
7644#[doc = "Floating-point convert"]
7645#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcvt_f64[_f32]_z)"]
7646#[inline]
7647#[target_feature(enable = "sve")]
7648#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7649#[cfg_attr(test, assert_instr(fcvt))]
7650pub fn svcvt_f64_f32_z(pg: svbool_t, op: svfloat32_t) -> svfloat64_t {
7651 svcvt_f64_f32_m(svdup_n_f64(0.0), pg, op)
7652}
7653#[doc = "Floating-point convert"]
7654#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcvt_f32[_s32]_m)"]
7655#[inline]
7656#[target_feature(enable = "sve")]
7657#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7658#[cfg_attr(test, assert_instr(scvtf))]
7659pub fn svcvt_f32_s32_m(inactive: svfloat32_t, pg: svbool_t, op: svint32_t) -> svfloat32_t {
7660 unsafe extern "unadjusted" {
7661 #[cfg_attr(
7662 target_arch = "aarch64",
7663 link_name = "llvm.aarch64.sve.scvtf.nxv4f32.nxv4i32"
7664 )]
7665 fn _svcvt_f32_s32_m(inactive: svfloat32_t, pg: svbool4_t, op: svint32_t) -> svfloat32_t;
7666 }
7667 unsafe { _svcvt_f32_s32_m(inactive, pg.sve_into(), op) }
7668}
7669#[doc = "Floating-point convert"]
7670#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcvt_f32[_s32]_x)"]
7671#[inline]
7672#[target_feature(enable = "sve")]
7673#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7674#[cfg_attr(test, assert_instr(scvtf))]
7675pub fn svcvt_f32_s32_x(pg: svbool_t, op: svint32_t) -> svfloat32_t {
7676 unsafe { svcvt_f32_s32_m(transmute_unchecked(op), pg, op) }
7677}
7678#[doc = "Floating-point convert"]
7679#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcvt_f32[_s32]_z)"]
7680#[inline]
7681#[target_feature(enable = "sve")]
7682#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7683#[cfg_attr(test, assert_instr(scvtf))]
7684pub fn svcvt_f32_s32_z(pg: svbool_t, op: svint32_t) -> svfloat32_t {
7685 svcvt_f32_s32_m(svdup_n_f32(0.0), pg, op)
7686}
7687#[doc = "Floating-point convert"]
7688#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcvt_f32[_u32]_m)"]
7689#[inline]
7690#[target_feature(enable = "sve")]
7691#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7692#[cfg_attr(test, assert_instr(ucvtf))]
7693pub fn svcvt_f32_u32_m(inactive: svfloat32_t, pg: svbool_t, op: svuint32_t) -> svfloat32_t {
7694 unsafe extern "unadjusted" {
7695 #[cfg_attr(
7696 target_arch = "aarch64",
7697 link_name = "llvm.aarch64.sve.ucvtf.nxv4f32.nxv4i32"
7698 )]
7699 fn _svcvt_f32_u32_m(inactive: svfloat32_t, pg: svbool4_t, op: svint32_t) -> svfloat32_t;
7700 }
7701 unsafe { _svcvt_f32_u32_m(inactive, pg.sve_into(), op.as_signed()) }
7702}
7703#[doc = "Floating-point convert"]
7704#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcvt_f32[_u32]_x)"]
7705#[inline]
7706#[target_feature(enable = "sve")]
7707#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7708#[cfg_attr(test, assert_instr(ucvtf))]
7709pub fn svcvt_f32_u32_x(pg: svbool_t, op: svuint32_t) -> svfloat32_t {
7710 unsafe { svcvt_f32_u32_m(transmute_unchecked(op), pg, op) }
7711}
7712#[doc = "Floating-point convert"]
7713#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcvt_f32[_u32]_z)"]
7714#[inline]
7715#[target_feature(enable = "sve")]
7716#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7717#[cfg_attr(test, assert_instr(ucvtf))]
7718pub fn svcvt_f32_u32_z(pg: svbool_t, op: svuint32_t) -> svfloat32_t {
7719 svcvt_f32_u32_m(svdup_n_f32(0.0), pg, op)
7720}
7721#[doc = "Floating-point convert"]
7722#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcvt_f64[_s64]_m)"]
7723#[inline]
7724#[target_feature(enable = "sve")]
7725#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7726#[cfg_attr(test, assert_instr(scvtf))]
7727pub fn svcvt_f64_s64_m(inactive: svfloat64_t, pg: svbool_t, op: svint64_t) -> svfloat64_t {
7728 unsafe extern "unadjusted" {
7729 #[cfg_attr(
7730 target_arch = "aarch64",
7731 link_name = "llvm.aarch64.sve.scvtf.nxv2f64.nxv2i64"
7732 )]
7733 fn _svcvt_f64_s64_m(inactive: svfloat64_t, pg: svbool2_t, op: svint64_t) -> svfloat64_t;
7734 }
7735 unsafe { _svcvt_f64_s64_m(inactive, pg.sve_into(), op) }
7736}
7737#[doc = "Floating-point convert"]
7738#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcvt_f64[_s64]_x)"]
7739#[inline]
7740#[target_feature(enable = "sve")]
7741#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7742#[cfg_attr(test, assert_instr(scvtf))]
7743pub fn svcvt_f64_s64_x(pg: svbool_t, op: svint64_t) -> svfloat64_t {
7744 unsafe { svcvt_f64_s64_m(transmute_unchecked(op), pg, op) }
7745}
7746#[doc = "Floating-point convert"]
7747#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcvt_f64[_s64]_z)"]
7748#[inline]
7749#[target_feature(enable = "sve")]
7750#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7751#[cfg_attr(test, assert_instr(scvtf))]
7752pub fn svcvt_f64_s64_z(pg: svbool_t, op: svint64_t) -> svfloat64_t {
7753 svcvt_f64_s64_m(svdup_n_f64(0.0), pg, op)
7754}
7755#[doc = "Floating-point convert"]
7756#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcvt_f64[_u64]_m)"]
7757#[inline]
7758#[target_feature(enable = "sve")]
7759#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7760#[cfg_attr(test, assert_instr(ucvtf))]
7761pub fn svcvt_f64_u64_m(inactive: svfloat64_t, pg: svbool_t, op: svuint64_t) -> svfloat64_t {
7762 unsafe extern "unadjusted" {
7763 #[cfg_attr(
7764 target_arch = "aarch64",
7765 link_name = "llvm.aarch64.sve.ucvtf.nxv2f64.nxv2i64"
7766 )]
7767 fn _svcvt_f64_u64_m(inactive: svfloat64_t, pg: svbool2_t, op: svint64_t) -> svfloat64_t;
7768 }
7769 unsafe { _svcvt_f64_u64_m(inactive, pg.sve_into(), op.as_signed()) }
7770}
7771#[doc = "Floating-point convert"]
7772#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcvt_f64[_u64]_x)"]
7773#[inline]
7774#[target_feature(enable = "sve")]
7775#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7776#[cfg_attr(test, assert_instr(ucvtf))]
7777pub fn svcvt_f64_u64_x(pg: svbool_t, op: svuint64_t) -> svfloat64_t {
7778 unsafe { svcvt_f64_u64_m(transmute_unchecked(op), pg, op) }
7779}
7780#[doc = "Floating-point convert"]
7781#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcvt_f64[_u64]_z)"]
7782#[inline]
7783#[target_feature(enable = "sve")]
7784#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7785#[cfg_attr(test, assert_instr(ucvtf))]
7786pub fn svcvt_f64_u64_z(pg: svbool_t, op: svuint64_t) -> svfloat64_t {
7787 svcvt_f64_u64_m(svdup_n_f64(0.0), pg, op)
7788}
7789#[doc = "Floating-point convert"]
7790#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcvt_f32[_s64]_m)"]
7791#[inline]
7792#[target_feature(enable = "sve")]
7793#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7794#[cfg_attr(test, assert_instr(scvtf))]
7795pub fn svcvt_f32_s64_m(inactive: svfloat32_t, pg: svbool_t, op: svint64_t) -> svfloat32_t {
7796 unsafe extern "unadjusted" {
7797 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.scvtf.f32i64")]
7798 fn _svcvt_f32_s64_m(inactive: svfloat32_t, pg: svbool2_t, op: svint64_t) -> svfloat32_t;
7799 }
7800 unsafe { _svcvt_f32_s64_m(inactive, pg.sve_into(), op) }
7801}
7802#[doc = "Floating-point convert"]
7803#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcvt_f32[_s64]_x)"]
7804#[inline]
7805#[target_feature(enable = "sve")]
7806#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7807#[cfg_attr(test, assert_instr(scvtf))]
7808pub fn svcvt_f32_s64_x(pg: svbool_t, op: svint64_t) -> svfloat32_t {
7809 unsafe { svcvt_f32_s64_m(transmute_unchecked(op), pg, op) }
7810}
7811#[doc = "Floating-point convert"]
7812#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcvt_f32[_s64]_z)"]
7813#[inline]
7814#[target_feature(enable = "sve")]
7815#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7816#[cfg_attr(test, assert_instr(scvtf))]
7817pub fn svcvt_f32_s64_z(pg: svbool_t, op: svint64_t) -> svfloat32_t {
7818 svcvt_f32_s64_m(svdup_n_f32(0.0), pg, op)
7819}
7820#[doc = "Floating-point convert"]
7821#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcvt_f32[_u64]_m)"]
7822#[inline]
7823#[target_feature(enable = "sve")]
7824#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7825#[cfg_attr(test, assert_instr(ucvtf))]
7826pub fn svcvt_f32_u64_m(inactive: svfloat32_t, pg: svbool_t, op: svuint64_t) -> svfloat32_t {
7827 unsafe extern "unadjusted" {
7828 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.ucvtf.f32i64")]
7829 fn _svcvt_f32_u64_m(inactive: svfloat32_t, pg: svbool2_t, op: svint64_t) -> svfloat32_t;
7830 }
7831 unsafe { _svcvt_f32_u64_m(inactive, pg.sve_into(), op.as_signed()) }
7832}
7833#[doc = "Floating-point convert"]
7834#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcvt_f32[_u64]_x)"]
7835#[inline]
7836#[target_feature(enable = "sve")]
7837#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7838#[cfg_attr(test, assert_instr(ucvtf))]
7839pub fn svcvt_f32_u64_x(pg: svbool_t, op: svuint64_t) -> svfloat32_t {
7840 unsafe { svcvt_f32_u64_m(transmute_unchecked(op), pg, op) }
7841}
7842#[doc = "Floating-point convert"]
7843#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcvt_f32[_u64]_z)"]
7844#[inline]
7845#[target_feature(enable = "sve")]
7846#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7847#[cfg_attr(test, assert_instr(ucvtf))]
7848pub fn svcvt_f32_u64_z(pg: svbool_t, op: svuint64_t) -> svfloat32_t {
7849 svcvt_f32_u64_m(svdup_n_f32(0.0), pg, op)
7850}
7851#[doc = "Floating-point convert"]
7852#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcvt_f64[_s32]_m)"]
7853#[inline]
7854#[target_feature(enable = "sve")]
7855#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7856#[cfg_attr(test, assert_instr(scvtf))]
7857pub fn svcvt_f64_s32_m(inactive: svfloat64_t, pg: svbool_t, op: svint32_t) -> svfloat64_t {
7858 unsafe extern "unadjusted" {
7859 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.scvtf.f64i32")]
7860 fn _svcvt_f64_s32_m(inactive: svfloat64_t, pg: svbool2_t, op: svint32_t) -> svfloat64_t;
7861 }
7862 unsafe { _svcvt_f64_s32_m(inactive, pg.sve_into(), op) }
7863}
7864#[doc = "Floating-point convert"]
7865#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcvt_f64[_s32]_x)"]
7866#[inline]
7867#[target_feature(enable = "sve")]
7868#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7869#[cfg_attr(test, assert_instr(scvtf))]
7870pub fn svcvt_f64_s32_x(pg: svbool_t, op: svint32_t) -> svfloat64_t {
7871 unsafe { svcvt_f64_s32_m(transmute_unchecked(op), pg, op) }
7872}
7873#[doc = "Floating-point convert"]
7874#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcvt_f64[_s32]_z)"]
7875#[inline]
7876#[target_feature(enable = "sve")]
7877#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7878#[cfg_attr(test, assert_instr(scvtf))]
7879pub fn svcvt_f64_s32_z(pg: svbool_t, op: svint32_t) -> svfloat64_t {
7880 svcvt_f64_s32_m(svdup_n_f64(0.0), pg, op)
7881}
7882#[doc = "Floating-point convert"]
7883#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcvt_f64[_u32]_m)"]
7884#[inline]
7885#[target_feature(enable = "sve")]
7886#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7887#[cfg_attr(test, assert_instr(ucvtf))]
7888pub fn svcvt_f64_u32_m(inactive: svfloat64_t, pg: svbool_t, op: svuint32_t) -> svfloat64_t {
7889 unsafe extern "unadjusted" {
7890 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.ucvtf.f64i32")]
7891 fn _svcvt_f64_u32_m(inactive: svfloat64_t, pg: svbool2_t, op: svint32_t) -> svfloat64_t;
7892 }
7893 unsafe { _svcvt_f64_u32_m(inactive, pg.sve_into(), op.as_signed()) }
7894}
7895#[doc = "Floating-point convert"]
7896#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcvt_f64[_u32]_x)"]
7897#[inline]
7898#[target_feature(enable = "sve")]
7899#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7900#[cfg_attr(test, assert_instr(ucvtf))]
7901pub fn svcvt_f64_u32_x(pg: svbool_t, op: svuint32_t) -> svfloat64_t {
7902 unsafe { svcvt_f64_u32_m(transmute_unchecked(op), pg, op) }
7903}
7904#[doc = "Floating-point convert"]
7905#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcvt_f64[_u32]_z)"]
7906#[inline]
7907#[target_feature(enable = "sve")]
7908#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7909#[cfg_attr(test, assert_instr(ucvtf))]
7910pub fn svcvt_f64_u32_z(pg: svbool_t, op: svuint32_t) -> svfloat64_t {
7911 svcvt_f64_u32_m(svdup_n_f64(0.0), pg, op)
7912}
7913#[doc = "Floating-point convert"]
7914#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcvt_s32[_f32]_m)"]
7915#[inline]
7916#[target_feature(enable = "sve")]
7917#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7918#[cfg_attr(test, assert_instr(fcvtzs))]
7919pub fn svcvt_s32_f32_m(inactive: svint32_t, pg: svbool_t, op: svfloat32_t) -> svint32_t {
7920 unsafe extern "unadjusted" {
7921 #[cfg_attr(
7922 target_arch = "aarch64",
7923 link_name = "llvm.aarch64.sve.fcvtzs.nxv4i32.nxv4f32"
7924 )]
7925 fn _svcvt_s32_f32_m(inactive: svint32_t, pg: svbool4_t, op: svfloat32_t) -> svint32_t;
7926 }
7927 unsafe { _svcvt_s32_f32_m(inactive, pg.sve_into(), op) }
7928}
7929#[doc = "Floating-point convert"]
7930#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcvt_s32[_f32]_x)"]
7931#[inline]
7932#[target_feature(enable = "sve")]
7933#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7934#[cfg_attr(test, assert_instr(fcvtzs))]
7935pub fn svcvt_s32_f32_x(pg: svbool_t, op: svfloat32_t) -> svint32_t {
7936 unsafe { svcvt_s32_f32_m(transmute_unchecked(op), pg, op) }
7937}
7938#[doc = "Floating-point convert"]
7939#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcvt_s32[_f32]_z)"]
7940#[inline]
7941#[target_feature(enable = "sve")]
7942#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7943#[cfg_attr(test, assert_instr(fcvtzs))]
7944pub fn svcvt_s32_f32_z(pg: svbool_t, op: svfloat32_t) -> svint32_t {
7945 svcvt_s32_f32_m(svdup_n_s32(0), pg, op)
7946}
7947#[doc = "Floating-point convert"]
7948#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcvt_s64[_f64]_m)"]
7949#[inline]
7950#[target_feature(enable = "sve")]
7951#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7952#[cfg_attr(test, assert_instr(fcvtzs))]
7953pub fn svcvt_s64_f64_m(inactive: svint64_t, pg: svbool_t, op: svfloat64_t) -> svint64_t {
7954 unsafe extern "unadjusted" {
7955 #[cfg_attr(
7956 target_arch = "aarch64",
7957 link_name = "llvm.aarch64.sve.fcvtzs.nxv2i64.nxv2f64"
7958 )]
7959 fn _svcvt_s64_f64_m(inactive: svint64_t, pg: svbool2_t, op: svfloat64_t) -> svint64_t;
7960 }
7961 unsafe { _svcvt_s64_f64_m(inactive, pg.sve_into(), op) }
7962}
7963#[doc = "Floating-point convert"]
7964#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcvt_s64[_f64]_x)"]
7965#[inline]
7966#[target_feature(enable = "sve")]
7967#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7968#[cfg_attr(test, assert_instr(fcvtzs))]
7969pub fn svcvt_s64_f64_x(pg: svbool_t, op: svfloat64_t) -> svint64_t {
7970 unsafe { svcvt_s64_f64_m(transmute_unchecked(op), pg, op) }
7971}
7972#[doc = "Floating-point convert"]
7973#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcvt_s64[_f64]_z)"]
7974#[inline]
7975#[target_feature(enable = "sve")]
7976#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7977#[cfg_attr(test, assert_instr(fcvtzs))]
7978pub fn svcvt_s64_f64_z(pg: svbool_t, op: svfloat64_t) -> svint64_t {
7979 svcvt_s64_f64_m(svdup_n_s64(0), pg, op)
7980}
7981#[doc = "Floating-point convert"]
7982#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcvt_u32[_f32]_m)"]
7983#[inline]
7984#[target_feature(enable = "sve")]
7985#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7986#[cfg_attr(test, assert_instr(fcvtzu))]
7987pub fn svcvt_u32_f32_m(inactive: svuint32_t, pg: svbool_t, op: svfloat32_t) -> svuint32_t {
7988 unsafe extern "unadjusted" {
7989 #[cfg_attr(
7990 target_arch = "aarch64",
7991 link_name = "llvm.aarch64.sve.fcvtzu.nxv4i32.nxv4f32"
7992 )]
7993 fn _svcvt_u32_f32_m(inactive: svint32_t, pg: svbool4_t, op: svfloat32_t) -> svint32_t;
7994 }
7995 unsafe { _svcvt_u32_f32_m(inactive.as_signed(), pg.sve_into(), op).as_unsigned() }
7996}
7997#[doc = "Floating-point convert"]
7998#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcvt_u32[_f32]_x)"]
7999#[inline]
8000#[target_feature(enable = "sve")]
8001#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8002#[cfg_attr(test, assert_instr(fcvtzu))]
8003pub fn svcvt_u32_f32_x(pg: svbool_t, op: svfloat32_t) -> svuint32_t {
8004 unsafe { svcvt_u32_f32_m(transmute_unchecked(op), pg, op) }
8005}
8006#[doc = "Floating-point convert"]
8007#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcvt_u32[_f32]_z)"]
8008#[inline]
8009#[target_feature(enable = "sve")]
8010#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8011#[cfg_attr(test, assert_instr(fcvtzu))]
8012pub fn svcvt_u32_f32_z(pg: svbool_t, op: svfloat32_t) -> svuint32_t {
8013 svcvt_u32_f32_m(svdup_n_u32(0), pg, op)
8014}
8015#[doc = "Floating-point convert"]
8016#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcvt_u64[_f64]_m)"]
8017#[inline]
8018#[target_feature(enable = "sve")]
8019#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8020#[cfg_attr(test, assert_instr(fcvtzu))]
8021pub fn svcvt_u64_f64_m(inactive: svuint64_t, pg: svbool_t, op: svfloat64_t) -> svuint64_t {
8022 unsafe extern "unadjusted" {
8023 #[cfg_attr(
8024 target_arch = "aarch64",
8025 link_name = "llvm.aarch64.sve.fcvtzu.nxv2i64.nxv2f64"
8026 )]
8027 fn _svcvt_u64_f64_m(inactive: svint64_t, pg: svbool2_t, op: svfloat64_t) -> svint64_t;
8028 }
8029 unsafe { _svcvt_u64_f64_m(inactive.as_signed(), pg.sve_into(), op).as_unsigned() }
8030}
8031#[doc = "Floating-point convert"]
8032#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcvt_u64[_f64]_x)"]
8033#[inline]
8034#[target_feature(enable = "sve")]
8035#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8036#[cfg_attr(test, assert_instr(fcvtzu))]
8037pub fn svcvt_u64_f64_x(pg: svbool_t, op: svfloat64_t) -> svuint64_t {
8038 unsafe { svcvt_u64_f64_m(transmute_unchecked(op), pg, op) }
8039}
8040#[doc = "Floating-point convert"]
8041#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcvt_u64[_f64]_z)"]
8042#[inline]
8043#[target_feature(enable = "sve")]
8044#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8045#[cfg_attr(test, assert_instr(fcvtzu))]
8046pub fn svcvt_u64_f64_z(pg: svbool_t, op: svfloat64_t) -> svuint64_t {
8047 svcvt_u64_f64_m(svdup_n_u64(0), pg, op)
8048}
8049#[doc = "Floating-point convert"]
8050#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcvt_s32[_f64]_m)"]
8051#[inline]
8052#[target_feature(enable = "sve")]
8053#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8054#[cfg_attr(test, assert_instr(fcvtzs))]
8055pub fn svcvt_s32_f64_m(inactive: svint32_t, pg: svbool_t, op: svfloat64_t) -> svint32_t {
8056 unsafe extern "unadjusted" {
8057 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.fcvtzs.i32f64")]
8058 fn _svcvt_s32_f64_m(inactive: svint32_t, pg: svbool2_t, op: svfloat64_t) -> svint32_t;
8059 }
8060 unsafe { _svcvt_s32_f64_m(inactive, pg.sve_into(), op) }
8061}
8062#[doc = "Floating-point convert"]
8063#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcvt_s32[_f64]_x)"]
8064#[inline]
8065#[target_feature(enable = "sve")]
8066#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8067#[cfg_attr(test, assert_instr(fcvtzs))]
8068pub fn svcvt_s32_f64_x(pg: svbool_t, op: svfloat64_t) -> svint32_t {
8069 unsafe { svcvt_s32_f64_m(transmute_unchecked(op), pg, op) }
8070}
8071#[doc = "Floating-point convert"]
8072#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcvt_s32[_f64]_z)"]
8073#[inline]
8074#[target_feature(enable = "sve")]
8075#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8076#[cfg_attr(test, assert_instr(fcvtzs))]
8077pub fn svcvt_s32_f64_z(pg: svbool_t, op: svfloat64_t) -> svint32_t {
8078 svcvt_s32_f64_m(svdup_n_s32(0), pg, op)
8079}
8080#[doc = "Floating-point convert"]
8081#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcvt_s64[_f32]_m)"]
8082#[inline]
8083#[target_feature(enable = "sve")]
8084#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8085#[cfg_attr(test, assert_instr(fcvtzs))]
8086pub fn svcvt_s64_f32_m(inactive: svint64_t, pg: svbool_t, op: svfloat32_t) -> svint64_t {
8087 unsafe extern "unadjusted" {
8088 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.fcvtzs.i64f32")]
8089 fn _svcvt_s64_f32_m(inactive: svint64_t, pg: svbool2_t, op: svfloat32_t) -> svint64_t;
8090 }
8091 unsafe { _svcvt_s64_f32_m(inactive, pg.sve_into(), op) }
8092}
8093#[doc = "Floating-point convert"]
8094#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcvt_s64[_f32]_x)"]
8095#[inline]
8096#[target_feature(enable = "sve")]
8097#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8098#[cfg_attr(test, assert_instr(fcvtzs))]
8099pub fn svcvt_s64_f32_x(pg: svbool_t, op: svfloat32_t) -> svint64_t {
8100 unsafe { svcvt_s64_f32_m(transmute_unchecked(op), pg, op) }
8101}
8102#[doc = "Floating-point convert"]
8103#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcvt_s64[_f32]_z)"]
8104#[inline]
8105#[target_feature(enable = "sve")]
8106#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8107#[cfg_attr(test, assert_instr(fcvtzs))]
8108pub fn svcvt_s64_f32_z(pg: svbool_t, op: svfloat32_t) -> svint64_t {
8109 svcvt_s64_f32_m(svdup_n_s64(0), pg, op)
8110}
8111#[doc = "Floating-point convert"]
8112#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcvt_u32[_f64]_m)"]
8113#[inline]
8114#[target_feature(enable = "sve")]
8115#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8116#[cfg_attr(test, assert_instr(fcvtzu))]
8117pub fn svcvt_u32_f64_m(inactive: svuint32_t, pg: svbool_t, op: svfloat64_t) -> svuint32_t {
8118 unsafe extern "unadjusted" {
8119 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.fcvtzu.i32f64")]
8120 fn _svcvt_u32_f64_m(inactive: svint32_t, pg: svbool2_t, op: svfloat64_t) -> svint32_t;
8121 }
8122 unsafe { _svcvt_u32_f64_m(inactive.as_signed(), pg.sve_into(), op).as_unsigned() }
8123}
8124#[doc = "Floating-point convert"]
8125#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcvt_u32[_f64]_x)"]
8126#[inline]
8127#[target_feature(enable = "sve")]
8128#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8129#[cfg_attr(test, assert_instr(fcvtzu))]
8130pub fn svcvt_u32_f64_x(pg: svbool_t, op: svfloat64_t) -> svuint32_t {
8131 unsafe { svcvt_u32_f64_m(transmute_unchecked(op), pg, op) }
8132}
8133#[doc = "Floating-point convert"]
8134#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcvt_u32[_f64]_z)"]
8135#[inline]
8136#[target_feature(enable = "sve")]
8137#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8138#[cfg_attr(test, assert_instr(fcvtzu))]
8139pub fn svcvt_u32_f64_z(pg: svbool_t, op: svfloat64_t) -> svuint32_t {
8140 svcvt_u32_f64_m(svdup_n_u32(0), pg, op)
8141}
8142#[doc = "Floating-point convert"]
8143#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcvt_u64[_f32]_m)"]
8144#[inline]
8145#[target_feature(enable = "sve")]
8146#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8147#[cfg_attr(test, assert_instr(fcvtzu))]
8148pub fn svcvt_u64_f32_m(inactive: svuint64_t, pg: svbool_t, op: svfloat32_t) -> svuint64_t {
8149 unsafe extern "unadjusted" {
8150 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.fcvtzu.i64f32")]
8151 fn _svcvt_u64_f32_m(inactive: svint64_t, pg: svbool2_t, op: svfloat32_t) -> svint64_t;
8152 }
8153 unsafe { _svcvt_u64_f32_m(inactive.as_signed(), pg.sve_into(), op).as_unsigned() }
8154}
8155#[doc = "Floating-point convert"]
8156#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcvt_u64[_f32]_x)"]
8157#[inline]
8158#[target_feature(enable = "sve")]
8159#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8160#[cfg_attr(test, assert_instr(fcvtzu))]
8161pub fn svcvt_u64_f32_x(pg: svbool_t, op: svfloat32_t) -> svuint64_t {
8162 unsafe { svcvt_u64_f32_m(transmute_unchecked(op), pg, op) }
8163}
8164#[doc = "Floating-point convert"]
8165#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcvt_u64[_f32]_z)"]
8166#[inline]
8167#[target_feature(enable = "sve")]
8168#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8169#[cfg_attr(test, assert_instr(fcvtzu))]
8170pub fn svcvt_u64_f32_z(pg: svbool_t, op: svfloat32_t) -> svuint64_t {
8171 svcvt_u64_f32_m(svdup_n_u64(0), pg, op)
8172}
8173#[doc = "Divide"]
8174#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdiv[_f32]_m)"]
8175#[inline]
8176#[target_feature(enable = "sve")]
8177#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8178#[cfg_attr(test, assert_instr(fdiv))]
8179pub fn svdiv_f32_m(pg: svbool_t, op1: svfloat32_t, op2: svfloat32_t) -> svfloat32_t {
8180 unsafe extern "unadjusted" {
8181 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.fdiv.nxv4f32")]
8182 fn _svdiv_f32_m(pg: svbool4_t, op1: svfloat32_t, op2: svfloat32_t) -> svfloat32_t;
8183 }
8184 unsafe { _svdiv_f32_m(pg.sve_into(), op1, op2) }
8185}
8186#[doc = "Divide"]
8187#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdiv[_n_f32]_m)"]
8188#[inline]
8189#[target_feature(enable = "sve")]
8190#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8191#[cfg_attr(test, assert_instr(fdiv))]
8192pub fn svdiv_n_f32_m(pg: svbool_t, op1: svfloat32_t, op2: f32) -> svfloat32_t {
8193 svdiv_f32_m(pg, op1, svdup_n_f32(op2))
8194}
8195#[doc = "Divide"]
8196#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdiv[_f32]_x)"]
8197#[inline]
8198#[target_feature(enable = "sve")]
8199#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8200#[cfg_attr(test, assert_instr(fdiv))]
8201pub fn svdiv_f32_x(pg: svbool_t, op1: svfloat32_t, op2: svfloat32_t) -> svfloat32_t {
8202 svdiv_f32_m(pg, op1, op2)
8203}
8204#[doc = "Divide"]
8205#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdiv[_n_f32]_x)"]
8206#[inline]
8207#[target_feature(enable = "sve")]
8208#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8209#[cfg_attr(test, assert_instr(fdiv))]
8210pub fn svdiv_n_f32_x(pg: svbool_t, op1: svfloat32_t, op2: f32) -> svfloat32_t {
8211 svdiv_f32_x(pg, op1, svdup_n_f32(op2))
8212}
8213#[doc = "Divide"]
8214#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdiv[_f32]_z)"]
8215#[inline]
8216#[target_feature(enable = "sve")]
8217#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8218#[cfg_attr(test, assert_instr(fdiv))]
8219pub fn svdiv_f32_z(pg: svbool_t, op1: svfloat32_t, op2: svfloat32_t) -> svfloat32_t {
8220 svdiv_f32_m(pg, svsel_f32(pg, op1, svdup_n_f32(0.0)), op2)
8221}
8222#[doc = "Divide"]
8223#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdiv[_n_f32]_z)"]
8224#[inline]
8225#[target_feature(enable = "sve")]
8226#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8227#[cfg_attr(test, assert_instr(fdiv))]
8228pub fn svdiv_n_f32_z(pg: svbool_t, op1: svfloat32_t, op2: f32) -> svfloat32_t {
8229 svdiv_f32_z(pg, op1, svdup_n_f32(op2))
8230}
8231#[doc = "Divide"]
8232#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdiv[_f64]_m)"]
8233#[inline]
8234#[target_feature(enable = "sve")]
8235#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8236#[cfg_attr(test, assert_instr(fdiv))]
8237pub fn svdiv_f64_m(pg: svbool_t, op1: svfloat64_t, op2: svfloat64_t) -> svfloat64_t {
8238 unsafe extern "unadjusted" {
8239 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.fdiv.nxv2f64")]
8240 fn _svdiv_f64_m(pg: svbool2_t, op1: svfloat64_t, op2: svfloat64_t) -> svfloat64_t;
8241 }
8242 unsafe { _svdiv_f64_m(pg.sve_into(), op1, op2) }
8243}
8244#[doc = "Divide"]
8245#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdiv[_n_f64]_m)"]
8246#[inline]
8247#[target_feature(enable = "sve")]
8248#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8249#[cfg_attr(test, assert_instr(fdiv))]
8250pub fn svdiv_n_f64_m(pg: svbool_t, op1: svfloat64_t, op2: f64) -> svfloat64_t {
8251 svdiv_f64_m(pg, op1, svdup_n_f64(op2))
8252}
8253#[doc = "Divide"]
8254#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdiv[_f64]_x)"]
8255#[inline]
8256#[target_feature(enable = "sve")]
8257#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8258#[cfg_attr(test, assert_instr(fdiv))]
8259pub fn svdiv_f64_x(pg: svbool_t, op1: svfloat64_t, op2: svfloat64_t) -> svfloat64_t {
8260 svdiv_f64_m(pg, op1, op2)
8261}
8262#[doc = "Divide"]
8263#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdiv[_n_f64]_x)"]
8264#[inline]
8265#[target_feature(enable = "sve")]
8266#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8267#[cfg_attr(test, assert_instr(fdiv))]
8268pub fn svdiv_n_f64_x(pg: svbool_t, op1: svfloat64_t, op2: f64) -> svfloat64_t {
8269 svdiv_f64_x(pg, op1, svdup_n_f64(op2))
8270}
8271#[doc = "Divide"]
8272#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdiv[_f64]_z)"]
8273#[inline]
8274#[target_feature(enable = "sve")]
8275#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8276#[cfg_attr(test, assert_instr(fdiv))]
8277pub fn svdiv_f64_z(pg: svbool_t, op1: svfloat64_t, op2: svfloat64_t) -> svfloat64_t {
8278 svdiv_f64_m(pg, svsel_f64(pg, op1, svdup_n_f64(0.0)), op2)
8279}
8280#[doc = "Divide"]
8281#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdiv[_n_f64]_z)"]
8282#[inline]
8283#[target_feature(enable = "sve")]
8284#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8285#[cfg_attr(test, assert_instr(fdiv))]
8286pub fn svdiv_n_f64_z(pg: svbool_t, op1: svfloat64_t, op2: f64) -> svfloat64_t {
8287 svdiv_f64_z(pg, op1, svdup_n_f64(op2))
8288}
8289#[doc = "Divide"]
8290#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdiv[_s32]_m)"]
8291#[inline]
8292#[target_feature(enable = "sve")]
8293#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8294#[cfg_attr(test, assert_instr(sdiv))]
8295pub fn svdiv_s32_m(pg: svbool_t, op1: svint32_t, op2: svint32_t) -> svint32_t {
8296 unsafe extern "unadjusted" {
8297 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.sdiv.nxv4i32")]
8298 fn _svdiv_s32_m(pg: svbool4_t, op1: svint32_t, op2: svint32_t) -> svint32_t;
8299 }
8300 unsafe { _svdiv_s32_m(pg.sve_into(), op1, op2) }
8301}
8302#[doc = "Divide"]
8303#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdiv[_n_s32]_m)"]
8304#[inline]
8305#[target_feature(enable = "sve")]
8306#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8307#[cfg_attr(test, assert_instr(sdiv))]
8308pub fn svdiv_n_s32_m(pg: svbool_t, op1: svint32_t, op2: i32) -> svint32_t {
8309 svdiv_s32_m(pg, op1, svdup_n_s32(op2))
8310}
8311#[doc = "Divide"]
8312#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdiv[_s32]_x)"]
8313#[inline]
8314#[target_feature(enable = "sve")]
8315#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8316#[cfg_attr(test, assert_instr(sdiv))]
8317pub fn svdiv_s32_x(pg: svbool_t, op1: svint32_t, op2: svint32_t) -> svint32_t {
8318 svdiv_s32_m(pg, op1, op2)
8319}
8320#[doc = "Divide"]
8321#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdiv[_n_s32]_x)"]
8322#[inline]
8323#[target_feature(enable = "sve")]
8324#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8325#[cfg_attr(test, assert_instr(sdiv))]
8326pub fn svdiv_n_s32_x(pg: svbool_t, op1: svint32_t, op2: i32) -> svint32_t {
8327 svdiv_s32_x(pg, op1, svdup_n_s32(op2))
8328}
8329#[doc = "Divide"]
8330#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdiv[_s32]_z)"]
8331#[inline]
8332#[target_feature(enable = "sve")]
8333#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8334#[cfg_attr(test, assert_instr(sdiv))]
8335pub fn svdiv_s32_z(pg: svbool_t, op1: svint32_t, op2: svint32_t) -> svint32_t {
8336 svdiv_s32_m(pg, svsel_s32(pg, op1, svdup_n_s32(0)), op2)
8337}
8338#[doc = "Divide"]
8339#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdiv[_n_s32]_z)"]
8340#[inline]
8341#[target_feature(enable = "sve")]
8342#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8343#[cfg_attr(test, assert_instr(sdiv))]
8344pub fn svdiv_n_s32_z(pg: svbool_t, op1: svint32_t, op2: i32) -> svint32_t {
8345 svdiv_s32_z(pg, op1, svdup_n_s32(op2))
8346}
8347#[doc = "Divide"]
8348#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdiv[_s64]_m)"]
8349#[inline]
8350#[target_feature(enable = "sve")]
8351#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8352#[cfg_attr(test, assert_instr(sdiv))]
8353pub fn svdiv_s64_m(pg: svbool_t, op1: svint64_t, op2: svint64_t) -> svint64_t {
8354 unsafe extern "unadjusted" {
8355 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.sdiv.nxv2i64")]
8356 fn _svdiv_s64_m(pg: svbool2_t, op1: svint64_t, op2: svint64_t) -> svint64_t;
8357 }
8358 unsafe { _svdiv_s64_m(pg.sve_into(), op1, op2) }
8359}
8360#[doc = "Divide"]
8361#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdiv[_n_s64]_m)"]
8362#[inline]
8363#[target_feature(enable = "sve")]
8364#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8365#[cfg_attr(test, assert_instr(sdiv))]
8366pub fn svdiv_n_s64_m(pg: svbool_t, op1: svint64_t, op2: i64) -> svint64_t {
8367 svdiv_s64_m(pg, op1, svdup_n_s64(op2))
8368}
8369#[doc = "Divide"]
8370#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdiv[_s64]_x)"]
8371#[inline]
8372#[target_feature(enable = "sve")]
8373#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8374#[cfg_attr(test, assert_instr(sdiv))]
8375pub fn svdiv_s64_x(pg: svbool_t, op1: svint64_t, op2: svint64_t) -> svint64_t {
8376 svdiv_s64_m(pg, op1, op2)
8377}
8378#[doc = "Divide"]
8379#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdiv[_n_s64]_x)"]
8380#[inline]
8381#[target_feature(enable = "sve")]
8382#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8383#[cfg_attr(test, assert_instr(sdiv))]
8384pub fn svdiv_n_s64_x(pg: svbool_t, op1: svint64_t, op2: i64) -> svint64_t {
8385 svdiv_s64_x(pg, op1, svdup_n_s64(op2))
8386}
8387#[doc = "Divide"]
8388#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdiv[_s64]_z)"]
8389#[inline]
8390#[target_feature(enable = "sve")]
8391#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8392#[cfg_attr(test, assert_instr(sdiv))]
8393pub fn svdiv_s64_z(pg: svbool_t, op1: svint64_t, op2: svint64_t) -> svint64_t {
8394 svdiv_s64_m(pg, svsel_s64(pg, op1, svdup_n_s64(0)), op2)
8395}
8396#[doc = "Divide"]
8397#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdiv[_n_s64]_z)"]
8398#[inline]
8399#[target_feature(enable = "sve")]
8400#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8401#[cfg_attr(test, assert_instr(sdiv))]
8402pub fn svdiv_n_s64_z(pg: svbool_t, op1: svint64_t, op2: i64) -> svint64_t {
8403 svdiv_s64_z(pg, op1, svdup_n_s64(op2))
8404}
8405#[doc = "Divide"]
8406#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdiv[_u32]_m)"]
8407#[inline]
8408#[target_feature(enable = "sve")]
8409#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8410#[cfg_attr(test, assert_instr(udiv))]
8411pub fn svdiv_u32_m(pg: svbool_t, op1: svuint32_t, op2: svuint32_t) -> svuint32_t {
8412 unsafe extern "unadjusted" {
8413 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.udiv.nxv4i32")]
8414 fn _svdiv_u32_m(pg: svbool4_t, op1: svint32_t, op2: svint32_t) -> svint32_t;
8415 }
8416 unsafe { _svdiv_u32_m(pg.sve_into(), op1.as_signed(), op2.as_signed()).as_unsigned() }
8417}
8418#[doc = "Divide"]
8419#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdiv[_n_u32]_m)"]
8420#[inline]
8421#[target_feature(enable = "sve")]
8422#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8423#[cfg_attr(test, assert_instr(udiv))]
8424pub fn svdiv_n_u32_m(pg: svbool_t, op1: svuint32_t, op2: u32) -> svuint32_t {
8425 svdiv_u32_m(pg, op1, svdup_n_u32(op2))
8426}
8427#[doc = "Divide"]
8428#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdiv[_u32]_x)"]
8429#[inline]
8430#[target_feature(enable = "sve")]
8431#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8432#[cfg_attr(test, assert_instr(udiv))]
8433pub fn svdiv_u32_x(pg: svbool_t, op1: svuint32_t, op2: svuint32_t) -> svuint32_t {
8434 svdiv_u32_m(pg, op1, op2)
8435}
8436#[doc = "Divide"]
8437#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdiv[_n_u32]_x)"]
8438#[inline]
8439#[target_feature(enable = "sve")]
8440#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8441#[cfg_attr(test, assert_instr(udiv))]
8442pub fn svdiv_n_u32_x(pg: svbool_t, op1: svuint32_t, op2: u32) -> svuint32_t {
8443 svdiv_u32_x(pg, op1, svdup_n_u32(op2))
8444}
8445#[doc = "Divide"]
8446#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdiv[_u32]_z)"]
8447#[inline]
8448#[target_feature(enable = "sve")]
8449#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8450#[cfg_attr(test, assert_instr(udiv))]
8451pub fn svdiv_u32_z(pg: svbool_t, op1: svuint32_t, op2: svuint32_t) -> svuint32_t {
8452 svdiv_u32_m(pg, svsel_u32(pg, op1, svdup_n_u32(0)), op2)
8453}
8454#[doc = "Divide"]
8455#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdiv[_n_u32]_z)"]
8456#[inline]
8457#[target_feature(enable = "sve")]
8458#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8459#[cfg_attr(test, assert_instr(udiv))]
8460pub fn svdiv_n_u32_z(pg: svbool_t, op1: svuint32_t, op2: u32) -> svuint32_t {
8461 svdiv_u32_z(pg, op1, svdup_n_u32(op2))
8462}
8463#[doc = "Divide"]
8464#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdiv[_u64]_m)"]
8465#[inline]
8466#[target_feature(enable = "sve")]
8467#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8468#[cfg_attr(test, assert_instr(udiv))]
8469pub fn svdiv_u64_m(pg: svbool_t, op1: svuint64_t, op2: svuint64_t) -> svuint64_t {
8470 unsafe extern "unadjusted" {
8471 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.udiv.nxv2i64")]
8472 fn _svdiv_u64_m(pg: svbool2_t, op1: svint64_t, op2: svint64_t) -> svint64_t;
8473 }
8474 unsafe { _svdiv_u64_m(pg.sve_into(), op1.as_signed(), op2.as_signed()).as_unsigned() }
8475}
8476#[doc = "Divide"]
8477#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdiv[_n_u64]_m)"]
8478#[inline]
8479#[target_feature(enable = "sve")]
8480#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8481#[cfg_attr(test, assert_instr(udiv))]
8482pub fn svdiv_n_u64_m(pg: svbool_t, op1: svuint64_t, op2: u64) -> svuint64_t {
8483 svdiv_u64_m(pg, op1, svdup_n_u64(op2))
8484}
8485#[doc = "Divide"]
8486#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdiv[_u64]_x)"]
8487#[inline]
8488#[target_feature(enable = "sve")]
8489#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8490#[cfg_attr(test, assert_instr(udiv))]
8491pub fn svdiv_u64_x(pg: svbool_t, op1: svuint64_t, op2: svuint64_t) -> svuint64_t {
8492 svdiv_u64_m(pg, op1, op2)
8493}
8494#[doc = "Divide"]
8495#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdiv[_n_u64]_x)"]
8496#[inline]
8497#[target_feature(enable = "sve")]
8498#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8499#[cfg_attr(test, assert_instr(udiv))]
8500pub fn svdiv_n_u64_x(pg: svbool_t, op1: svuint64_t, op2: u64) -> svuint64_t {
8501 svdiv_u64_x(pg, op1, svdup_n_u64(op2))
8502}
8503#[doc = "Divide"]
8504#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdiv[_u64]_z)"]
8505#[inline]
8506#[target_feature(enable = "sve")]
8507#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8508#[cfg_attr(test, assert_instr(udiv))]
8509pub fn svdiv_u64_z(pg: svbool_t, op1: svuint64_t, op2: svuint64_t) -> svuint64_t {
8510 svdiv_u64_m(pg, svsel_u64(pg, op1, svdup_n_u64(0)), op2)
8511}
8512#[doc = "Divide"]
8513#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdiv[_n_u64]_z)"]
8514#[inline]
8515#[target_feature(enable = "sve")]
8516#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8517#[cfg_attr(test, assert_instr(udiv))]
8518pub fn svdiv_n_u64_z(pg: svbool_t, op1: svuint64_t, op2: u64) -> svuint64_t {
8519 svdiv_u64_z(pg, op1, svdup_n_u64(op2))
8520}
8521#[doc = "Divide reversed"]
8522#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdivr[_f32]_m)"]
8523#[inline]
8524#[target_feature(enable = "sve")]
8525#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8526#[cfg_attr(test, assert_instr(fdivr))]
8527pub fn svdivr_f32_m(pg: svbool_t, op1: svfloat32_t, op2: svfloat32_t) -> svfloat32_t {
8528 unsafe extern "unadjusted" {
8529 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.fdivr.nxv4f32")]
8530 fn _svdivr_f32_m(pg: svbool4_t, op1: svfloat32_t, op2: svfloat32_t) -> svfloat32_t;
8531 }
8532 unsafe { _svdivr_f32_m(pg.sve_into(), op1, op2) }
8533}
8534#[doc = "Divide reversed"]
8535#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdivr[_n_f32]_m)"]
8536#[inline]
8537#[target_feature(enable = "sve")]
8538#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8539#[cfg_attr(test, assert_instr(fdivr))]
8540pub fn svdivr_n_f32_m(pg: svbool_t, op1: svfloat32_t, op2: f32) -> svfloat32_t {
8541 svdivr_f32_m(pg, op1, svdup_n_f32(op2))
8542}
8543#[doc = "Divide reversed"]
8544#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdivr[_f32]_x)"]
8545#[inline]
8546#[target_feature(enable = "sve")]
8547#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8548#[cfg_attr(test, assert_instr(fdivr))]
8549pub fn svdivr_f32_x(pg: svbool_t, op1: svfloat32_t, op2: svfloat32_t) -> svfloat32_t {
8550 svdivr_f32_m(pg, op1, op2)
8551}
8552#[doc = "Divide reversed"]
8553#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdivr[_n_f32]_x)"]
8554#[inline]
8555#[target_feature(enable = "sve")]
8556#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8557#[cfg_attr(test, assert_instr(fdivr))]
8558pub fn svdivr_n_f32_x(pg: svbool_t, op1: svfloat32_t, op2: f32) -> svfloat32_t {
8559 svdivr_f32_x(pg, op1, svdup_n_f32(op2))
8560}
8561#[doc = "Divide reversed"]
8562#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdivr[_f32]_z)"]
8563#[inline]
8564#[target_feature(enable = "sve")]
8565#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8566#[cfg_attr(test, assert_instr(fdivr))]
8567pub fn svdivr_f32_z(pg: svbool_t, op1: svfloat32_t, op2: svfloat32_t) -> svfloat32_t {
8568 svdivr_f32_m(pg, svsel_f32(pg, op1, svdup_n_f32(0.0)), op2)
8569}
8570#[doc = "Divide reversed"]
8571#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdivr[_n_f32]_z)"]
8572#[inline]
8573#[target_feature(enable = "sve")]
8574#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8575#[cfg_attr(test, assert_instr(fdivr))]
8576pub fn svdivr_n_f32_z(pg: svbool_t, op1: svfloat32_t, op2: f32) -> svfloat32_t {
8577 svdivr_f32_z(pg, op1, svdup_n_f32(op2))
8578}
8579#[doc = "Divide reversed"]
8580#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdivr[_f64]_m)"]
8581#[inline]
8582#[target_feature(enable = "sve")]
8583#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8584#[cfg_attr(test, assert_instr(fdivr))]
8585pub fn svdivr_f64_m(pg: svbool_t, op1: svfloat64_t, op2: svfloat64_t) -> svfloat64_t {
8586 unsafe extern "unadjusted" {
8587 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.fdivr.nxv2f64")]
8588 fn _svdivr_f64_m(pg: svbool2_t, op1: svfloat64_t, op2: svfloat64_t) -> svfloat64_t;
8589 }
8590 unsafe { _svdivr_f64_m(pg.sve_into(), op1, op2) }
8591}
8592#[doc = "Divide reversed"]
8593#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdivr[_n_f64]_m)"]
8594#[inline]
8595#[target_feature(enable = "sve")]
8596#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8597#[cfg_attr(test, assert_instr(fdivr))]
8598pub fn svdivr_n_f64_m(pg: svbool_t, op1: svfloat64_t, op2: f64) -> svfloat64_t {
8599 svdivr_f64_m(pg, op1, svdup_n_f64(op2))
8600}
8601#[doc = "Divide reversed"]
8602#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdivr[_f64]_x)"]
8603#[inline]
8604#[target_feature(enable = "sve")]
8605#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8606#[cfg_attr(test, assert_instr(fdivr))]
8607pub fn svdivr_f64_x(pg: svbool_t, op1: svfloat64_t, op2: svfloat64_t) -> svfloat64_t {
8608 svdivr_f64_m(pg, op1, op2)
8609}
8610#[doc = "Divide reversed"]
8611#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdivr[_n_f64]_x)"]
8612#[inline]
8613#[target_feature(enable = "sve")]
8614#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8615#[cfg_attr(test, assert_instr(fdivr))]
8616pub fn svdivr_n_f64_x(pg: svbool_t, op1: svfloat64_t, op2: f64) -> svfloat64_t {
8617 svdivr_f64_x(pg, op1, svdup_n_f64(op2))
8618}
8619#[doc = "Divide reversed"]
8620#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdivr[_f64]_z)"]
8621#[inline]
8622#[target_feature(enable = "sve")]
8623#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8624#[cfg_attr(test, assert_instr(fdivr))]
8625pub fn svdivr_f64_z(pg: svbool_t, op1: svfloat64_t, op2: svfloat64_t) -> svfloat64_t {
8626 svdivr_f64_m(pg, svsel_f64(pg, op1, svdup_n_f64(0.0)), op2)
8627}
8628#[doc = "Divide reversed"]
8629#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdivr[_n_f64]_z)"]
8630#[inline]
8631#[target_feature(enable = "sve")]
8632#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8633#[cfg_attr(test, assert_instr(fdivr))]
8634pub fn svdivr_n_f64_z(pg: svbool_t, op1: svfloat64_t, op2: f64) -> svfloat64_t {
8635 svdivr_f64_z(pg, op1, svdup_n_f64(op2))
8636}
8637#[doc = "Divide reversed"]
8638#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdivr[_s32]_m)"]
8639#[inline]
8640#[target_feature(enable = "sve")]
8641#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8642#[cfg_attr(test, assert_instr(sdivr))]
8643pub fn svdivr_s32_m(pg: svbool_t, op1: svint32_t, op2: svint32_t) -> svint32_t {
8644 unsafe extern "unadjusted" {
8645 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.sdivr.nxv4i32")]
8646 fn _svdivr_s32_m(pg: svbool4_t, op1: svint32_t, op2: svint32_t) -> svint32_t;
8647 }
8648 unsafe { _svdivr_s32_m(pg.sve_into(), op1, op2) }
8649}
8650#[doc = "Divide reversed"]
8651#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdivr[_n_s32]_m)"]
8652#[inline]
8653#[target_feature(enable = "sve")]
8654#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8655#[cfg_attr(test, assert_instr(sdivr))]
8656pub fn svdivr_n_s32_m(pg: svbool_t, op1: svint32_t, op2: i32) -> svint32_t {
8657 svdivr_s32_m(pg, op1, svdup_n_s32(op2))
8658}
8659#[doc = "Divide reversed"]
8660#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdivr[_s32]_x)"]
8661#[inline]
8662#[target_feature(enable = "sve")]
8663#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8664#[cfg_attr(test, assert_instr(sdivr))]
8665pub fn svdivr_s32_x(pg: svbool_t, op1: svint32_t, op2: svint32_t) -> svint32_t {
8666 svdivr_s32_m(pg, op1, op2)
8667}
8668#[doc = "Divide reversed"]
8669#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdivr[_n_s32]_x)"]
8670#[inline]
8671#[target_feature(enable = "sve")]
8672#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8673#[cfg_attr(test, assert_instr(sdivr))]
8674pub fn svdivr_n_s32_x(pg: svbool_t, op1: svint32_t, op2: i32) -> svint32_t {
8675 svdivr_s32_x(pg, op1, svdup_n_s32(op2))
8676}
8677#[doc = "Divide reversed"]
8678#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdivr[_s32]_z)"]
8679#[inline]
8680#[target_feature(enable = "sve")]
8681#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8682#[cfg_attr(test, assert_instr(sdivr))]
8683pub fn svdivr_s32_z(pg: svbool_t, op1: svint32_t, op2: svint32_t) -> svint32_t {
8684 svdivr_s32_m(pg, svsel_s32(pg, op1, svdup_n_s32(0)), op2)
8685}
8686#[doc = "Divide reversed"]
8687#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdivr[_n_s32]_z)"]
8688#[inline]
8689#[target_feature(enable = "sve")]
8690#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8691#[cfg_attr(test, assert_instr(sdivr))]
8692pub fn svdivr_n_s32_z(pg: svbool_t, op1: svint32_t, op2: i32) -> svint32_t {
8693 svdivr_s32_z(pg, op1, svdup_n_s32(op2))
8694}
8695#[doc = "Divide reversed"]
8696#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdivr[_s64]_m)"]
8697#[inline]
8698#[target_feature(enable = "sve")]
8699#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8700#[cfg_attr(test, assert_instr(sdivr))]
8701pub fn svdivr_s64_m(pg: svbool_t, op1: svint64_t, op2: svint64_t) -> svint64_t {
8702 unsafe extern "unadjusted" {
8703 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.sdivr.nxv2i64")]
8704 fn _svdivr_s64_m(pg: svbool2_t, op1: svint64_t, op2: svint64_t) -> svint64_t;
8705 }
8706 unsafe { _svdivr_s64_m(pg.sve_into(), op1, op2) }
8707}
8708#[doc = "Divide reversed"]
8709#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdivr[_n_s64]_m)"]
8710#[inline]
8711#[target_feature(enable = "sve")]
8712#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8713#[cfg_attr(test, assert_instr(sdivr))]
8714pub fn svdivr_n_s64_m(pg: svbool_t, op1: svint64_t, op2: i64) -> svint64_t {
8715 svdivr_s64_m(pg, op1, svdup_n_s64(op2))
8716}
8717#[doc = "Divide reversed"]
8718#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdivr[_s64]_x)"]
8719#[inline]
8720#[target_feature(enable = "sve")]
8721#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8722#[cfg_attr(test, assert_instr(sdivr))]
8723pub fn svdivr_s64_x(pg: svbool_t, op1: svint64_t, op2: svint64_t) -> svint64_t {
8724 svdivr_s64_m(pg, op1, op2)
8725}
8726#[doc = "Divide reversed"]
8727#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdivr[_n_s64]_x)"]
8728#[inline]
8729#[target_feature(enable = "sve")]
8730#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8731#[cfg_attr(test, assert_instr(sdivr))]
8732pub fn svdivr_n_s64_x(pg: svbool_t, op1: svint64_t, op2: i64) -> svint64_t {
8733 svdivr_s64_x(pg, op1, svdup_n_s64(op2))
8734}
8735#[doc = "Divide reversed"]
8736#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdivr[_s64]_z)"]
8737#[inline]
8738#[target_feature(enable = "sve")]
8739#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8740#[cfg_attr(test, assert_instr(sdivr))]
8741pub fn svdivr_s64_z(pg: svbool_t, op1: svint64_t, op2: svint64_t) -> svint64_t {
8742 svdivr_s64_m(pg, svsel_s64(pg, op1, svdup_n_s64(0)), op2)
8743}
8744#[doc = "Divide reversed"]
8745#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdivr[_n_s64]_z)"]
8746#[inline]
8747#[target_feature(enable = "sve")]
8748#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8749#[cfg_attr(test, assert_instr(sdivr))]
8750pub fn svdivr_n_s64_z(pg: svbool_t, op1: svint64_t, op2: i64) -> svint64_t {
8751 svdivr_s64_z(pg, op1, svdup_n_s64(op2))
8752}
8753#[doc = "Divide reversed"]
8754#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdivr[_u32]_m)"]
8755#[inline]
8756#[target_feature(enable = "sve")]
8757#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8758#[cfg_attr(test, assert_instr(udivr))]
8759pub fn svdivr_u32_m(pg: svbool_t, op1: svuint32_t, op2: svuint32_t) -> svuint32_t {
8760 unsafe extern "unadjusted" {
8761 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.udivr.nxv4i32")]
8762 fn _svdivr_u32_m(pg: svbool4_t, op1: svint32_t, op2: svint32_t) -> svint32_t;
8763 }
8764 unsafe { _svdivr_u32_m(pg.sve_into(), op1.as_signed(), op2.as_signed()).as_unsigned() }
8765}
8766#[doc = "Divide reversed"]
8767#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdivr[_n_u32]_m)"]
8768#[inline]
8769#[target_feature(enable = "sve")]
8770#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8771#[cfg_attr(test, assert_instr(udivr))]
8772pub fn svdivr_n_u32_m(pg: svbool_t, op1: svuint32_t, op2: u32) -> svuint32_t {
8773 svdivr_u32_m(pg, op1, svdup_n_u32(op2))
8774}
8775#[doc = "Divide reversed"]
8776#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdivr[_u32]_x)"]
8777#[inline]
8778#[target_feature(enable = "sve")]
8779#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8780#[cfg_attr(test, assert_instr(udivr))]
8781pub fn svdivr_u32_x(pg: svbool_t, op1: svuint32_t, op2: svuint32_t) -> svuint32_t {
8782 svdivr_u32_m(pg, op1, op2)
8783}
8784#[doc = "Divide reversed"]
8785#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdivr[_n_u32]_x)"]
8786#[inline]
8787#[target_feature(enable = "sve")]
8788#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8789#[cfg_attr(test, assert_instr(udivr))]
8790pub fn svdivr_n_u32_x(pg: svbool_t, op1: svuint32_t, op2: u32) -> svuint32_t {
8791 svdivr_u32_x(pg, op1, svdup_n_u32(op2))
8792}
8793#[doc = "Divide reversed"]
8794#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdivr[_u32]_z)"]
8795#[inline]
8796#[target_feature(enable = "sve")]
8797#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8798#[cfg_attr(test, assert_instr(udivr))]
8799pub fn svdivr_u32_z(pg: svbool_t, op1: svuint32_t, op2: svuint32_t) -> svuint32_t {
8800 svdivr_u32_m(pg, svsel_u32(pg, op1, svdup_n_u32(0)), op2)
8801}
8802#[doc = "Divide reversed"]
8803#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdivr[_n_u32]_z)"]
8804#[inline]
8805#[target_feature(enable = "sve")]
8806#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8807#[cfg_attr(test, assert_instr(udivr))]
8808pub fn svdivr_n_u32_z(pg: svbool_t, op1: svuint32_t, op2: u32) -> svuint32_t {
8809 svdivr_u32_z(pg, op1, svdup_n_u32(op2))
8810}
8811#[doc = "Divide reversed"]
8812#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdivr[_u64]_m)"]
8813#[inline]
8814#[target_feature(enable = "sve")]
8815#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8816#[cfg_attr(test, assert_instr(udivr))]
8817pub fn svdivr_u64_m(pg: svbool_t, op1: svuint64_t, op2: svuint64_t) -> svuint64_t {
8818 unsafe extern "unadjusted" {
8819 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.udivr.nxv2i64")]
8820 fn _svdivr_u64_m(pg: svbool2_t, op1: svint64_t, op2: svint64_t) -> svint64_t;
8821 }
8822 unsafe { _svdivr_u64_m(pg.sve_into(), op1.as_signed(), op2.as_signed()).as_unsigned() }
8823}
8824#[doc = "Divide reversed"]
8825#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdivr[_n_u64]_m)"]
8826#[inline]
8827#[target_feature(enable = "sve")]
8828#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8829#[cfg_attr(test, assert_instr(udivr))]
8830pub fn svdivr_n_u64_m(pg: svbool_t, op1: svuint64_t, op2: u64) -> svuint64_t {
8831 svdivr_u64_m(pg, op1, svdup_n_u64(op2))
8832}
8833#[doc = "Divide reversed"]
8834#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdivr[_u64]_x)"]
8835#[inline]
8836#[target_feature(enable = "sve")]
8837#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8838#[cfg_attr(test, assert_instr(udivr))]
8839pub fn svdivr_u64_x(pg: svbool_t, op1: svuint64_t, op2: svuint64_t) -> svuint64_t {
8840 svdivr_u64_m(pg, op1, op2)
8841}
8842#[doc = "Divide reversed"]
8843#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdivr[_n_u64]_x)"]
8844#[inline]
8845#[target_feature(enable = "sve")]
8846#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8847#[cfg_attr(test, assert_instr(udivr))]
8848pub fn svdivr_n_u64_x(pg: svbool_t, op1: svuint64_t, op2: u64) -> svuint64_t {
8849 svdivr_u64_x(pg, op1, svdup_n_u64(op2))
8850}
8851#[doc = "Divide reversed"]
8852#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdivr[_u64]_z)"]
8853#[inline]
8854#[target_feature(enable = "sve")]
8855#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8856#[cfg_attr(test, assert_instr(udivr))]
8857pub fn svdivr_u64_z(pg: svbool_t, op1: svuint64_t, op2: svuint64_t) -> svuint64_t {
8858 svdivr_u64_m(pg, svsel_u64(pg, op1, svdup_n_u64(0)), op2)
8859}
8860#[doc = "Divide reversed"]
8861#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdivr[_n_u64]_z)"]
8862#[inline]
8863#[target_feature(enable = "sve")]
8864#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8865#[cfg_attr(test, assert_instr(udivr))]
8866pub fn svdivr_n_u64_z(pg: svbool_t, op1: svuint64_t, op2: u64) -> svuint64_t {
8867 svdivr_u64_z(pg, op1, svdup_n_u64(op2))
8868}
8869#[doc = "Dot product"]
8870#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdot_lane[_s32])"]
8871#[inline]
8872#[target_feature(enable = "sve")]
8873#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8874#[cfg_attr(test, assert_instr(sdot, IMM_INDEX = 0))]
8875pub fn svdot_lane_s32<const IMM_INDEX: i32>(
8876 op1: svint32_t,
8877 op2: svint8_t,
8878 op3: svint8_t,
8879) -> svint32_t {
8880 static_assert_range!(IMM_INDEX, 0..=3);
8881 unsafe extern "unadjusted" {
8882 #[cfg_attr(
8883 target_arch = "aarch64",
8884 link_name = "llvm.aarch64.sve.sdot.lane.nxv4i32"
8885 )]
8886 fn _svdot_lane_s32(
8887 op1: svint32_t,
8888 op2: svint8_t,
8889 op3: svint8_t,
8890 imm_index: i32,
8891 ) -> svint32_t;
8892 }
8893 unsafe { _svdot_lane_s32(op1, op2, op3, IMM_INDEX) }
8894}
8895#[doc = "Dot product"]
8896#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdot_lane[_s64])"]
8897#[inline]
8898#[target_feature(enable = "sve")]
8899#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8900#[cfg_attr(test, assert_instr(sdot, IMM_INDEX = 0))]
8901pub fn svdot_lane_s64<const IMM_INDEX: i32>(
8902 op1: svint64_t,
8903 op2: svint16_t,
8904 op3: svint16_t,
8905) -> svint64_t {
8906 static_assert_range!(IMM_INDEX, 0..=1);
8907 unsafe extern "unadjusted" {
8908 #[cfg_attr(
8909 target_arch = "aarch64",
8910 link_name = "llvm.aarch64.sve.sdot.lane.nxv2i64"
8911 )]
8912 fn _svdot_lane_s64(
8913 op1: svint64_t,
8914 op2: svint16_t,
8915 op3: svint16_t,
8916 imm_index: i32,
8917 ) -> svint64_t;
8918 }
8919 unsafe { _svdot_lane_s64(op1, op2, op3, IMM_INDEX) }
8920}
8921#[doc = "Dot product"]
8922#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdot_lane[_u32])"]
8923#[inline]
8924#[target_feature(enable = "sve")]
8925#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8926#[cfg_attr(test, assert_instr(udot, IMM_INDEX = 0))]
8927pub fn svdot_lane_u32<const IMM_INDEX: i32>(
8928 op1: svuint32_t,
8929 op2: svuint8_t,
8930 op3: svuint8_t,
8931) -> svuint32_t {
8932 static_assert_range!(IMM_INDEX, 0..=3);
8933 unsafe extern "unadjusted" {
8934 #[cfg_attr(
8935 target_arch = "aarch64",
8936 link_name = "llvm.aarch64.sve.udot.lane.nxv4i32"
8937 )]
8938 fn _svdot_lane_u32(
8939 op1: svint32_t,
8940 op2: svint8_t,
8941 op3: svint8_t,
8942 imm_index: i32,
8943 ) -> svint32_t;
8944 }
8945 unsafe {
8946 _svdot_lane_u32(op1.as_signed(), op2.as_signed(), op3.as_signed(), IMM_INDEX).as_unsigned()
8947 }
8948}
8949#[doc = "Dot product"]
8950#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdot_lane[_u64])"]
8951#[inline]
8952#[target_feature(enable = "sve")]
8953#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8954#[cfg_attr(test, assert_instr(udot, IMM_INDEX = 0))]
8955pub fn svdot_lane_u64<const IMM_INDEX: i32>(
8956 op1: svuint64_t,
8957 op2: svuint16_t,
8958 op3: svuint16_t,
8959) -> svuint64_t {
8960 static_assert_range!(IMM_INDEX, 0..=1);
8961 unsafe extern "unadjusted" {
8962 #[cfg_attr(
8963 target_arch = "aarch64",
8964 link_name = "llvm.aarch64.sve.udot.lane.nxv2i64"
8965 )]
8966 fn _svdot_lane_u64(
8967 op1: svint64_t,
8968 op2: svint16_t,
8969 op3: svint16_t,
8970 imm_index: i32,
8971 ) -> svint64_t;
8972 }
8973 unsafe {
8974 _svdot_lane_u64(op1.as_signed(), op2.as_signed(), op3.as_signed(), IMM_INDEX).as_unsigned()
8975 }
8976}
8977#[doc = "Dot product"]
8978#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdot[_s32])"]
8979#[inline]
8980#[target_feature(enable = "sve")]
8981#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8982#[cfg_attr(test, assert_instr(sdot))]
8983pub fn svdot_s32(op1: svint32_t, op2: svint8_t, op3: svint8_t) -> svint32_t {
8984 unsafe extern "unadjusted" {
8985 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.sdot.nxv4i32")]
8986 fn _svdot_s32(op1: svint32_t, op2: svint8_t, op3: svint8_t) -> svint32_t;
8987 }
8988 unsafe { _svdot_s32(op1, op2, op3) }
8989}
8990#[doc = "Dot product"]
8991#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdot[_n_s32])"]
8992#[inline]
8993#[target_feature(enable = "sve")]
8994#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8995#[cfg_attr(test, assert_instr(sdot))]
8996pub fn svdot_n_s32(op1: svint32_t, op2: svint8_t, op3: i8) -> svint32_t {
8997 svdot_s32(op1, op2, svdup_n_s8(op3))
8998}
8999#[doc = "Dot product"]
9000#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdot[_s64])"]
9001#[inline]
9002#[target_feature(enable = "sve")]
9003#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
9004#[cfg_attr(test, assert_instr(sdot))]
9005pub fn svdot_s64(op1: svint64_t, op2: svint16_t, op3: svint16_t) -> svint64_t {
9006 unsafe extern "unadjusted" {
9007 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.sdot.nxv2i64")]
9008 fn _svdot_s64(op1: svint64_t, op2: svint16_t, op3: svint16_t) -> svint64_t;
9009 }
9010 unsafe { _svdot_s64(op1, op2, op3) }
9011}
9012#[doc = "Dot product"]
9013#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdot[_n_s64])"]
9014#[inline]
9015#[target_feature(enable = "sve")]
9016#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
9017#[cfg_attr(test, assert_instr(sdot))]
9018pub fn svdot_n_s64(op1: svint64_t, op2: svint16_t, op3: i16) -> svint64_t {
9019 svdot_s64(op1, op2, svdup_n_s16(op3))
9020}
9021#[doc = "Dot product"]
9022#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdot[_u32])"]
9023#[inline]
9024#[target_feature(enable = "sve")]
9025#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
9026#[cfg_attr(test, assert_instr(udot))]
9027pub fn svdot_u32(op1: svuint32_t, op2: svuint8_t, op3: svuint8_t) -> svuint32_t {
9028 unsafe extern "unadjusted" {
9029 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.udot.nxv4i32")]
9030 fn _svdot_u32(op1: svint32_t, op2: svint8_t, op3: svint8_t) -> svint32_t;
9031 }
9032 unsafe { _svdot_u32(op1.as_signed(), op2.as_signed(), op3.as_signed()).as_unsigned() }
9033}
9034#[doc = "Dot product"]
9035#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdot[_n_u32])"]
9036#[inline]
9037#[target_feature(enable = "sve")]
9038#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
9039#[cfg_attr(test, assert_instr(udot))]
9040pub fn svdot_n_u32(op1: svuint32_t, op2: svuint8_t, op3: u8) -> svuint32_t {
9041 svdot_u32(op1, op2, svdup_n_u8(op3))
9042}
9043#[doc = "Dot product"]
9044#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdot[_u64])"]
9045#[inline]
9046#[target_feature(enable = "sve")]
9047#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
9048#[cfg_attr(test, assert_instr(udot))]
9049pub fn svdot_u64(op1: svuint64_t, op2: svuint16_t, op3: svuint16_t) -> svuint64_t {
9050 unsafe extern "unadjusted" {
9051 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.udot.nxv2i64")]
9052 fn _svdot_u64(op1: svint64_t, op2: svint16_t, op3: svint16_t) -> svint64_t;
9053 }
9054 unsafe { _svdot_u64(op1.as_signed(), op2.as_signed(), op3.as_signed()).as_unsigned() }
9055}
9056#[doc = "Dot product"]
9057#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdot[_n_u64])"]
9058#[inline]
9059#[target_feature(enable = "sve")]
9060#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
9061#[cfg_attr(test, assert_instr(udot))]
9062pub fn svdot_n_u64(op1: svuint64_t, op2: svuint16_t, op3: u16) -> svuint64_t {
9063 svdot_u64(op1, op2, svdup_n_u16(op3))
9064}
9065#[doc = "Broadcast a scalar value"]
9066#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdup_lane[_f32])"]
9067#[inline]
9068#[target_feature(enable = "sve")]
9069#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
9070#[cfg_attr(test, assert_instr(tbl))]
9071pub fn svdup_lane_f32(data: svfloat32_t, index: u32) -> svfloat32_t {
9072 svtbl_f32(data, svdup_n_u32(index))
9073}
9074#[doc = "Broadcast a scalar value"]
9075#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdup_lane[_f64])"]
9076#[inline]
9077#[target_feature(enable = "sve")]
9078#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
9079#[cfg_attr(test, assert_instr(tbl))]
9080pub fn svdup_lane_f64(data: svfloat64_t, index: u64) -> svfloat64_t {
9081 svtbl_f64(data, svdup_n_u64(index))
9082}
9083#[doc = "Broadcast a scalar value"]
9084#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdup_lane[_s8])"]
9085#[inline]
9086#[target_feature(enable = "sve")]
9087#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
9088#[cfg_attr(test, assert_instr(tbl))]
9089pub fn svdup_lane_s8(data: svint8_t, index: u8) -> svint8_t {
9090 svtbl_s8(data, svdup_n_u8(index))
9091}
9092#[doc = "Broadcast a scalar value"]
9093#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdup_lane[_s16])"]
9094#[inline]
9095#[target_feature(enable = "sve")]
9096#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
9097#[cfg_attr(test, assert_instr(tbl))]
9098pub fn svdup_lane_s16(data: svint16_t, index: u16) -> svint16_t {
9099 svtbl_s16(data, svdup_n_u16(index))
9100}
9101#[doc = "Broadcast a scalar value"]
9102#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdup_lane[_s32])"]
9103#[inline]
9104#[target_feature(enable = "sve")]
9105#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
9106#[cfg_attr(test, assert_instr(tbl))]
9107pub fn svdup_lane_s32(data: svint32_t, index: u32) -> svint32_t {
9108 svtbl_s32(data, svdup_n_u32(index))
9109}
9110#[doc = "Broadcast a scalar value"]
9111#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdup_lane[_s64])"]
9112#[inline]
9113#[target_feature(enable = "sve")]
9114#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
9115#[cfg_attr(test, assert_instr(tbl))]
9116pub fn svdup_lane_s64(data: svint64_t, index: u64) -> svint64_t {
9117 svtbl_s64(data, svdup_n_u64(index))
9118}
9119#[doc = "Broadcast a scalar value"]
9120#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdup_lane[_u8])"]
9121#[inline]
9122#[target_feature(enable = "sve")]
9123#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
9124#[cfg_attr(test, assert_instr(tbl))]
9125pub fn svdup_lane_u8(data: svuint8_t, index: u8) -> svuint8_t {
9126 svtbl_u8(data, svdup_n_u8(index))
9127}
9128#[doc = "Broadcast a scalar value"]
9129#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdup_lane[_u16])"]
9130#[inline]
9131#[target_feature(enable = "sve")]
9132#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
9133#[cfg_attr(test, assert_instr(tbl))]
9134pub fn svdup_lane_u16(data: svuint16_t, index: u16) -> svuint16_t {
9135 svtbl_u16(data, svdup_n_u16(index))
9136}
9137#[doc = "Broadcast a scalar value"]
9138#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdup_lane[_u32])"]
9139#[inline]
9140#[target_feature(enable = "sve")]
9141#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
9142#[cfg_attr(test, assert_instr(tbl))]
9143pub fn svdup_lane_u32(data: svuint32_t, index: u32) -> svuint32_t {
9144 svtbl_u32(data, svdup_n_u32(index))
9145}
9146#[doc = "Broadcast a scalar value"]
9147#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdup_lane[_u64])"]
9148#[inline]
9149#[target_feature(enable = "sve")]
9150#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
9151#[cfg_attr(test, assert_instr(tbl))]
9152pub fn svdup_lane_u64(data: svuint64_t, index: u64) -> svuint64_t {
9153 svtbl_u64(data, svdup_n_u64(index))
9154}
9155#[doc = "Broadcast a scalar value"]
9156#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdup[_n]_b8)"]
9157#[inline]
9158#[target_feature(enable = "sve")]
9159#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
9160#[cfg_attr(test, assert_instr(sbfx))]
9161#[cfg_attr(test, assert_instr(whilelo))]
9162pub fn svdup_n_b8(op: bool) -> svbool_t {
9163 unsafe extern "unadjusted" {
9164 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.dup.x.nxv16i1")]
9165 fn _svdup_n_b8(op: bool) -> svbool_t;
9166 }
9167 unsafe { _svdup_n_b8(op) }
9168}
9169#[doc = "Broadcast a scalar value"]
9170#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdup[_n]_b16)"]
9171#[inline]
9172#[target_feature(enable = "sve")]
9173#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
9174#[cfg_attr(test, assert_instr(sbfx))]
9175#[cfg_attr(test, assert_instr(whilelo))]
9176pub fn svdup_n_b16(op: bool) -> svbool_t {
9177 unsafe extern "unadjusted" {
9178 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.dup.x.nxv8i1")]
9179 fn _svdup_n_b16(op: bool) -> svbool8_t;
9180 }
9181 unsafe { _svdup_n_b16(op).sve_into() }
9182}
9183#[doc = "Broadcast a scalar value"]
9184#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdup[_n]_b32)"]
9185#[inline]
9186#[target_feature(enable = "sve")]
9187#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
9188#[cfg_attr(test, assert_instr(sbfx))]
9189#[cfg_attr(test, assert_instr(whilelo))]
9190pub fn svdup_n_b32(op: bool) -> svbool_t {
9191 unsafe extern "unadjusted" {
9192 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.dup.x.nxv4i1")]
9193 fn _svdup_n_b32(op: bool) -> svbool4_t;
9194 }
9195 unsafe { _svdup_n_b32(op).sve_into() }
9196}
9197#[doc = "Broadcast a scalar value"]
9198#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdup[_n]_b64)"]
9199#[inline]
9200#[target_feature(enable = "sve")]
9201#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
9202#[cfg_attr(test, assert_instr(sbfx))]
9203#[cfg_attr(test, assert_instr(whilelo))]
9204pub fn svdup_n_b64(op: bool) -> svbool_t {
9205 unsafe extern "unadjusted" {
9206 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.dup.x.nxv2i1")]
9207 fn _svdup_n_b64(op: bool) -> svbool2_t;
9208 }
9209 unsafe { _svdup_n_b64(op).sve_into() }
9210}
9211#[doc = "Broadcast a scalar value"]
9212#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdup[_n]_f32)"]
9213#[inline]
9214#[target_feature(enable = "sve")]
9215#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
9216#[cfg_attr(test, assert_instr(mov))]
9217pub fn svdup_n_f32(op: f32) -> svfloat32_t {
9218 unsafe extern "unadjusted" {
9219 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.dup.x.nxv4f32")]
9220 fn _svdup_n_f32(op: f32) -> svfloat32_t;
9221 }
9222 unsafe { _svdup_n_f32(op) }
9223}
9224#[doc = "Broadcast a scalar value"]
9225#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdup[_n]_f64)"]
9226#[inline]
9227#[target_feature(enable = "sve")]
9228#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
9229#[cfg_attr(test, assert_instr(mov))]
9230pub fn svdup_n_f64(op: f64) -> svfloat64_t {
9231 unsafe extern "unadjusted" {
9232 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.dup.x.nxv2f64")]
9233 fn _svdup_n_f64(op: f64) -> svfloat64_t;
9234 }
9235 unsafe { _svdup_n_f64(op) }
9236}
9237#[doc = "Broadcast a scalar value"]
9238#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdup[_n]_s8)"]
9239#[inline]
9240#[target_feature(enable = "sve")]
9241#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
9242#[cfg_attr(test, assert_instr(mov))]
9243pub fn svdup_n_s8(op: i8) -> svint8_t {
9244 unsafe extern "unadjusted" {
9245 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.dup.x.nxv16i8")]
9246 fn _svdup_n_s8(op: i8) -> svint8_t;
9247 }
9248 unsafe { _svdup_n_s8(op) }
9249}
9250#[doc = "Broadcast a scalar value"]
9251#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdup[_n]_s16)"]
9252#[inline]
9253#[target_feature(enable = "sve")]
9254#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
9255#[cfg_attr(test, assert_instr(mov))]
9256pub fn svdup_n_s16(op: i16) -> svint16_t {
9257 unsafe extern "unadjusted" {
9258 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.dup.x.nxv8i16")]
9259 fn _svdup_n_s16(op: i16) -> svint16_t;
9260 }
9261 unsafe { _svdup_n_s16(op) }
9262}
9263#[doc = "Broadcast a scalar value"]
9264#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdup[_n]_s32)"]
9265#[inline]
9266#[target_feature(enable = "sve")]
9267#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
9268#[cfg_attr(test, assert_instr(mov))]
9269pub fn svdup_n_s32(op: i32) -> svint32_t {
9270 unsafe extern "unadjusted" {
9271 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.dup.x.nxv4i32")]
9272 fn _svdup_n_s32(op: i32) -> svint32_t;
9273 }
9274 unsafe { _svdup_n_s32(op) }
9275}
9276#[doc = "Broadcast a scalar value"]
9277#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdup[_n]_s64)"]
9278#[inline]
9279#[target_feature(enable = "sve")]
9280#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
9281#[cfg_attr(test, assert_instr(mov))]
9282pub fn svdup_n_s64(op: i64) -> svint64_t {
9283 unsafe extern "unadjusted" {
9284 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.dup.x.nxv2i64")]
9285 fn _svdup_n_s64(op: i64) -> svint64_t;
9286 }
9287 unsafe { _svdup_n_s64(op) }
9288}
9289#[doc = "Broadcast a scalar value"]
9290#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdup[_n]_u8)"]
9291#[inline]
9292#[target_feature(enable = "sve")]
9293#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
9294#[cfg_attr(test, assert_instr(mov))]
9295pub fn svdup_n_u8(op: u8) -> svuint8_t {
9296 unsafe { svdup_n_s8(op.as_signed()).as_unsigned() }
9297}
9298#[doc = "Broadcast a scalar value"]
9299#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdup[_n]_u16)"]
9300#[inline]
9301#[target_feature(enable = "sve")]
9302#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
9303#[cfg_attr(test, assert_instr(mov))]
9304pub fn svdup_n_u16(op: u16) -> svuint16_t {
9305 unsafe { svdup_n_s16(op.as_signed()).as_unsigned() }
9306}
9307#[doc = "Broadcast a scalar value"]
9308#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdup[_n]_u32)"]
9309#[inline]
9310#[target_feature(enable = "sve")]
9311#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
9312#[cfg_attr(test, assert_instr(mov))]
9313pub fn svdup_n_u32(op: u32) -> svuint32_t {
9314 unsafe { svdup_n_s32(op.as_signed()).as_unsigned() }
9315}
9316#[doc = "Broadcast a scalar value"]
9317#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdup[_n]_u64)"]
9318#[inline]
9319#[target_feature(enable = "sve")]
9320#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
9321#[cfg_attr(test, assert_instr(mov))]
9322pub fn svdup_n_u64(op: u64) -> svuint64_t {
9323 unsafe { svdup_n_s64(op.as_signed()).as_unsigned() }
9324}
9325#[doc = "Broadcast a scalar value"]
9326#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdup[_n]_f32_m)"]
9327#[inline]
9328#[target_feature(enable = "sve")]
9329#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
9330#[cfg_attr(test, assert_instr(mov))]
9331pub fn svdup_n_f32_m(inactive: svfloat32_t, pg: svbool_t, op: f32) -> svfloat32_t {
9332 unsafe extern "unadjusted" {
9333 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.dup.nxv4f32")]
9334 fn _svdup_n_f32_m(inactive: svfloat32_t, pg: svbool4_t, op: f32) -> svfloat32_t;
9335 }
9336 unsafe { _svdup_n_f32_m(inactive, pg.sve_into(), op) }
9337}
9338#[doc = "Broadcast a scalar value"]
9339#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdup[_n]_f32_x)"]
9340#[inline]
9341#[target_feature(enable = "sve")]
9342#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
9343#[cfg_attr(test, assert_instr(mov))]
9344pub fn svdup_n_f32_x(pg: svbool_t, op: f32) -> svfloat32_t {
9345 svdup_n_f32_m(svdup_n_f32(0.0), pg, op)
9346}
9347#[doc = "Broadcast a scalar value"]
9348#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdup[_n]_f32_z)"]
9349#[inline]
9350#[target_feature(enable = "sve")]
9351#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
9352#[cfg_attr(test, assert_instr(mov))]
9353pub fn svdup_n_f32_z(pg: svbool_t, op: f32) -> svfloat32_t {
9354 svdup_n_f32_m(svdup_n_f32(0.0), pg, op)
9355}
9356#[doc = "Broadcast a scalar value"]
9357#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdup[_n]_f64_m)"]
9358#[inline]
9359#[target_feature(enable = "sve")]
9360#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
9361#[cfg_attr(test, assert_instr(mov))]
9362pub fn svdup_n_f64_m(inactive: svfloat64_t, pg: svbool_t, op: f64) -> svfloat64_t {
9363 unsafe extern "unadjusted" {
9364 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.dup.nxv2f64")]
9365 fn _svdup_n_f64_m(inactive: svfloat64_t, pg: svbool2_t, op: f64) -> svfloat64_t;
9366 }
9367 unsafe { _svdup_n_f64_m(inactive, pg.sve_into(), op) }
9368}
9369#[doc = "Broadcast a scalar value"]
9370#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdup[_n]_f64_x)"]
9371#[inline]
9372#[target_feature(enable = "sve")]
9373#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
9374#[cfg_attr(test, assert_instr(mov))]
9375pub fn svdup_n_f64_x(pg: svbool_t, op: f64) -> svfloat64_t {
9376 svdup_n_f64_m(svdup_n_f64(0.0), pg, op)
9377}
9378#[doc = "Broadcast a scalar value"]
9379#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdup[_n]_f64_z)"]
9380#[inline]
9381#[target_feature(enable = "sve")]
9382#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
9383#[cfg_attr(test, assert_instr(mov))]
9384pub fn svdup_n_f64_z(pg: svbool_t, op: f64) -> svfloat64_t {
9385 svdup_n_f64_m(svdup_n_f64(0.0), pg, op)
9386}
9387#[doc = "Broadcast a scalar value"]
9388#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdup[_n]_s8_m)"]
9389#[inline]
9390#[target_feature(enable = "sve")]
9391#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
9392#[cfg_attr(test, assert_instr(mov))]
9393pub fn svdup_n_s8_m(inactive: svint8_t, pg: svbool_t, op: i8) -> svint8_t {
9394 unsafe extern "unadjusted" {
9395 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.dup.nxv16i8")]
9396 fn _svdup_n_s8_m(inactive: svint8_t, pg: svbool_t, op: i8) -> svint8_t;
9397 }
9398 unsafe { _svdup_n_s8_m(inactive, pg, op) }
9399}
9400#[doc = "Broadcast a scalar value"]
9401#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdup[_n]_s8_x)"]
9402#[inline]
9403#[target_feature(enable = "sve")]
9404#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
9405#[cfg_attr(test, assert_instr(mov))]
9406pub fn svdup_n_s8_x(pg: svbool_t, op: i8) -> svint8_t {
9407 svdup_n_s8_m(svdup_n_s8(0), pg, op)
9408}
9409#[doc = "Broadcast a scalar value"]
9410#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdup[_n]_s8_z)"]
9411#[inline]
9412#[target_feature(enable = "sve")]
9413#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
9414#[cfg_attr(test, assert_instr(mov))]
9415pub fn svdup_n_s8_z(pg: svbool_t, op: i8) -> svint8_t {
9416 svdup_n_s8_m(svdup_n_s8(0), pg, op)
9417}
9418#[doc = "Broadcast a scalar value"]
9419#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdup[_n]_s16_m)"]
9420#[inline]
9421#[target_feature(enable = "sve")]
9422#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
9423#[cfg_attr(test, assert_instr(mov))]
9424pub fn svdup_n_s16_m(inactive: svint16_t, pg: svbool_t, op: i16) -> svint16_t {
9425 unsafe extern "unadjusted" {
9426 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.dup.nxv8i16")]
9427 fn _svdup_n_s16_m(inactive: svint16_t, pg: svbool8_t, op: i16) -> svint16_t;
9428 }
9429 unsafe { _svdup_n_s16_m(inactive, pg.sve_into(), op) }
9430}
9431#[doc = "Broadcast a scalar value"]
9432#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdup[_n]_s16_x)"]
9433#[inline]
9434#[target_feature(enable = "sve")]
9435#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
9436#[cfg_attr(test, assert_instr(mov))]
9437pub fn svdup_n_s16_x(pg: svbool_t, op: i16) -> svint16_t {
9438 svdup_n_s16_m(svdup_n_s16(0), pg, op)
9439}
9440#[doc = "Broadcast a scalar value"]
9441#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdup[_n]_s16_z)"]
9442#[inline]
9443#[target_feature(enable = "sve")]
9444#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
9445#[cfg_attr(test, assert_instr(mov))]
9446pub fn svdup_n_s16_z(pg: svbool_t, op: i16) -> svint16_t {
9447 svdup_n_s16_m(svdup_n_s16(0), pg, op)
9448}
9449#[doc = "Broadcast a scalar value"]
9450#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdup[_n]_s32_m)"]
9451#[inline]
9452#[target_feature(enable = "sve")]
9453#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
9454#[cfg_attr(test, assert_instr(mov))]
9455pub fn svdup_n_s32_m(inactive: svint32_t, pg: svbool_t, op: i32) -> svint32_t {
9456 unsafe extern "unadjusted" {
9457 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.dup.nxv4i32")]
9458 fn _svdup_n_s32_m(inactive: svint32_t, pg: svbool4_t, op: i32) -> svint32_t;
9459 }
9460 unsafe { _svdup_n_s32_m(inactive, pg.sve_into(), op) }
9461}
9462#[doc = "Broadcast a scalar value"]
9463#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdup[_n]_s32_x)"]
9464#[inline]
9465#[target_feature(enable = "sve")]
9466#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
9467#[cfg_attr(test, assert_instr(mov))]
9468pub fn svdup_n_s32_x(pg: svbool_t, op: i32) -> svint32_t {
9469 svdup_n_s32_m(svdup_n_s32(0), pg, op)
9470}
9471#[doc = "Broadcast a scalar value"]
9472#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdup[_n]_s32_z)"]
9473#[inline]
9474#[target_feature(enable = "sve")]
9475#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
9476#[cfg_attr(test, assert_instr(mov))]
9477pub fn svdup_n_s32_z(pg: svbool_t, op: i32) -> svint32_t {
9478 svdup_n_s32_m(svdup_n_s32(0), pg, op)
9479}
9480#[doc = "Broadcast a scalar value"]
9481#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdup[_n]_s64_m)"]
9482#[inline]
9483#[target_feature(enable = "sve")]
9484#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
9485#[cfg_attr(test, assert_instr(mov))]
9486pub fn svdup_n_s64_m(inactive: svint64_t, pg: svbool_t, op: i64) -> svint64_t {
9487 unsafe extern "unadjusted" {
9488 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.dup.nxv2i64")]
9489 fn _svdup_n_s64_m(inactive: svint64_t, pg: svbool2_t, op: i64) -> svint64_t;
9490 }
9491 unsafe { _svdup_n_s64_m(inactive, pg.sve_into(), op) }
9492}
9493#[doc = "Broadcast a scalar value"]
9494#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdup[_n]_s64_x)"]
9495#[inline]
9496#[target_feature(enable = "sve")]
9497#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
9498#[cfg_attr(test, assert_instr(mov))]
9499pub fn svdup_n_s64_x(pg: svbool_t, op: i64) -> svint64_t {
9500 svdup_n_s64_m(svdup_n_s64(0), pg, op)
9501}
9502#[doc = "Broadcast a scalar value"]
9503#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdup[_n]_s64_z)"]
9504#[inline]
9505#[target_feature(enable = "sve")]
9506#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
9507#[cfg_attr(test, assert_instr(mov))]
9508pub fn svdup_n_s64_z(pg: svbool_t, op: i64) -> svint64_t {
9509 svdup_n_s64_m(svdup_n_s64(0), pg, op)
9510}
9511#[doc = "Broadcast a scalar value"]
9512#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdup[_n]_u8_m)"]
9513#[inline]
9514#[target_feature(enable = "sve")]
9515#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
9516#[cfg_attr(test, assert_instr(mov))]
9517pub fn svdup_n_u8_m(inactive: svuint8_t, pg: svbool_t, op: u8) -> svuint8_t {
9518 unsafe { svdup_n_s8_m(inactive.as_signed(), pg, op.as_signed()).as_unsigned() }
9519}
9520#[doc = "Broadcast a scalar value"]
9521#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdup[_n]_u8_x)"]
9522#[inline]
9523#[target_feature(enable = "sve")]
9524#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
9525#[cfg_attr(test, assert_instr(mov))]
9526pub fn svdup_n_u8_x(pg: svbool_t, op: u8) -> svuint8_t {
9527 svdup_n_u8_m(svdup_n_u8(0), pg, op)
9528}
9529#[doc = "Broadcast a scalar value"]
9530#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdup[_n]_u8_z)"]
9531#[inline]
9532#[target_feature(enable = "sve")]
9533#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
9534#[cfg_attr(test, assert_instr(mov))]
9535pub fn svdup_n_u8_z(pg: svbool_t, op: u8) -> svuint8_t {
9536 svdup_n_u8_m(svdup_n_u8(0), pg, op)
9537}
9538#[doc = "Broadcast a scalar value"]
9539#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdup[_n]_u16_m)"]
9540#[inline]
9541#[target_feature(enable = "sve")]
9542#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
9543#[cfg_attr(test, assert_instr(mov))]
9544pub fn svdup_n_u16_m(inactive: svuint16_t, pg: svbool_t, op: u16) -> svuint16_t {
9545 unsafe { svdup_n_s16_m(inactive.as_signed(), pg, op.as_signed()).as_unsigned() }
9546}
9547#[doc = "Broadcast a scalar value"]
9548#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdup[_n]_u16_x)"]
9549#[inline]
9550#[target_feature(enable = "sve")]
9551#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
9552#[cfg_attr(test, assert_instr(mov))]
9553pub fn svdup_n_u16_x(pg: svbool_t, op: u16) -> svuint16_t {
9554 svdup_n_u16_m(svdup_n_u16(0), pg, op)
9555}
9556#[doc = "Broadcast a scalar value"]
9557#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdup[_n]_u16_z)"]
9558#[inline]
9559#[target_feature(enable = "sve")]
9560#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
9561#[cfg_attr(test, assert_instr(mov))]
9562pub fn svdup_n_u16_z(pg: svbool_t, op: u16) -> svuint16_t {
9563 svdup_n_u16_m(svdup_n_u16(0), pg, op)
9564}
9565#[doc = "Broadcast a scalar value"]
9566#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdup[_n]_u32_m)"]
9567#[inline]
9568#[target_feature(enable = "sve")]
9569#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
9570#[cfg_attr(test, assert_instr(mov))]
9571pub fn svdup_n_u32_m(inactive: svuint32_t, pg: svbool_t, op: u32) -> svuint32_t {
9572 unsafe { svdup_n_s32_m(inactive.as_signed(), pg, op.as_signed()).as_unsigned() }
9573}
9574#[doc = "Broadcast a scalar value"]
9575#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdup[_n]_u32_x)"]
9576#[inline]
9577#[target_feature(enable = "sve")]
9578#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
9579#[cfg_attr(test, assert_instr(mov))]
9580pub fn svdup_n_u32_x(pg: svbool_t, op: u32) -> svuint32_t {
9581 svdup_n_u32_m(svdup_n_u32(0), pg, op)
9582}
9583#[doc = "Broadcast a scalar value"]
9584#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdup[_n]_u32_z)"]
9585#[inline]
9586#[target_feature(enable = "sve")]
9587#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
9588#[cfg_attr(test, assert_instr(mov))]
9589pub fn svdup_n_u32_z(pg: svbool_t, op: u32) -> svuint32_t {
9590 svdup_n_u32_m(svdup_n_u32(0), pg, op)
9591}
9592#[doc = "Broadcast a scalar value"]
9593#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdup[_n]_u64_m)"]
9594#[inline]
9595#[target_feature(enable = "sve")]
9596#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
9597#[cfg_attr(test, assert_instr(mov))]
9598pub fn svdup_n_u64_m(inactive: svuint64_t, pg: svbool_t, op: u64) -> svuint64_t {
9599 unsafe { svdup_n_s64_m(inactive.as_signed(), pg, op.as_signed()).as_unsigned() }
9600}
9601#[doc = "Broadcast a scalar value"]
9602#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdup[_n]_u64_x)"]
9603#[inline]
9604#[target_feature(enable = "sve")]
9605#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
9606#[cfg_attr(test, assert_instr(mov))]
9607pub fn svdup_n_u64_x(pg: svbool_t, op: u64) -> svuint64_t {
9608 svdup_n_u64_m(svdup_n_u64(0), pg, op)
9609}
9610#[doc = "Broadcast a scalar value"]
9611#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdup[_n]_u64_z)"]
9612#[inline]
9613#[target_feature(enable = "sve")]
9614#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
9615#[cfg_attr(test, assert_instr(mov))]
9616pub fn svdup_n_u64_z(pg: svbool_t, op: u64) -> svuint64_t {
9617 svdup_n_u64_m(svdup_n_u64(0), pg, op)
9618}
9619#[doc = "Broadcast a quadword of scalars"]
9620#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdupq_lane[_f32])"]
9621#[inline]
9622#[target_feature(enable = "sve")]
9623#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
9624#[cfg_attr(test, assert_instr(tbl))]
9625pub fn svdupq_lane_f32(data: svfloat32_t, index: u64) -> svfloat32_t {
9626 unsafe extern "unadjusted" {
9627 #[cfg_attr(
9628 target_arch = "aarch64",
9629 link_name = "llvm.aarch64.sve.dupq.lane.nxv4f32"
9630 )]
9631 fn _svdupq_lane_f32(data: svfloat32_t, index: i64) -> svfloat32_t;
9632 }
9633 unsafe { _svdupq_lane_f32(data, index.as_signed()) }
9634}
9635#[doc = "Broadcast a quadword of scalars"]
9636#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdupq_lane[_f64])"]
9637#[inline]
9638#[target_feature(enable = "sve")]
9639#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
9640#[cfg_attr(test, assert_instr(tbl))]
9641pub fn svdupq_lane_f64(data: svfloat64_t, index: u64) -> svfloat64_t {
9642 unsafe extern "unadjusted" {
9643 #[cfg_attr(
9644 target_arch = "aarch64",
9645 link_name = "llvm.aarch64.sve.dupq.lane.nxv2f64"
9646 )]
9647 fn _svdupq_lane_f64(data: svfloat64_t, index: i64) -> svfloat64_t;
9648 }
9649 unsafe { _svdupq_lane_f64(data, index.as_signed()) }
9650}
9651#[doc = "Broadcast a quadword of scalars"]
9652#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdupq_lane[_s8])"]
9653#[inline]
9654#[target_feature(enable = "sve")]
9655#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
9656#[cfg_attr(test, assert_instr(tbl))]
9657pub fn svdupq_lane_s8(data: svint8_t, index: u64) -> svint8_t {
9658 unsafe extern "unadjusted" {
9659 #[cfg_attr(
9660 target_arch = "aarch64",
9661 link_name = "llvm.aarch64.sve.dupq.lane.nxv16i8"
9662 )]
9663 fn _svdupq_lane_s8(data: svint8_t, index: i64) -> svint8_t;
9664 }
9665 unsafe { _svdupq_lane_s8(data, index.as_signed()) }
9666}
9667#[doc = "Broadcast a quadword of scalars"]
9668#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdupq_lane[_s16])"]
9669#[inline]
9670#[target_feature(enable = "sve")]
9671#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
9672#[cfg_attr(test, assert_instr(tbl))]
9673pub fn svdupq_lane_s16(data: svint16_t, index: u64) -> svint16_t {
9674 unsafe extern "unadjusted" {
9675 #[cfg_attr(
9676 target_arch = "aarch64",
9677 link_name = "llvm.aarch64.sve.dupq.lane.nxv8i16"
9678 )]
9679 fn _svdupq_lane_s16(data: svint16_t, index: i64) -> svint16_t;
9680 }
9681 unsafe { _svdupq_lane_s16(data, index.as_signed()) }
9682}
9683#[doc = "Broadcast a quadword of scalars"]
9684#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdupq_lane[_s32])"]
9685#[inline]
9686#[target_feature(enable = "sve")]
9687#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
9688#[cfg_attr(test, assert_instr(tbl))]
9689pub fn svdupq_lane_s32(data: svint32_t, index: u64) -> svint32_t {
9690 unsafe extern "unadjusted" {
9691 #[cfg_attr(
9692 target_arch = "aarch64",
9693 link_name = "llvm.aarch64.sve.dupq.lane.nxv4i32"
9694 )]
9695 fn _svdupq_lane_s32(data: svint32_t, index: i64) -> svint32_t;
9696 }
9697 unsafe { _svdupq_lane_s32(data, index.as_signed()) }
9698}
9699#[doc = "Broadcast a quadword of scalars"]
9700#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdupq_lane[_s64])"]
9701#[inline]
9702#[target_feature(enable = "sve")]
9703#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
9704#[cfg_attr(test, assert_instr(tbl))]
9705pub fn svdupq_lane_s64(data: svint64_t, index: u64) -> svint64_t {
9706 unsafe extern "unadjusted" {
9707 #[cfg_attr(
9708 target_arch = "aarch64",
9709 link_name = "llvm.aarch64.sve.dupq.lane.nxv2i64"
9710 )]
9711 fn _svdupq_lane_s64(data: svint64_t, index: i64) -> svint64_t;
9712 }
9713 unsafe { _svdupq_lane_s64(data, index.as_signed()) }
9714}
9715#[doc = "Broadcast a quadword of scalars"]
9716#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdupq_lane[_u8])"]
9717#[inline]
9718#[target_feature(enable = "sve")]
9719#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
9720#[cfg_attr(test, assert_instr(tbl))]
9721pub fn svdupq_lane_u8(data: svuint8_t, index: u64) -> svuint8_t {
9722 unsafe { svdupq_lane_s8(data.as_signed(), index).as_unsigned() }
9723}
9724#[doc = "Broadcast a quadword of scalars"]
9725#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdupq_lane[_u16])"]
9726#[inline]
9727#[target_feature(enable = "sve")]
9728#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
9729#[cfg_attr(test, assert_instr(tbl))]
9730pub fn svdupq_lane_u16(data: svuint16_t, index: u64) -> svuint16_t {
9731 unsafe { svdupq_lane_s16(data.as_signed(), index).as_unsigned() }
9732}
9733#[doc = "Broadcast a quadword of scalars"]
9734#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdupq_lane[_u32])"]
9735#[inline]
9736#[target_feature(enable = "sve")]
9737#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
9738#[cfg_attr(test, assert_instr(tbl))]
9739pub fn svdupq_lane_u32(data: svuint32_t, index: u64) -> svuint32_t {
9740 unsafe { svdupq_lane_s32(data.as_signed(), index).as_unsigned() }
9741}
9742#[doc = "Broadcast a quadword of scalars"]
9743#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdupq_lane[_u64])"]
9744#[inline]
9745#[target_feature(enable = "sve")]
9746#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
9747#[cfg_attr(test, assert_instr(tbl))]
9748pub fn svdupq_lane_u64(data: svuint64_t, index: u64) -> svuint64_t {
9749 unsafe { svdupq_lane_s64(data.as_signed(), index).as_unsigned() }
9750}
9751#[doc = "Broadcast a quadword of scalars"]
9752#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdupq[_n]_b16)"]
9753#[inline]
9754#[target_feature(enable = "sve")]
9755#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
9756pub fn svdupq_n_b16(
9757 x0: bool,
9758 x1: bool,
9759 x2: bool,
9760 x3: bool,
9761 x4: bool,
9762 x5: bool,
9763 x6: bool,
9764 x7: bool,
9765) -> svbool_t {
9766 let op1 = svdupq_n_s16(
9767 x0 as i16, x1 as i16, x2 as i16, x3 as i16, x4 as i16, x5 as i16, x6 as i16, x7 as i16,
9768 );
9769 svcmpne_wide_s16(svptrue_b16(), op1, svdup_n_s64(0))
9770}
9771#[doc = "Broadcast a quadword of scalars"]
9772#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdupq[_n]_b32)"]
9773#[inline]
9774#[target_feature(enable = "sve")]
9775#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
9776pub fn svdupq_n_b32(x0: bool, x1: bool, x2: bool, x3: bool) -> svbool_t {
9777 let op1 = svdupq_n_s32(x0 as i32, x1 as i32, x2 as i32, x3 as i32);
9778 svcmpne_wide_s32(svptrue_b32(), op1, svdup_n_s64(0))
9779}
9780#[doc = "Broadcast a quadword of scalars"]
9781#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdupq[_n]_b64)"]
9782#[inline]
9783#[target_feature(enable = "sve")]
9784#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
9785pub fn svdupq_n_b64(x0: bool, x1: bool) -> svbool_t {
9786 let op1 = svdupq_n_s64(x0 as i64, x1 as i64);
9787 svcmpne_s64(svptrue_b64(), op1, svdup_n_s64(0))
9788}
9789#[doc = "Broadcast a quadword of scalars"]
9790#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdupq[_n]_b8)"]
9791#[inline]
9792#[target_feature(enable = "sve")]
9793#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
9794pub fn svdupq_n_b8(
9795 x0: bool,
9796 x1: bool,
9797 x2: bool,
9798 x3: bool,
9799 x4: bool,
9800 x5: bool,
9801 x6: bool,
9802 x7: bool,
9803 x8: bool,
9804 x9: bool,
9805 x10: bool,
9806 x11: bool,
9807 x12: bool,
9808 x13: bool,
9809 x14: bool,
9810 x15: bool,
9811) -> svbool_t {
9812 let op1 = svdupq_n_s8(
9813 x0 as i8, x1 as i8, x2 as i8, x3 as i8, x4 as i8, x5 as i8, x6 as i8, x7 as i8, x8 as i8,
9814 x9 as i8, x10 as i8, x11 as i8, x12 as i8, x13 as i8, x14 as i8, x15 as i8,
9815 );
9816 svcmpne_wide_s8(svptrue_b8(), op1, svdup_n_s64(0))
9817}
9818#[doc = "Broadcast a quadword of scalars"]
9819#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdupq[_n]_f32)"]
9820#[inline]
9821#[target_feature(enable = "sve")]
9822#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
9823pub fn svdupq_n_f32(x0: f32, x1: f32, x2: f32, x3: f32) -> svfloat32_t {
9824 unsafe extern "unadjusted" {
9825 #[cfg_attr(
9826 target_arch = "aarch64",
9827 link_name = "llvm.vector.insert.nxv4f32.v4f32"
9828 )]
9829 fn _svdupq_n_f32(op0: svfloat32_t, op1: float32x4_t, idx: i64) -> svfloat32_t;
9830 }
9831 unsafe {
9832 let op = _svdupq_n_f32(svundef_f32(), crate::mem::transmute([x0, x1, x2, x3]), 0);
9833 svdupq_lane_f32(op, 0)
9834 }
9835}
9836#[doc = "Broadcast a quadword of scalars"]
9837#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdupq[_n]_s32)"]
9838#[inline]
9839#[target_feature(enable = "sve")]
9840#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
9841pub fn svdupq_n_s32(x0: i32, x1: i32, x2: i32, x3: i32) -> svint32_t {
9842 unsafe extern "unadjusted" {
9843 #[cfg_attr(
9844 target_arch = "aarch64",
9845 link_name = "llvm.vector.insert.nxv4i32.v4i32"
9846 )]
9847 fn _svdupq_n_s32(op0: svint32_t, op1: int32x4_t, idx: i64) -> svint32_t;
9848 }
9849 unsafe {
9850 let op = _svdupq_n_s32(svundef_s32(), crate::mem::transmute([x0, x1, x2, x3]), 0);
9851 svdupq_lane_s32(op, 0)
9852 }
9853}
9854#[doc = "Broadcast a quadword of scalars"]
9855#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdupq[_n]_u32)"]
9856#[inline]
9857#[target_feature(enable = "sve")]
9858#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
9859pub fn svdupq_n_u32(x0: u32, x1: u32, x2: u32, x3: u32) -> svuint32_t {
9860 unsafe {
9861 svdupq_n_s32(
9862 x0.as_signed(),
9863 x1.as_signed(),
9864 x2.as_signed(),
9865 x3.as_signed(),
9866 )
9867 .as_unsigned()
9868 }
9869}
9870#[doc = "Broadcast a quadword of scalars"]
9871#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdupq[_n]_f64)"]
9872#[inline]
9873#[target_feature(enable = "sve")]
9874#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
9875pub fn svdupq_n_f64(x0: f64, x1: f64) -> svfloat64_t {
9876 unsafe extern "unadjusted" {
9877 #[cfg_attr(
9878 target_arch = "aarch64",
9879 link_name = "llvm.vector.insert.nxv2f64.v2f64"
9880 )]
9881 fn _svdupq_n_f64(op0: svfloat64_t, op1: float64x2_t, idx: i64) -> svfloat64_t;
9882 }
9883 unsafe {
9884 let op = _svdupq_n_f64(svundef_f64(), crate::mem::transmute([x0, x1]), 0);
9885 svdupq_lane_f64(op, 0)
9886 }
9887}
9888#[doc = "Broadcast a quadword of scalars"]
9889#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdupq[_n]_s64)"]
9890#[inline]
9891#[target_feature(enable = "sve")]
9892#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
9893pub fn svdupq_n_s64(x0: i64, x1: i64) -> svint64_t {
9894 unsafe extern "unadjusted" {
9895 #[cfg_attr(
9896 target_arch = "aarch64",
9897 link_name = "llvm.vector.insert.nxv2i64.v2i64"
9898 )]
9899 fn _svdupq_n_s64(op0: svint64_t, op1: int64x2_t, idx: i64) -> svint64_t;
9900 }
9901 unsafe {
9902 let op = _svdupq_n_s64(svundef_s64(), crate::mem::transmute([x0, x1]), 0);
9903 svdupq_lane_s64(op, 0)
9904 }
9905}
9906#[doc = "Broadcast a quadword of scalars"]
9907#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdupq[_n]_u64)"]
9908#[inline]
9909#[target_feature(enable = "sve")]
9910#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
9911pub fn svdupq_n_u64(x0: u64, x1: u64) -> svuint64_t {
9912 unsafe { svdupq_n_s64(x0.as_signed(), x1.as_signed()).as_unsigned() }
9913}
9914#[doc = "Broadcast a quadword of scalars"]
9915#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdupq[_n]_s16)"]
9916#[inline]
9917#[target_feature(enable = "sve")]
9918#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
9919pub fn svdupq_n_s16(
9920 x0: i16,
9921 x1: i16,
9922 x2: i16,
9923 x3: i16,
9924 x4: i16,
9925 x5: i16,
9926 x6: i16,
9927 x7: i16,
9928) -> svint16_t {
9929 unsafe extern "unadjusted" {
9930 #[cfg_attr(
9931 target_arch = "aarch64",
9932 link_name = "llvm.vector.insert.nxv8i16.v8i16"
9933 )]
9934 fn _svdupq_n_s16(op0: svint16_t, op1: int16x8_t, idx: i64) -> svint16_t;
9935 }
9936 unsafe {
9937 let op = _svdupq_n_s16(
9938 svundef_s16(),
9939 crate::mem::transmute([x0, x1, x2, x3, x4, x5, x6, x7]),
9940 0,
9941 );
9942 svdupq_lane_s16(op, 0)
9943 }
9944}
9945#[doc = "Broadcast a quadword of scalars"]
9946#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdupq[_n]_u16)"]
9947#[inline]
9948#[target_feature(enable = "sve")]
9949#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
9950pub fn svdupq_n_u16(
9951 x0: u16,
9952 x1: u16,
9953 x2: u16,
9954 x3: u16,
9955 x4: u16,
9956 x5: u16,
9957 x6: u16,
9958 x7: u16,
9959) -> svuint16_t {
9960 unsafe {
9961 svdupq_n_s16(
9962 x0.as_signed(),
9963 x1.as_signed(),
9964 x2.as_signed(),
9965 x3.as_signed(),
9966 x4.as_signed(),
9967 x5.as_signed(),
9968 x6.as_signed(),
9969 x7.as_signed(),
9970 )
9971 .as_unsigned()
9972 }
9973}
9974#[doc = "Broadcast a quadword of scalars"]
9975#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdupq[_n]_s8)"]
9976#[inline]
9977#[target_feature(enable = "sve")]
9978#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
9979pub fn svdupq_n_s8(
9980 x0: i8,
9981 x1: i8,
9982 x2: i8,
9983 x3: i8,
9984 x4: i8,
9985 x5: i8,
9986 x6: i8,
9987 x7: i8,
9988 x8: i8,
9989 x9: i8,
9990 x10: i8,
9991 x11: i8,
9992 x12: i8,
9993 x13: i8,
9994 x14: i8,
9995 x15: i8,
9996) -> svint8_t {
9997 unsafe extern "unadjusted" {
9998 #[cfg_attr(
9999 target_arch = "aarch64",
10000 link_name = "llvm.vector.insert.nxv16i8.v16i8"
10001 )]
10002 fn _svdupq_n_s8(op0: svint8_t, op1: int8x16_t, idx: i64) -> svint8_t;
10003 }
10004 unsafe {
10005 let op = _svdupq_n_s8(
10006 svundef_s8(),
10007 crate::mem::transmute([
10008 x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15,
10009 ]),
10010 0,
10011 );
10012 svdupq_lane_s8(op, 0)
10013 }
10014}
10015#[doc = "Broadcast a quadword of scalars"]
10016#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdupq[_n]_u8)"]
10017#[inline]
10018#[target_feature(enable = "sve")]
10019#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
10020pub fn svdupq_n_u8(
10021 x0: u8,
10022 x1: u8,
10023 x2: u8,
10024 x3: u8,
10025 x4: u8,
10026 x5: u8,
10027 x6: u8,
10028 x7: u8,
10029 x8: u8,
10030 x9: u8,
10031 x10: u8,
10032 x11: u8,
10033 x12: u8,
10034 x13: u8,
10035 x14: u8,
10036 x15: u8,
10037) -> svuint8_t {
10038 unsafe {
10039 svdupq_n_s8(
10040 x0.as_signed(),
10041 x1.as_signed(),
10042 x2.as_signed(),
10043 x3.as_signed(),
10044 x4.as_signed(),
10045 x5.as_signed(),
10046 x6.as_signed(),
10047 x7.as_signed(),
10048 x8.as_signed(),
10049 x9.as_signed(),
10050 x10.as_signed(),
10051 x11.as_signed(),
10052 x12.as_signed(),
10053 x13.as_signed(),
10054 x14.as_signed(),
10055 x15.as_signed(),
10056 )
10057 .as_unsigned()
10058 }
10059}
10060#[doc = "Bitwise exclusive OR"]
10061#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/sveor[_b]_z)"]
10062#[inline]
10063#[target_feature(enable = "sve")]
10064#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
10065#[cfg_attr(test, assert_instr(eor))]
10066pub fn sveor_b_z(pg: svbool_t, op1: svbool_t, op2: svbool_t) -> svbool_t {
10067 unsafe extern "unadjusted" {
10068 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.eor.z.nxv16i1")]
10069 fn _sveor_b_z(pg: svbool_t, op1: svbool_t, op2: svbool_t) -> svbool_t;
10070 }
10071 unsafe { _sveor_b_z(pg, op1, op2) }
10072}
10073#[doc = "Bitwise exclusive OR"]
10074#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/sveor[_s8]_m)"]
10075#[inline]
10076#[target_feature(enable = "sve")]
10077#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
10078#[cfg_attr(test, assert_instr(eor))]
10079pub fn sveor_s8_m(pg: svbool_t, op1: svint8_t, op2: svint8_t) -> svint8_t {
10080 unsafe extern "unadjusted" {
10081 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.eor.nxv16i8")]
10082 fn _sveor_s8_m(pg: svbool_t, op1: svint8_t, op2: svint8_t) -> svint8_t;
10083 }
10084 unsafe { _sveor_s8_m(pg, op1, op2) }
10085}
10086#[doc = "Bitwise exclusive OR"]
10087#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/sveor[_n_s8]_m)"]
10088#[inline]
10089#[target_feature(enable = "sve")]
10090#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
10091#[cfg_attr(test, assert_instr(eor))]
10092pub fn sveor_n_s8_m(pg: svbool_t, op1: svint8_t, op2: i8) -> svint8_t {
10093 sveor_s8_m(pg, op1, svdup_n_s8(op2))
10094}
10095#[doc = "Bitwise exclusive OR"]
10096#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/sveor[_s8]_x)"]
10097#[inline]
10098#[target_feature(enable = "sve")]
10099#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
10100#[cfg_attr(test, assert_instr(eor))]
10101pub fn sveor_s8_x(pg: svbool_t, op1: svint8_t, op2: svint8_t) -> svint8_t {
10102 sveor_s8_m(pg, op1, op2)
10103}
10104#[doc = "Bitwise exclusive OR"]
10105#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/sveor[_n_s8]_x)"]
10106#[inline]
10107#[target_feature(enable = "sve")]
10108#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
10109#[cfg_attr(test, assert_instr(eor))]
10110pub fn sveor_n_s8_x(pg: svbool_t, op1: svint8_t, op2: i8) -> svint8_t {
10111 sveor_s8_x(pg, op1, svdup_n_s8(op2))
10112}
10113#[doc = "Bitwise exclusive OR"]
10114#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/sveor[_s8]_z)"]
10115#[inline]
10116#[target_feature(enable = "sve")]
10117#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
10118#[cfg_attr(test, assert_instr(eor))]
10119pub fn sveor_s8_z(pg: svbool_t, op1: svint8_t, op2: svint8_t) -> svint8_t {
10120 sveor_s8_m(pg, svsel_s8(pg, op1, svdup_n_s8(0)), op2)
10121}
10122#[doc = "Bitwise exclusive OR"]
10123#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/sveor[_n_s8]_z)"]
10124#[inline]
10125#[target_feature(enable = "sve")]
10126#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
10127#[cfg_attr(test, assert_instr(eor))]
10128pub fn sveor_n_s8_z(pg: svbool_t, op1: svint8_t, op2: i8) -> svint8_t {
10129 sveor_s8_z(pg, op1, svdup_n_s8(op2))
10130}
10131#[doc = "Bitwise exclusive OR"]
10132#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/sveor[_s16]_m)"]
10133#[inline]
10134#[target_feature(enable = "sve")]
10135#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
10136#[cfg_attr(test, assert_instr(eor))]
10137pub fn sveor_s16_m(pg: svbool_t, op1: svint16_t, op2: svint16_t) -> svint16_t {
10138 unsafe extern "unadjusted" {
10139 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.eor.nxv8i16")]
10140 fn _sveor_s16_m(pg: svbool8_t, op1: svint16_t, op2: svint16_t) -> svint16_t;
10141 }
10142 unsafe { _sveor_s16_m(pg.sve_into(), op1, op2) }
10143}
10144#[doc = "Bitwise exclusive OR"]
10145#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/sveor[_n_s16]_m)"]
10146#[inline]
10147#[target_feature(enable = "sve")]
10148#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
10149#[cfg_attr(test, assert_instr(eor))]
10150pub fn sveor_n_s16_m(pg: svbool_t, op1: svint16_t, op2: i16) -> svint16_t {
10151 sveor_s16_m(pg, op1, svdup_n_s16(op2))
10152}
10153#[doc = "Bitwise exclusive OR"]
10154#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/sveor[_s16]_x)"]
10155#[inline]
10156#[target_feature(enable = "sve")]
10157#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
10158#[cfg_attr(test, assert_instr(eor))]
10159pub fn sveor_s16_x(pg: svbool_t, op1: svint16_t, op2: svint16_t) -> svint16_t {
10160 sveor_s16_m(pg, op1, op2)
10161}
10162#[doc = "Bitwise exclusive OR"]
10163#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/sveor[_n_s16]_x)"]
10164#[inline]
10165#[target_feature(enable = "sve")]
10166#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
10167#[cfg_attr(test, assert_instr(eor))]
10168pub fn sveor_n_s16_x(pg: svbool_t, op1: svint16_t, op2: i16) -> svint16_t {
10169 sveor_s16_x(pg, op1, svdup_n_s16(op2))
10170}
10171#[doc = "Bitwise exclusive OR"]
10172#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/sveor[_s16]_z)"]
10173#[inline]
10174#[target_feature(enable = "sve")]
10175#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
10176#[cfg_attr(test, assert_instr(eor))]
10177pub fn sveor_s16_z(pg: svbool_t, op1: svint16_t, op2: svint16_t) -> svint16_t {
10178 sveor_s16_m(pg, svsel_s16(pg, op1, svdup_n_s16(0)), op2)
10179}
10180#[doc = "Bitwise exclusive OR"]
10181#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/sveor[_n_s16]_z)"]
10182#[inline]
10183#[target_feature(enable = "sve")]
10184#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
10185#[cfg_attr(test, assert_instr(eor))]
10186pub fn sveor_n_s16_z(pg: svbool_t, op1: svint16_t, op2: i16) -> svint16_t {
10187 sveor_s16_z(pg, op1, svdup_n_s16(op2))
10188}
10189#[doc = "Bitwise exclusive OR"]
10190#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/sveor[_s32]_m)"]
10191#[inline]
10192#[target_feature(enable = "sve")]
10193#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
10194#[cfg_attr(test, assert_instr(eor))]
10195pub fn sveor_s32_m(pg: svbool_t, op1: svint32_t, op2: svint32_t) -> svint32_t {
10196 unsafe extern "unadjusted" {
10197 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.eor.nxv4i32")]
10198 fn _sveor_s32_m(pg: svbool4_t, op1: svint32_t, op2: svint32_t) -> svint32_t;
10199 }
10200 unsafe { _sveor_s32_m(pg.sve_into(), op1, op2) }
10201}
10202#[doc = "Bitwise exclusive OR"]
10203#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/sveor[_n_s32]_m)"]
10204#[inline]
10205#[target_feature(enable = "sve")]
10206#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
10207#[cfg_attr(test, assert_instr(eor))]
10208pub fn sveor_n_s32_m(pg: svbool_t, op1: svint32_t, op2: i32) -> svint32_t {
10209 sveor_s32_m(pg, op1, svdup_n_s32(op2))
10210}
10211#[doc = "Bitwise exclusive OR"]
10212#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/sveor[_s32]_x)"]
10213#[inline]
10214#[target_feature(enable = "sve")]
10215#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
10216#[cfg_attr(test, assert_instr(eor))]
10217pub fn sveor_s32_x(pg: svbool_t, op1: svint32_t, op2: svint32_t) -> svint32_t {
10218 sveor_s32_m(pg, op1, op2)
10219}
10220#[doc = "Bitwise exclusive OR"]
10221#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/sveor[_n_s32]_x)"]
10222#[inline]
10223#[target_feature(enable = "sve")]
10224#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
10225#[cfg_attr(test, assert_instr(eor))]
10226pub fn sveor_n_s32_x(pg: svbool_t, op1: svint32_t, op2: i32) -> svint32_t {
10227 sveor_s32_x(pg, op1, svdup_n_s32(op2))
10228}
10229#[doc = "Bitwise exclusive OR"]
10230#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/sveor[_s32]_z)"]
10231#[inline]
10232#[target_feature(enable = "sve")]
10233#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
10234#[cfg_attr(test, assert_instr(eor))]
10235pub fn sveor_s32_z(pg: svbool_t, op1: svint32_t, op2: svint32_t) -> svint32_t {
10236 sveor_s32_m(pg, svsel_s32(pg, op1, svdup_n_s32(0)), op2)
10237}
10238#[doc = "Bitwise exclusive OR"]
10239#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/sveor[_n_s32]_z)"]
10240#[inline]
10241#[target_feature(enable = "sve")]
10242#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
10243#[cfg_attr(test, assert_instr(eor))]
10244pub fn sveor_n_s32_z(pg: svbool_t, op1: svint32_t, op2: i32) -> svint32_t {
10245 sveor_s32_z(pg, op1, svdup_n_s32(op2))
10246}
10247#[doc = "Bitwise exclusive OR"]
10248#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/sveor[_s64]_m)"]
10249#[inline]
10250#[target_feature(enable = "sve")]
10251#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
10252#[cfg_attr(test, assert_instr(eor))]
10253pub fn sveor_s64_m(pg: svbool_t, op1: svint64_t, op2: svint64_t) -> svint64_t {
10254 unsafe extern "unadjusted" {
10255 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.eor.nxv2i64")]
10256 fn _sveor_s64_m(pg: svbool2_t, op1: svint64_t, op2: svint64_t) -> svint64_t;
10257 }
10258 unsafe { _sveor_s64_m(pg.sve_into(), op1, op2) }
10259}
10260#[doc = "Bitwise exclusive OR"]
10261#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/sveor[_n_s64]_m)"]
10262#[inline]
10263#[target_feature(enable = "sve")]
10264#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
10265#[cfg_attr(test, assert_instr(eor))]
10266pub fn sveor_n_s64_m(pg: svbool_t, op1: svint64_t, op2: i64) -> svint64_t {
10267 sveor_s64_m(pg, op1, svdup_n_s64(op2))
10268}
10269#[doc = "Bitwise exclusive OR"]
10270#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/sveor[_s64]_x)"]
10271#[inline]
10272#[target_feature(enable = "sve")]
10273#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
10274#[cfg_attr(test, assert_instr(eor))]
10275pub fn sveor_s64_x(pg: svbool_t, op1: svint64_t, op2: svint64_t) -> svint64_t {
10276 sveor_s64_m(pg, op1, op2)
10277}
10278#[doc = "Bitwise exclusive OR"]
10279#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/sveor[_n_s64]_x)"]
10280#[inline]
10281#[target_feature(enable = "sve")]
10282#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
10283#[cfg_attr(test, assert_instr(eor))]
10284pub fn sveor_n_s64_x(pg: svbool_t, op1: svint64_t, op2: i64) -> svint64_t {
10285 sveor_s64_x(pg, op1, svdup_n_s64(op2))
10286}
10287#[doc = "Bitwise exclusive OR"]
10288#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/sveor[_s64]_z)"]
10289#[inline]
10290#[target_feature(enable = "sve")]
10291#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
10292#[cfg_attr(test, assert_instr(eor))]
10293pub fn sveor_s64_z(pg: svbool_t, op1: svint64_t, op2: svint64_t) -> svint64_t {
10294 sveor_s64_m(pg, svsel_s64(pg, op1, svdup_n_s64(0)), op2)
10295}
10296#[doc = "Bitwise exclusive OR"]
10297#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/sveor[_n_s64]_z)"]
10298#[inline]
10299#[target_feature(enable = "sve")]
10300#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
10301#[cfg_attr(test, assert_instr(eor))]
10302pub fn sveor_n_s64_z(pg: svbool_t, op1: svint64_t, op2: i64) -> svint64_t {
10303 sveor_s64_z(pg, op1, svdup_n_s64(op2))
10304}
10305#[doc = "Bitwise exclusive OR"]
10306#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/sveor[_u8]_m)"]
10307#[inline]
10308#[target_feature(enable = "sve")]
10309#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
10310#[cfg_attr(test, assert_instr(eor))]
10311pub fn sveor_u8_m(pg: svbool_t, op1: svuint8_t, op2: svuint8_t) -> svuint8_t {
10312 unsafe { sveor_s8_m(pg, op1.as_signed(), op2.as_signed()).as_unsigned() }
10313}
10314#[doc = "Bitwise exclusive OR"]
10315#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/sveor[_n_u8]_m)"]
10316#[inline]
10317#[target_feature(enable = "sve")]
10318#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
10319#[cfg_attr(test, assert_instr(eor))]
10320pub fn sveor_n_u8_m(pg: svbool_t, op1: svuint8_t, op2: u8) -> svuint8_t {
10321 sveor_u8_m(pg, op1, svdup_n_u8(op2))
10322}
10323#[doc = "Bitwise exclusive OR"]
10324#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/sveor[_u8]_x)"]
10325#[inline]
10326#[target_feature(enable = "sve")]
10327#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
10328#[cfg_attr(test, assert_instr(eor))]
10329pub fn sveor_u8_x(pg: svbool_t, op1: svuint8_t, op2: svuint8_t) -> svuint8_t {
10330 sveor_u8_m(pg, op1, op2)
10331}
10332#[doc = "Bitwise exclusive OR"]
10333#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/sveor[_n_u8]_x)"]
10334#[inline]
10335#[target_feature(enable = "sve")]
10336#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
10337#[cfg_attr(test, assert_instr(eor))]
10338pub fn sveor_n_u8_x(pg: svbool_t, op1: svuint8_t, op2: u8) -> svuint8_t {
10339 sveor_u8_x(pg, op1, svdup_n_u8(op2))
10340}
10341#[doc = "Bitwise exclusive OR"]
10342#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/sveor[_u8]_z)"]
10343#[inline]
10344#[target_feature(enable = "sve")]
10345#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
10346#[cfg_attr(test, assert_instr(eor))]
10347pub fn sveor_u8_z(pg: svbool_t, op1: svuint8_t, op2: svuint8_t) -> svuint8_t {
10348 sveor_u8_m(pg, svsel_u8(pg, op1, svdup_n_u8(0)), op2)
10349}
10350#[doc = "Bitwise exclusive OR"]
10351#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/sveor[_n_u8]_z)"]
10352#[inline]
10353#[target_feature(enable = "sve")]
10354#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
10355#[cfg_attr(test, assert_instr(eor))]
10356pub fn sveor_n_u8_z(pg: svbool_t, op1: svuint8_t, op2: u8) -> svuint8_t {
10357 sveor_u8_z(pg, op1, svdup_n_u8(op2))
10358}
10359#[doc = "Bitwise exclusive OR"]
10360#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/sveor[_u16]_m)"]
10361#[inline]
10362#[target_feature(enable = "sve")]
10363#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
10364#[cfg_attr(test, assert_instr(eor))]
10365pub fn sveor_u16_m(pg: svbool_t, op1: svuint16_t, op2: svuint16_t) -> svuint16_t {
10366 unsafe { sveor_s16_m(pg, op1.as_signed(), op2.as_signed()).as_unsigned() }
10367}
10368#[doc = "Bitwise exclusive OR"]
10369#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/sveor[_n_u16]_m)"]
10370#[inline]
10371#[target_feature(enable = "sve")]
10372#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
10373#[cfg_attr(test, assert_instr(eor))]
10374pub fn sveor_n_u16_m(pg: svbool_t, op1: svuint16_t, op2: u16) -> svuint16_t {
10375 sveor_u16_m(pg, op1, svdup_n_u16(op2))
10376}
10377#[doc = "Bitwise exclusive OR"]
10378#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/sveor[_u16]_x)"]
10379#[inline]
10380#[target_feature(enable = "sve")]
10381#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
10382#[cfg_attr(test, assert_instr(eor))]
10383pub fn sveor_u16_x(pg: svbool_t, op1: svuint16_t, op2: svuint16_t) -> svuint16_t {
10384 sveor_u16_m(pg, op1, op2)
10385}
10386#[doc = "Bitwise exclusive OR"]
10387#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/sveor[_n_u16]_x)"]
10388#[inline]
10389#[target_feature(enable = "sve")]
10390#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
10391#[cfg_attr(test, assert_instr(eor))]
10392pub fn sveor_n_u16_x(pg: svbool_t, op1: svuint16_t, op2: u16) -> svuint16_t {
10393 sveor_u16_x(pg, op1, svdup_n_u16(op2))
10394}
10395#[doc = "Bitwise exclusive OR"]
10396#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/sveor[_u16]_z)"]
10397#[inline]
10398#[target_feature(enable = "sve")]
10399#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
10400#[cfg_attr(test, assert_instr(eor))]
10401pub fn sveor_u16_z(pg: svbool_t, op1: svuint16_t, op2: svuint16_t) -> svuint16_t {
10402 sveor_u16_m(pg, svsel_u16(pg, op1, svdup_n_u16(0)), op2)
10403}
10404#[doc = "Bitwise exclusive OR"]
10405#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/sveor[_n_u16]_z)"]
10406#[inline]
10407#[target_feature(enable = "sve")]
10408#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
10409#[cfg_attr(test, assert_instr(eor))]
10410pub fn sveor_n_u16_z(pg: svbool_t, op1: svuint16_t, op2: u16) -> svuint16_t {
10411 sveor_u16_z(pg, op1, svdup_n_u16(op2))
10412}
10413#[doc = "Bitwise exclusive OR"]
10414#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/sveor[_u32]_m)"]
10415#[inline]
10416#[target_feature(enable = "sve")]
10417#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
10418#[cfg_attr(test, assert_instr(eor))]
10419pub fn sveor_u32_m(pg: svbool_t, op1: svuint32_t, op2: svuint32_t) -> svuint32_t {
10420 unsafe { sveor_s32_m(pg, op1.as_signed(), op2.as_signed()).as_unsigned() }
10421}
10422#[doc = "Bitwise exclusive OR"]
10423#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/sveor[_n_u32]_m)"]
10424#[inline]
10425#[target_feature(enable = "sve")]
10426#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
10427#[cfg_attr(test, assert_instr(eor))]
10428pub fn sveor_n_u32_m(pg: svbool_t, op1: svuint32_t, op2: u32) -> svuint32_t {
10429 sveor_u32_m(pg, op1, svdup_n_u32(op2))
10430}
10431#[doc = "Bitwise exclusive OR"]
10432#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/sveor[_u32]_x)"]
10433#[inline]
10434#[target_feature(enable = "sve")]
10435#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
10436#[cfg_attr(test, assert_instr(eor))]
10437pub fn sveor_u32_x(pg: svbool_t, op1: svuint32_t, op2: svuint32_t) -> svuint32_t {
10438 sveor_u32_m(pg, op1, op2)
10439}
10440#[doc = "Bitwise exclusive OR"]
10441#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/sveor[_n_u32]_x)"]
10442#[inline]
10443#[target_feature(enable = "sve")]
10444#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
10445#[cfg_attr(test, assert_instr(eor))]
10446pub fn sveor_n_u32_x(pg: svbool_t, op1: svuint32_t, op2: u32) -> svuint32_t {
10447 sveor_u32_x(pg, op1, svdup_n_u32(op2))
10448}
10449#[doc = "Bitwise exclusive OR"]
10450#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/sveor[_u32]_z)"]
10451#[inline]
10452#[target_feature(enable = "sve")]
10453#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
10454#[cfg_attr(test, assert_instr(eor))]
10455pub fn sveor_u32_z(pg: svbool_t, op1: svuint32_t, op2: svuint32_t) -> svuint32_t {
10456 sveor_u32_m(pg, svsel_u32(pg, op1, svdup_n_u32(0)), op2)
10457}
10458#[doc = "Bitwise exclusive OR"]
10459#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/sveor[_n_u32]_z)"]
10460#[inline]
10461#[target_feature(enable = "sve")]
10462#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
10463#[cfg_attr(test, assert_instr(eor))]
10464pub fn sveor_n_u32_z(pg: svbool_t, op1: svuint32_t, op2: u32) -> svuint32_t {
10465 sveor_u32_z(pg, op1, svdup_n_u32(op2))
10466}
10467#[doc = "Bitwise exclusive OR"]
10468#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/sveor[_u64]_m)"]
10469#[inline]
10470#[target_feature(enable = "sve")]
10471#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
10472#[cfg_attr(test, assert_instr(eor))]
10473pub fn sveor_u64_m(pg: svbool_t, op1: svuint64_t, op2: svuint64_t) -> svuint64_t {
10474 unsafe { sveor_s64_m(pg, op1.as_signed(), op2.as_signed()).as_unsigned() }
10475}
10476#[doc = "Bitwise exclusive OR"]
10477#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/sveor[_n_u64]_m)"]
10478#[inline]
10479#[target_feature(enable = "sve")]
10480#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
10481#[cfg_attr(test, assert_instr(eor))]
10482pub fn sveor_n_u64_m(pg: svbool_t, op1: svuint64_t, op2: u64) -> svuint64_t {
10483 sveor_u64_m(pg, op1, svdup_n_u64(op2))
10484}
10485#[doc = "Bitwise exclusive OR"]
10486#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/sveor[_u64]_x)"]
10487#[inline]
10488#[target_feature(enable = "sve")]
10489#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
10490#[cfg_attr(test, assert_instr(eor))]
10491pub fn sveor_u64_x(pg: svbool_t, op1: svuint64_t, op2: svuint64_t) -> svuint64_t {
10492 sveor_u64_m(pg, op1, op2)
10493}
10494#[doc = "Bitwise exclusive OR"]
10495#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/sveor[_n_u64]_x)"]
10496#[inline]
10497#[target_feature(enable = "sve")]
10498#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
10499#[cfg_attr(test, assert_instr(eor))]
10500pub fn sveor_n_u64_x(pg: svbool_t, op1: svuint64_t, op2: u64) -> svuint64_t {
10501 sveor_u64_x(pg, op1, svdup_n_u64(op2))
10502}
10503#[doc = "Bitwise exclusive OR"]
10504#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/sveor[_u64]_z)"]
10505#[inline]
10506#[target_feature(enable = "sve")]
10507#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
10508#[cfg_attr(test, assert_instr(eor))]
10509pub fn sveor_u64_z(pg: svbool_t, op1: svuint64_t, op2: svuint64_t) -> svuint64_t {
10510 sveor_u64_m(pg, svsel_u64(pg, op1, svdup_n_u64(0)), op2)
10511}
10512#[doc = "Bitwise exclusive OR"]
10513#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/sveor[_n_u64]_z)"]
10514#[inline]
10515#[target_feature(enable = "sve")]
10516#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
10517#[cfg_attr(test, assert_instr(eor))]
10518pub fn sveor_n_u64_z(pg: svbool_t, op1: svuint64_t, op2: u64) -> svuint64_t {
10519 sveor_u64_z(pg, op1, svdup_n_u64(op2))
10520}
10521#[doc = "Bitwise exclusive OR reduction to scalar"]
10522#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/sveorv[_s8])"]
10523#[inline]
10524#[target_feature(enable = "sve")]
10525#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
10526#[cfg_attr(test, assert_instr(eorv))]
10527pub fn sveorv_s8(pg: svbool_t, op: svint8_t) -> i8 {
10528 unsafe extern "unadjusted" {
10529 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.eorv.nxv16i8")]
10530 fn _sveorv_s8(pg: svbool_t, op: svint8_t) -> i8;
10531 }
10532 unsafe { _sveorv_s8(pg, op) }
10533}
10534#[doc = "Bitwise exclusive OR reduction to scalar"]
10535#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/sveorv[_s16])"]
10536#[inline]
10537#[target_feature(enable = "sve")]
10538#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
10539#[cfg_attr(test, assert_instr(eorv))]
10540pub fn sveorv_s16(pg: svbool_t, op: svint16_t) -> i16 {
10541 unsafe extern "unadjusted" {
10542 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.eorv.nxv8i16")]
10543 fn _sveorv_s16(pg: svbool8_t, op: svint16_t) -> i16;
10544 }
10545 unsafe { _sveorv_s16(pg.sve_into(), op) }
10546}
10547#[doc = "Bitwise exclusive OR reduction to scalar"]
10548#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/sveorv[_s32])"]
10549#[inline]
10550#[target_feature(enable = "sve")]
10551#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
10552#[cfg_attr(test, assert_instr(eorv))]
10553pub fn sveorv_s32(pg: svbool_t, op: svint32_t) -> i32 {
10554 unsafe extern "unadjusted" {
10555 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.eorv.nxv4i32")]
10556 fn _sveorv_s32(pg: svbool4_t, op: svint32_t) -> i32;
10557 }
10558 unsafe { _sveorv_s32(pg.sve_into(), op) }
10559}
10560#[doc = "Bitwise exclusive OR reduction to scalar"]
10561#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/sveorv[_s64])"]
10562#[inline]
10563#[target_feature(enable = "sve")]
10564#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
10565#[cfg_attr(test, assert_instr(eorv))]
10566pub fn sveorv_s64(pg: svbool_t, op: svint64_t) -> i64 {
10567 unsafe extern "unadjusted" {
10568 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.eorv.nxv2i64")]
10569 fn _sveorv_s64(pg: svbool2_t, op: svint64_t) -> i64;
10570 }
10571 unsafe { _sveorv_s64(pg.sve_into(), op) }
10572}
10573#[doc = "Bitwise exclusive OR reduction to scalar"]
10574#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/sveorv[_u8])"]
10575#[inline]
10576#[target_feature(enable = "sve")]
10577#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
10578#[cfg_attr(test, assert_instr(eorv))]
10579pub fn sveorv_u8(pg: svbool_t, op: svuint8_t) -> u8 {
10580 unsafe { sveorv_s8(pg, op.as_signed()).as_unsigned() }
10581}
10582#[doc = "Bitwise exclusive OR reduction to scalar"]
10583#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/sveorv[_u16])"]
10584#[inline]
10585#[target_feature(enable = "sve")]
10586#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
10587#[cfg_attr(test, assert_instr(eorv))]
10588pub fn sveorv_u16(pg: svbool_t, op: svuint16_t) -> u16 {
10589 unsafe { sveorv_s16(pg, op.as_signed()).as_unsigned() }
10590}
10591#[doc = "Bitwise exclusive OR reduction to scalar"]
10592#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/sveorv[_u32])"]
10593#[inline]
10594#[target_feature(enable = "sve")]
10595#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
10596#[cfg_attr(test, assert_instr(eorv))]
10597pub fn sveorv_u32(pg: svbool_t, op: svuint32_t) -> u32 {
10598 unsafe { sveorv_s32(pg, op.as_signed()).as_unsigned() }
10599}
10600#[doc = "Bitwise exclusive OR reduction to scalar"]
10601#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/sveorv[_u64])"]
10602#[inline]
10603#[target_feature(enable = "sve")]
10604#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
10605#[cfg_attr(test, assert_instr(eorv))]
10606pub fn sveorv_u64(pg: svbool_t, op: svuint64_t) -> u64 {
10607 unsafe { sveorv_s64(pg, op.as_signed()).as_unsigned() }
10608}
10609#[doc = "Floating-point exponential accelerator"]
10610#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svexpa[_f32])"]
10611#[inline]
10612#[target_feature(enable = "sve")]
10613#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
10614#[cfg_attr(test, assert_instr(fexpa))]
10615pub fn svexpa_f32(op: svuint32_t) -> svfloat32_t {
10616 unsafe extern "unadjusted" {
10617 #[cfg_attr(
10618 target_arch = "aarch64",
10619 link_name = "llvm.aarch64.sve.fexpa.x.nxv4f32"
10620 )]
10621 fn _svexpa_f32(op: svint32_t) -> svfloat32_t;
10622 }
10623 unsafe { _svexpa_f32(op.as_signed()) }
10624}
10625#[doc = "Floating-point exponential accelerator"]
10626#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svexpa[_f64])"]
10627#[inline]
10628#[target_feature(enable = "sve")]
10629#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
10630#[cfg_attr(test, assert_instr(fexpa))]
10631pub fn svexpa_f64(op: svuint64_t) -> svfloat64_t {
10632 unsafe extern "unadjusted" {
10633 #[cfg_attr(
10634 target_arch = "aarch64",
10635 link_name = "llvm.aarch64.sve.fexpa.x.nxv2f64"
10636 )]
10637 fn _svexpa_f64(op: svint64_t) -> svfloat64_t;
10638 }
10639 unsafe { _svexpa_f64(op.as_signed()) }
10640}
10641#[doc = "Extract vector from pair of vectors"]
10642#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svext[_f32])"]
10643#[inline]
10644#[target_feature(enable = "sve")]
10645#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
10646#[cfg_attr(test, assert_instr(ext, IMM3 = 1))]
10647pub fn svext_f32<const IMM3: i32>(op1: svfloat32_t, op2: svfloat32_t) -> svfloat32_t {
10648 static_assert_range!(IMM3, 0..=63);
10649 unsafe extern "unadjusted" {
10650 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.ext.nxv4f32")]
10651 fn _svext_f32(op1: svfloat32_t, op2: svfloat32_t, imm3: i32) -> svfloat32_t;
10652 }
10653 unsafe { _svext_f32(op1, op2, IMM3) }
10654}
10655#[doc = "Extract vector from pair of vectors"]
10656#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svext[_f64])"]
10657#[inline]
10658#[target_feature(enable = "sve")]
10659#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
10660#[cfg_attr(test, assert_instr(ext, IMM3 = 1))]
10661pub fn svext_f64<const IMM3: i32>(op1: svfloat64_t, op2: svfloat64_t) -> svfloat64_t {
10662 static_assert_range!(IMM3, 0..=31);
10663 unsafe extern "unadjusted" {
10664 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.ext.nxv2f64")]
10665 fn _svext_f64(op1: svfloat64_t, op2: svfloat64_t, imm3: i32) -> svfloat64_t;
10666 }
10667 unsafe { _svext_f64(op1, op2, IMM3) }
10668}
10669#[doc = "Extract vector from pair of vectors"]
10670#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svext[_s8])"]
10671#[inline]
10672#[target_feature(enable = "sve")]
10673#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
10674#[cfg_attr(test, assert_instr(ext, IMM3 = 1))]
10675pub fn svext_s8<const IMM3: i32>(op1: svint8_t, op2: svint8_t) -> svint8_t {
10676 static_assert_range!(IMM3, 0..=255);
10677 unsafe extern "unadjusted" {
10678 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.ext.nxv16i8")]
10679 fn _svext_s8(op1: svint8_t, op2: svint8_t, imm3: i32) -> svint8_t;
10680 }
10681 unsafe { _svext_s8(op1, op2, IMM3) }
10682}
10683#[doc = "Extract vector from pair of vectors"]
10684#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svext[_s16])"]
10685#[inline]
10686#[target_feature(enable = "sve")]
10687#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
10688#[cfg_attr(test, assert_instr(ext, IMM3 = 1))]
10689pub fn svext_s16<const IMM3: i32>(op1: svint16_t, op2: svint16_t) -> svint16_t {
10690 static_assert_range!(IMM3, 0..=127);
10691 unsafe extern "unadjusted" {
10692 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.ext.nxv8i16")]
10693 fn _svext_s16(op1: svint16_t, op2: svint16_t, imm3: i32) -> svint16_t;
10694 }
10695 unsafe { _svext_s16(op1, op2, IMM3) }
10696}
10697#[doc = "Extract vector from pair of vectors"]
10698#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svext[_s32])"]
10699#[inline]
10700#[target_feature(enable = "sve")]
10701#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
10702#[cfg_attr(test, assert_instr(ext, IMM3 = 1))]
10703pub fn svext_s32<const IMM3: i32>(op1: svint32_t, op2: svint32_t) -> svint32_t {
10704 static_assert_range!(IMM3, 0..=63);
10705 unsafe extern "unadjusted" {
10706 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.ext.nxv4i32")]
10707 fn _svext_s32(op1: svint32_t, op2: svint32_t, imm3: i32) -> svint32_t;
10708 }
10709 unsafe { _svext_s32(op1, op2, IMM3) }
10710}
10711#[doc = "Extract vector from pair of vectors"]
10712#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svext[_s64])"]
10713#[inline]
10714#[target_feature(enable = "sve")]
10715#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
10716#[cfg_attr(test, assert_instr(ext, IMM3 = 1))]
10717pub fn svext_s64<const IMM3: i32>(op1: svint64_t, op2: svint64_t) -> svint64_t {
10718 static_assert_range!(IMM3, 0..=31);
10719 unsafe extern "unadjusted" {
10720 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.ext.nxv2i64")]
10721 fn _svext_s64(op1: svint64_t, op2: svint64_t, imm3: i32) -> svint64_t;
10722 }
10723 unsafe { _svext_s64(op1, op2, IMM3) }
10724}
10725#[doc = "Extract vector from pair of vectors"]
10726#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svext[_u8])"]
10727#[inline]
10728#[target_feature(enable = "sve")]
10729#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
10730#[cfg_attr(test, assert_instr(ext, IMM3 = 1))]
10731pub fn svext_u8<const IMM3: i32>(op1: svuint8_t, op2: svuint8_t) -> svuint8_t {
10732 static_assert_range!(IMM3, 0..=255);
10733 unsafe { svext_s8::<IMM3>(op1.as_signed(), op2.as_signed()).as_unsigned() }
10734}
10735#[doc = "Extract vector from pair of vectors"]
10736#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svext[_u16])"]
10737#[inline]
10738#[target_feature(enable = "sve")]
10739#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
10740#[cfg_attr(test, assert_instr(ext, IMM3 = 1))]
10741pub fn svext_u16<const IMM3: i32>(op1: svuint16_t, op2: svuint16_t) -> svuint16_t {
10742 static_assert_range!(IMM3, 0..=127);
10743 unsafe { svext_s16::<IMM3>(op1.as_signed(), op2.as_signed()).as_unsigned() }
10744}
10745#[doc = "Extract vector from pair of vectors"]
10746#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svext[_u32])"]
10747#[inline]
10748#[target_feature(enable = "sve")]
10749#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
10750#[cfg_attr(test, assert_instr(ext, IMM3 = 1))]
10751pub fn svext_u32<const IMM3: i32>(op1: svuint32_t, op2: svuint32_t) -> svuint32_t {
10752 static_assert_range!(IMM3, 0..=63);
10753 unsafe { svext_s32::<IMM3>(op1.as_signed(), op2.as_signed()).as_unsigned() }
10754}
10755#[doc = "Extract vector from pair of vectors"]
10756#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svext[_u64])"]
10757#[inline]
10758#[target_feature(enable = "sve")]
10759#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
10760#[cfg_attr(test, assert_instr(ext, IMM3 = 1))]
10761pub fn svext_u64<const IMM3: i32>(op1: svuint64_t, op2: svuint64_t) -> svuint64_t {
10762 static_assert_range!(IMM3, 0..=31);
10763 unsafe { svext_s64::<IMM3>(op1.as_signed(), op2.as_signed()).as_unsigned() }
10764}
10765#[doc = "Sign-extend the low 8 bits"]
10766#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svextb[_s16]_m)"]
10767#[inline]
10768#[target_feature(enable = "sve")]
10769#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
10770#[cfg_attr(test, assert_instr(sxtb))]
10771pub fn svextb_s16_m(inactive: svint16_t, pg: svbool_t, op: svint16_t) -> svint16_t {
10772 unsafe extern "unadjusted" {
10773 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.sxtb.nxv8i16")]
10774 fn _svextb_s16_m(inactive: svint16_t, pg: svbool8_t, op: svint16_t) -> svint16_t;
10775 }
10776 unsafe { _svextb_s16_m(inactive, pg.sve_into(), op) }
10777}
10778#[doc = "Sign-extend the low 8 bits"]
10779#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svextb[_s16]_x)"]
10780#[inline]
10781#[target_feature(enable = "sve")]
10782#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
10783#[cfg_attr(test, assert_instr(sxtb))]
10784pub fn svextb_s16_x(pg: svbool_t, op: svint16_t) -> svint16_t {
10785 svextb_s16_m(op, pg, op)
10786}
10787#[doc = "Sign-extend the low 8 bits"]
10788#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svextb[_s16]_z)"]
10789#[inline]
10790#[target_feature(enable = "sve")]
10791#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
10792#[cfg_attr(test, assert_instr(sxtb))]
10793pub fn svextb_s16_z(pg: svbool_t, op: svint16_t) -> svint16_t {
10794 svextb_s16_m(svdup_n_s16(0), pg, op)
10795}
10796#[doc = "Sign-extend the low 8 bits"]
10797#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svextb[_s32]_m)"]
10798#[inline]
10799#[target_feature(enable = "sve")]
10800#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
10801#[cfg_attr(test, assert_instr(sxtb))]
10802pub fn svextb_s32_m(inactive: svint32_t, pg: svbool_t, op: svint32_t) -> svint32_t {
10803 unsafe extern "unadjusted" {
10804 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.sxtb.nxv4i32")]
10805 fn _svextb_s32_m(inactive: svint32_t, pg: svbool4_t, op: svint32_t) -> svint32_t;
10806 }
10807 unsafe { _svextb_s32_m(inactive, pg.sve_into(), op) }
10808}
10809#[doc = "Sign-extend the low 8 bits"]
10810#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svextb[_s32]_x)"]
10811#[inline]
10812#[target_feature(enable = "sve")]
10813#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
10814#[cfg_attr(test, assert_instr(sxtb))]
10815pub fn svextb_s32_x(pg: svbool_t, op: svint32_t) -> svint32_t {
10816 svextb_s32_m(op, pg, op)
10817}
10818#[doc = "Sign-extend the low 8 bits"]
10819#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svextb[_s32]_z)"]
10820#[inline]
10821#[target_feature(enable = "sve")]
10822#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
10823#[cfg_attr(test, assert_instr(sxtb))]
10824pub fn svextb_s32_z(pg: svbool_t, op: svint32_t) -> svint32_t {
10825 svextb_s32_m(svdup_n_s32(0), pg, op)
10826}
10827#[doc = "Sign-extend the low 16 bits"]
10828#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svexth[_s32]_m)"]
10829#[inline]
10830#[target_feature(enable = "sve")]
10831#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
10832#[cfg_attr(test, assert_instr(sxth))]
10833pub fn svexth_s32_m(inactive: svint32_t, pg: svbool_t, op: svint32_t) -> svint32_t {
10834 unsafe extern "unadjusted" {
10835 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.sxth.nxv4i32")]
10836 fn _svexth_s32_m(inactive: svint32_t, pg: svbool4_t, op: svint32_t) -> svint32_t;
10837 }
10838 unsafe { _svexth_s32_m(inactive, pg.sve_into(), op) }
10839}
10840#[doc = "Sign-extend the low 16 bits"]
10841#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svexth[_s32]_x)"]
10842#[inline]
10843#[target_feature(enable = "sve")]
10844#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
10845#[cfg_attr(test, assert_instr(sxth))]
10846pub fn svexth_s32_x(pg: svbool_t, op: svint32_t) -> svint32_t {
10847 svexth_s32_m(op, pg, op)
10848}
10849#[doc = "Sign-extend the low 16 bits"]
10850#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svexth[_s32]_z)"]
10851#[inline]
10852#[target_feature(enable = "sve")]
10853#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
10854#[cfg_attr(test, assert_instr(sxth))]
10855pub fn svexth_s32_z(pg: svbool_t, op: svint32_t) -> svint32_t {
10856 svexth_s32_m(svdup_n_s32(0), pg, op)
10857}
10858#[doc = "Sign-extend the low 8 bits"]
10859#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svextb[_s64]_m)"]
10860#[inline]
10861#[target_feature(enable = "sve")]
10862#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
10863#[cfg_attr(test, assert_instr(sxtb))]
10864pub fn svextb_s64_m(inactive: svint64_t, pg: svbool_t, op: svint64_t) -> svint64_t {
10865 unsafe extern "unadjusted" {
10866 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.sxtb.nxv2i64")]
10867 fn _svextb_s64_m(inactive: svint64_t, pg: svbool2_t, op: svint64_t) -> svint64_t;
10868 }
10869 unsafe { _svextb_s64_m(inactive, pg.sve_into(), op) }
10870}
10871#[doc = "Sign-extend the low 8 bits"]
10872#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svextb[_s64]_x)"]
10873#[inline]
10874#[target_feature(enable = "sve")]
10875#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
10876#[cfg_attr(test, assert_instr(sxtb))]
10877pub fn svextb_s64_x(pg: svbool_t, op: svint64_t) -> svint64_t {
10878 svextb_s64_m(op, pg, op)
10879}
10880#[doc = "Sign-extend the low 8 bits"]
10881#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svextb[_s64]_z)"]
10882#[inline]
10883#[target_feature(enable = "sve")]
10884#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
10885#[cfg_attr(test, assert_instr(sxtb))]
10886pub fn svextb_s64_z(pg: svbool_t, op: svint64_t) -> svint64_t {
10887 svextb_s64_m(svdup_n_s64(0), pg, op)
10888}
10889#[doc = "Sign-extend the low 16 bits"]
10890#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svexth[_s64]_m)"]
10891#[inline]
10892#[target_feature(enable = "sve")]
10893#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
10894#[cfg_attr(test, assert_instr(sxth))]
10895pub fn svexth_s64_m(inactive: svint64_t, pg: svbool_t, op: svint64_t) -> svint64_t {
10896 unsafe extern "unadjusted" {
10897 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.sxth.nxv2i64")]
10898 fn _svexth_s64_m(inactive: svint64_t, pg: svbool2_t, op: svint64_t) -> svint64_t;
10899 }
10900 unsafe { _svexth_s64_m(inactive, pg.sve_into(), op) }
10901}
10902#[doc = "Sign-extend the low 16 bits"]
10903#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svexth[_s64]_x)"]
10904#[inline]
10905#[target_feature(enable = "sve")]
10906#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
10907#[cfg_attr(test, assert_instr(sxth))]
10908pub fn svexth_s64_x(pg: svbool_t, op: svint64_t) -> svint64_t {
10909 svexth_s64_m(op, pg, op)
10910}
10911#[doc = "Sign-extend the low 16 bits"]
10912#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svexth[_s64]_z)"]
10913#[inline]
10914#[target_feature(enable = "sve")]
10915#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
10916#[cfg_attr(test, assert_instr(sxth))]
10917pub fn svexth_s64_z(pg: svbool_t, op: svint64_t) -> svint64_t {
10918 svexth_s64_m(svdup_n_s64(0), pg, op)
10919}
10920#[doc = "Sign-extend the low 32 bits"]
10921#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svextw[_s64]_m)"]
10922#[inline]
10923#[target_feature(enable = "sve")]
10924#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
10925#[cfg_attr(test, assert_instr(sxtw))]
10926pub fn svextw_s64_m(inactive: svint64_t, pg: svbool_t, op: svint64_t) -> svint64_t {
10927 unsafe extern "unadjusted" {
10928 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.sxtw.nxv2i64")]
10929 fn _svextw_s64_m(inactive: svint64_t, pg: svbool2_t, op: svint64_t) -> svint64_t;
10930 }
10931 unsafe { _svextw_s64_m(inactive, pg.sve_into(), op) }
10932}
10933#[doc = "Sign-extend the low 32 bits"]
10934#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svextw[_s64]_x)"]
10935#[inline]
10936#[target_feature(enable = "sve")]
10937#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
10938#[cfg_attr(test, assert_instr(sxtw))]
10939pub fn svextw_s64_x(pg: svbool_t, op: svint64_t) -> svint64_t {
10940 svextw_s64_m(op, pg, op)
10941}
10942#[doc = "Sign-extend the low 32 bits"]
10943#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svextw[_s64]_z)"]
10944#[inline]
10945#[target_feature(enable = "sve")]
10946#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
10947#[cfg_attr(test, assert_instr(sxtw))]
10948pub fn svextw_s64_z(pg: svbool_t, op: svint64_t) -> svint64_t {
10949 svextw_s64_m(svdup_n_s64(0), pg, op)
10950}
10951#[doc = "Zero-extend the low 8 bits"]
10952#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svextb[_u16]_m)"]
10953#[inline]
10954#[target_feature(enable = "sve")]
10955#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
10956#[cfg_attr(test, assert_instr(uxtb))]
10957pub fn svextb_u16_m(inactive: svuint16_t, pg: svbool_t, op: svuint16_t) -> svuint16_t {
10958 unsafe extern "unadjusted" {
10959 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.uxtb.nxv8i16")]
10960 fn _svextb_u16_m(inactive: svint16_t, pg: svbool8_t, op: svint16_t) -> svint16_t;
10961 }
10962 unsafe { _svextb_u16_m(inactive.as_signed(), pg.sve_into(), op.as_signed()).as_unsigned() }
10963}
10964#[doc = "Zero-extend the low 8 bits"]
10965#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svextb[_u16]_x)"]
10966#[inline]
10967#[target_feature(enable = "sve")]
10968#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
10969#[cfg_attr(test, assert_instr(uxtb))]
10970pub fn svextb_u16_x(pg: svbool_t, op: svuint16_t) -> svuint16_t {
10971 svextb_u16_m(op, pg, op)
10972}
10973#[doc = "Zero-extend the low 8 bits"]
10974#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svextb[_u16]_z)"]
10975#[inline]
10976#[target_feature(enable = "sve")]
10977#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
10978#[cfg_attr(test, assert_instr(uxtb))]
10979pub fn svextb_u16_z(pg: svbool_t, op: svuint16_t) -> svuint16_t {
10980 svextb_u16_m(svdup_n_u16(0), pg, op)
10981}
10982#[doc = "Zero-extend the low 8 bits"]
10983#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svextb[_u32]_m)"]
10984#[inline]
10985#[target_feature(enable = "sve")]
10986#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
10987#[cfg_attr(test, assert_instr(uxtb))]
10988pub fn svextb_u32_m(inactive: svuint32_t, pg: svbool_t, op: svuint32_t) -> svuint32_t {
10989 unsafe extern "unadjusted" {
10990 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.uxtb.nxv4i32")]
10991 fn _svextb_u32_m(inactive: svint32_t, pg: svbool4_t, op: svint32_t) -> svint32_t;
10992 }
10993 unsafe { _svextb_u32_m(inactive.as_signed(), pg.sve_into(), op.as_signed()).as_unsigned() }
10994}
10995#[doc = "Zero-extend the low 8 bits"]
10996#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svextb[_u32]_x)"]
10997#[inline]
10998#[target_feature(enable = "sve")]
10999#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
11000#[cfg_attr(test, assert_instr(uxtb))]
11001pub fn svextb_u32_x(pg: svbool_t, op: svuint32_t) -> svuint32_t {
11002 svextb_u32_m(op, pg, op)
11003}
11004#[doc = "Zero-extend the low 8 bits"]
11005#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svextb[_u32]_z)"]
11006#[inline]
11007#[target_feature(enable = "sve")]
11008#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
11009#[cfg_attr(test, assert_instr(uxtb))]
11010pub fn svextb_u32_z(pg: svbool_t, op: svuint32_t) -> svuint32_t {
11011 svextb_u32_m(svdup_n_u32(0), pg, op)
11012}
11013#[doc = "Zero-extend the low 16 bits"]
11014#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svexth[_u32]_m)"]
11015#[inline]
11016#[target_feature(enable = "sve")]
11017#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
11018#[cfg_attr(test, assert_instr(uxth))]
11019pub fn svexth_u32_m(inactive: svuint32_t, pg: svbool_t, op: svuint32_t) -> svuint32_t {
11020 unsafe extern "unadjusted" {
11021 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.uxth.nxv4i32")]
11022 fn _svexth_u32_m(inactive: svint32_t, pg: svbool4_t, op: svint32_t) -> svint32_t;
11023 }
11024 unsafe { _svexth_u32_m(inactive.as_signed(), pg.sve_into(), op.as_signed()).as_unsigned() }
11025}
11026#[doc = "Zero-extend the low 16 bits"]
11027#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svexth[_u32]_x)"]
11028#[inline]
11029#[target_feature(enable = "sve")]
11030#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
11031#[cfg_attr(test, assert_instr(uxth))]
11032pub fn svexth_u32_x(pg: svbool_t, op: svuint32_t) -> svuint32_t {
11033 svexth_u32_m(op, pg, op)
11034}
11035#[doc = "Zero-extend the low 16 bits"]
11036#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svexth[_u32]_z)"]
11037#[inline]
11038#[target_feature(enable = "sve")]
11039#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
11040#[cfg_attr(test, assert_instr(uxth))]
11041pub fn svexth_u32_z(pg: svbool_t, op: svuint32_t) -> svuint32_t {
11042 svexth_u32_m(svdup_n_u32(0), pg, op)
11043}
11044#[doc = "Zero-extend the low 8 bits"]
11045#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svextb[_u64]_m)"]
11046#[inline]
11047#[target_feature(enable = "sve")]
11048#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
11049#[cfg_attr(test, assert_instr(uxtb))]
11050pub fn svextb_u64_m(inactive: svuint64_t, pg: svbool_t, op: svuint64_t) -> svuint64_t {
11051 unsafe extern "unadjusted" {
11052 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.uxtb.nxv2i64")]
11053 fn _svextb_u64_m(inactive: svint64_t, pg: svbool2_t, op: svint64_t) -> svint64_t;
11054 }
11055 unsafe { _svextb_u64_m(inactive.as_signed(), pg.sve_into(), op.as_signed()).as_unsigned() }
11056}
11057#[doc = "Zero-extend the low 8 bits"]
11058#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svextb[_u64]_x)"]
11059#[inline]
11060#[target_feature(enable = "sve")]
11061#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
11062#[cfg_attr(test, assert_instr(uxtb))]
11063pub fn svextb_u64_x(pg: svbool_t, op: svuint64_t) -> svuint64_t {
11064 svextb_u64_m(op, pg, op)
11065}
11066#[doc = "Zero-extend the low 8 bits"]
11067#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svextb[_u64]_z)"]
11068#[inline]
11069#[target_feature(enable = "sve")]
11070#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
11071#[cfg_attr(test, assert_instr(uxtb))]
11072pub fn svextb_u64_z(pg: svbool_t, op: svuint64_t) -> svuint64_t {
11073 svextb_u64_m(svdup_n_u64(0), pg, op)
11074}
11075#[doc = "Zero-extend the low 16 bits"]
11076#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svexth[_u64]_m)"]
11077#[inline]
11078#[target_feature(enable = "sve")]
11079#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
11080#[cfg_attr(test, assert_instr(uxth))]
11081pub fn svexth_u64_m(inactive: svuint64_t, pg: svbool_t, op: svuint64_t) -> svuint64_t {
11082 unsafe extern "unadjusted" {
11083 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.uxth.nxv2i64")]
11084 fn _svexth_u64_m(inactive: svint64_t, pg: svbool2_t, op: svint64_t) -> svint64_t;
11085 }
11086 unsafe { _svexth_u64_m(inactive.as_signed(), pg.sve_into(), op.as_signed()).as_unsigned() }
11087}
11088#[doc = "Zero-extend the low 16 bits"]
11089#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svexth[_u64]_x)"]
11090#[inline]
11091#[target_feature(enable = "sve")]
11092#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
11093#[cfg_attr(test, assert_instr(uxth))]
11094pub fn svexth_u64_x(pg: svbool_t, op: svuint64_t) -> svuint64_t {
11095 svexth_u64_m(op, pg, op)
11096}
11097#[doc = "Zero-extend the low 16 bits"]
11098#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svexth[_u64]_z)"]
11099#[inline]
11100#[target_feature(enable = "sve")]
11101#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
11102#[cfg_attr(test, assert_instr(uxth))]
11103pub fn svexth_u64_z(pg: svbool_t, op: svuint64_t) -> svuint64_t {
11104 svexth_u64_m(svdup_n_u64(0), pg, op)
11105}
11106#[doc = "Zero-extend the low 32 bits"]
11107#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svextw[_u64]_m)"]
11108#[inline]
11109#[target_feature(enable = "sve")]
11110#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
11111#[cfg_attr(test, assert_instr(uxtw))]
11112pub fn svextw_u64_m(inactive: svuint64_t, pg: svbool_t, op: svuint64_t) -> svuint64_t {
11113 unsafe extern "unadjusted" {
11114 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.uxtw.nxv2i64")]
11115 fn _svextw_u64_m(inactive: svint64_t, pg: svbool2_t, op: svint64_t) -> svint64_t;
11116 }
11117 unsafe { _svextw_u64_m(inactive.as_signed(), pg.sve_into(), op.as_signed()).as_unsigned() }
11118}
11119#[doc = "Zero-extend the low 32 bits"]
11120#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svextw[_u64]_x)"]
11121#[inline]
11122#[target_feature(enable = "sve")]
11123#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
11124#[cfg_attr(test, assert_instr(uxtw))]
11125pub fn svextw_u64_x(pg: svbool_t, op: svuint64_t) -> svuint64_t {
11126 svextw_u64_m(op, pg, op)
11127}
11128#[doc = "Zero-extend the low 32 bits"]
11129#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svextw[_u64]_z)"]
11130#[inline]
11131#[target_feature(enable = "sve")]
11132#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
11133#[cfg_attr(test, assert_instr(uxtw))]
11134pub fn svextw_u64_z(pg: svbool_t, op: svuint64_t) -> svuint64_t {
11135 svextw_u64_m(svdup_n_u64(0), pg, op)
11136}
11137#[doc = "Extract one vector from a tuple of two vectors"]
11138#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svget2[_f32])"]
11139#[inline]
11140#[target_feature(enable = "sve")]
11141#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
11142pub fn svget2_f32<const IMM_INDEX: i32>(tuple: svfloat32x2_t) -> svfloat32_t {
11143 static_assert_range!(IMM_INDEX, 0..=1);
11144 unsafe { crate::intrinsics::simd::scalable::sve_tuple_get::<_, _, { IMM_INDEX }>(tuple) }
11145}
11146#[doc = "Extract one vector from a tuple of two vectors"]
11147#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svget2[_f64])"]
11148#[inline]
11149#[target_feature(enable = "sve")]
11150#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
11151pub fn svget2_f64<const IMM_INDEX: i32>(tuple: svfloat64x2_t) -> svfloat64_t {
11152 static_assert_range!(IMM_INDEX, 0..=1);
11153 unsafe { crate::intrinsics::simd::scalable::sve_tuple_get::<_, _, { IMM_INDEX }>(tuple) }
11154}
11155#[doc = "Extract one vector from a tuple of two vectors"]
11156#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svget2[_s8])"]
11157#[inline]
11158#[target_feature(enable = "sve")]
11159#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
11160pub fn svget2_s8<const IMM_INDEX: i32>(tuple: svint8x2_t) -> svint8_t {
11161 static_assert_range!(IMM_INDEX, 0..=1);
11162 unsafe { crate::intrinsics::simd::scalable::sve_tuple_get::<_, _, { IMM_INDEX }>(tuple) }
11163}
11164#[doc = "Extract one vector from a tuple of two vectors"]
11165#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svget2[_s16])"]
11166#[inline]
11167#[target_feature(enable = "sve")]
11168#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
11169pub fn svget2_s16<const IMM_INDEX: i32>(tuple: svint16x2_t) -> svint16_t {
11170 static_assert_range!(IMM_INDEX, 0..=1);
11171 unsafe { crate::intrinsics::simd::scalable::sve_tuple_get::<_, _, { IMM_INDEX }>(tuple) }
11172}
11173#[doc = "Extract one vector from a tuple of two vectors"]
11174#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svget2[_s32])"]
11175#[inline]
11176#[target_feature(enable = "sve")]
11177#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
11178pub fn svget2_s32<const IMM_INDEX: i32>(tuple: svint32x2_t) -> svint32_t {
11179 static_assert_range!(IMM_INDEX, 0..=1);
11180 unsafe { crate::intrinsics::simd::scalable::sve_tuple_get::<_, _, { IMM_INDEX }>(tuple) }
11181}
11182#[doc = "Extract one vector from a tuple of two vectors"]
11183#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svget2[_s64])"]
11184#[inline]
11185#[target_feature(enable = "sve")]
11186#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
11187pub fn svget2_s64<const IMM_INDEX: i32>(tuple: svint64x2_t) -> svint64_t {
11188 static_assert_range!(IMM_INDEX, 0..=1);
11189 unsafe { crate::intrinsics::simd::scalable::sve_tuple_get::<_, _, { IMM_INDEX }>(tuple) }
11190}
11191#[doc = "Extract one vector from a tuple of two vectors"]
11192#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svget2[_u8])"]
11193#[inline]
11194#[target_feature(enable = "sve")]
11195#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
11196pub fn svget2_u8<const IMM_INDEX: i32>(tuple: svuint8x2_t) -> svuint8_t {
11197 static_assert_range!(IMM_INDEX, 0..=1);
11198 unsafe { crate::intrinsics::simd::scalable::sve_tuple_get::<_, _, { IMM_INDEX }>(tuple) }
11199}
11200#[doc = "Extract one vector from a tuple of two vectors"]
11201#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svget2[_u16])"]
11202#[inline]
11203#[target_feature(enable = "sve")]
11204#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
11205pub fn svget2_u16<const IMM_INDEX: i32>(tuple: svuint16x2_t) -> svuint16_t {
11206 static_assert_range!(IMM_INDEX, 0..=1);
11207 unsafe { crate::intrinsics::simd::scalable::sve_tuple_get::<_, _, { IMM_INDEX }>(tuple) }
11208}
11209#[doc = "Extract one vector from a tuple of two vectors"]
11210#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svget2[_u32])"]
11211#[inline]
11212#[target_feature(enable = "sve")]
11213#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
11214pub fn svget2_u32<const IMM_INDEX: i32>(tuple: svuint32x2_t) -> svuint32_t {
11215 static_assert_range!(IMM_INDEX, 0..=1);
11216 unsafe { crate::intrinsics::simd::scalable::sve_tuple_get::<_, _, { IMM_INDEX }>(tuple) }
11217}
11218#[doc = "Extract one vector from a tuple of two vectors"]
11219#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svget2[_u64])"]
11220#[inline]
11221#[target_feature(enable = "sve")]
11222#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
11223pub fn svget2_u64<const IMM_INDEX: i32>(tuple: svuint64x2_t) -> svuint64_t {
11224 static_assert_range!(IMM_INDEX, 0..=1);
11225 unsafe { crate::intrinsics::simd::scalable::sve_tuple_get::<_, _, { IMM_INDEX }>(tuple) }
11226}
11227#[doc = "Extract one vector from a tuple of three vectors"]
11228#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svget3[_f32])"]
11229#[inline]
11230#[target_feature(enable = "sve")]
11231#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
11232pub fn svget3_f32<const IMM_INDEX: i32>(tuple: svfloat32x3_t) -> svfloat32_t {
11233 static_assert_range!(IMM_INDEX, 0..=2);
11234 unsafe { crate::intrinsics::simd::scalable::sve_tuple_get::<_, _, { IMM_INDEX }>(tuple) }
11235}
11236#[doc = "Extract one vector from a tuple of three vectors"]
11237#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svget3[_f64])"]
11238#[inline]
11239#[target_feature(enable = "sve")]
11240#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
11241pub fn svget3_f64<const IMM_INDEX: i32>(tuple: svfloat64x3_t) -> svfloat64_t {
11242 static_assert_range!(IMM_INDEX, 0..=2);
11243 unsafe { crate::intrinsics::simd::scalable::sve_tuple_get::<_, _, { IMM_INDEX }>(tuple) }
11244}
11245#[doc = "Extract one vector from a tuple of three vectors"]
11246#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svget3[_s8])"]
11247#[inline]
11248#[target_feature(enable = "sve")]
11249#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
11250pub fn svget3_s8<const IMM_INDEX: i32>(tuple: svint8x3_t) -> svint8_t {
11251 static_assert_range!(IMM_INDEX, 0..=2);
11252 unsafe { crate::intrinsics::simd::scalable::sve_tuple_get::<_, _, { IMM_INDEX }>(tuple) }
11253}
11254#[doc = "Extract one vector from a tuple of three vectors"]
11255#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svget3[_s16])"]
11256#[inline]
11257#[target_feature(enable = "sve")]
11258#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
11259pub fn svget3_s16<const IMM_INDEX: i32>(tuple: svint16x3_t) -> svint16_t {
11260 static_assert_range!(IMM_INDEX, 0..=2);
11261 unsafe { crate::intrinsics::simd::scalable::sve_tuple_get::<_, _, { IMM_INDEX }>(tuple) }
11262}
11263#[doc = "Extract one vector from a tuple of three vectors"]
11264#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svget3[_s32])"]
11265#[inline]
11266#[target_feature(enable = "sve")]
11267#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
11268pub fn svget3_s32<const IMM_INDEX: i32>(tuple: svint32x3_t) -> svint32_t {
11269 static_assert_range!(IMM_INDEX, 0..=2);
11270 unsafe { crate::intrinsics::simd::scalable::sve_tuple_get::<_, _, { IMM_INDEX }>(tuple) }
11271}
11272#[doc = "Extract one vector from a tuple of three vectors"]
11273#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svget3[_s64])"]
11274#[inline]
11275#[target_feature(enable = "sve")]
11276#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
11277pub fn svget3_s64<const IMM_INDEX: i32>(tuple: svint64x3_t) -> svint64_t {
11278 static_assert_range!(IMM_INDEX, 0..=2);
11279 unsafe { crate::intrinsics::simd::scalable::sve_tuple_get::<_, _, { IMM_INDEX }>(tuple) }
11280}
11281#[doc = "Extract one vector from a tuple of three vectors"]
11282#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svget3[_u8])"]
11283#[inline]
11284#[target_feature(enable = "sve")]
11285#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
11286pub fn svget3_u8<const IMM_INDEX: i32>(tuple: svuint8x3_t) -> svuint8_t {
11287 static_assert_range!(IMM_INDEX, 0..=2);
11288 unsafe { crate::intrinsics::simd::scalable::sve_tuple_get::<_, _, { IMM_INDEX }>(tuple) }
11289}
11290#[doc = "Extract one vector from a tuple of three vectors"]
11291#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svget3[_u16])"]
11292#[inline]
11293#[target_feature(enable = "sve")]
11294#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
11295pub fn svget3_u16<const IMM_INDEX: i32>(tuple: svuint16x3_t) -> svuint16_t {
11296 static_assert_range!(IMM_INDEX, 0..=2);
11297 unsafe { crate::intrinsics::simd::scalable::sve_tuple_get::<_, _, { IMM_INDEX }>(tuple) }
11298}
11299#[doc = "Extract one vector from a tuple of three vectors"]
11300#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svget3[_u32])"]
11301#[inline]
11302#[target_feature(enable = "sve")]
11303#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
11304pub fn svget3_u32<const IMM_INDEX: i32>(tuple: svuint32x3_t) -> svuint32_t {
11305 static_assert_range!(IMM_INDEX, 0..=2);
11306 unsafe { crate::intrinsics::simd::scalable::sve_tuple_get::<_, _, { IMM_INDEX }>(tuple) }
11307}
11308#[doc = "Extract one vector from a tuple of three vectors"]
11309#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svget3[_u64])"]
11310#[inline]
11311#[target_feature(enable = "sve")]
11312#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
11313pub fn svget3_u64<const IMM_INDEX: i32>(tuple: svuint64x3_t) -> svuint64_t {
11314 static_assert_range!(IMM_INDEX, 0..=2);
11315 unsafe { crate::intrinsics::simd::scalable::sve_tuple_get::<_, _, { IMM_INDEX }>(tuple) }
11316}
11317#[doc = "Extract one vector from a tuple of four vectors"]
11318#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svget4[_f32])"]
11319#[inline]
11320#[target_feature(enable = "sve")]
11321#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
11322pub fn svget4_f32<const IMM_INDEX: i32>(tuple: svfloat32x4_t) -> svfloat32_t {
11323 static_assert_range!(IMM_INDEX, 0..=3);
11324 unsafe { crate::intrinsics::simd::scalable::sve_tuple_get::<_, _, { IMM_INDEX }>(tuple) }
11325}
11326#[doc = "Extract one vector from a tuple of four vectors"]
11327#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svget4[_f64])"]
11328#[inline]
11329#[target_feature(enable = "sve")]
11330#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
11331pub fn svget4_f64<const IMM_INDEX: i32>(tuple: svfloat64x4_t) -> svfloat64_t {
11332 static_assert_range!(IMM_INDEX, 0..=3);
11333 unsafe { crate::intrinsics::simd::scalable::sve_tuple_get::<_, _, { IMM_INDEX }>(tuple) }
11334}
11335#[doc = "Extract one vector from a tuple of four vectors"]
11336#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svget4[_s8])"]
11337#[inline]
11338#[target_feature(enable = "sve")]
11339#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
11340pub fn svget4_s8<const IMM_INDEX: i32>(tuple: svint8x4_t) -> svint8_t {
11341 static_assert_range!(IMM_INDEX, 0..=3);
11342 unsafe { crate::intrinsics::simd::scalable::sve_tuple_get::<_, _, { IMM_INDEX }>(tuple) }
11343}
11344#[doc = "Extract one vector from a tuple of four vectors"]
11345#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svget4[_s16])"]
11346#[inline]
11347#[target_feature(enable = "sve")]
11348#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
11349pub fn svget4_s16<const IMM_INDEX: i32>(tuple: svint16x4_t) -> svint16_t {
11350 static_assert_range!(IMM_INDEX, 0..=3);
11351 unsafe { crate::intrinsics::simd::scalable::sve_tuple_get::<_, _, { IMM_INDEX }>(tuple) }
11352}
11353#[doc = "Extract one vector from a tuple of four vectors"]
11354#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svget4[_s32])"]
11355#[inline]
11356#[target_feature(enable = "sve")]
11357#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
11358pub fn svget4_s32<const IMM_INDEX: i32>(tuple: svint32x4_t) -> svint32_t {
11359 static_assert_range!(IMM_INDEX, 0..=3);
11360 unsafe { crate::intrinsics::simd::scalable::sve_tuple_get::<_, _, { IMM_INDEX }>(tuple) }
11361}
11362#[doc = "Extract one vector from a tuple of four vectors"]
11363#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svget4[_s64])"]
11364#[inline]
11365#[target_feature(enable = "sve")]
11366#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
11367pub fn svget4_s64<const IMM_INDEX: i32>(tuple: svint64x4_t) -> svint64_t {
11368 static_assert_range!(IMM_INDEX, 0..=3);
11369 unsafe { crate::intrinsics::simd::scalable::sve_tuple_get::<_, _, { IMM_INDEX }>(tuple) }
11370}
11371#[doc = "Extract one vector from a tuple of four vectors"]
11372#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svget4[_u8])"]
11373#[inline]
11374#[target_feature(enable = "sve")]
11375#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
11376pub fn svget4_u8<const IMM_INDEX: i32>(tuple: svuint8x4_t) -> svuint8_t {
11377 static_assert_range!(IMM_INDEX, 0..=3);
11378 unsafe { crate::intrinsics::simd::scalable::sve_tuple_get::<_, _, { IMM_INDEX }>(tuple) }
11379}
11380#[doc = "Extract one vector from a tuple of four vectors"]
11381#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svget4[_u16])"]
11382#[inline]
11383#[target_feature(enable = "sve")]
11384#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
11385pub fn svget4_u16<const IMM_INDEX: i32>(tuple: svuint16x4_t) -> svuint16_t {
11386 static_assert_range!(IMM_INDEX, 0..=3);
11387 unsafe { crate::intrinsics::simd::scalable::sve_tuple_get::<_, _, { IMM_INDEX }>(tuple) }
11388}
11389#[doc = "Extract one vector from a tuple of four vectors"]
11390#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svget4[_u32])"]
11391#[inline]
11392#[target_feature(enable = "sve")]
11393#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
11394pub fn svget4_u32<const IMM_INDEX: i32>(tuple: svuint32x4_t) -> svuint32_t {
11395 static_assert_range!(IMM_INDEX, 0..=3);
11396 unsafe { crate::intrinsics::simd::scalable::sve_tuple_get::<_, _, { IMM_INDEX }>(tuple) }
11397}
11398#[doc = "Extract one vector from a tuple of four vectors"]
11399#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svget4[_u64])"]
11400#[inline]
11401#[target_feature(enable = "sve")]
11402#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
11403pub fn svget4_u64<const IMM_INDEX: i32>(tuple: svuint64x4_t) -> svuint64_t {
11404 static_assert_range!(IMM_INDEX, 0..=3);
11405 unsafe { crate::intrinsics::simd::scalable::sve_tuple_get::<_, _, { IMM_INDEX }>(tuple) }
11406}
11407#[doc = "Create linear series"]
11408#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svindex_s8)"]
11409#[inline]
11410#[target_feature(enable = "sve")]
11411#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
11412#[cfg_attr(test, assert_instr(index))]
11413pub fn svindex_s8(base: i8, step: i8) -> svint8_t {
11414 unsafe extern "unadjusted" {
11415 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.index.nxv16i8")]
11416 fn _svindex_s8(base: i8, step: i8) -> svint8_t;
11417 }
11418 unsafe { _svindex_s8(base, step) }
11419}
11420#[doc = "Create linear series"]
11421#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svindex_s16)"]
11422#[inline]
11423#[target_feature(enable = "sve")]
11424#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
11425#[cfg_attr(test, assert_instr(index))]
11426pub fn svindex_s16(base: i16, step: i16) -> svint16_t {
11427 unsafe extern "unadjusted" {
11428 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.index.nxv8i16")]
11429 fn _svindex_s16(base: i16, step: i16) -> svint16_t;
11430 }
11431 unsafe { _svindex_s16(base, step) }
11432}
11433#[doc = "Create linear series"]
11434#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svindex_s32)"]
11435#[inline]
11436#[target_feature(enable = "sve")]
11437#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
11438#[cfg_attr(test, assert_instr(index))]
11439pub fn svindex_s32(base: i32, step: i32) -> svint32_t {
11440 unsafe extern "unadjusted" {
11441 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.index.nxv4i32")]
11442 fn _svindex_s32(base: i32, step: i32) -> svint32_t;
11443 }
11444 unsafe { _svindex_s32(base, step) }
11445}
11446#[doc = "Create linear series"]
11447#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svindex_s64)"]
11448#[inline]
11449#[target_feature(enable = "sve")]
11450#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
11451#[cfg_attr(test, assert_instr(index))]
11452pub fn svindex_s64(base: i64, step: i64) -> svint64_t {
11453 unsafe extern "unadjusted" {
11454 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.index.nxv2i64")]
11455 fn _svindex_s64(base: i64, step: i64) -> svint64_t;
11456 }
11457 unsafe { _svindex_s64(base, step) }
11458}
11459#[doc = "Create linear series"]
11460#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svindex_u8)"]
11461#[inline]
11462#[target_feature(enable = "sve")]
11463#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
11464#[cfg_attr(test, assert_instr(index))]
11465pub fn svindex_u8(base: u8, step: u8) -> svuint8_t {
11466 unsafe { svindex_s8(base.as_signed(), step.as_signed()).as_unsigned() }
11467}
11468#[doc = "Create linear series"]
11469#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svindex_u16)"]
11470#[inline]
11471#[target_feature(enable = "sve")]
11472#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
11473#[cfg_attr(test, assert_instr(index))]
11474pub fn svindex_u16(base: u16, step: u16) -> svuint16_t {
11475 unsafe { svindex_s16(base.as_signed(), step.as_signed()).as_unsigned() }
11476}
11477#[doc = "Create linear series"]
11478#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svindex_u32)"]
11479#[inline]
11480#[target_feature(enable = "sve")]
11481#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
11482#[cfg_attr(test, assert_instr(index))]
11483pub fn svindex_u32(base: u32, step: u32) -> svuint32_t {
11484 unsafe { svindex_s32(base.as_signed(), step.as_signed()).as_unsigned() }
11485}
11486#[doc = "Create linear series"]
11487#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svindex_u64)"]
11488#[inline]
11489#[target_feature(enable = "sve")]
11490#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
11491#[cfg_attr(test, assert_instr(index))]
11492pub fn svindex_u64(base: u64, step: u64) -> svuint64_t {
11493 unsafe { svindex_s64(base.as_signed(), step.as_signed()).as_unsigned() }
11494}
11495#[doc = "Insert scalar in shifted vector"]
11496#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svinsr[_n_f32])"]
11497#[inline]
11498#[target_feature(enable = "sve")]
11499#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
11500#[cfg_attr(test, assert_instr(insr))]
11501pub fn svinsr_n_f32(op1: svfloat32_t, op2: f32) -> svfloat32_t {
11502 unsafe extern "unadjusted" {
11503 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.insr.nxv4f32")]
11504 fn _svinsr_n_f32(op1: svfloat32_t, op2: f32) -> svfloat32_t;
11505 }
11506 unsafe { _svinsr_n_f32(op1, op2) }
11507}
11508#[doc = "Insert scalar in shifted vector"]
11509#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svinsr[_n_f64])"]
11510#[inline]
11511#[target_feature(enable = "sve")]
11512#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
11513#[cfg_attr(test, assert_instr(insr))]
11514pub fn svinsr_n_f64(op1: svfloat64_t, op2: f64) -> svfloat64_t {
11515 unsafe extern "unadjusted" {
11516 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.insr.nxv2f64")]
11517 fn _svinsr_n_f64(op1: svfloat64_t, op2: f64) -> svfloat64_t;
11518 }
11519 unsafe { _svinsr_n_f64(op1, op2) }
11520}
11521#[doc = "Insert scalar in shifted vector"]
11522#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svinsr[_n_s8])"]
11523#[inline]
11524#[target_feature(enable = "sve")]
11525#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
11526#[cfg_attr(test, assert_instr(insr))]
11527pub fn svinsr_n_s8(op1: svint8_t, op2: i8) -> svint8_t {
11528 unsafe extern "unadjusted" {
11529 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.insr.nxv16i8")]
11530 fn _svinsr_n_s8(op1: svint8_t, op2: i8) -> svint8_t;
11531 }
11532 unsafe { _svinsr_n_s8(op1, op2) }
11533}
11534#[doc = "Insert scalar in shifted vector"]
11535#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svinsr[_n_s16])"]
11536#[inline]
11537#[target_feature(enable = "sve")]
11538#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
11539#[cfg_attr(test, assert_instr(insr))]
11540pub fn svinsr_n_s16(op1: svint16_t, op2: i16) -> svint16_t {
11541 unsafe extern "unadjusted" {
11542 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.insr.nxv8i16")]
11543 fn _svinsr_n_s16(op1: svint16_t, op2: i16) -> svint16_t;
11544 }
11545 unsafe { _svinsr_n_s16(op1, op2) }
11546}
11547#[doc = "Insert scalar in shifted vector"]
11548#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svinsr[_n_s32])"]
11549#[inline]
11550#[target_feature(enable = "sve")]
11551#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
11552#[cfg_attr(test, assert_instr(insr))]
11553pub fn svinsr_n_s32(op1: svint32_t, op2: i32) -> svint32_t {
11554 unsafe extern "unadjusted" {
11555 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.insr.nxv4i32")]
11556 fn _svinsr_n_s32(op1: svint32_t, op2: i32) -> svint32_t;
11557 }
11558 unsafe { _svinsr_n_s32(op1, op2) }
11559}
11560#[doc = "Insert scalar in shifted vector"]
11561#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svinsr[_n_s64])"]
11562#[inline]
11563#[target_feature(enable = "sve")]
11564#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
11565#[cfg_attr(test, assert_instr(insr))]
11566pub fn svinsr_n_s64(op1: svint64_t, op2: i64) -> svint64_t {
11567 unsafe extern "unadjusted" {
11568 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.insr.nxv2i64")]
11569 fn _svinsr_n_s64(op1: svint64_t, op2: i64) -> svint64_t;
11570 }
11571 unsafe { _svinsr_n_s64(op1, op2) }
11572}
11573#[doc = "Insert scalar in shifted vector"]
11574#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svinsr[_n_u8])"]
11575#[inline]
11576#[target_feature(enable = "sve")]
11577#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
11578#[cfg_attr(test, assert_instr(insr))]
11579pub fn svinsr_n_u8(op1: svuint8_t, op2: u8) -> svuint8_t {
11580 unsafe { svinsr_n_s8(op1.as_signed(), op2.as_signed()).as_unsigned() }
11581}
11582#[doc = "Insert scalar in shifted vector"]
11583#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svinsr[_n_u16])"]
11584#[inline]
11585#[target_feature(enable = "sve")]
11586#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
11587#[cfg_attr(test, assert_instr(insr))]
11588pub fn svinsr_n_u16(op1: svuint16_t, op2: u16) -> svuint16_t {
11589 unsafe { svinsr_n_s16(op1.as_signed(), op2.as_signed()).as_unsigned() }
11590}
11591#[doc = "Insert scalar in shifted vector"]
11592#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svinsr[_n_u32])"]
11593#[inline]
11594#[target_feature(enable = "sve")]
11595#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
11596#[cfg_attr(test, assert_instr(insr))]
11597pub fn svinsr_n_u32(op1: svuint32_t, op2: u32) -> svuint32_t {
11598 unsafe { svinsr_n_s32(op1.as_signed(), op2.as_signed()).as_unsigned() }
11599}
11600#[doc = "Insert scalar in shifted vector"]
11601#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svinsr[_n_u64])"]
11602#[inline]
11603#[target_feature(enable = "sve")]
11604#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
11605#[cfg_attr(test, assert_instr(insr))]
11606pub fn svinsr_n_u64(op1: svuint64_t, op2: u64) -> svuint64_t {
11607 unsafe { svinsr_n_s64(op1.as_signed(), op2.as_signed()).as_unsigned() }
11608}
11609#[doc = "Extract element after last"]
11610#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svlasta[_f32])"]
11611#[inline]
11612#[target_feature(enable = "sve")]
11613#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
11614#[cfg_attr(test, assert_instr(lasta))]
11615pub fn svlasta_f32(pg: svbool_t, op: svfloat32_t) -> f32 {
11616 unsafe extern "unadjusted" {
11617 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.lasta.nxv4f32")]
11618 fn _svlasta_f32(pg: svbool4_t, op: svfloat32_t) -> f32;
11619 }
11620 unsafe { _svlasta_f32(pg.sve_into(), op) }
11621}
11622#[doc = "Extract element after last"]
11623#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svlasta[_f64])"]
11624#[inline]
11625#[target_feature(enable = "sve")]
11626#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
11627#[cfg_attr(test, assert_instr(lasta))]
11628pub fn svlasta_f64(pg: svbool_t, op: svfloat64_t) -> f64 {
11629 unsafe extern "unadjusted" {
11630 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.lasta.nxv2f64")]
11631 fn _svlasta_f64(pg: svbool2_t, op: svfloat64_t) -> f64;
11632 }
11633 unsafe { _svlasta_f64(pg.sve_into(), op) }
11634}
11635#[doc = "Extract element after last"]
11636#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svlasta[_s8])"]
11637#[inline]
11638#[target_feature(enable = "sve")]
11639#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
11640#[cfg_attr(test, assert_instr(lasta))]
11641pub fn svlasta_s8(pg: svbool_t, op: svint8_t) -> i8 {
11642 unsafe extern "unadjusted" {
11643 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.lasta.nxv16i8")]
11644 fn _svlasta_s8(pg: svbool_t, op: svint8_t) -> i8;
11645 }
11646 unsafe { _svlasta_s8(pg, op) }
11647}
11648#[doc = "Extract element after last"]
11649#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svlasta[_s16])"]
11650#[inline]
11651#[target_feature(enable = "sve")]
11652#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
11653#[cfg_attr(test, assert_instr(lasta))]
11654pub fn svlasta_s16(pg: svbool_t, op: svint16_t) -> i16 {
11655 unsafe extern "unadjusted" {
11656 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.lasta.nxv8i16")]
11657 fn _svlasta_s16(pg: svbool8_t, op: svint16_t) -> i16;
11658 }
11659 unsafe { _svlasta_s16(pg.sve_into(), op) }
11660}
11661#[doc = "Extract element after last"]
11662#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svlasta[_s32])"]
11663#[inline]
11664#[target_feature(enable = "sve")]
11665#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
11666#[cfg_attr(test, assert_instr(lasta))]
11667pub fn svlasta_s32(pg: svbool_t, op: svint32_t) -> i32 {
11668 unsafe extern "unadjusted" {
11669 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.lasta.nxv4i32")]
11670 fn _svlasta_s32(pg: svbool4_t, op: svint32_t) -> i32;
11671 }
11672 unsafe { _svlasta_s32(pg.sve_into(), op) }
11673}
11674#[doc = "Extract element after last"]
11675#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svlasta[_s64])"]
11676#[inline]
11677#[target_feature(enable = "sve")]
11678#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
11679#[cfg_attr(test, assert_instr(lasta))]
11680pub fn svlasta_s64(pg: svbool_t, op: svint64_t) -> i64 {
11681 unsafe extern "unadjusted" {
11682 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.lasta.nxv2i64")]
11683 fn _svlasta_s64(pg: svbool2_t, op: svint64_t) -> i64;
11684 }
11685 unsafe { _svlasta_s64(pg.sve_into(), op) }
11686}
11687#[doc = "Extract element after last"]
11688#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svlasta[_u8])"]
11689#[inline]
11690#[target_feature(enable = "sve")]
11691#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
11692#[cfg_attr(test, assert_instr(lasta))]
11693pub fn svlasta_u8(pg: svbool_t, op: svuint8_t) -> u8 {
11694 unsafe { svlasta_s8(pg, op.as_signed()).as_unsigned() }
11695}
11696#[doc = "Extract element after last"]
11697#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svlasta[_u16])"]
11698#[inline]
11699#[target_feature(enable = "sve")]
11700#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
11701#[cfg_attr(test, assert_instr(lasta))]
11702pub fn svlasta_u16(pg: svbool_t, op: svuint16_t) -> u16 {
11703 unsafe { svlasta_s16(pg, op.as_signed()).as_unsigned() }
11704}
11705#[doc = "Extract element after last"]
11706#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svlasta[_u32])"]
11707#[inline]
11708#[target_feature(enable = "sve")]
11709#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
11710#[cfg_attr(test, assert_instr(lasta))]
11711pub fn svlasta_u32(pg: svbool_t, op: svuint32_t) -> u32 {
11712 unsafe { svlasta_s32(pg, op.as_signed()).as_unsigned() }
11713}
11714#[doc = "Extract element after last"]
11715#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svlasta[_u64])"]
11716#[inline]
11717#[target_feature(enable = "sve")]
11718#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
11719#[cfg_attr(test, assert_instr(lasta))]
11720pub fn svlasta_u64(pg: svbool_t, op: svuint64_t) -> u64 {
11721 unsafe { svlasta_s64(pg, op.as_signed()).as_unsigned() }
11722}
11723#[doc = "Extract last element"]
11724#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svlastb[_f32])"]
11725#[inline]
11726#[target_feature(enable = "sve")]
11727#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
11728#[cfg_attr(test, assert_instr(lastb))]
11729pub fn svlastb_f32(pg: svbool_t, op: svfloat32_t) -> f32 {
11730 unsafe extern "unadjusted" {
11731 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.lastb.nxv4f32")]
11732 fn _svlastb_f32(pg: svbool4_t, op: svfloat32_t) -> f32;
11733 }
11734 unsafe { _svlastb_f32(pg.sve_into(), op) }
11735}
11736#[doc = "Extract last element"]
11737#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svlastb[_f64])"]
11738#[inline]
11739#[target_feature(enable = "sve")]
11740#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
11741#[cfg_attr(test, assert_instr(lastb))]
11742pub fn svlastb_f64(pg: svbool_t, op: svfloat64_t) -> f64 {
11743 unsafe extern "unadjusted" {
11744 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.lastb.nxv2f64")]
11745 fn _svlastb_f64(pg: svbool2_t, op: svfloat64_t) -> f64;
11746 }
11747 unsafe { _svlastb_f64(pg.sve_into(), op) }
11748}
11749#[doc = "Extract last element"]
11750#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svlastb[_s8])"]
11751#[inline]
11752#[target_feature(enable = "sve")]
11753#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
11754#[cfg_attr(test, assert_instr(lastb))]
11755pub fn svlastb_s8(pg: svbool_t, op: svint8_t) -> i8 {
11756 unsafe extern "unadjusted" {
11757 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.lastb.nxv16i8")]
11758 fn _svlastb_s8(pg: svbool_t, op: svint8_t) -> i8;
11759 }
11760 unsafe { _svlastb_s8(pg, op) }
11761}
11762#[doc = "Extract last element"]
11763#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svlastb[_s16])"]
11764#[inline]
11765#[target_feature(enable = "sve")]
11766#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
11767#[cfg_attr(test, assert_instr(lastb))]
11768pub fn svlastb_s16(pg: svbool_t, op: svint16_t) -> i16 {
11769 unsafe extern "unadjusted" {
11770 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.lastb.nxv8i16")]
11771 fn _svlastb_s16(pg: svbool8_t, op: svint16_t) -> i16;
11772 }
11773 unsafe { _svlastb_s16(pg.sve_into(), op) }
11774}
11775#[doc = "Extract last element"]
11776#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svlastb[_s32])"]
11777#[inline]
11778#[target_feature(enable = "sve")]
11779#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
11780#[cfg_attr(test, assert_instr(lastb))]
11781pub fn svlastb_s32(pg: svbool_t, op: svint32_t) -> i32 {
11782 unsafe extern "unadjusted" {
11783 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.lastb.nxv4i32")]
11784 fn _svlastb_s32(pg: svbool4_t, op: svint32_t) -> i32;
11785 }
11786 unsafe { _svlastb_s32(pg.sve_into(), op) }
11787}
11788#[doc = "Extract last element"]
11789#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svlastb[_s64])"]
11790#[inline]
11791#[target_feature(enable = "sve")]
11792#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
11793#[cfg_attr(test, assert_instr(lastb))]
11794pub fn svlastb_s64(pg: svbool_t, op: svint64_t) -> i64 {
11795 unsafe extern "unadjusted" {
11796 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.lastb.nxv2i64")]
11797 fn _svlastb_s64(pg: svbool2_t, op: svint64_t) -> i64;
11798 }
11799 unsafe { _svlastb_s64(pg.sve_into(), op) }
11800}
11801#[doc = "Extract last element"]
11802#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svlastb[_u8])"]
11803#[inline]
11804#[target_feature(enable = "sve")]
11805#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
11806#[cfg_attr(test, assert_instr(lastb))]
11807pub fn svlastb_u8(pg: svbool_t, op: svuint8_t) -> u8 {
11808 unsafe { svlastb_s8(pg, op.as_signed()).as_unsigned() }
11809}
11810#[doc = "Extract last element"]
11811#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svlastb[_u16])"]
11812#[inline]
11813#[target_feature(enable = "sve")]
11814#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
11815#[cfg_attr(test, assert_instr(lastb))]
11816pub fn svlastb_u16(pg: svbool_t, op: svuint16_t) -> u16 {
11817 unsafe { svlastb_s16(pg, op.as_signed()).as_unsigned() }
11818}
11819#[doc = "Extract last element"]
11820#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svlastb[_u32])"]
11821#[inline]
11822#[target_feature(enable = "sve")]
11823#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
11824#[cfg_attr(test, assert_instr(lastb))]
11825pub fn svlastb_u32(pg: svbool_t, op: svuint32_t) -> u32 {
11826 unsafe { svlastb_s32(pg, op.as_signed()).as_unsigned() }
11827}
11828#[doc = "Extract last element"]
11829#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svlastb[_u64])"]
11830#[inline]
11831#[target_feature(enable = "sve")]
11832#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
11833#[cfg_attr(test, assert_instr(lastb))]
11834pub fn svlastb_u64(pg: svbool_t, op: svuint64_t) -> u64 {
11835 unsafe { svlastb_s64(pg, op.as_signed()).as_unsigned() }
11836}
11837#[doc = "Unextended load"]
11838#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1[_f32])"]
11839#[doc = "## Safety"]
11840#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
11841#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
11842#[inline]
11843#[target_feature(enable = "sve")]
11844#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
11845#[cfg_attr(test, assert_instr(ld1w))]
11846pub unsafe fn svld1_f32(pg: svbool_t, base: *const f32) -> svfloat32_t {
11847 unsafe extern "unadjusted" {
11848 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.ld1.nxv4f32")]
11849 fn _svld1_f32(pg: svbool4_t, base: *const f32) -> svfloat32_t;
11850 }
11851 _svld1_f32(pg.sve_into(), base)
11852}
11853#[doc = "Unextended load"]
11854#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1[_f64])"]
11855#[doc = "## Safety"]
11856#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
11857#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
11858#[inline]
11859#[target_feature(enable = "sve")]
11860#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
11861#[cfg_attr(test, assert_instr(ld1d))]
11862pub unsafe fn svld1_f64(pg: svbool_t, base: *const f64) -> svfloat64_t {
11863 unsafe extern "unadjusted" {
11864 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.ld1.nxv2f64")]
11865 fn _svld1_f64(pg: svbool2_t, base: *const f64) -> svfloat64_t;
11866 }
11867 _svld1_f64(pg.sve_into(), base)
11868}
11869#[doc = "Unextended load"]
11870#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1[_s8])"]
11871#[doc = "## Safety"]
11872#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
11873#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
11874#[inline]
11875#[target_feature(enable = "sve")]
11876#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
11877#[cfg_attr(test, assert_instr(ld1b))]
11878pub unsafe fn svld1_s8(pg: svbool_t, base: *const i8) -> svint8_t {
11879 unsafe extern "unadjusted" {
11880 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.ld1.nxv16i8")]
11881 fn _svld1_s8(pg: svbool_t, base: *const i8) -> svint8_t;
11882 }
11883 _svld1_s8(pg, base)
11884}
11885#[doc = "Unextended load"]
11886#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1[_s16])"]
11887#[doc = "## Safety"]
11888#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
11889#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
11890#[inline]
11891#[target_feature(enable = "sve")]
11892#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
11893#[cfg_attr(test, assert_instr(ld1h))]
11894pub unsafe fn svld1_s16(pg: svbool_t, base: *const i16) -> svint16_t {
11895 unsafe extern "unadjusted" {
11896 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.ld1.nxv8i16")]
11897 fn _svld1_s16(pg: svbool8_t, base: *const i16) -> svint16_t;
11898 }
11899 _svld1_s16(pg.sve_into(), base)
11900}
11901#[doc = "Unextended load"]
11902#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1[_s32])"]
11903#[doc = "## Safety"]
11904#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
11905#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
11906#[inline]
11907#[target_feature(enable = "sve")]
11908#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
11909#[cfg_attr(test, assert_instr(ld1w))]
11910pub unsafe fn svld1_s32(pg: svbool_t, base: *const i32) -> svint32_t {
11911 unsafe extern "unadjusted" {
11912 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.ld1.nxv4i32")]
11913 fn _svld1_s32(pg: svbool4_t, base: *const i32) -> svint32_t;
11914 }
11915 _svld1_s32(pg.sve_into(), base)
11916}
11917#[doc = "Unextended load"]
11918#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1[_s64])"]
11919#[doc = "## Safety"]
11920#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
11921#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
11922#[inline]
11923#[target_feature(enable = "sve")]
11924#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
11925#[cfg_attr(test, assert_instr(ld1d))]
11926pub unsafe fn svld1_s64(pg: svbool_t, base: *const i64) -> svint64_t {
11927 unsafe extern "unadjusted" {
11928 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.ld1.nxv2i64")]
11929 fn _svld1_s64(pg: svbool2_t, base: *const i64) -> svint64_t;
11930 }
11931 _svld1_s64(pg.sve_into(), base)
11932}
11933#[doc = "Unextended load"]
11934#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1[_u8])"]
11935#[doc = "## Safety"]
11936#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
11937#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
11938#[inline]
11939#[target_feature(enable = "sve")]
11940#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
11941#[cfg_attr(test, assert_instr(ld1b))]
11942pub unsafe fn svld1_u8(pg: svbool_t, base: *const u8) -> svuint8_t {
11943 svld1_s8(pg, base.as_signed()).as_unsigned()
11944}
11945#[doc = "Unextended load"]
11946#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1[_u16])"]
11947#[doc = "## Safety"]
11948#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
11949#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
11950#[inline]
11951#[target_feature(enable = "sve")]
11952#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
11953#[cfg_attr(test, assert_instr(ld1h))]
11954pub unsafe fn svld1_u16(pg: svbool_t, base: *const u16) -> svuint16_t {
11955 svld1_s16(pg, base.as_signed()).as_unsigned()
11956}
11957#[doc = "Unextended load"]
11958#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1[_u32])"]
11959#[doc = "## Safety"]
11960#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
11961#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
11962#[inline]
11963#[target_feature(enable = "sve")]
11964#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
11965#[cfg_attr(test, assert_instr(ld1w))]
11966pub unsafe fn svld1_u32(pg: svbool_t, base: *const u32) -> svuint32_t {
11967 svld1_s32(pg, base.as_signed()).as_unsigned()
11968}
11969#[doc = "Unextended load"]
11970#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1[_u64])"]
11971#[doc = "## Safety"]
11972#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
11973#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
11974#[inline]
11975#[target_feature(enable = "sve")]
11976#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
11977#[cfg_attr(test, assert_instr(ld1d))]
11978pub unsafe fn svld1_u64(pg: svbool_t, base: *const u64) -> svuint64_t {
11979 svld1_s64(pg, base.as_signed()).as_unsigned()
11980}
11981#[doc = "Unextended load"]
11982#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1_gather_[s32]index[_f32])"]
11983#[doc = "## Safety"]
11984#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
11985#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
11986#[inline]
11987#[target_feature(enable = "sve")]
11988#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
11989#[cfg_attr(test, assert_instr(ld1w))]
11990pub unsafe fn svld1_gather_s32index_f32(
11991 pg: svbool_t,
11992 base: *const f32,
11993 indices: svint32_t,
11994) -> svfloat32_t {
11995 unsafe extern "unadjusted" {
11996 #[cfg_attr(
11997 target_arch = "aarch64",
11998 link_name = "llvm.aarch64.sve.ld1.gather.sxtw.index.nxv4f32"
11999 )]
12000 fn _svld1_gather_s32index_f32(
12001 pg: svbool4_t,
12002 base: *const f32,
12003 indices: svint32_t,
12004 ) -> svfloat32_t;
12005 }
12006 _svld1_gather_s32index_f32(pg.sve_into(), base, indices)
12007}
12008#[doc = "Unextended load"]
12009#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1_gather_[s32]index[_s32])"]
12010#[doc = "## Safety"]
12011#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
12012#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
12013#[inline]
12014#[target_feature(enable = "sve")]
12015#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
12016#[cfg_attr(test, assert_instr(ld1w))]
12017pub unsafe fn svld1_gather_s32index_s32(
12018 pg: svbool_t,
12019 base: *const i32,
12020 indices: svint32_t,
12021) -> svint32_t {
12022 unsafe extern "unadjusted" {
12023 #[cfg_attr(
12024 target_arch = "aarch64",
12025 link_name = "llvm.aarch64.sve.ld1.gather.sxtw.index.nxv4i32"
12026 )]
12027 fn _svld1_gather_s32index_s32(
12028 pg: svbool4_t,
12029 base: *const i32,
12030 indices: svint32_t,
12031 ) -> svint32_t;
12032 }
12033 _svld1_gather_s32index_s32(pg.sve_into(), base, indices)
12034}
12035#[doc = "Unextended load"]
12036#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1_gather_[s32]index[_u32])"]
12037#[doc = "## Safety"]
12038#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
12039#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
12040#[inline]
12041#[target_feature(enable = "sve")]
12042#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
12043#[cfg_attr(test, assert_instr(ld1w))]
12044pub unsafe fn svld1_gather_s32index_u32(
12045 pg: svbool_t,
12046 base: *const u32,
12047 indices: svint32_t,
12048) -> svuint32_t {
12049 svld1_gather_s32index_s32(pg, base.as_signed(), indices).as_unsigned()
12050}
12051#[doc = "Unextended load"]
12052#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1_gather_[s64]index[_f64])"]
12053#[doc = "## Safety"]
12054#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
12055#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
12056#[inline]
12057#[target_feature(enable = "sve")]
12058#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
12059#[cfg_attr(test, assert_instr(ld1d))]
12060pub unsafe fn svld1_gather_s64index_f64(
12061 pg: svbool_t,
12062 base: *const f64,
12063 indices: svint64_t,
12064) -> svfloat64_t {
12065 unsafe extern "unadjusted" {
12066 #[cfg_attr(
12067 target_arch = "aarch64",
12068 link_name = "llvm.aarch64.sve.ld1.gather.index.nxv2f64"
12069 )]
12070 fn _svld1_gather_s64index_f64(
12071 pg: svbool2_t,
12072 base: *const f64,
12073 indices: svint64_t,
12074 ) -> svfloat64_t;
12075 }
12076 _svld1_gather_s64index_f64(pg.sve_into(), base, indices)
12077}
12078#[doc = "Unextended load"]
12079#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1_gather_[s64]index[_s64])"]
12080#[doc = "## Safety"]
12081#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
12082#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
12083#[inline]
12084#[target_feature(enable = "sve")]
12085#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
12086#[cfg_attr(test, assert_instr(ld1d))]
12087pub unsafe fn svld1_gather_s64index_s64(
12088 pg: svbool_t,
12089 base: *const i64,
12090 indices: svint64_t,
12091) -> svint64_t {
12092 unsafe extern "unadjusted" {
12093 #[cfg_attr(
12094 target_arch = "aarch64",
12095 link_name = "llvm.aarch64.sve.ld1.gather.index.nxv2i64"
12096 )]
12097 fn _svld1_gather_s64index_s64(
12098 pg: svbool2_t,
12099 base: *const i64,
12100 indices: svint64_t,
12101 ) -> svint64_t;
12102 }
12103 _svld1_gather_s64index_s64(pg.sve_into(), base, indices)
12104}
12105#[doc = "Unextended load"]
12106#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1_gather_[s64]index[_u64])"]
12107#[doc = "## Safety"]
12108#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
12109#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
12110#[inline]
12111#[target_feature(enable = "sve")]
12112#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
12113#[cfg_attr(test, assert_instr(ld1d))]
12114pub unsafe fn svld1_gather_s64index_u64(
12115 pg: svbool_t,
12116 base: *const u64,
12117 indices: svint64_t,
12118) -> svuint64_t {
12119 svld1_gather_s64index_s64(pg, base.as_signed(), indices).as_unsigned()
12120}
12121#[doc = "Unextended load"]
12122#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1_gather_[u32]index[_f32])"]
12123#[doc = "## Safety"]
12124#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
12125#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
12126#[inline]
12127#[target_feature(enable = "sve")]
12128#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
12129#[cfg_attr(test, assert_instr(ld1w))]
12130pub unsafe fn svld1_gather_u32index_f32(
12131 pg: svbool_t,
12132 base: *const f32,
12133 indices: svuint32_t,
12134) -> svfloat32_t {
12135 unsafe extern "unadjusted" {
12136 #[cfg_attr(
12137 target_arch = "aarch64",
12138 link_name = "llvm.aarch64.sve.ld1.gather.uxtw.index.nxv4f32"
12139 )]
12140 fn _svld1_gather_u32index_f32(
12141 pg: svbool4_t,
12142 base: *const f32,
12143 indices: svint32_t,
12144 ) -> svfloat32_t;
12145 }
12146 _svld1_gather_u32index_f32(pg.sve_into(), base, indices.as_signed())
12147}
12148#[doc = "Unextended load"]
12149#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1_gather_[u32]index[_s32])"]
12150#[doc = "## Safety"]
12151#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
12152#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
12153#[inline]
12154#[target_feature(enable = "sve")]
12155#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
12156#[cfg_attr(test, assert_instr(ld1w))]
12157pub unsafe fn svld1_gather_u32index_s32(
12158 pg: svbool_t,
12159 base: *const i32,
12160 indices: svuint32_t,
12161) -> svint32_t {
12162 unsafe extern "unadjusted" {
12163 #[cfg_attr(
12164 target_arch = "aarch64",
12165 link_name = "llvm.aarch64.sve.ld1.gather.uxtw.index.nxv4i32"
12166 )]
12167 fn _svld1_gather_u32index_s32(
12168 pg: svbool4_t,
12169 base: *const i32,
12170 indices: svint32_t,
12171 ) -> svint32_t;
12172 }
12173 _svld1_gather_u32index_s32(pg.sve_into(), base, indices.as_signed())
12174}
12175#[doc = "Unextended load"]
12176#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1_gather_[u32]index[_u32])"]
12177#[doc = "## Safety"]
12178#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
12179#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
12180#[inline]
12181#[target_feature(enable = "sve")]
12182#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
12183#[cfg_attr(test, assert_instr(ld1w))]
12184pub unsafe fn svld1_gather_u32index_u32(
12185 pg: svbool_t,
12186 base: *const u32,
12187 indices: svuint32_t,
12188) -> svuint32_t {
12189 svld1_gather_u32index_s32(pg, base.as_signed(), indices).as_unsigned()
12190}
12191#[doc = "Unextended load"]
12192#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1_gather_[u64]index[_f64])"]
12193#[doc = "## Safety"]
12194#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
12195#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
12196#[inline]
12197#[target_feature(enable = "sve")]
12198#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
12199#[cfg_attr(test, assert_instr(ld1d))]
12200pub unsafe fn svld1_gather_u64index_f64(
12201 pg: svbool_t,
12202 base: *const f64,
12203 indices: svuint64_t,
12204) -> svfloat64_t {
12205 svld1_gather_s64index_f64(pg, base, indices.as_signed())
12206}
12207#[doc = "Unextended load"]
12208#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1_gather_[u64]index[_s64])"]
12209#[doc = "## Safety"]
12210#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
12211#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
12212#[inline]
12213#[target_feature(enable = "sve")]
12214#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
12215#[cfg_attr(test, assert_instr(ld1d))]
12216pub unsafe fn svld1_gather_u64index_s64(
12217 pg: svbool_t,
12218 base: *const i64,
12219 indices: svuint64_t,
12220) -> svint64_t {
12221 svld1_gather_s64index_s64(pg, base, indices.as_signed())
12222}
12223#[doc = "Unextended load"]
12224#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1_gather_[u64]index[_u64])"]
12225#[doc = "## Safety"]
12226#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
12227#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
12228#[inline]
12229#[target_feature(enable = "sve")]
12230#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
12231#[cfg_attr(test, assert_instr(ld1d))]
12232pub unsafe fn svld1_gather_u64index_u64(
12233 pg: svbool_t,
12234 base: *const u64,
12235 indices: svuint64_t,
12236) -> svuint64_t {
12237 svld1_gather_s64index_s64(pg, base.as_signed(), indices.as_signed()).as_unsigned()
12238}
12239#[doc = "Unextended load"]
12240#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1_gather_[s32]offset[_f32])"]
12241#[doc = "## Safety"]
12242#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
12243#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
12244#[inline]
12245#[target_feature(enable = "sve")]
12246#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
12247#[cfg_attr(test, assert_instr(ld1w))]
12248pub unsafe fn svld1_gather_s32offset_f32(
12249 pg: svbool_t,
12250 base: *const f32,
12251 offsets: svint32_t,
12252) -> svfloat32_t {
12253 unsafe extern "unadjusted" {
12254 #[cfg_attr(
12255 target_arch = "aarch64",
12256 link_name = "llvm.aarch64.sve.ld1.gather.sxtw.nxv4f32"
12257 )]
12258 fn _svld1_gather_s32offset_f32(
12259 pg: svbool4_t,
12260 base: *const f32,
12261 offsets: svint32_t,
12262 ) -> svfloat32_t;
12263 }
12264 _svld1_gather_s32offset_f32(pg.sve_into(), base, offsets)
12265}
12266#[doc = "Unextended load"]
12267#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1_gather_[s32]offset[_s32])"]
12268#[doc = "## Safety"]
12269#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
12270#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
12271#[inline]
12272#[target_feature(enable = "sve")]
12273#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
12274#[cfg_attr(test, assert_instr(ld1w))]
12275pub unsafe fn svld1_gather_s32offset_s32(
12276 pg: svbool_t,
12277 base: *const i32,
12278 offsets: svint32_t,
12279) -> svint32_t {
12280 unsafe extern "unadjusted" {
12281 #[cfg_attr(
12282 target_arch = "aarch64",
12283 link_name = "llvm.aarch64.sve.ld1.gather.sxtw.nxv4i32"
12284 )]
12285 fn _svld1_gather_s32offset_s32(
12286 pg: svbool4_t,
12287 base: *const i32,
12288 offsets: svint32_t,
12289 ) -> svint32_t;
12290 }
12291 _svld1_gather_s32offset_s32(pg.sve_into(), base, offsets)
12292}
12293#[doc = "Unextended load"]
12294#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1_gather_[s32]offset[_u32])"]
12295#[doc = "## Safety"]
12296#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
12297#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
12298#[inline]
12299#[target_feature(enable = "sve")]
12300#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
12301#[cfg_attr(test, assert_instr(ld1w))]
12302pub unsafe fn svld1_gather_s32offset_u32(
12303 pg: svbool_t,
12304 base: *const u32,
12305 offsets: svint32_t,
12306) -> svuint32_t {
12307 svld1_gather_s32offset_s32(pg, base.as_signed(), offsets).as_unsigned()
12308}
12309#[doc = "Unextended load"]
12310#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1_gather_[s64]offset[_f64])"]
12311#[doc = "## Safety"]
12312#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
12313#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
12314#[inline]
12315#[target_feature(enable = "sve")]
12316#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
12317#[cfg_attr(test, assert_instr(ld1d))]
12318pub unsafe fn svld1_gather_s64offset_f64(
12319 pg: svbool_t,
12320 base: *const f64,
12321 offsets: svint64_t,
12322) -> svfloat64_t {
12323 unsafe extern "unadjusted" {
12324 #[cfg_attr(
12325 target_arch = "aarch64",
12326 link_name = "llvm.aarch64.sve.ld1.gather.nxv2f64"
12327 )]
12328 fn _svld1_gather_s64offset_f64(
12329 pg: svbool2_t,
12330 base: *const f64,
12331 offsets: svint64_t,
12332 ) -> svfloat64_t;
12333 }
12334 _svld1_gather_s64offset_f64(pg.sve_into(), base, offsets)
12335}
12336#[doc = "Unextended load"]
12337#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1_gather_[s64]offset[_s64])"]
12338#[doc = "## Safety"]
12339#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
12340#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
12341#[inline]
12342#[target_feature(enable = "sve")]
12343#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
12344#[cfg_attr(test, assert_instr(ld1d))]
12345pub unsafe fn svld1_gather_s64offset_s64(
12346 pg: svbool_t,
12347 base: *const i64,
12348 offsets: svint64_t,
12349) -> svint64_t {
12350 unsafe extern "unadjusted" {
12351 #[cfg_attr(
12352 target_arch = "aarch64",
12353 link_name = "llvm.aarch64.sve.ld1.gather.nxv2i64"
12354 )]
12355 fn _svld1_gather_s64offset_s64(
12356 pg: svbool2_t,
12357 base: *const i64,
12358 offsets: svint64_t,
12359 ) -> svint64_t;
12360 }
12361 _svld1_gather_s64offset_s64(pg.sve_into(), base, offsets)
12362}
12363#[doc = "Unextended load"]
12364#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1_gather_[s64]offset[_u64])"]
12365#[doc = "## Safety"]
12366#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
12367#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
12368#[inline]
12369#[target_feature(enable = "sve")]
12370#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
12371#[cfg_attr(test, assert_instr(ld1d))]
12372pub unsafe fn svld1_gather_s64offset_u64(
12373 pg: svbool_t,
12374 base: *const u64,
12375 offsets: svint64_t,
12376) -> svuint64_t {
12377 svld1_gather_s64offset_s64(pg, base.as_signed(), offsets).as_unsigned()
12378}
12379#[doc = "Unextended load"]
12380#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1_gather_[u32]offset[_f32])"]
12381#[doc = "## Safety"]
12382#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
12383#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
12384#[inline]
12385#[target_feature(enable = "sve")]
12386#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
12387#[cfg_attr(test, assert_instr(ld1w))]
12388pub unsafe fn svld1_gather_u32offset_f32(
12389 pg: svbool_t,
12390 base: *const f32,
12391 offsets: svuint32_t,
12392) -> svfloat32_t {
12393 unsafe extern "unadjusted" {
12394 #[cfg_attr(
12395 target_arch = "aarch64",
12396 link_name = "llvm.aarch64.sve.ld1.gather.uxtw.nxv4f32"
12397 )]
12398 fn _svld1_gather_u32offset_f32(
12399 pg: svbool4_t,
12400 base: *const f32,
12401 offsets: svint32_t,
12402 ) -> svfloat32_t;
12403 }
12404 _svld1_gather_u32offset_f32(pg.sve_into(), base, offsets.as_signed())
12405}
12406#[doc = "Unextended load"]
12407#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1_gather_[u32]offset[_s32])"]
12408#[doc = "## Safety"]
12409#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
12410#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
12411#[inline]
12412#[target_feature(enable = "sve")]
12413#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
12414#[cfg_attr(test, assert_instr(ld1w))]
12415pub unsafe fn svld1_gather_u32offset_s32(
12416 pg: svbool_t,
12417 base: *const i32,
12418 offsets: svuint32_t,
12419) -> svint32_t {
12420 unsafe extern "unadjusted" {
12421 #[cfg_attr(
12422 target_arch = "aarch64",
12423 link_name = "llvm.aarch64.sve.ld1.gather.uxtw.nxv4i32"
12424 )]
12425 fn _svld1_gather_u32offset_s32(
12426 pg: svbool4_t,
12427 base: *const i32,
12428 offsets: svint32_t,
12429 ) -> svint32_t;
12430 }
12431 _svld1_gather_u32offset_s32(pg.sve_into(), base, offsets.as_signed())
12432}
12433#[doc = "Unextended load"]
12434#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1_gather_[u32]offset[_u32])"]
12435#[doc = "## Safety"]
12436#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
12437#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
12438#[inline]
12439#[target_feature(enable = "sve")]
12440#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
12441#[cfg_attr(test, assert_instr(ld1w))]
12442pub unsafe fn svld1_gather_u32offset_u32(
12443 pg: svbool_t,
12444 base: *const u32,
12445 offsets: svuint32_t,
12446) -> svuint32_t {
12447 svld1_gather_u32offset_s32(pg, base.as_signed(), offsets).as_unsigned()
12448}
12449#[doc = "Unextended load"]
12450#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1_gather_[u64]offset[_f64])"]
12451#[doc = "## Safety"]
12452#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
12453#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
12454#[inline]
12455#[target_feature(enable = "sve")]
12456#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
12457#[cfg_attr(test, assert_instr(ld1d))]
12458pub unsafe fn svld1_gather_u64offset_f64(
12459 pg: svbool_t,
12460 base: *const f64,
12461 offsets: svuint64_t,
12462) -> svfloat64_t {
12463 svld1_gather_s64offset_f64(pg, base, offsets.as_signed())
12464}
12465#[doc = "Unextended load"]
12466#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1_gather_[u64]offset[_s64])"]
12467#[doc = "## Safety"]
12468#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
12469#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
12470#[inline]
12471#[target_feature(enable = "sve")]
12472#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
12473#[cfg_attr(test, assert_instr(ld1d))]
12474pub unsafe fn svld1_gather_u64offset_s64(
12475 pg: svbool_t,
12476 base: *const i64,
12477 offsets: svuint64_t,
12478) -> svint64_t {
12479 svld1_gather_s64offset_s64(pg, base, offsets.as_signed())
12480}
12481#[doc = "Unextended load"]
12482#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1_gather_[u64]offset[_u64])"]
12483#[doc = "## Safety"]
12484#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
12485#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
12486#[inline]
12487#[target_feature(enable = "sve")]
12488#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
12489#[cfg_attr(test, assert_instr(ld1d))]
12490pub unsafe fn svld1_gather_u64offset_u64(
12491 pg: svbool_t,
12492 base: *const u64,
12493 offsets: svuint64_t,
12494) -> svuint64_t {
12495 svld1_gather_s64offset_s64(pg, base.as_signed(), offsets.as_signed()).as_unsigned()
12496}
12497#[doc = "Unextended load"]
12498#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1_gather[_u32base]_f32)"]
12499#[doc = "## Safety"]
12500#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
12501#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
12502#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
12503#[inline]
12504#[target_feature(enable = "sve")]
12505#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
12506#[cfg_attr(test, assert_instr(ld1w))]
12507pub unsafe fn svld1_gather_u32base_f32(pg: svbool_t, bases: svuint32_t) -> svfloat32_t {
12508 svld1_gather_u32base_offset_f32(pg, bases, 0)
12509}
12510#[doc = "Unextended load"]
12511#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1_gather[_u32base]_s32)"]
12512#[doc = "## Safety"]
12513#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
12514#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
12515#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
12516#[inline]
12517#[target_feature(enable = "sve")]
12518#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
12519#[cfg_attr(test, assert_instr(ld1w))]
12520pub unsafe fn svld1_gather_u32base_s32(pg: svbool_t, bases: svuint32_t) -> svint32_t {
12521 svld1_gather_u32base_offset_s32(pg, bases, 0)
12522}
12523#[doc = "Unextended load"]
12524#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1_gather[_u32base]_u32)"]
12525#[doc = "## Safety"]
12526#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
12527#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
12528#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
12529#[inline]
12530#[target_feature(enable = "sve")]
12531#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
12532#[cfg_attr(test, assert_instr(ld1w))]
12533pub unsafe fn svld1_gather_u32base_u32(pg: svbool_t, bases: svuint32_t) -> svuint32_t {
12534 svld1_gather_u32base_offset_u32(pg, bases, 0)
12535}
12536#[doc = "Unextended load"]
12537#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1_gather[_u64base]_f64)"]
12538#[doc = "## Safety"]
12539#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
12540#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
12541#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
12542#[inline]
12543#[target_feature(enable = "sve")]
12544#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
12545#[cfg_attr(test, assert_instr(ld1d))]
12546pub unsafe fn svld1_gather_u64base_f64(pg: svbool_t, bases: svuint64_t) -> svfloat64_t {
12547 svld1_gather_u64base_offset_f64(pg, bases, 0)
12548}
12549#[doc = "Unextended load"]
12550#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1_gather[_u64base]_s64)"]
12551#[doc = "## Safety"]
12552#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
12553#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
12554#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
12555#[inline]
12556#[target_feature(enable = "sve")]
12557#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
12558#[cfg_attr(test, assert_instr(ld1d))]
12559pub unsafe fn svld1_gather_u64base_s64(pg: svbool_t, bases: svuint64_t) -> svint64_t {
12560 svld1_gather_u64base_offset_s64(pg, bases, 0)
12561}
12562#[doc = "Unextended load"]
12563#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1_gather[_u64base]_u64)"]
12564#[doc = "## Safety"]
12565#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
12566#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
12567#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
12568#[inline]
12569#[target_feature(enable = "sve")]
12570#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
12571#[cfg_attr(test, assert_instr(ld1d))]
12572pub unsafe fn svld1_gather_u64base_u64(pg: svbool_t, bases: svuint64_t) -> svuint64_t {
12573 svld1_gather_u64base_offset_u64(pg, bases, 0)
12574}
12575#[doc = "Unextended load"]
12576#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1_gather[_u32base]_index_f32)"]
12577#[doc = "## Safety"]
12578#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
12579#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
12580#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
12581#[inline]
12582#[target_feature(enable = "sve")]
12583#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
12584#[cfg_attr(test, assert_instr(ld1w))]
12585pub unsafe fn svld1_gather_u32base_index_f32(
12586 pg: svbool_t,
12587 bases: svuint32_t,
12588 index: i64,
12589) -> svfloat32_t {
12590 svld1_gather_u32base_offset_f32(pg, bases, index.unchecked_shl(2))
12591}
12592#[doc = "Unextended load"]
12593#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1_gather[_u32base]_index_s32)"]
12594#[doc = "## Safety"]
12595#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
12596#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
12597#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
12598#[inline]
12599#[target_feature(enable = "sve")]
12600#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
12601#[cfg_attr(test, assert_instr(ld1w))]
12602pub unsafe fn svld1_gather_u32base_index_s32(
12603 pg: svbool_t,
12604 bases: svuint32_t,
12605 index: i64,
12606) -> svint32_t {
12607 svld1_gather_u32base_offset_s32(pg, bases, index.unchecked_shl(2))
12608}
12609#[doc = "Unextended load"]
12610#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1_gather[_u32base]_index_u32)"]
12611#[doc = "## Safety"]
12612#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
12613#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
12614#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
12615#[inline]
12616#[target_feature(enable = "sve")]
12617#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
12618#[cfg_attr(test, assert_instr(ld1w))]
12619pub unsafe fn svld1_gather_u32base_index_u32(
12620 pg: svbool_t,
12621 bases: svuint32_t,
12622 index: i64,
12623) -> svuint32_t {
12624 svld1_gather_u32base_offset_u32(pg, bases, index.unchecked_shl(2))
12625}
12626#[doc = "Unextended load"]
12627#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1_gather[_u64base]_index_f64)"]
12628#[doc = "## Safety"]
12629#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
12630#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
12631#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
12632#[inline]
12633#[target_feature(enable = "sve")]
12634#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
12635#[cfg_attr(test, assert_instr(ld1d))]
12636pub unsafe fn svld1_gather_u64base_index_f64(
12637 pg: svbool_t,
12638 bases: svuint64_t,
12639 index: i64,
12640) -> svfloat64_t {
12641 svld1_gather_u64base_offset_f64(pg, bases, index.unchecked_shl(3))
12642}
12643#[doc = "Unextended load"]
12644#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1_gather[_u64base]_index_s64)"]
12645#[doc = "## Safety"]
12646#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
12647#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
12648#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
12649#[inline]
12650#[target_feature(enable = "sve")]
12651#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
12652#[cfg_attr(test, assert_instr(ld1d))]
12653pub unsafe fn svld1_gather_u64base_index_s64(
12654 pg: svbool_t,
12655 bases: svuint64_t,
12656 index: i64,
12657) -> svint64_t {
12658 svld1_gather_u64base_offset_s64(pg, bases, index.unchecked_shl(3))
12659}
12660#[doc = "Unextended load"]
12661#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1_gather[_u64base]_index_u64)"]
12662#[doc = "## Safety"]
12663#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
12664#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
12665#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
12666#[inline]
12667#[target_feature(enable = "sve")]
12668#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
12669#[cfg_attr(test, assert_instr(ld1d))]
12670pub unsafe fn svld1_gather_u64base_index_u64(
12671 pg: svbool_t,
12672 bases: svuint64_t,
12673 index: i64,
12674) -> svuint64_t {
12675 svld1_gather_u64base_offset_u64(pg, bases, index.unchecked_shl(3))
12676}
12677#[doc = "Unextended load"]
12678#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1_gather[_u32base]_offset_f32)"]
12679#[doc = "## Safety"]
12680#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
12681#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
12682#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
12683#[inline]
12684#[target_feature(enable = "sve")]
12685#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
12686#[cfg_attr(test, assert_instr(ld1w))]
12687pub unsafe fn svld1_gather_u32base_offset_f32(
12688 pg: svbool_t,
12689 bases: svuint32_t,
12690 offset: i64,
12691) -> svfloat32_t {
12692 unsafe extern "unadjusted" {
12693 #[cfg_attr(
12694 target_arch = "aarch64",
12695 link_name = "llvm.aarch64.sve.ld1.gather.scalar.offset.nxv4f32.nxv4i32"
12696 )]
12697 fn _svld1_gather_u32base_offset_f32(
12698 pg: svbool4_t,
12699 bases: svint32_t,
12700 offset: i64,
12701 ) -> svfloat32_t;
12702 }
12703 _svld1_gather_u32base_offset_f32(pg.sve_into(), bases.as_signed(), offset)
12704}
12705#[doc = "Unextended load"]
12706#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1_gather[_u32base]_offset_s32)"]
12707#[doc = "## Safety"]
12708#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
12709#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
12710#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
12711#[inline]
12712#[target_feature(enable = "sve")]
12713#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
12714#[cfg_attr(test, assert_instr(ld1w))]
12715pub unsafe fn svld1_gather_u32base_offset_s32(
12716 pg: svbool_t,
12717 bases: svuint32_t,
12718 offset: i64,
12719) -> svint32_t {
12720 unsafe extern "unadjusted" {
12721 #[cfg_attr(
12722 target_arch = "aarch64",
12723 link_name = "llvm.aarch64.sve.ld1.gather.scalar.offset.nxv4i32.nxv4i32"
12724 )]
12725 fn _svld1_gather_u32base_offset_s32(
12726 pg: svbool4_t,
12727 bases: svint32_t,
12728 offset: i64,
12729 ) -> svint32_t;
12730 }
12731 _svld1_gather_u32base_offset_s32(pg.sve_into(), bases.as_signed(), offset)
12732}
12733#[doc = "Unextended load"]
12734#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1_gather[_u32base]_offset_u32)"]
12735#[doc = "## Safety"]
12736#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
12737#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
12738#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
12739#[inline]
12740#[target_feature(enable = "sve")]
12741#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
12742#[cfg_attr(test, assert_instr(ld1w))]
12743pub unsafe fn svld1_gather_u32base_offset_u32(
12744 pg: svbool_t,
12745 bases: svuint32_t,
12746 offset: i64,
12747) -> svuint32_t {
12748 svld1_gather_u32base_offset_s32(pg, bases, offset).as_unsigned()
12749}
12750#[doc = "Unextended load"]
12751#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1_gather[_u64base]_offset_f64)"]
12752#[doc = "## Safety"]
12753#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
12754#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
12755#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
12756#[inline]
12757#[target_feature(enable = "sve")]
12758#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
12759#[cfg_attr(test, assert_instr(ld1d))]
12760pub unsafe fn svld1_gather_u64base_offset_f64(
12761 pg: svbool_t,
12762 bases: svuint64_t,
12763 offset: i64,
12764) -> svfloat64_t {
12765 unsafe extern "unadjusted" {
12766 #[cfg_attr(
12767 target_arch = "aarch64",
12768 link_name = "llvm.aarch64.sve.ld1.gather.scalar.offset.nxv2f64.nxv2i64"
12769 )]
12770 fn _svld1_gather_u64base_offset_f64(
12771 pg: svbool2_t,
12772 bases: svint64_t,
12773 offset: i64,
12774 ) -> svfloat64_t;
12775 }
12776 _svld1_gather_u64base_offset_f64(pg.sve_into(), bases.as_signed(), offset)
12777}
12778#[doc = "Unextended load"]
12779#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1_gather[_u64base]_offset_s64)"]
12780#[doc = "## Safety"]
12781#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
12782#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
12783#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
12784#[inline]
12785#[target_feature(enable = "sve")]
12786#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
12787#[cfg_attr(test, assert_instr(ld1d))]
12788pub unsafe fn svld1_gather_u64base_offset_s64(
12789 pg: svbool_t,
12790 bases: svuint64_t,
12791 offset: i64,
12792) -> svint64_t {
12793 unsafe extern "unadjusted" {
12794 #[cfg_attr(
12795 target_arch = "aarch64",
12796 link_name = "llvm.aarch64.sve.ld1.gather.scalar.offset.nxv2i64.nxv2i64"
12797 )]
12798 fn _svld1_gather_u64base_offset_s64(
12799 pg: svbool2_t,
12800 bases: svint64_t,
12801 offset: i64,
12802 ) -> svint64_t;
12803 }
12804 _svld1_gather_u64base_offset_s64(pg.sve_into(), bases.as_signed(), offset)
12805}
12806#[doc = "Unextended load"]
12807#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1_gather[_u64base]_offset_u64)"]
12808#[doc = "## Safety"]
12809#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
12810#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
12811#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
12812#[inline]
12813#[target_feature(enable = "sve")]
12814#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
12815#[cfg_attr(test, assert_instr(ld1d))]
12816pub unsafe fn svld1_gather_u64base_offset_u64(
12817 pg: svbool_t,
12818 bases: svuint64_t,
12819 offset: i64,
12820) -> svuint64_t {
12821 svld1_gather_u64base_offset_s64(pg, bases, offset).as_unsigned()
12822}
12823#[doc = "Unextended load"]
12824#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1_vnum[_f32])"]
12825#[doc = "## Safety"]
12826#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`). In particular, note that `vnum` is scaled by the vector length, `VL`, which is not known at compile time."]
12827#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
12828#[inline]
12829#[target_feature(enable = "sve")]
12830#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
12831#[cfg_attr(test, assert_instr(ld1w))]
12832pub unsafe fn svld1_vnum_f32(pg: svbool_t, base: *const f32, vnum: i64) -> svfloat32_t {
12833 svld1_f32(pg, base.offset(svcntw() as isize * vnum as isize))
12834}
12835#[doc = "Unextended load"]
12836#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1_vnum[_f64])"]
12837#[doc = "## Safety"]
12838#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`). In particular, note that `vnum` is scaled by the vector length, `VL`, which is not known at compile time."]
12839#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
12840#[inline]
12841#[target_feature(enable = "sve")]
12842#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
12843#[cfg_attr(test, assert_instr(ld1d))]
12844pub unsafe fn svld1_vnum_f64(pg: svbool_t, base: *const f64, vnum: i64) -> svfloat64_t {
12845 svld1_f64(pg, base.offset(svcntd() as isize * vnum as isize))
12846}
12847#[doc = "Unextended load"]
12848#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1_vnum[_s8])"]
12849#[doc = "## Safety"]
12850#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`). In particular, note that `vnum` is scaled by the vector length, `VL`, which is not known at compile time."]
12851#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
12852#[inline]
12853#[target_feature(enable = "sve")]
12854#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
12855#[cfg_attr(test, assert_instr(ld1b))]
12856pub unsafe fn svld1_vnum_s8(pg: svbool_t, base: *const i8, vnum: i64) -> svint8_t {
12857 svld1_s8(pg, base.offset(svcntb() as isize * vnum as isize))
12858}
12859#[doc = "Unextended load"]
12860#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1_vnum[_s16])"]
12861#[doc = "## Safety"]
12862#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`). In particular, note that `vnum` is scaled by the vector length, `VL`, which is not known at compile time."]
12863#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
12864#[inline]
12865#[target_feature(enable = "sve")]
12866#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
12867#[cfg_attr(test, assert_instr(ld1h))]
12868pub unsafe fn svld1_vnum_s16(pg: svbool_t, base: *const i16, vnum: i64) -> svint16_t {
12869 svld1_s16(pg, base.offset(svcnth() as isize * vnum as isize))
12870}
12871#[doc = "Unextended load"]
12872#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1_vnum[_s32])"]
12873#[doc = "## Safety"]
12874#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`). In particular, note that `vnum` is scaled by the vector length, `VL`, which is not known at compile time."]
12875#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
12876#[inline]
12877#[target_feature(enable = "sve")]
12878#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
12879#[cfg_attr(test, assert_instr(ld1w))]
12880pub unsafe fn svld1_vnum_s32(pg: svbool_t, base: *const i32, vnum: i64) -> svint32_t {
12881 svld1_s32(pg, base.offset(svcntw() as isize * vnum as isize))
12882}
12883#[doc = "Unextended load"]
12884#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1_vnum[_s64])"]
12885#[doc = "## Safety"]
12886#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`). In particular, note that `vnum` is scaled by the vector length, `VL`, which is not known at compile time."]
12887#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
12888#[inline]
12889#[target_feature(enable = "sve")]
12890#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
12891#[cfg_attr(test, assert_instr(ld1d))]
12892pub unsafe fn svld1_vnum_s64(pg: svbool_t, base: *const i64, vnum: i64) -> svint64_t {
12893 svld1_s64(pg, base.offset(svcntd() as isize * vnum as isize))
12894}
12895#[doc = "Unextended load"]
12896#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1_vnum[_u8])"]
12897#[doc = "## Safety"]
12898#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`). In particular, note that `vnum` is scaled by the vector length, `VL`, which is not known at compile time."]
12899#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
12900#[inline]
12901#[target_feature(enable = "sve")]
12902#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
12903#[cfg_attr(test, assert_instr(ld1b))]
12904pub unsafe fn svld1_vnum_u8(pg: svbool_t, base: *const u8, vnum: i64) -> svuint8_t {
12905 svld1_u8(pg, base.offset(svcntb() as isize * vnum as isize))
12906}
12907#[doc = "Unextended load"]
12908#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1_vnum[_u16])"]
12909#[doc = "## Safety"]
12910#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`). In particular, note that `vnum` is scaled by the vector length, `VL`, which is not known at compile time."]
12911#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
12912#[inline]
12913#[target_feature(enable = "sve")]
12914#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
12915#[cfg_attr(test, assert_instr(ld1h))]
12916pub unsafe fn svld1_vnum_u16(pg: svbool_t, base: *const u16, vnum: i64) -> svuint16_t {
12917 svld1_u16(pg, base.offset(svcnth() as isize * vnum as isize))
12918}
12919#[doc = "Unextended load"]
12920#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1_vnum[_u32])"]
12921#[doc = "## Safety"]
12922#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`). In particular, note that `vnum` is scaled by the vector length, `VL`, which is not known at compile time."]
12923#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
12924#[inline]
12925#[target_feature(enable = "sve")]
12926#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
12927#[cfg_attr(test, assert_instr(ld1w))]
12928pub unsafe fn svld1_vnum_u32(pg: svbool_t, base: *const u32, vnum: i64) -> svuint32_t {
12929 svld1_u32(pg, base.offset(svcntw() as isize * vnum as isize))
12930}
12931#[doc = "Unextended load"]
12932#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1_vnum[_u64])"]
12933#[doc = "## Safety"]
12934#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`). In particular, note that `vnum` is scaled by the vector length, `VL`, which is not known at compile time."]
12935#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
12936#[inline]
12937#[target_feature(enable = "sve")]
12938#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
12939#[cfg_attr(test, assert_instr(ld1d))]
12940pub unsafe fn svld1_vnum_u64(pg: svbool_t, base: *const u64, vnum: i64) -> svuint64_t {
12941 svld1_u64(pg, base.offset(svcntd() as isize * vnum as isize))
12942}
12943#[doc = "Load and replicate 256 bits of data"]
12944#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1ro[_f32])"]
12945#[doc = "## Safety"]
12946#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
12947#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
12948#[inline]
12949#[target_feature(enable = "sve,f64mm")]
12950#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
12951#[cfg_attr(test, assert_instr(ld1row))]
12952pub unsafe fn svld1ro_f32(pg: svbool_t, base: *const f32) -> svfloat32_t {
12953 unsafe extern "unadjusted" {
12954 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.ld1ro.nxv4f32")]
12955 fn _svld1ro_f32(pg: svbool4_t, base: *const f32) -> svfloat32_t;
12956 }
12957 _svld1ro_f32(pg.sve_into(), base)
12958}
12959#[doc = "Load and replicate 256 bits of data"]
12960#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1ro[_f64])"]
12961#[doc = "## Safety"]
12962#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
12963#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
12964#[inline]
12965#[target_feature(enable = "sve,f64mm")]
12966#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
12967#[cfg_attr(test, assert_instr(ld1rod))]
12968pub unsafe fn svld1ro_f64(pg: svbool_t, base: *const f64) -> svfloat64_t {
12969 unsafe extern "unadjusted" {
12970 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.ld1ro.nxv2f64")]
12971 fn _svld1ro_f64(pg: svbool2_t, base: *const f64) -> svfloat64_t;
12972 }
12973 _svld1ro_f64(pg.sve_into(), base)
12974}
12975#[doc = "Load and replicate 256 bits of data"]
12976#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1ro[_s8])"]
12977#[doc = "## Safety"]
12978#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
12979#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
12980#[inline]
12981#[target_feature(enable = "sve,f64mm")]
12982#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
12983#[cfg_attr(test, assert_instr(ld1rob))]
12984pub unsafe fn svld1ro_s8(pg: svbool_t, base: *const i8) -> svint8_t {
12985 unsafe extern "unadjusted" {
12986 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.ld1ro.nxv16i8")]
12987 fn _svld1ro_s8(pg: svbool_t, base: *const i8) -> svint8_t;
12988 }
12989 _svld1ro_s8(pg, base)
12990}
12991#[doc = "Load and replicate 256 bits of data"]
12992#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1ro[_s16])"]
12993#[doc = "## Safety"]
12994#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
12995#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
12996#[inline]
12997#[target_feature(enable = "sve,f64mm")]
12998#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
12999#[cfg_attr(test, assert_instr(ld1roh))]
13000pub unsafe fn svld1ro_s16(pg: svbool_t, base: *const i16) -> svint16_t {
13001 unsafe extern "unadjusted" {
13002 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.ld1ro.nxv8i16")]
13003 fn _svld1ro_s16(pg: svbool8_t, base: *const i16) -> svint16_t;
13004 }
13005 _svld1ro_s16(pg.sve_into(), base)
13006}
13007#[doc = "Load and replicate 256 bits of data"]
13008#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1ro[_s32])"]
13009#[doc = "## Safety"]
13010#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
13011#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
13012#[inline]
13013#[target_feature(enable = "sve,f64mm")]
13014#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
13015#[cfg_attr(test, assert_instr(ld1row))]
13016pub unsafe fn svld1ro_s32(pg: svbool_t, base: *const i32) -> svint32_t {
13017 unsafe extern "unadjusted" {
13018 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.ld1ro.nxv4i32")]
13019 fn _svld1ro_s32(pg: svbool4_t, base: *const i32) -> svint32_t;
13020 }
13021 _svld1ro_s32(pg.sve_into(), base)
13022}
13023#[doc = "Load and replicate 256 bits of data"]
13024#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1ro[_s64])"]
13025#[doc = "## Safety"]
13026#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
13027#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
13028#[inline]
13029#[target_feature(enable = "sve,f64mm")]
13030#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
13031#[cfg_attr(test, assert_instr(ld1rod))]
13032pub unsafe fn svld1ro_s64(pg: svbool_t, base: *const i64) -> svint64_t {
13033 unsafe extern "unadjusted" {
13034 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.ld1ro.nxv2i64")]
13035 fn _svld1ro_s64(pg: svbool2_t, base: *const i64) -> svint64_t;
13036 }
13037 _svld1ro_s64(pg.sve_into(), base)
13038}
13039#[doc = "Load and replicate 256 bits of data"]
13040#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1ro[_u8])"]
13041#[doc = "## Safety"]
13042#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
13043#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
13044#[inline]
13045#[target_feature(enable = "sve,f64mm")]
13046#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
13047#[cfg_attr(test, assert_instr(ld1rob))]
13048pub unsafe fn svld1ro_u8(pg: svbool_t, base: *const u8) -> svuint8_t {
13049 svld1ro_s8(pg, base.as_signed()).as_unsigned()
13050}
13051#[doc = "Load and replicate 256 bits of data"]
13052#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1ro[_u16])"]
13053#[doc = "## Safety"]
13054#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
13055#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
13056#[inline]
13057#[target_feature(enable = "sve,f64mm")]
13058#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
13059#[cfg_attr(test, assert_instr(ld1roh))]
13060pub unsafe fn svld1ro_u16(pg: svbool_t, base: *const u16) -> svuint16_t {
13061 svld1ro_s16(pg, base.as_signed()).as_unsigned()
13062}
13063#[doc = "Load and replicate 256 bits of data"]
13064#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1ro[_u32])"]
13065#[doc = "## Safety"]
13066#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
13067#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
13068#[inline]
13069#[target_feature(enable = "sve,f64mm")]
13070#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
13071#[cfg_attr(test, assert_instr(ld1row))]
13072pub unsafe fn svld1ro_u32(pg: svbool_t, base: *const u32) -> svuint32_t {
13073 svld1ro_s32(pg, base.as_signed()).as_unsigned()
13074}
13075#[doc = "Load and replicate 256 bits of data"]
13076#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1ro[_u64])"]
13077#[doc = "## Safety"]
13078#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
13079#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
13080#[inline]
13081#[target_feature(enable = "sve,f64mm")]
13082#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
13083#[cfg_attr(test, assert_instr(ld1rod))]
13084pub unsafe fn svld1ro_u64(pg: svbool_t, base: *const u64) -> svuint64_t {
13085 svld1ro_s64(pg, base.as_signed()).as_unsigned()
13086}
13087#[doc = "Load and replicate 128 bits of data"]
13088#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1rq[_f32])"]
13089#[doc = "## Safety"]
13090#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
13091#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
13092#[inline]
13093#[target_feature(enable = "sve")]
13094#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
13095#[cfg_attr(test, assert_instr(ld1rqw))]
13096pub unsafe fn svld1rq_f32(pg: svbool_t, base: *const f32) -> svfloat32_t {
13097 unsafe extern "unadjusted" {
13098 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.ld1rq.nxv4f32")]
13099 fn _svld1rq_f32(pg: svbool4_t, base: *const f32) -> svfloat32_t;
13100 }
13101 _svld1rq_f32(pg.sve_into(), base)
13102}
13103#[doc = "Load and replicate 128 bits of data"]
13104#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1rq[_f64])"]
13105#[doc = "## Safety"]
13106#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
13107#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
13108#[inline]
13109#[target_feature(enable = "sve")]
13110#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
13111#[cfg_attr(test, assert_instr(ld1rqd))]
13112pub unsafe fn svld1rq_f64(pg: svbool_t, base: *const f64) -> svfloat64_t {
13113 unsafe extern "unadjusted" {
13114 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.ld1rq.nxv2f64")]
13115 fn _svld1rq_f64(pg: svbool2_t, base: *const f64) -> svfloat64_t;
13116 }
13117 _svld1rq_f64(pg.sve_into(), base)
13118}
13119#[doc = "Load and replicate 128 bits of data"]
13120#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1rq[_s8])"]
13121#[doc = "## Safety"]
13122#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
13123#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
13124#[inline]
13125#[target_feature(enable = "sve")]
13126#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
13127#[cfg_attr(test, assert_instr(ld1rqb))]
13128pub unsafe fn svld1rq_s8(pg: svbool_t, base: *const i8) -> svint8_t {
13129 unsafe extern "unadjusted" {
13130 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.ld1rq.nxv16i8")]
13131 fn _svld1rq_s8(pg: svbool_t, base: *const i8) -> svint8_t;
13132 }
13133 _svld1rq_s8(pg, base)
13134}
13135#[doc = "Load and replicate 128 bits of data"]
13136#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1rq[_s16])"]
13137#[doc = "## Safety"]
13138#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
13139#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
13140#[inline]
13141#[target_feature(enable = "sve")]
13142#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
13143#[cfg_attr(test, assert_instr(ld1rqh))]
13144pub unsafe fn svld1rq_s16(pg: svbool_t, base: *const i16) -> svint16_t {
13145 unsafe extern "unadjusted" {
13146 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.ld1rq.nxv8i16")]
13147 fn _svld1rq_s16(pg: svbool8_t, base: *const i16) -> svint16_t;
13148 }
13149 _svld1rq_s16(pg.sve_into(), base)
13150}
13151#[doc = "Load and replicate 128 bits of data"]
13152#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1rq[_s32])"]
13153#[doc = "## Safety"]
13154#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
13155#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
13156#[inline]
13157#[target_feature(enable = "sve")]
13158#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
13159#[cfg_attr(test, assert_instr(ld1rqw))]
13160pub unsafe fn svld1rq_s32(pg: svbool_t, base: *const i32) -> svint32_t {
13161 unsafe extern "unadjusted" {
13162 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.ld1rq.nxv4i32")]
13163 fn _svld1rq_s32(pg: svbool4_t, base: *const i32) -> svint32_t;
13164 }
13165 _svld1rq_s32(pg.sve_into(), base)
13166}
13167#[doc = "Load and replicate 128 bits of data"]
13168#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1rq[_s64])"]
13169#[doc = "## Safety"]
13170#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
13171#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
13172#[inline]
13173#[target_feature(enable = "sve")]
13174#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
13175#[cfg_attr(test, assert_instr(ld1rqd))]
13176pub unsafe fn svld1rq_s64(pg: svbool_t, base: *const i64) -> svint64_t {
13177 unsafe extern "unadjusted" {
13178 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.ld1rq.nxv2i64")]
13179 fn _svld1rq_s64(pg: svbool2_t, base: *const i64) -> svint64_t;
13180 }
13181 _svld1rq_s64(pg.sve_into(), base)
13182}
13183#[doc = "Load and replicate 128 bits of data"]
13184#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1rq[_u8])"]
13185#[doc = "## Safety"]
13186#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
13187#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
13188#[inline]
13189#[target_feature(enable = "sve")]
13190#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
13191#[cfg_attr(test, assert_instr(ld1rqb))]
13192pub unsafe fn svld1rq_u8(pg: svbool_t, base: *const u8) -> svuint8_t {
13193 svld1rq_s8(pg, base.as_signed()).as_unsigned()
13194}
13195#[doc = "Load and replicate 128 bits of data"]
13196#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1rq[_u16])"]
13197#[doc = "## Safety"]
13198#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
13199#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
13200#[inline]
13201#[target_feature(enable = "sve")]
13202#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
13203#[cfg_attr(test, assert_instr(ld1rqh))]
13204pub unsafe fn svld1rq_u16(pg: svbool_t, base: *const u16) -> svuint16_t {
13205 svld1rq_s16(pg, base.as_signed()).as_unsigned()
13206}
13207#[doc = "Load and replicate 128 bits of data"]
13208#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1rq[_u32])"]
13209#[doc = "## Safety"]
13210#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
13211#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
13212#[inline]
13213#[target_feature(enable = "sve")]
13214#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
13215#[cfg_attr(test, assert_instr(ld1rqw))]
13216pub unsafe fn svld1rq_u32(pg: svbool_t, base: *const u32) -> svuint32_t {
13217 svld1rq_s32(pg, base.as_signed()).as_unsigned()
13218}
13219#[doc = "Load and replicate 128 bits of data"]
13220#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1rq[_u64])"]
13221#[doc = "## Safety"]
13222#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
13223#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
13224#[inline]
13225#[target_feature(enable = "sve")]
13226#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
13227#[cfg_attr(test, assert_instr(ld1rqd))]
13228pub unsafe fn svld1rq_u64(pg: svbool_t, base: *const u64) -> svuint64_t {
13229 svld1rq_s64(pg, base.as_signed()).as_unsigned()
13230}
13231#[doc = "Load 8-bit data and sign-extend"]
13232#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1sb_gather_[s32]offset_s32)"]
13233#[doc = "## Safety"]
13234#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
13235#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
13236#[inline]
13237#[target_feature(enable = "sve")]
13238#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
13239#[cfg_attr(test, assert_instr(ld1sb))]
13240pub unsafe fn svld1sb_gather_s32offset_s32(
13241 pg: svbool_t,
13242 base: *const i8,
13243 offsets: svint32_t,
13244) -> svint32_t {
13245 unsafe extern "unadjusted" {
13246 #[cfg_attr(
13247 target_arch = "aarch64",
13248 link_name = "llvm.aarch64.sve.ld1.gather.sxtw.nxv4i8"
13249 )]
13250 fn _svld1sb_gather_s32offset_s32(
13251 pg: svbool4_t,
13252 base: *const i8,
13253 offsets: svint32_t,
13254 ) -> nxv4i8;
13255 }
13256 crate::intrinsics::simd::simd_cast(_svld1sb_gather_s32offset_s32(pg.sve_into(), base, offsets))
13257}
13258#[doc = "Load 16-bit data and sign-extend"]
13259#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1sh_gather_[s32]offset_s32)"]
13260#[doc = "## Safety"]
13261#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
13262#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
13263#[inline]
13264#[target_feature(enable = "sve")]
13265#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
13266#[cfg_attr(test, assert_instr(ld1sh))]
13267pub unsafe fn svld1sh_gather_s32offset_s32(
13268 pg: svbool_t,
13269 base: *const i16,
13270 offsets: svint32_t,
13271) -> svint32_t {
13272 unsafe extern "unadjusted" {
13273 #[cfg_attr(
13274 target_arch = "aarch64",
13275 link_name = "llvm.aarch64.sve.ld1.gather.sxtw.nxv4i16"
13276 )]
13277 fn _svld1sh_gather_s32offset_s32(
13278 pg: svbool4_t,
13279 base: *const i16,
13280 offsets: svint32_t,
13281 ) -> nxv4i16;
13282 }
13283 crate::intrinsics::simd::simd_cast(_svld1sh_gather_s32offset_s32(pg.sve_into(), base, offsets))
13284}
13285#[doc = "Load 8-bit data and sign-extend"]
13286#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1sb_gather_[s32]offset_u32)"]
13287#[doc = "## Safety"]
13288#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
13289#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
13290#[inline]
13291#[target_feature(enable = "sve")]
13292#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
13293#[cfg_attr(test, assert_instr(ld1sb))]
13294pub unsafe fn svld1sb_gather_s32offset_u32(
13295 pg: svbool_t,
13296 base: *const i8,
13297 offsets: svint32_t,
13298) -> svuint32_t {
13299 svld1sb_gather_s32offset_s32(pg, base, offsets).as_unsigned()
13300}
13301#[doc = "Load 16-bit data and sign-extend"]
13302#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1sh_gather_[s32]offset_u32)"]
13303#[doc = "## Safety"]
13304#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
13305#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
13306#[inline]
13307#[target_feature(enable = "sve")]
13308#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
13309#[cfg_attr(test, assert_instr(ld1sh))]
13310pub unsafe fn svld1sh_gather_s32offset_u32(
13311 pg: svbool_t,
13312 base: *const i16,
13313 offsets: svint32_t,
13314) -> svuint32_t {
13315 svld1sh_gather_s32offset_s32(pg, base, offsets).as_unsigned()
13316}
13317#[doc = "Load 8-bit data and sign-extend"]
13318#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1sb_gather_[s64]offset_s64)"]
13319#[doc = "## Safety"]
13320#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
13321#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
13322#[inline]
13323#[target_feature(enable = "sve")]
13324#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
13325#[cfg_attr(test, assert_instr(ld1sb))]
13326pub unsafe fn svld1sb_gather_s64offset_s64(
13327 pg: svbool_t,
13328 base: *const i8,
13329 offsets: svint64_t,
13330) -> svint64_t {
13331 unsafe extern "unadjusted" {
13332 #[cfg_attr(
13333 target_arch = "aarch64",
13334 link_name = "llvm.aarch64.sve.ld1.gather.nxv2i8"
13335 )]
13336 fn _svld1sb_gather_s64offset_s64(
13337 pg: svbool2_t,
13338 base: *const i8,
13339 offsets: svint64_t,
13340 ) -> nxv2i8;
13341 }
13342 crate::intrinsics::simd::simd_cast(_svld1sb_gather_s64offset_s64(pg.sve_into(), base, offsets))
13343}
13344#[doc = "Load 16-bit data and sign-extend"]
13345#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1sh_gather_[s64]offset_s64)"]
13346#[doc = "## Safety"]
13347#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
13348#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
13349#[inline]
13350#[target_feature(enable = "sve")]
13351#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
13352#[cfg_attr(test, assert_instr(ld1sh))]
13353pub unsafe fn svld1sh_gather_s64offset_s64(
13354 pg: svbool_t,
13355 base: *const i16,
13356 offsets: svint64_t,
13357) -> svint64_t {
13358 unsafe extern "unadjusted" {
13359 #[cfg_attr(
13360 target_arch = "aarch64",
13361 link_name = "llvm.aarch64.sve.ld1.gather.nxv2i16"
13362 )]
13363 fn _svld1sh_gather_s64offset_s64(
13364 pg: svbool2_t,
13365 base: *const i16,
13366 offsets: svint64_t,
13367 ) -> nxv2i16;
13368 }
13369 crate::intrinsics::simd::simd_cast(_svld1sh_gather_s64offset_s64(pg.sve_into(), base, offsets))
13370}
13371#[doc = "Load 32-bit data and sign-extend"]
13372#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1sw_gather_[s64]offset_s64)"]
13373#[doc = "## Safety"]
13374#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
13375#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
13376#[inline]
13377#[target_feature(enable = "sve")]
13378#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
13379#[cfg_attr(test, assert_instr(ld1sw))]
13380pub unsafe fn svld1sw_gather_s64offset_s64(
13381 pg: svbool_t,
13382 base: *const i32,
13383 offsets: svint64_t,
13384) -> svint64_t {
13385 unsafe extern "unadjusted" {
13386 #[cfg_attr(
13387 target_arch = "aarch64",
13388 link_name = "llvm.aarch64.sve.ld1.gather.nxv2i32"
13389 )]
13390 fn _svld1sw_gather_s64offset_s64(
13391 pg: svbool2_t,
13392 base: *const i32,
13393 offsets: svint64_t,
13394 ) -> nxv2i32;
13395 }
13396 crate::intrinsics::simd::simd_cast(_svld1sw_gather_s64offset_s64(pg.sve_into(), base, offsets))
13397}
13398#[doc = "Load 8-bit data and sign-extend"]
13399#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1sb_gather_[s64]offset_u64)"]
13400#[doc = "## Safety"]
13401#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
13402#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
13403#[inline]
13404#[target_feature(enable = "sve")]
13405#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
13406#[cfg_attr(test, assert_instr(ld1sb))]
13407pub unsafe fn svld1sb_gather_s64offset_u64(
13408 pg: svbool_t,
13409 base: *const i8,
13410 offsets: svint64_t,
13411) -> svuint64_t {
13412 svld1sb_gather_s64offset_s64(pg, base, offsets).as_unsigned()
13413}
13414#[doc = "Load 16-bit data and sign-extend"]
13415#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1sh_gather_[s64]offset_u64)"]
13416#[doc = "## Safety"]
13417#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
13418#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
13419#[inline]
13420#[target_feature(enable = "sve")]
13421#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
13422#[cfg_attr(test, assert_instr(ld1sh))]
13423pub unsafe fn svld1sh_gather_s64offset_u64(
13424 pg: svbool_t,
13425 base: *const i16,
13426 offsets: svint64_t,
13427) -> svuint64_t {
13428 svld1sh_gather_s64offset_s64(pg, base, offsets).as_unsigned()
13429}
13430#[doc = "Load 32-bit data and sign-extend"]
13431#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1sw_gather_[s64]offset_u64)"]
13432#[doc = "## Safety"]
13433#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
13434#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
13435#[inline]
13436#[target_feature(enable = "sve")]
13437#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
13438#[cfg_attr(test, assert_instr(ld1sw))]
13439pub unsafe fn svld1sw_gather_s64offset_u64(
13440 pg: svbool_t,
13441 base: *const i32,
13442 offsets: svint64_t,
13443) -> svuint64_t {
13444 svld1sw_gather_s64offset_s64(pg, base, offsets).as_unsigned()
13445}
13446#[doc = "Load 8-bit data and sign-extend"]
13447#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1sb_gather_[u32]offset_s32)"]
13448#[doc = "## Safety"]
13449#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
13450#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
13451#[inline]
13452#[target_feature(enable = "sve")]
13453#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
13454#[cfg_attr(test, assert_instr(ld1sb))]
13455pub unsafe fn svld1sb_gather_u32offset_s32(
13456 pg: svbool_t,
13457 base: *const i8,
13458 offsets: svuint32_t,
13459) -> svint32_t {
13460 unsafe extern "unadjusted" {
13461 #[cfg_attr(
13462 target_arch = "aarch64",
13463 link_name = "llvm.aarch64.sve.ld1.gather.uxtw.nxv4i8"
13464 )]
13465 fn _svld1sb_gather_u32offset_s32(
13466 pg: svbool4_t,
13467 base: *const i8,
13468 offsets: svint32_t,
13469 ) -> nxv4i8;
13470 }
13471 crate::intrinsics::simd::simd_cast(_svld1sb_gather_u32offset_s32(
13472 pg.sve_into(),
13473 base,
13474 offsets.as_signed(),
13475 ))
13476}
13477#[doc = "Load 16-bit data and sign-extend"]
13478#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1sh_gather_[u32]offset_s32)"]
13479#[doc = "## Safety"]
13480#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
13481#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
13482#[inline]
13483#[target_feature(enable = "sve")]
13484#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
13485#[cfg_attr(test, assert_instr(ld1sh))]
13486pub unsafe fn svld1sh_gather_u32offset_s32(
13487 pg: svbool_t,
13488 base: *const i16,
13489 offsets: svuint32_t,
13490) -> svint32_t {
13491 unsafe extern "unadjusted" {
13492 #[cfg_attr(
13493 target_arch = "aarch64",
13494 link_name = "llvm.aarch64.sve.ld1.gather.uxtw.nxv4i16"
13495 )]
13496 fn _svld1sh_gather_u32offset_s32(
13497 pg: svbool4_t,
13498 base: *const i16,
13499 offsets: svint32_t,
13500 ) -> nxv4i16;
13501 }
13502 crate::intrinsics::simd::simd_cast(_svld1sh_gather_u32offset_s32(
13503 pg.sve_into(),
13504 base,
13505 offsets.as_signed(),
13506 ))
13507}
13508#[doc = "Load 8-bit data and sign-extend"]
13509#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1sb_gather_[u32]offset_u32)"]
13510#[doc = "## Safety"]
13511#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
13512#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
13513#[inline]
13514#[target_feature(enable = "sve")]
13515#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
13516#[cfg_attr(test, assert_instr(ld1sb))]
13517pub unsafe fn svld1sb_gather_u32offset_u32(
13518 pg: svbool_t,
13519 base: *const i8,
13520 offsets: svuint32_t,
13521) -> svuint32_t {
13522 svld1sb_gather_u32offset_s32(pg, base, offsets).as_unsigned()
13523}
13524#[doc = "Load 16-bit data and sign-extend"]
13525#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1sh_gather_[u32]offset_u32)"]
13526#[doc = "## Safety"]
13527#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
13528#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
13529#[inline]
13530#[target_feature(enable = "sve")]
13531#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
13532#[cfg_attr(test, assert_instr(ld1sh))]
13533pub unsafe fn svld1sh_gather_u32offset_u32(
13534 pg: svbool_t,
13535 base: *const i16,
13536 offsets: svuint32_t,
13537) -> svuint32_t {
13538 svld1sh_gather_u32offset_s32(pg, base, offsets).as_unsigned()
13539}
13540#[doc = "Load 8-bit data and sign-extend"]
13541#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1sb_gather_[u64]offset_s64)"]
13542#[doc = "## Safety"]
13543#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
13544#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
13545#[inline]
13546#[target_feature(enable = "sve")]
13547#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
13548#[cfg_attr(test, assert_instr(ld1sb))]
13549pub unsafe fn svld1sb_gather_u64offset_s64(
13550 pg: svbool_t,
13551 base: *const i8,
13552 offsets: svuint64_t,
13553) -> svint64_t {
13554 svld1sb_gather_s64offset_s64(pg, base, offsets.as_signed())
13555}
13556#[doc = "Load 16-bit data and sign-extend"]
13557#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1sh_gather_[u64]offset_s64)"]
13558#[doc = "## Safety"]
13559#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
13560#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
13561#[inline]
13562#[target_feature(enable = "sve")]
13563#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
13564#[cfg_attr(test, assert_instr(ld1sh))]
13565pub unsafe fn svld1sh_gather_u64offset_s64(
13566 pg: svbool_t,
13567 base: *const i16,
13568 offsets: svuint64_t,
13569) -> svint64_t {
13570 svld1sh_gather_s64offset_s64(pg, base, offsets.as_signed())
13571}
13572#[doc = "Load 32-bit data and sign-extend"]
13573#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1sw_gather_[u64]offset_s64)"]
13574#[doc = "## Safety"]
13575#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
13576#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
13577#[inline]
13578#[target_feature(enable = "sve")]
13579#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
13580#[cfg_attr(test, assert_instr(ld1sw))]
13581pub unsafe fn svld1sw_gather_u64offset_s64(
13582 pg: svbool_t,
13583 base: *const i32,
13584 offsets: svuint64_t,
13585) -> svint64_t {
13586 svld1sw_gather_s64offset_s64(pg, base, offsets.as_signed())
13587}
13588#[doc = "Load 8-bit data and sign-extend"]
13589#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1sb_gather_[u64]offset_u64)"]
13590#[doc = "## Safety"]
13591#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
13592#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
13593#[inline]
13594#[target_feature(enable = "sve")]
13595#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
13596#[cfg_attr(test, assert_instr(ld1sb))]
13597pub unsafe fn svld1sb_gather_u64offset_u64(
13598 pg: svbool_t,
13599 base: *const i8,
13600 offsets: svuint64_t,
13601) -> svuint64_t {
13602 svld1sb_gather_s64offset_s64(pg, base, offsets.as_signed()).as_unsigned()
13603}
13604#[doc = "Load 16-bit data and sign-extend"]
13605#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1sh_gather_[u64]offset_u64)"]
13606#[doc = "## Safety"]
13607#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
13608#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
13609#[inline]
13610#[target_feature(enable = "sve")]
13611#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
13612#[cfg_attr(test, assert_instr(ld1sh))]
13613pub unsafe fn svld1sh_gather_u64offset_u64(
13614 pg: svbool_t,
13615 base: *const i16,
13616 offsets: svuint64_t,
13617) -> svuint64_t {
13618 svld1sh_gather_s64offset_s64(pg, base, offsets.as_signed()).as_unsigned()
13619}
13620#[doc = "Load 32-bit data and sign-extend"]
13621#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1sw_gather_[u64]offset_u64)"]
13622#[doc = "## Safety"]
13623#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
13624#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
13625#[inline]
13626#[target_feature(enable = "sve")]
13627#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
13628#[cfg_attr(test, assert_instr(ld1sw))]
13629pub unsafe fn svld1sw_gather_u64offset_u64(
13630 pg: svbool_t,
13631 base: *const i32,
13632 offsets: svuint64_t,
13633) -> svuint64_t {
13634 svld1sw_gather_s64offset_s64(pg, base, offsets.as_signed()).as_unsigned()
13635}
13636#[doc = "Load 8-bit data and sign-extend"]
13637#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1sb_gather[_u32base]_offset_s32)"]
13638#[doc = "## Safety"]
13639#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
13640#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
13641#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
13642#[inline]
13643#[target_feature(enable = "sve")]
13644#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
13645#[cfg_attr(test, assert_instr(ld1sb))]
13646pub unsafe fn svld1sb_gather_u32base_offset_s32(
13647 pg: svbool_t,
13648 bases: svuint32_t,
13649 offset: i64,
13650) -> svint32_t {
13651 unsafe extern "unadjusted" {
13652 #[cfg_attr(
13653 target_arch = "aarch64",
13654 link_name = "llvm.aarch64.sve.ld1.gather.scalar.offset.nxv4i8.nxv4i32"
13655 )]
13656 fn _svld1sb_gather_u32base_offset_s32(
13657 pg: svbool4_t,
13658 bases: svint32_t,
13659 offset: i64,
13660 ) -> nxv4i8;
13661 }
13662 crate::intrinsics::simd::simd_cast(_svld1sb_gather_u32base_offset_s32(
13663 pg.sve_into(),
13664 bases.as_signed(),
13665 offset,
13666 ))
13667}
13668#[doc = "Load 16-bit data and sign-extend"]
13669#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1sh_gather[_u32base]_offset_s32)"]
13670#[doc = "## Safety"]
13671#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
13672#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
13673#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
13674#[inline]
13675#[target_feature(enable = "sve")]
13676#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
13677#[cfg_attr(test, assert_instr(ld1sh))]
13678pub unsafe fn svld1sh_gather_u32base_offset_s32(
13679 pg: svbool_t,
13680 bases: svuint32_t,
13681 offset: i64,
13682) -> svint32_t {
13683 unsafe extern "unadjusted" {
13684 #[cfg_attr(
13685 target_arch = "aarch64",
13686 link_name = "llvm.aarch64.sve.ld1.gather.scalar.offset.nxv4i16.nxv4i32"
13687 )]
13688 fn _svld1sh_gather_u32base_offset_s32(
13689 pg: svbool4_t,
13690 bases: svint32_t,
13691 offset: i64,
13692 ) -> nxv4i16;
13693 }
13694 crate::intrinsics::simd::simd_cast(_svld1sh_gather_u32base_offset_s32(
13695 pg.sve_into(),
13696 bases.as_signed(),
13697 offset,
13698 ))
13699}
13700#[doc = "Load 8-bit data and sign-extend"]
13701#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1sb_gather[_u32base]_offset_u32)"]
13702#[doc = "## Safety"]
13703#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
13704#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
13705#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
13706#[inline]
13707#[target_feature(enable = "sve")]
13708#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
13709#[cfg_attr(test, assert_instr(ld1sb))]
13710pub unsafe fn svld1sb_gather_u32base_offset_u32(
13711 pg: svbool_t,
13712 bases: svuint32_t,
13713 offset: i64,
13714) -> svuint32_t {
13715 svld1sb_gather_u32base_offset_s32(pg, bases, offset).as_unsigned()
13716}
13717#[doc = "Load 16-bit data and sign-extend"]
13718#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1sh_gather[_u32base]_offset_u32)"]
13719#[doc = "## Safety"]
13720#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
13721#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
13722#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
13723#[inline]
13724#[target_feature(enable = "sve")]
13725#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
13726#[cfg_attr(test, assert_instr(ld1sh))]
13727pub unsafe fn svld1sh_gather_u32base_offset_u32(
13728 pg: svbool_t,
13729 bases: svuint32_t,
13730 offset: i64,
13731) -> svuint32_t {
13732 svld1sh_gather_u32base_offset_s32(pg, bases, offset).as_unsigned()
13733}
13734#[doc = "Load 8-bit data and sign-extend"]
13735#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1sb_gather[_u64base]_offset_s64)"]
13736#[doc = "## Safety"]
13737#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
13738#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
13739#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
13740#[inline]
13741#[target_feature(enable = "sve")]
13742#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
13743#[cfg_attr(test, assert_instr(ld1sb))]
13744pub unsafe fn svld1sb_gather_u64base_offset_s64(
13745 pg: svbool_t,
13746 bases: svuint64_t,
13747 offset: i64,
13748) -> svint64_t {
13749 unsafe extern "unadjusted" {
13750 #[cfg_attr(
13751 target_arch = "aarch64",
13752 link_name = "llvm.aarch64.sve.ld1.gather.scalar.offset.nxv2i8.nxv2i64"
13753 )]
13754 fn _svld1sb_gather_u64base_offset_s64(
13755 pg: svbool2_t,
13756 bases: svint64_t,
13757 offset: i64,
13758 ) -> nxv2i8;
13759 }
13760 crate::intrinsics::simd::simd_cast(_svld1sb_gather_u64base_offset_s64(
13761 pg.sve_into(),
13762 bases.as_signed(),
13763 offset,
13764 ))
13765}
13766#[doc = "Load 16-bit data and sign-extend"]
13767#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1sh_gather[_u64base]_offset_s64)"]
13768#[doc = "## Safety"]
13769#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
13770#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
13771#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
13772#[inline]
13773#[target_feature(enable = "sve")]
13774#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
13775#[cfg_attr(test, assert_instr(ld1sh))]
13776pub unsafe fn svld1sh_gather_u64base_offset_s64(
13777 pg: svbool_t,
13778 bases: svuint64_t,
13779 offset: i64,
13780) -> svint64_t {
13781 unsafe extern "unadjusted" {
13782 #[cfg_attr(
13783 target_arch = "aarch64",
13784 link_name = "llvm.aarch64.sve.ld1.gather.scalar.offset.nxv2i16.nxv2i64"
13785 )]
13786 fn _svld1sh_gather_u64base_offset_s64(
13787 pg: svbool2_t,
13788 bases: svint64_t,
13789 offset: i64,
13790 ) -> nxv2i16;
13791 }
13792 crate::intrinsics::simd::simd_cast(_svld1sh_gather_u64base_offset_s64(
13793 pg.sve_into(),
13794 bases.as_signed(),
13795 offset,
13796 ))
13797}
13798#[doc = "Load 32-bit data and sign-extend"]
13799#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1sw_gather[_u64base]_offset_s64)"]
13800#[doc = "## Safety"]
13801#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
13802#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
13803#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
13804#[inline]
13805#[target_feature(enable = "sve")]
13806#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
13807#[cfg_attr(test, assert_instr(ld1sw))]
13808pub unsafe fn svld1sw_gather_u64base_offset_s64(
13809 pg: svbool_t,
13810 bases: svuint64_t,
13811 offset: i64,
13812) -> svint64_t {
13813 unsafe extern "unadjusted" {
13814 #[cfg_attr(
13815 target_arch = "aarch64",
13816 link_name = "llvm.aarch64.sve.ld1.gather.scalar.offset.nxv2i32.nxv2i64"
13817 )]
13818 fn _svld1sw_gather_u64base_offset_s64(
13819 pg: svbool2_t,
13820 bases: svint64_t,
13821 offset: i64,
13822 ) -> nxv2i32;
13823 }
13824 crate::intrinsics::simd::simd_cast(_svld1sw_gather_u64base_offset_s64(
13825 pg.sve_into(),
13826 bases.as_signed(),
13827 offset,
13828 ))
13829}
13830#[doc = "Load 8-bit data and sign-extend"]
13831#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1sb_gather[_u64base]_offset_u64)"]
13832#[doc = "## Safety"]
13833#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
13834#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
13835#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
13836#[inline]
13837#[target_feature(enable = "sve")]
13838#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
13839#[cfg_attr(test, assert_instr(ld1sb))]
13840pub unsafe fn svld1sb_gather_u64base_offset_u64(
13841 pg: svbool_t,
13842 bases: svuint64_t,
13843 offset: i64,
13844) -> svuint64_t {
13845 svld1sb_gather_u64base_offset_s64(pg, bases, offset).as_unsigned()
13846}
13847#[doc = "Load 16-bit data and sign-extend"]
13848#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1sh_gather[_u64base]_offset_u64)"]
13849#[doc = "## Safety"]
13850#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
13851#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
13852#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
13853#[inline]
13854#[target_feature(enable = "sve")]
13855#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
13856#[cfg_attr(test, assert_instr(ld1sh))]
13857pub unsafe fn svld1sh_gather_u64base_offset_u64(
13858 pg: svbool_t,
13859 bases: svuint64_t,
13860 offset: i64,
13861) -> svuint64_t {
13862 svld1sh_gather_u64base_offset_s64(pg, bases, offset).as_unsigned()
13863}
13864#[doc = "Load 32-bit data and sign-extend"]
13865#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1sw_gather[_u64base]_offset_u64)"]
13866#[doc = "## Safety"]
13867#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
13868#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
13869#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
13870#[inline]
13871#[target_feature(enable = "sve")]
13872#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
13873#[cfg_attr(test, assert_instr(ld1sw))]
13874pub unsafe fn svld1sw_gather_u64base_offset_u64(
13875 pg: svbool_t,
13876 bases: svuint64_t,
13877 offset: i64,
13878) -> svuint64_t {
13879 svld1sw_gather_u64base_offset_s64(pg, bases, offset).as_unsigned()
13880}
13881#[doc = "Load 8-bit data and sign-extend"]
13882#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1sb_gather[_u32base]_s32)"]
13883#[doc = "## Safety"]
13884#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
13885#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
13886#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
13887#[inline]
13888#[target_feature(enable = "sve")]
13889#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
13890#[cfg_attr(test, assert_instr(ld1sb))]
13891pub unsafe fn svld1sb_gather_u32base_s32(pg: svbool_t, bases: svuint32_t) -> svint32_t {
13892 svld1sb_gather_u32base_offset_s32(pg, bases, 0)
13893}
13894#[doc = "Load 16-bit data and sign-extend"]
13895#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1sh_gather[_u32base]_s32)"]
13896#[doc = "## Safety"]
13897#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
13898#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
13899#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
13900#[inline]
13901#[target_feature(enable = "sve")]
13902#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
13903#[cfg_attr(test, assert_instr(ld1sh))]
13904pub unsafe fn svld1sh_gather_u32base_s32(pg: svbool_t, bases: svuint32_t) -> svint32_t {
13905 svld1sh_gather_u32base_offset_s32(pg, bases, 0)
13906}
13907#[doc = "Load 8-bit data and sign-extend"]
13908#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1sb_gather[_u32base]_u32)"]
13909#[doc = "## Safety"]
13910#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
13911#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
13912#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
13913#[inline]
13914#[target_feature(enable = "sve")]
13915#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
13916#[cfg_attr(test, assert_instr(ld1sb))]
13917pub unsafe fn svld1sb_gather_u32base_u32(pg: svbool_t, bases: svuint32_t) -> svuint32_t {
13918 svld1sb_gather_u32base_offset_u32(pg, bases, 0)
13919}
13920#[doc = "Load 16-bit data and sign-extend"]
13921#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1sh_gather[_u32base]_u32)"]
13922#[doc = "## Safety"]
13923#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
13924#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
13925#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
13926#[inline]
13927#[target_feature(enable = "sve")]
13928#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
13929#[cfg_attr(test, assert_instr(ld1sh))]
13930pub unsafe fn svld1sh_gather_u32base_u32(pg: svbool_t, bases: svuint32_t) -> svuint32_t {
13931 svld1sh_gather_u32base_offset_u32(pg, bases, 0)
13932}
13933#[doc = "Load 8-bit data and sign-extend"]
13934#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1sb_gather[_u64base]_s64)"]
13935#[doc = "## Safety"]
13936#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
13937#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
13938#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
13939#[inline]
13940#[target_feature(enable = "sve")]
13941#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
13942#[cfg_attr(test, assert_instr(ld1sb))]
13943pub unsafe fn svld1sb_gather_u64base_s64(pg: svbool_t, bases: svuint64_t) -> svint64_t {
13944 svld1sb_gather_u64base_offset_s64(pg, bases, 0)
13945}
13946#[doc = "Load 16-bit data and sign-extend"]
13947#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1sh_gather[_u64base]_s64)"]
13948#[doc = "## Safety"]
13949#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
13950#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
13951#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
13952#[inline]
13953#[target_feature(enable = "sve")]
13954#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
13955#[cfg_attr(test, assert_instr(ld1sh))]
13956pub unsafe fn svld1sh_gather_u64base_s64(pg: svbool_t, bases: svuint64_t) -> svint64_t {
13957 svld1sh_gather_u64base_offset_s64(pg, bases, 0)
13958}
13959#[doc = "Load 32-bit data and sign-extend"]
13960#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1sw_gather[_u64base]_s64)"]
13961#[doc = "## Safety"]
13962#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
13963#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
13964#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
13965#[inline]
13966#[target_feature(enable = "sve")]
13967#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
13968#[cfg_attr(test, assert_instr(ld1sw))]
13969pub unsafe fn svld1sw_gather_u64base_s64(pg: svbool_t, bases: svuint64_t) -> svint64_t {
13970 svld1sw_gather_u64base_offset_s64(pg, bases, 0)
13971}
13972#[doc = "Load 8-bit data and sign-extend"]
13973#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1sb_gather[_u64base]_u64)"]
13974#[doc = "## Safety"]
13975#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
13976#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
13977#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
13978#[inline]
13979#[target_feature(enable = "sve")]
13980#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
13981#[cfg_attr(test, assert_instr(ld1sb))]
13982pub unsafe fn svld1sb_gather_u64base_u64(pg: svbool_t, bases: svuint64_t) -> svuint64_t {
13983 svld1sb_gather_u64base_offset_u64(pg, bases, 0)
13984}
13985#[doc = "Load 16-bit data and sign-extend"]
13986#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1sh_gather[_u64base]_u64)"]
13987#[doc = "## Safety"]
13988#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
13989#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
13990#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
13991#[inline]
13992#[target_feature(enable = "sve")]
13993#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
13994#[cfg_attr(test, assert_instr(ld1sh))]
13995pub unsafe fn svld1sh_gather_u64base_u64(pg: svbool_t, bases: svuint64_t) -> svuint64_t {
13996 svld1sh_gather_u64base_offset_u64(pg, bases, 0)
13997}
13998#[doc = "Load 32-bit data and sign-extend"]
13999#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1sw_gather[_u64base]_u64)"]
14000#[doc = "## Safety"]
14001#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
14002#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
14003#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
14004#[inline]
14005#[target_feature(enable = "sve")]
14006#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
14007#[cfg_attr(test, assert_instr(ld1sw))]
14008pub unsafe fn svld1sw_gather_u64base_u64(pg: svbool_t, bases: svuint64_t) -> svuint64_t {
14009 svld1sw_gather_u64base_offset_u64(pg, bases, 0)
14010}
14011#[doc = "Load 8-bit data and sign-extend"]
14012#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1sb_s16)"]
14013#[doc = "## Safety"]
14014#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
14015#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
14016#[inline]
14017#[target_feature(enable = "sve")]
14018#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
14019#[cfg_attr(test, assert_instr(ld1sb))]
14020pub unsafe fn svld1sb_s16(pg: svbool_t, base: *const i8) -> svint16_t {
14021 unsafe extern "unadjusted" {
14022 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.ld1.nxv8i8")]
14023 fn _svld1sb_s16(pg: svbool8_t, base: *const i8) -> nxv8i8;
14024 }
14025 crate::intrinsics::simd::simd_cast(_svld1sb_s16(pg.sve_into(), base))
14026}
14027#[doc = "Load 8-bit data and sign-extend"]
14028#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1sb_s32)"]
14029#[doc = "## Safety"]
14030#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
14031#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
14032#[inline]
14033#[target_feature(enable = "sve")]
14034#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
14035#[cfg_attr(test, assert_instr(ld1sb))]
14036pub unsafe fn svld1sb_s32(pg: svbool_t, base: *const i8) -> svint32_t {
14037 unsafe extern "unadjusted" {
14038 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.ld1.nxv4i8")]
14039 fn _svld1sb_s32(pg: svbool4_t, base: *const i8) -> nxv4i8;
14040 }
14041 crate::intrinsics::simd::simd_cast(_svld1sb_s32(pg.sve_into(), base))
14042}
14043#[doc = "Load 16-bit data and sign-extend"]
14044#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1sh_s32)"]
14045#[doc = "## Safety"]
14046#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
14047#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
14048#[inline]
14049#[target_feature(enable = "sve")]
14050#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
14051#[cfg_attr(test, assert_instr(ld1sh))]
14052pub unsafe fn svld1sh_s32(pg: svbool_t, base: *const i16) -> svint32_t {
14053 unsafe extern "unadjusted" {
14054 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.ld1.nxv4i16")]
14055 fn _svld1sh_s32(pg: svbool4_t, base: *const i16) -> nxv4i16;
14056 }
14057 crate::intrinsics::simd::simd_cast(_svld1sh_s32(pg.sve_into(), base))
14058}
14059#[doc = "Load 8-bit data and sign-extend"]
14060#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1sb_s64)"]
14061#[doc = "## Safety"]
14062#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
14063#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
14064#[inline]
14065#[target_feature(enable = "sve")]
14066#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
14067#[cfg_attr(test, assert_instr(ld1sb))]
14068pub unsafe fn svld1sb_s64(pg: svbool_t, base: *const i8) -> svint64_t {
14069 unsafe extern "unadjusted" {
14070 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.ld1.nxv2i8")]
14071 fn _svld1sb_s64(pg: svbool2_t, base: *const i8) -> nxv2i8;
14072 }
14073 crate::intrinsics::simd::simd_cast(_svld1sb_s64(pg.sve_into(), base))
14074}
14075#[doc = "Load 16-bit data and sign-extend"]
14076#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1sh_s64)"]
14077#[doc = "## Safety"]
14078#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
14079#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
14080#[inline]
14081#[target_feature(enable = "sve")]
14082#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
14083#[cfg_attr(test, assert_instr(ld1sh))]
14084pub unsafe fn svld1sh_s64(pg: svbool_t, base: *const i16) -> svint64_t {
14085 unsafe extern "unadjusted" {
14086 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.ld1.nxv2i16")]
14087 fn _svld1sh_s64(pg: svbool2_t, base: *const i16) -> nxv2i16;
14088 }
14089 crate::intrinsics::simd::simd_cast(_svld1sh_s64(pg.sve_into(), base))
14090}
14091#[doc = "Load 32-bit data and sign-extend"]
14092#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1sw_s64)"]
14093#[doc = "## Safety"]
14094#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
14095#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
14096#[inline]
14097#[target_feature(enable = "sve")]
14098#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
14099#[cfg_attr(test, assert_instr(ld1sw))]
14100pub unsafe fn svld1sw_s64(pg: svbool_t, base: *const i32) -> svint64_t {
14101 unsafe extern "unadjusted" {
14102 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.ld1.nxv2i32")]
14103 fn _svld1sw_s64(pg: svbool2_t, base: *const i32) -> nxv2i32;
14104 }
14105 crate::intrinsics::simd::simd_cast(_svld1sw_s64(pg.sve_into(), base))
14106}
14107#[doc = "Load 8-bit data and sign-extend"]
14108#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1sb_u16)"]
14109#[doc = "## Safety"]
14110#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
14111#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
14112#[inline]
14113#[target_feature(enable = "sve")]
14114#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
14115#[cfg_attr(test, assert_instr(ld1sb))]
14116pub unsafe fn svld1sb_u16(pg: svbool_t, base: *const i8) -> svuint16_t {
14117 svld1sb_s16(pg, base).as_unsigned()
14118}
14119#[doc = "Load 8-bit data and sign-extend"]
14120#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1sb_u32)"]
14121#[doc = "## Safety"]
14122#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
14123#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
14124#[inline]
14125#[target_feature(enable = "sve")]
14126#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
14127#[cfg_attr(test, assert_instr(ld1sb))]
14128pub unsafe fn svld1sb_u32(pg: svbool_t, base: *const i8) -> svuint32_t {
14129 svld1sb_s32(pg, base).as_unsigned()
14130}
14131#[doc = "Load 16-bit data and sign-extend"]
14132#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1sh_u32)"]
14133#[doc = "## Safety"]
14134#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
14135#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
14136#[inline]
14137#[target_feature(enable = "sve")]
14138#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
14139#[cfg_attr(test, assert_instr(ld1sh))]
14140pub unsafe fn svld1sh_u32(pg: svbool_t, base: *const i16) -> svuint32_t {
14141 svld1sh_s32(pg, base).as_unsigned()
14142}
14143#[doc = "Load 8-bit data and sign-extend"]
14144#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1sb_u64)"]
14145#[doc = "## Safety"]
14146#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
14147#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
14148#[inline]
14149#[target_feature(enable = "sve")]
14150#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
14151#[cfg_attr(test, assert_instr(ld1sb))]
14152pub unsafe fn svld1sb_u64(pg: svbool_t, base: *const i8) -> svuint64_t {
14153 svld1sb_s64(pg, base).as_unsigned()
14154}
14155#[doc = "Load 16-bit data and sign-extend"]
14156#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1sh_u64)"]
14157#[doc = "## Safety"]
14158#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
14159#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
14160#[inline]
14161#[target_feature(enable = "sve")]
14162#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
14163#[cfg_attr(test, assert_instr(ld1sh))]
14164pub unsafe fn svld1sh_u64(pg: svbool_t, base: *const i16) -> svuint64_t {
14165 svld1sh_s64(pg, base).as_unsigned()
14166}
14167#[doc = "Load 32-bit data and sign-extend"]
14168#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1sw_u64)"]
14169#[doc = "## Safety"]
14170#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
14171#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
14172#[inline]
14173#[target_feature(enable = "sve")]
14174#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
14175#[cfg_attr(test, assert_instr(ld1sw))]
14176pub unsafe fn svld1sw_u64(pg: svbool_t, base: *const i32) -> svuint64_t {
14177 svld1sw_s64(pg, base).as_unsigned()
14178}
14179#[doc = "Load 8-bit data and sign-extend"]
14180#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1sb_vnum_s16)"]
14181#[doc = "## Safety"]
14182#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`). In particular, note that `vnum` is scaled by the vector length, `VL`, which is not known at compile time."]
14183#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
14184#[inline]
14185#[target_feature(enable = "sve")]
14186#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
14187#[cfg_attr(test, assert_instr(ld1sb))]
14188pub unsafe fn svld1sb_vnum_s16(pg: svbool_t, base: *const i8, vnum: i64) -> svint16_t {
14189 svld1sb_s16(pg, base.offset(svcnth() as isize * vnum as isize))
14190}
14191#[doc = "Load 8-bit data and sign-extend"]
14192#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1sb_vnum_s32)"]
14193#[doc = "## Safety"]
14194#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`). In particular, note that `vnum` is scaled by the vector length, `VL`, which is not known at compile time."]
14195#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
14196#[inline]
14197#[target_feature(enable = "sve")]
14198#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
14199#[cfg_attr(test, assert_instr(ld1sb))]
14200pub unsafe fn svld1sb_vnum_s32(pg: svbool_t, base: *const i8, vnum: i64) -> svint32_t {
14201 svld1sb_s32(pg, base.offset(svcntw() as isize * vnum as isize))
14202}
14203#[doc = "Load 16-bit data and sign-extend"]
14204#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1sh_vnum_s32)"]
14205#[doc = "## Safety"]
14206#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`). In particular, note that `vnum` is scaled by the vector length, `VL`, which is not known at compile time."]
14207#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
14208#[inline]
14209#[target_feature(enable = "sve")]
14210#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
14211#[cfg_attr(test, assert_instr(ld1sh))]
14212pub unsafe fn svld1sh_vnum_s32(pg: svbool_t, base: *const i16, vnum: i64) -> svint32_t {
14213 svld1sh_s32(pg, base.offset(svcntw() as isize * vnum as isize))
14214}
14215#[doc = "Load 8-bit data and sign-extend"]
14216#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1sb_vnum_s64)"]
14217#[doc = "## Safety"]
14218#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`). In particular, note that `vnum` is scaled by the vector length, `VL`, which is not known at compile time."]
14219#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
14220#[inline]
14221#[target_feature(enable = "sve")]
14222#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
14223#[cfg_attr(test, assert_instr(ld1sb))]
14224pub unsafe fn svld1sb_vnum_s64(pg: svbool_t, base: *const i8, vnum: i64) -> svint64_t {
14225 svld1sb_s64(pg, base.offset(svcntd() as isize * vnum as isize))
14226}
14227#[doc = "Load 16-bit data and sign-extend"]
14228#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1sh_vnum_s64)"]
14229#[doc = "## Safety"]
14230#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`). In particular, note that `vnum` is scaled by the vector length, `VL`, which is not known at compile time."]
14231#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
14232#[inline]
14233#[target_feature(enable = "sve")]
14234#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
14235#[cfg_attr(test, assert_instr(ld1sh))]
14236pub unsafe fn svld1sh_vnum_s64(pg: svbool_t, base: *const i16, vnum: i64) -> svint64_t {
14237 svld1sh_s64(pg, base.offset(svcntd() as isize * vnum as isize))
14238}
14239#[doc = "Load 32-bit data and sign-extend"]
14240#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1sw_vnum_s64)"]
14241#[doc = "## Safety"]
14242#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`). In particular, note that `vnum` is scaled by the vector length, `VL`, which is not known at compile time."]
14243#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
14244#[inline]
14245#[target_feature(enable = "sve")]
14246#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
14247#[cfg_attr(test, assert_instr(ld1sw))]
14248pub unsafe fn svld1sw_vnum_s64(pg: svbool_t, base: *const i32, vnum: i64) -> svint64_t {
14249 svld1sw_s64(pg, base.offset(svcntd() as isize * vnum as isize))
14250}
14251#[doc = "Load 8-bit data and sign-extend"]
14252#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1sb_vnum_u16)"]
14253#[doc = "## Safety"]
14254#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`). In particular, note that `vnum` is scaled by the vector length, `VL`, which is not known at compile time."]
14255#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
14256#[inline]
14257#[target_feature(enable = "sve")]
14258#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
14259#[cfg_attr(test, assert_instr(ld1sb))]
14260pub unsafe fn svld1sb_vnum_u16(pg: svbool_t, base: *const i8, vnum: i64) -> svuint16_t {
14261 svld1sb_u16(pg, base.offset(svcnth() as isize * vnum as isize))
14262}
14263#[doc = "Load 8-bit data and sign-extend"]
14264#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1sb_vnum_u32)"]
14265#[doc = "## Safety"]
14266#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`). In particular, note that `vnum` is scaled by the vector length, `VL`, which is not known at compile time."]
14267#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
14268#[inline]
14269#[target_feature(enable = "sve")]
14270#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
14271#[cfg_attr(test, assert_instr(ld1sb))]
14272pub unsafe fn svld1sb_vnum_u32(pg: svbool_t, base: *const i8, vnum: i64) -> svuint32_t {
14273 svld1sb_u32(pg, base.offset(svcntw() as isize * vnum as isize))
14274}
14275#[doc = "Load 16-bit data and sign-extend"]
14276#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1sh_vnum_u32)"]
14277#[doc = "## Safety"]
14278#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`). In particular, note that `vnum` is scaled by the vector length, `VL`, which is not known at compile time."]
14279#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
14280#[inline]
14281#[target_feature(enable = "sve")]
14282#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
14283#[cfg_attr(test, assert_instr(ld1sh))]
14284pub unsafe fn svld1sh_vnum_u32(pg: svbool_t, base: *const i16, vnum: i64) -> svuint32_t {
14285 svld1sh_u32(pg, base.offset(svcntw() as isize * vnum as isize))
14286}
14287#[doc = "Load 8-bit data and sign-extend"]
14288#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1sb_vnum_u64)"]
14289#[doc = "## Safety"]
14290#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`). In particular, note that `vnum` is scaled by the vector length, `VL`, which is not known at compile time."]
14291#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
14292#[inline]
14293#[target_feature(enable = "sve")]
14294#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
14295#[cfg_attr(test, assert_instr(ld1sb))]
14296pub unsafe fn svld1sb_vnum_u64(pg: svbool_t, base: *const i8, vnum: i64) -> svuint64_t {
14297 svld1sb_u64(pg, base.offset(svcntd() as isize * vnum as isize))
14298}
14299#[doc = "Load 16-bit data and sign-extend"]
14300#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1sh_vnum_u64)"]
14301#[doc = "## Safety"]
14302#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`). In particular, note that `vnum` is scaled by the vector length, `VL`, which is not known at compile time."]
14303#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
14304#[inline]
14305#[target_feature(enable = "sve")]
14306#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
14307#[cfg_attr(test, assert_instr(ld1sh))]
14308pub unsafe fn svld1sh_vnum_u64(pg: svbool_t, base: *const i16, vnum: i64) -> svuint64_t {
14309 svld1sh_u64(pg, base.offset(svcntd() as isize * vnum as isize))
14310}
14311#[doc = "Load 32-bit data and sign-extend"]
14312#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1sw_vnum_u64)"]
14313#[doc = "## Safety"]
14314#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`). In particular, note that `vnum` is scaled by the vector length, `VL`, which is not known at compile time."]
14315#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
14316#[inline]
14317#[target_feature(enable = "sve")]
14318#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
14319#[cfg_attr(test, assert_instr(ld1sw))]
14320pub unsafe fn svld1sw_vnum_u64(pg: svbool_t, base: *const i32, vnum: i64) -> svuint64_t {
14321 svld1sw_u64(pg, base.offset(svcntd() as isize * vnum as isize))
14322}
14323#[doc = "Load 16-bit data and sign-extend"]
14324#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1sh_gather_[s32]index_s32)"]
14325#[doc = "## Safety"]
14326#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
14327#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
14328#[inline]
14329#[target_feature(enable = "sve")]
14330#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
14331#[cfg_attr(test, assert_instr(ld1sh))]
14332pub unsafe fn svld1sh_gather_s32index_s32(
14333 pg: svbool_t,
14334 base: *const i16,
14335 indices: svint32_t,
14336) -> svint32_t {
14337 unsafe extern "unadjusted" {
14338 #[cfg_attr(
14339 target_arch = "aarch64",
14340 link_name = "llvm.aarch64.sve.ld1.gather.sxtw.index.nxv4i16"
14341 )]
14342 fn _svld1sh_gather_s32index_s32(
14343 pg: svbool4_t,
14344 base: *const i16,
14345 indices: svint32_t,
14346 ) -> nxv4i16;
14347 }
14348 crate::intrinsics::simd::simd_cast(_svld1sh_gather_s32index_s32(pg.sve_into(), base, indices))
14349}
14350#[doc = "Load 16-bit data and sign-extend"]
14351#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1sh_gather_[s32]index_u32)"]
14352#[doc = "## Safety"]
14353#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
14354#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
14355#[inline]
14356#[target_feature(enable = "sve")]
14357#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
14358#[cfg_attr(test, assert_instr(ld1sh))]
14359pub unsafe fn svld1sh_gather_s32index_u32(
14360 pg: svbool_t,
14361 base: *const i16,
14362 indices: svint32_t,
14363) -> svuint32_t {
14364 svld1sh_gather_s32index_s32(pg, base, indices).as_unsigned()
14365}
14366#[doc = "Load 16-bit data and sign-extend"]
14367#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1sh_gather_[s64]index_s64)"]
14368#[doc = "## Safety"]
14369#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
14370#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
14371#[inline]
14372#[target_feature(enable = "sve")]
14373#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
14374#[cfg_attr(test, assert_instr(ld1sh))]
14375pub unsafe fn svld1sh_gather_s64index_s64(
14376 pg: svbool_t,
14377 base: *const i16,
14378 indices: svint64_t,
14379) -> svint64_t {
14380 unsafe extern "unadjusted" {
14381 #[cfg_attr(
14382 target_arch = "aarch64",
14383 link_name = "llvm.aarch64.sve.ld1.gather.index.nxv2i16"
14384 )]
14385 fn _svld1sh_gather_s64index_s64(
14386 pg: svbool2_t,
14387 base: *const i16,
14388 indices: svint64_t,
14389 ) -> nxv2i16;
14390 }
14391 crate::intrinsics::simd::simd_cast(_svld1sh_gather_s64index_s64(pg.sve_into(), base, indices))
14392}
14393#[doc = "Load 32-bit data and sign-extend"]
14394#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1sw_gather_[s64]index_s64)"]
14395#[doc = "## Safety"]
14396#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
14397#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
14398#[inline]
14399#[target_feature(enable = "sve")]
14400#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
14401#[cfg_attr(test, assert_instr(ld1sw))]
14402pub unsafe fn svld1sw_gather_s64index_s64(
14403 pg: svbool_t,
14404 base: *const i32,
14405 indices: svint64_t,
14406) -> svint64_t {
14407 unsafe extern "unadjusted" {
14408 #[cfg_attr(
14409 target_arch = "aarch64",
14410 link_name = "llvm.aarch64.sve.ld1.gather.index.nxv2i32"
14411 )]
14412 fn _svld1sw_gather_s64index_s64(
14413 pg: svbool2_t,
14414 base: *const i32,
14415 indices: svint64_t,
14416 ) -> nxv2i32;
14417 }
14418 crate::intrinsics::simd::simd_cast(_svld1sw_gather_s64index_s64(pg.sve_into(), base, indices))
14419}
14420#[doc = "Load 16-bit data and sign-extend"]
14421#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1sh_gather_[s64]index_u64)"]
14422#[doc = "## Safety"]
14423#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
14424#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
14425#[inline]
14426#[target_feature(enable = "sve")]
14427#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
14428#[cfg_attr(test, assert_instr(ld1sh))]
14429pub unsafe fn svld1sh_gather_s64index_u64(
14430 pg: svbool_t,
14431 base: *const i16,
14432 indices: svint64_t,
14433) -> svuint64_t {
14434 svld1sh_gather_s64index_s64(pg, base, indices).as_unsigned()
14435}
14436#[doc = "Load 32-bit data and sign-extend"]
14437#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1sw_gather_[s64]index_u64)"]
14438#[doc = "## Safety"]
14439#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
14440#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
14441#[inline]
14442#[target_feature(enable = "sve")]
14443#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
14444#[cfg_attr(test, assert_instr(ld1sw))]
14445pub unsafe fn svld1sw_gather_s64index_u64(
14446 pg: svbool_t,
14447 base: *const i32,
14448 indices: svint64_t,
14449) -> svuint64_t {
14450 svld1sw_gather_s64index_s64(pg, base, indices).as_unsigned()
14451}
14452#[doc = "Load 16-bit data and sign-extend"]
14453#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1sh_gather_[u32]index_s32)"]
14454#[doc = "## Safety"]
14455#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
14456#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
14457#[inline]
14458#[target_feature(enable = "sve")]
14459#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
14460#[cfg_attr(test, assert_instr(ld1sh))]
14461pub unsafe fn svld1sh_gather_u32index_s32(
14462 pg: svbool_t,
14463 base: *const i16,
14464 indices: svuint32_t,
14465) -> svint32_t {
14466 unsafe extern "unadjusted" {
14467 #[cfg_attr(
14468 target_arch = "aarch64",
14469 link_name = "llvm.aarch64.sve.ld1.gather.uxtw.index.nxv4i16"
14470 )]
14471 fn _svld1sh_gather_u32index_s32(
14472 pg: svbool4_t,
14473 base: *const i16,
14474 indices: svint32_t,
14475 ) -> nxv4i16;
14476 }
14477 crate::intrinsics::simd::simd_cast(_svld1sh_gather_u32index_s32(
14478 pg.sve_into(),
14479 base,
14480 indices.as_signed(),
14481 ))
14482}
14483#[doc = "Load 16-bit data and sign-extend"]
14484#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1sh_gather_[u32]index_u32)"]
14485#[doc = "## Safety"]
14486#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
14487#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
14488#[inline]
14489#[target_feature(enable = "sve")]
14490#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
14491#[cfg_attr(test, assert_instr(ld1sh))]
14492pub unsafe fn svld1sh_gather_u32index_u32(
14493 pg: svbool_t,
14494 base: *const i16,
14495 indices: svuint32_t,
14496) -> svuint32_t {
14497 svld1sh_gather_u32index_s32(pg, base, indices).as_unsigned()
14498}
14499#[doc = "Load 16-bit data and sign-extend"]
14500#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1sh_gather_[u64]index_s64)"]
14501#[doc = "## Safety"]
14502#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
14503#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
14504#[inline]
14505#[target_feature(enable = "sve")]
14506#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
14507#[cfg_attr(test, assert_instr(ld1sh))]
14508pub unsafe fn svld1sh_gather_u64index_s64(
14509 pg: svbool_t,
14510 base: *const i16,
14511 indices: svuint64_t,
14512) -> svint64_t {
14513 svld1sh_gather_s64index_s64(pg, base, indices.as_signed())
14514}
14515#[doc = "Load 32-bit data and sign-extend"]
14516#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1sw_gather_[u64]index_s64)"]
14517#[doc = "## Safety"]
14518#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
14519#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
14520#[inline]
14521#[target_feature(enable = "sve")]
14522#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
14523#[cfg_attr(test, assert_instr(ld1sw))]
14524pub unsafe fn svld1sw_gather_u64index_s64(
14525 pg: svbool_t,
14526 base: *const i32,
14527 indices: svuint64_t,
14528) -> svint64_t {
14529 svld1sw_gather_s64index_s64(pg, base, indices.as_signed())
14530}
14531#[doc = "Load 16-bit data and sign-extend"]
14532#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1sh_gather_[u64]index_u64)"]
14533#[doc = "## Safety"]
14534#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
14535#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
14536#[inline]
14537#[target_feature(enable = "sve")]
14538#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
14539#[cfg_attr(test, assert_instr(ld1sh))]
14540pub unsafe fn svld1sh_gather_u64index_u64(
14541 pg: svbool_t,
14542 base: *const i16,
14543 indices: svuint64_t,
14544) -> svuint64_t {
14545 svld1sh_gather_s64index_s64(pg, base, indices.as_signed()).as_unsigned()
14546}
14547#[doc = "Load 32-bit data and sign-extend"]
14548#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1sw_gather_[u64]index_u64)"]
14549#[doc = "## Safety"]
14550#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
14551#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
14552#[inline]
14553#[target_feature(enable = "sve")]
14554#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
14555#[cfg_attr(test, assert_instr(ld1sw))]
14556pub unsafe fn svld1sw_gather_u64index_u64(
14557 pg: svbool_t,
14558 base: *const i32,
14559 indices: svuint64_t,
14560) -> svuint64_t {
14561 svld1sw_gather_s64index_s64(pg, base, indices.as_signed()).as_unsigned()
14562}
14563#[doc = "Load 16-bit data and sign-extend"]
14564#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1sh_gather[_u32base]_index_s32)"]
14565#[doc = "## Safety"]
14566#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
14567#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
14568#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
14569#[inline]
14570#[target_feature(enable = "sve")]
14571#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
14572#[cfg_attr(test, assert_instr(ld1sh))]
14573pub unsafe fn svld1sh_gather_u32base_index_s32(
14574 pg: svbool_t,
14575 bases: svuint32_t,
14576 index: i64,
14577) -> svint32_t {
14578 svld1sh_gather_u32base_offset_s32(pg, bases, index.unchecked_shl(1))
14579}
14580#[doc = "Load 16-bit data and sign-extend"]
14581#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1sh_gather[_u32base]_index_u32)"]
14582#[doc = "## Safety"]
14583#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
14584#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
14585#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
14586#[inline]
14587#[target_feature(enable = "sve")]
14588#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
14589#[cfg_attr(test, assert_instr(ld1sh))]
14590pub unsafe fn svld1sh_gather_u32base_index_u32(
14591 pg: svbool_t,
14592 bases: svuint32_t,
14593 index: i64,
14594) -> svuint32_t {
14595 svld1sh_gather_u32base_offset_u32(pg, bases, index.unchecked_shl(1))
14596}
14597#[doc = "Load 16-bit data and sign-extend"]
14598#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1sh_gather[_u64base]_index_s64)"]
14599#[doc = "## Safety"]
14600#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
14601#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
14602#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
14603#[inline]
14604#[target_feature(enable = "sve")]
14605#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
14606#[cfg_attr(test, assert_instr(ld1sh))]
14607pub unsafe fn svld1sh_gather_u64base_index_s64(
14608 pg: svbool_t,
14609 bases: svuint64_t,
14610 index: i64,
14611) -> svint64_t {
14612 svld1sh_gather_u64base_offset_s64(pg, bases, index.unchecked_shl(1))
14613}
14614#[doc = "Load 32-bit data and sign-extend"]
14615#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1sw_gather[_u64base]_index_s64)"]
14616#[doc = "## Safety"]
14617#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
14618#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
14619#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
14620#[inline]
14621#[target_feature(enable = "sve")]
14622#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
14623#[cfg_attr(test, assert_instr(ld1sw))]
14624pub unsafe fn svld1sw_gather_u64base_index_s64(
14625 pg: svbool_t,
14626 bases: svuint64_t,
14627 index: i64,
14628) -> svint64_t {
14629 svld1sw_gather_u64base_offset_s64(pg, bases, index.unchecked_shl(2))
14630}
14631#[doc = "Load 16-bit data and sign-extend"]
14632#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1sh_gather[_u64base]_index_u64)"]
14633#[doc = "## Safety"]
14634#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
14635#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
14636#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
14637#[inline]
14638#[target_feature(enable = "sve")]
14639#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
14640#[cfg_attr(test, assert_instr(ld1sh))]
14641pub unsafe fn svld1sh_gather_u64base_index_u64(
14642 pg: svbool_t,
14643 bases: svuint64_t,
14644 index: i64,
14645) -> svuint64_t {
14646 svld1sh_gather_u64base_offset_u64(pg, bases, index.unchecked_shl(1))
14647}
14648#[doc = "Load 32-bit data and sign-extend"]
14649#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1sw_gather[_u64base]_index_u64)"]
14650#[doc = "## Safety"]
14651#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
14652#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
14653#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
14654#[inline]
14655#[target_feature(enable = "sve")]
14656#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
14657#[cfg_attr(test, assert_instr(ld1sw))]
14658pub unsafe fn svld1sw_gather_u64base_index_u64(
14659 pg: svbool_t,
14660 bases: svuint64_t,
14661 index: i64,
14662) -> svuint64_t {
14663 svld1sw_gather_u64base_offset_u64(pg, bases, index.unchecked_shl(2))
14664}
14665#[doc = "Load 8-bit data and zero-extend"]
14666#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1ub_gather_[s32]offset_s32)"]
14667#[doc = "## Safety"]
14668#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
14669#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
14670#[inline]
14671#[target_feature(enable = "sve")]
14672#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
14673#[cfg_attr(test, assert_instr(ld1b))]
14674pub unsafe fn svld1ub_gather_s32offset_s32(
14675 pg: svbool_t,
14676 base: *const u8,
14677 offsets: svint32_t,
14678) -> svint32_t {
14679 svld1ub_gather_s32offset_u32(pg, base, offsets).as_signed()
14680}
14681#[doc = "Load 16-bit data and zero-extend"]
14682#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1uh_gather_[s32]offset_s32)"]
14683#[doc = "## Safety"]
14684#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
14685#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
14686#[inline]
14687#[target_feature(enable = "sve")]
14688#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
14689#[cfg_attr(test, assert_instr(ld1h))]
14690pub unsafe fn svld1uh_gather_s32offset_s32(
14691 pg: svbool_t,
14692 base: *const u16,
14693 offsets: svint32_t,
14694) -> svint32_t {
14695 svld1uh_gather_s32offset_u32(pg, base, offsets).as_signed()
14696}
14697#[doc = "Load 8-bit data and zero-extend"]
14698#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1ub_gather_[s32]offset_u32)"]
14699#[doc = "## Safety"]
14700#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
14701#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
14702#[inline]
14703#[target_feature(enable = "sve")]
14704#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
14705#[cfg_attr(test, assert_instr(ld1b))]
14706pub unsafe fn svld1ub_gather_s32offset_u32(
14707 pg: svbool_t,
14708 base: *const u8,
14709 offsets: svint32_t,
14710) -> svuint32_t {
14711 unsafe extern "unadjusted" {
14712 #[cfg_attr(
14713 target_arch = "aarch64",
14714 link_name = "llvm.aarch64.sve.ld1.gather.sxtw.nxv4i8"
14715 )]
14716 fn _svld1ub_gather_s32offset_u32(
14717 pg: svbool4_t,
14718 base: *const i8,
14719 offsets: svint32_t,
14720 ) -> nxv4i8;
14721 }
14722 crate::intrinsics::simd::simd_cast::<nxv4u8, _>(
14723 _svld1ub_gather_s32offset_u32(pg.sve_into(), base.as_signed(), offsets).as_unsigned(),
14724 )
14725}
14726#[doc = "Load 16-bit data and zero-extend"]
14727#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1uh_gather_[s32]offset_u32)"]
14728#[doc = "## Safety"]
14729#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
14730#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
14731#[inline]
14732#[target_feature(enable = "sve")]
14733#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
14734#[cfg_attr(test, assert_instr(ld1h))]
14735pub unsafe fn svld1uh_gather_s32offset_u32(
14736 pg: svbool_t,
14737 base: *const u16,
14738 offsets: svint32_t,
14739) -> svuint32_t {
14740 unsafe extern "unadjusted" {
14741 #[cfg_attr(
14742 target_arch = "aarch64",
14743 link_name = "llvm.aarch64.sve.ld1.gather.sxtw.nxv4i16"
14744 )]
14745 fn _svld1uh_gather_s32offset_u32(
14746 pg: svbool4_t,
14747 base: *const i16,
14748 offsets: svint32_t,
14749 ) -> nxv4i16;
14750 }
14751 crate::intrinsics::simd::simd_cast::<nxv4u16, _>(
14752 _svld1uh_gather_s32offset_u32(pg.sve_into(), base.as_signed(), offsets).as_unsigned(),
14753 )
14754}
14755#[doc = "Load 8-bit data and zero-extend"]
14756#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1ub_gather_[s64]offset_s64)"]
14757#[doc = "## Safety"]
14758#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
14759#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
14760#[inline]
14761#[target_feature(enable = "sve")]
14762#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
14763#[cfg_attr(test, assert_instr(ld1b))]
14764pub unsafe fn svld1ub_gather_s64offset_s64(
14765 pg: svbool_t,
14766 base: *const u8,
14767 offsets: svint64_t,
14768) -> svint64_t {
14769 svld1ub_gather_s64offset_u64(pg, base, offsets).as_signed()
14770}
14771#[doc = "Load 16-bit data and zero-extend"]
14772#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1uh_gather_[s64]offset_s64)"]
14773#[doc = "## Safety"]
14774#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
14775#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
14776#[inline]
14777#[target_feature(enable = "sve")]
14778#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
14779#[cfg_attr(test, assert_instr(ld1h))]
14780pub unsafe fn svld1uh_gather_s64offset_s64(
14781 pg: svbool_t,
14782 base: *const u16,
14783 offsets: svint64_t,
14784) -> svint64_t {
14785 svld1uh_gather_s64offset_u64(pg, base, offsets).as_signed()
14786}
14787#[doc = "Load 32-bit data and zero-extend"]
14788#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1uw_gather_[s64]offset_s64)"]
14789#[doc = "## Safety"]
14790#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
14791#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
14792#[inline]
14793#[target_feature(enable = "sve")]
14794#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
14795#[cfg_attr(test, assert_instr(ld1w))]
14796pub unsafe fn svld1uw_gather_s64offset_s64(
14797 pg: svbool_t,
14798 base: *const u32,
14799 offsets: svint64_t,
14800) -> svint64_t {
14801 svld1uw_gather_s64offset_u64(pg, base, offsets).as_signed()
14802}
14803#[doc = "Load 8-bit data and zero-extend"]
14804#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1ub_gather_[s64]offset_u64)"]
14805#[doc = "## Safety"]
14806#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
14807#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
14808#[inline]
14809#[target_feature(enable = "sve")]
14810#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
14811#[cfg_attr(test, assert_instr(ld1b))]
14812pub unsafe fn svld1ub_gather_s64offset_u64(
14813 pg: svbool_t,
14814 base: *const u8,
14815 offsets: svint64_t,
14816) -> svuint64_t {
14817 unsafe extern "unadjusted" {
14818 #[cfg_attr(
14819 target_arch = "aarch64",
14820 link_name = "llvm.aarch64.sve.ld1.gather.nxv2i8"
14821 )]
14822 fn _svld1ub_gather_s64offset_u64(
14823 pg: svbool2_t,
14824 base: *const i8,
14825 offsets: svint64_t,
14826 ) -> nxv2i8;
14827 }
14828 crate::intrinsics::simd::simd_cast::<nxv2u8, _>(
14829 _svld1ub_gather_s64offset_u64(pg.sve_into(), base.as_signed(), offsets).as_unsigned(),
14830 )
14831}
14832#[doc = "Load 16-bit data and zero-extend"]
14833#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1uh_gather_[s64]offset_u64)"]
14834#[doc = "## Safety"]
14835#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
14836#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
14837#[inline]
14838#[target_feature(enable = "sve")]
14839#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
14840#[cfg_attr(test, assert_instr(ld1h))]
14841pub unsafe fn svld1uh_gather_s64offset_u64(
14842 pg: svbool_t,
14843 base: *const u16,
14844 offsets: svint64_t,
14845) -> svuint64_t {
14846 unsafe extern "unadjusted" {
14847 #[cfg_attr(
14848 target_arch = "aarch64",
14849 link_name = "llvm.aarch64.sve.ld1.gather.nxv2i16"
14850 )]
14851 fn _svld1uh_gather_s64offset_u64(
14852 pg: svbool2_t,
14853 base: *const i16,
14854 offsets: svint64_t,
14855 ) -> nxv2i16;
14856 }
14857 crate::intrinsics::simd::simd_cast::<nxv2u16, _>(
14858 _svld1uh_gather_s64offset_u64(pg.sve_into(), base.as_signed(), offsets).as_unsigned(),
14859 )
14860}
14861#[doc = "Load 32-bit data and zero-extend"]
14862#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1uw_gather_[s64]offset_u64)"]
14863#[doc = "## Safety"]
14864#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
14865#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
14866#[inline]
14867#[target_feature(enable = "sve")]
14868#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
14869#[cfg_attr(test, assert_instr(ld1w))]
14870pub unsafe fn svld1uw_gather_s64offset_u64(
14871 pg: svbool_t,
14872 base: *const u32,
14873 offsets: svint64_t,
14874) -> svuint64_t {
14875 unsafe extern "unadjusted" {
14876 #[cfg_attr(
14877 target_arch = "aarch64",
14878 link_name = "llvm.aarch64.sve.ld1.gather.nxv2i32"
14879 )]
14880 fn _svld1uw_gather_s64offset_u64(
14881 pg: svbool2_t,
14882 base: *const i32,
14883 offsets: svint64_t,
14884 ) -> nxv2i32;
14885 }
14886 crate::intrinsics::simd::simd_cast::<nxv2u32, _>(
14887 _svld1uw_gather_s64offset_u64(pg.sve_into(), base.as_signed(), offsets).as_unsigned(),
14888 )
14889}
14890#[doc = "Load 8-bit data and zero-extend"]
14891#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1ub_gather_[u32]offset_s32)"]
14892#[doc = "## Safety"]
14893#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
14894#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
14895#[inline]
14896#[target_feature(enable = "sve")]
14897#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
14898#[cfg_attr(test, assert_instr(ld1b))]
14899pub unsafe fn svld1ub_gather_u32offset_s32(
14900 pg: svbool_t,
14901 base: *const u8,
14902 offsets: svuint32_t,
14903) -> svint32_t {
14904 svld1ub_gather_u32offset_u32(pg, base, offsets).as_signed()
14905}
14906#[doc = "Load 16-bit data and zero-extend"]
14907#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1uh_gather_[u32]offset_s32)"]
14908#[doc = "## Safety"]
14909#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
14910#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
14911#[inline]
14912#[target_feature(enable = "sve")]
14913#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
14914#[cfg_attr(test, assert_instr(ld1h))]
14915pub unsafe fn svld1uh_gather_u32offset_s32(
14916 pg: svbool_t,
14917 base: *const u16,
14918 offsets: svuint32_t,
14919) -> svint32_t {
14920 svld1uh_gather_u32offset_u32(pg, base, offsets).as_signed()
14921}
14922#[doc = "Load 8-bit data and zero-extend"]
14923#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1ub_gather_[u32]offset_u32)"]
14924#[doc = "## Safety"]
14925#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
14926#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
14927#[inline]
14928#[target_feature(enable = "sve")]
14929#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
14930#[cfg_attr(test, assert_instr(ld1b))]
14931pub unsafe fn svld1ub_gather_u32offset_u32(
14932 pg: svbool_t,
14933 base: *const u8,
14934 offsets: svuint32_t,
14935) -> svuint32_t {
14936 unsafe extern "unadjusted" {
14937 #[cfg_attr(
14938 target_arch = "aarch64",
14939 link_name = "llvm.aarch64.sve.ld1.gather.uxtw.nxv4i8"
14940 )]
14941 fn _svld1ub_gather_u32offset_u32(
14942 pg: svbool4_t,
14943 base: *const i8,
14944 offsets: svint32_t,
14945 ) -> nxv4i8;
14946 }
14947 crate::intrinsics::simd::simd_cast::<nxv4u8, _>(
14948 _svld1ub_gather_u32offset_u32(pg.sve_into(), base.as_signed(), offsets.as_signed())
14949 .as_unsigned(),
14950 )
14951}
14952#[doc = "Load 16-bit data and zero-extend"]
14953#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1uh_gather_[u32]offset_u32)"]
14954#[doc = "## Safety"]
14955#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
14956#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
14957#[inline]
14958#[target_feature(enable = "sve")]
14959#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
14960#[cfg_attr(test, assert_instr(ld1h))]
14961pub unsafe fn svld1uh_gather_u32offset_u32(
14962 pg: svbool_t,
14963 base: *const u16,
14964 offsets: svuint32_t,
14965) -> svuint32_t {
14966 unsafe extern "unadjusted" {
14967 #[cfg_attr(
14968 target_arch = "aarch64",
14969 link_name = "llvm.aarch64.sve.ld1.gather.uxtw.nxv4i16"
14970 )]
14971 fn _svld1uh_gather_u32offset_u32(
14972 pg: svbool4_t,
14973 base: *const i16,
14974 offsets: svint32_t,
14975 ) -> nxv4i16;
14976 }
14977 crate::intrinsics::simd::simd_cast::<nxv4u16, _>(
14978 _svld1uh_gather_u32offset_u32(pg.sve_into(), base.as_signed(), offsets.as_signed())
14979 .as_unsigned(),
14980 )
14981}
14982#[doc = "Load 8-bit data and zero-extend"]
14983#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1ub_gather_[u64]offset_s64)"]
14984#[doc = "## Safety"]
14985#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
14986#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
14987#[inline]
14988#[target_feature(enable = "sve")]
14989#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
14990#[cfg_attr(test, assert_instr(ld1b))]
14991pub unsafe fn svld1ub_gather_u64offset_s64(
14992 pg: svbool_t,
14993 base: *const u8,
14994 offsets: svuint64_t,
14995) -> svint64_t {
14996 svld1ub_gather_s64offset_u64(pg, base, offsets.as_signed()).as_signed()
14997}
14998#[doc = "Load 16-bit data and zero-extend"]
14999#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1uh_gather_[u64]offset_s64)"]
15000#[doc = "## Safety"]
15001#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
15002#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
15003#[inline]
15004#[target_feature(enable = "sve")]
15005#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
15006#[cfg_attr(test, assert_instr(ld1h))]
15007pub unsafe fn svld1uh_gather_u64offset_s64(
15008 pg: svbool_t,
15009 base: *const u16,
15010 offsets: svuint64_t,
15011) -> svint64_t {
15012 svld1uh_gather_s64offset_u64(pg, base, offsets.as_signed()).as_signed()
15013}
15014#[doc = "Load 32-bit data and zero-extend"]
15015#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1uw_gather_[u64]offset_s64)"]
15016#[doc = "## Safety"]
15017#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
15018#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
15019#[inline]
15020#[target_feature(enable = "sve")]
15021#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
15022#[cfg_attr(test, assert_instr(ld1w))]
15023pub unsafe fn svld1uw_gather_u64offset_s64(
15024 pg: svbool_t,
15025 base: *const u32,
15026 offsets: svuint64_t,
15027) -> svint64_t {
15028 svld1uw_gather_s64offset_u64(pg, base, offsets.as_signed()).as_signed()
15029}
15030#[doc = "Load 8-bit data and zero-extend"]
15031#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1ub_gather_[u64]offset_u64)"]
15032#[doc = "## Safety"]
15033#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
15034#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
15035#[inline]
15036#[target_feature(enable = "sve")]
15037#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
15038#[cfg_attr(test, assert_instr(ld1b))]
15039pub unsafe fn svld1ub_gather_u64offset_u64(
15040 pg: svbool_t,
15041 base: *const u8,
15042 offsets: svuint64_t,
15043) -> svuint64_t {
15044 svld1ub_gather_s64offset_u64(pg, base, offsets.as_signed())
15045}
15046#[doc = "Load 16-bit data and zero-extend"]
15047#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1uh_gather_[u64]offset_u64)"]
15048#[doc = "## Safety"]
15049#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
15050#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
15051#[inline]
15052#[target_feature(enable = "sve")]
15053#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
15054#[cfg_attr(test, assert_instr(ld1h))]
15055pub unsafe fn svld1uh_gather_u64offset_u64(
15056 pg: svbool_t,
15057 base: *const u16,
15058 offsets: svuint64_t,
15059) -> svuint64_t {
15060 svld1uh_gather_s64offset_u64(pg, base, offsets.as_signed())
15061}
15062#[doc = "Load 32-bit data and zero-extend"]
15063#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1uw_gather_[u64]offset_u64)"]
15064#[doc = "## Safety"]
15065#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
15066#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
15067#[inline]
15068#[target_feature(enable = "sve")]
15069#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
15070#[cfg_attr(test, assert_instr(ld1w))]
15071pub unsafe fn svld1uw_gather_u64offset_u64(
15072 pg: svbool_t,
15073 base: *const u32,
15074 offsets: svuint64_t,
15075) -> svuint64_t {
15076 svld1uw_gather_s64offset_u64(pg, base, offsets.as_signed())
15077}
15078#[doc = "Load 8-bit data and zero-extend"]
15079#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1ub_gather[_u32base]_offset_s32)"]
15080#[doc = "## Safety"]
15081#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
15082#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
15083#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
15084#[inline]
15085#[target_feature(enable = "sve")]
15086#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
15087#[cfg_attr(test, assert_instr(ld1b))]
15088pub unsafe fn svld1ub_gather_u32base_offset_s32(
15089 pg: svbool_t,
15090 bases: svuint32_t,
15091 offset: i64,
15092) -> svint32_t {
15093 svld1ub_gather_u32base_offset_u32(pg, bases, offset).as_signed()
15094}
15095#[doc = "Load 16-bit data and zero-extend"]
15096#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1uh_gather[_u32base]_offset_s32)"]
15097#[doc = "## Safety"]
15098#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
15099#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
15100#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
15101#[inline]
15102#[target_feature(enable = "sve")]
15103#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
15104#[cfg_attr(test, assert_instr(ld1h))]
15105pub unsafe fn svld1uh_gather_u32base_offset_s32(
15106 pg: svbool_t,
15107 bases: svuint32_t,
15108 offset: i64,
15109) -> svint32_t {
15110 svld1uh_gather_u32base_offset_u32(pg, bases, offset).as_signed()
15111}
15112#[doc = "Load 8-bit data and zero-extend"]
15113#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1ub_gather[_u32base]_offset_u32)"]
15114#[doc = "## Safety"]
15115#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
15116#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
15117#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
15118#[inline]
15119#[target_feature(enable = "sve")]
15120#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
15121#[cfg_attr(test, assert_instr(ld1b))]
15122pub unsafe fn svld1ub_gather_u32base_offset_u32(
15123 pg: svbool_t,
15124 bases: svuint32_t,
15125 offset: i64,
15126) -> svuint32_t {
15127 unsafe extern "unadjusted" {
15128 #[cfg_attr(
15129 target_arch = "aarch64",
15130 link_name = "llvm.aarch64.sve.ld1.gather.scalar.offset.nxv4i8.nxv4i32"
15131 )]
15132 fn _svld1ub_gather_u32base_offset_u32(
15133 pg: svbool4_t,
15134 bases: svint32_t,
15135 offset: i64,
15136 ) -> nxv4i8;
15137 }
15138 crate::intrinsics::simd::simd_cast::<nxv4u8, _>(
15139 _svld1ub_gather_u32base_offset_u32(pg.sve_into(), bases.as_signed(), offset).as_unsigned(),
15140 )
15141}
15142#[doc = "Load 16-bit data and zero-extend"]
15143#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1uh_gather[_u32base]_offset_u32)"]
15144#[doc = "## Safety"]
15145#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
15146#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
15147#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
15148#[inline]
15149#[target_feature(enable = "sve")]
15150#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
15151#[cfg_attr(test, assert_instr(ld1h))]
15152pub unsafe fn svld1uh_gather_u32base_offset_u32(
15153 pg: svbool_t,
15154 bases: svuint32_t,
15155 offset: i64,
15156) -> svuint32_t {
15157 unsafe extern "unadjusted" {
15158 #[cfg_attr(
15159 target_arch = "aarch64",
15160 link_name = "llvm.aarch64.sve.ld1.gather.scalar.offset.nxv4i16.nxv4i32"
15161 )]
15162 fn _svld1uh_gather_u32base_offset_u32(
15163 pg: svbool4_t,
15164 bases: svint32_t,
15165 offset: i64,
15166 ) -> nxv4i16;
15167 }
15168 crate::intrinsics::simd::simd_cast::<nxv4u16, _>(
15169 _svld1uh_gather_u32base_offset_u32(pg.sve_into(), bases.as_signed(), offset).as_unsigned(),
15170 )
15171}
15172#[doc = "Load 8-bit data and zero-extend"]
15173#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1ub_gather[_u64base]_offset_s64)"]
15174#[doc = "## Safety"]
15175#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
15176#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
15177#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
15178#[inline]
15179#[target_feature(enable = "sve")]
15180#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
15181#[cfg_attr(test, assert_instr(ld1b))]
15182pub unsafe fn svld1ub_gather_u64base_offset_s64(
15183 pg: svbool_t,
15184 bases: svuint64_t,
15185 offset: i64,
15186) -> svint64_t {
15187 svld1ub_gather_u64base_offset_u64(pg, bases, offset).as_signed()
15188}
15189#[doc = "Load 16-bit data and zero-extend"]
15190#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1uh_gather[_u64base]_offset_s64)"]
15191#[doc = "## Safety"]
15192#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
15193#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
15194#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
15195#[inline]
15196#[target_feature(enable = "sve")]
15197#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
15198#[cfg_attr(test, assert_instr(ld1h))]
15199pub unsafe fn svld1uh_gather_u64base_offset_s64(
15200 pg: svbool_t,
15201 bases: svuint64_t,
15202 offset: i64,
15203) -> svint64_t {
15204 svld1uh_gather_u64base_offset_u64(pg, bases, offset).as_signed()
15205}
15206#[doc = "Load 32-bit data and zero-extend"]
15207#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1uw_gather[_u64base]_offset_s64)"]
15208#[doc = "## Safety"]
15209#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
15210#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
15211#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
15212#[inline]
15213#[target_feature(enable = "sve")]
15214#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
15215#[cfg_attr(test, assert_instr(ld1w))]
15216pub unsafe fn svld1uw_gather_u64base_offset_s64(
15217 pg: svbool_t,
15218 bases: svuint64_t,
15219 offset: i64,
15220) -> svint64_t {
15221 svld1uw_gather_u64base_offset_u64(pg, bases, offset).as_signed()
15222}
15223#[doc = "Load 8-bit data and zero-extend"]
15224#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1ub_gather[_u64base]_offset_u64)"]
15225#[doc = "## Safety"]
15226#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
15227#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
15228#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
15229#[inline]
15230#[target_feature(enable = "sve")]
15231#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
15232#[cfg_attr(test, assert_instr(ld1b))]
15233pub unsafe fn svld1ub_gather_u64base_offset_u64(
15234 pg: svbool_t,
15235 bases: svuint64_t,
15236 offset: i64,
15237) -> svuint64_t {
15238 unsafe extern "unadjusted" {
15239 #[cfg_attr(
15240 target_arch = "aarch64",
15241 link_name = "llvm.aarch64.sve.ld1.gather.scalar.offset.nxv2i8.nxv2i64"
15242 )]
15243 fn _svld1ub_gather_u64base_offset_u64(
15244 pg: svbool2_t,
15245 bases: svint64_t,
15246 offset: i64,
15247 ) -> nxv2i8;
15248 }
15249 crate::intrinsics::simd::simd_cast::<nxv2u8, _>(
15250 _svld1ub_gather_u64base_offset_u64(pg.sve_into(), bases.as_signed(), offset).as_unsigned(),
15251 )
15252}
15253#[doc = "Load 16-bit data and zero-extend"]
15254#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1uh_gather[_u64base]_offset_u64)"]
15255#[doc = "## Safety"]
15256#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
15257#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
15258#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
15259#[inline]
15260#[target_feature(enable = "sve")]
15261#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
15262#[cfg_attr(test, assert_instr(ld1h))]
15263pub unsafe fn svld1uh_gather_u64base_offset_u64(
15264 pg: svbool_t,
15265 bases: svuint64_t,
15266 offset: i64,
15267) -> svuint64_t {
15268 unsafe extern "unadjusted" {
15269 #[cfg_attr(
15270 target_arch = "aarch64",
15271 link_name = "llvm.aarch64.sve.ld1.gather.scalar.offset.nxv2i16.nxv2i64"
15272 )]
15273 fn _svld1uh_gather_u64base_offset_u64(
15274 pg: svbool2_t,
15275 bases: svint64_t,
15276 offset: i64,
15277 ) -> nxv2i16;
15278 }
15279 crate::intrinsics::simd::simd_cast::<nxv2u16, _>(
15280 _svld1uh_gather_u64base_offset_u64(pg.sve_into(), bases.as_signed(), offset).as_unsigned(),
15281 )
15282}
15283#[doc = "Load 32-bit data and zero-extend"]
15284#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1uw_gather[_u64base]_offset_u64)"]
15285#[doc = "## Safety"]
15286#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
15287#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
15288#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
15289#[inline]
15290#[target_feature(enable = "sve")]
15291#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
15292#[cfg_attr(test, assert_instr(ld1w))]
15293pub unsafe fn svld1uw_gather_u64base_offset_u64(
15294 pg: svbool_t,
15295 bases: svuint64_t,
15296 offset: i64,
15297) -> svuint64_t {
15298 unsafe extern "unadjusted" {
15299 #[cfg_attr(
15300 target_arch = "aarch64",
15301 link_name = "llvm.aarch64.sve.ld1.gather.scalar.offset.nxv2i32.nxv2i64"
15302 )]
15303 fn _svld1uw_gather_u64base_offset_u64(
15304 pg: svbool2_t,
15305 bases: svint64_t,
15306 offset: i64,
15307 ) -> nxv2i32;
15308 }
15309 crate::intrinsics::simd::simd_cast::<nxv2u32, _>(
15310 _svld1uw_gather_u64base_offset_u64(pg.sve_into(), bases.as_signed(), offset).as_unsigned(),
15311 )
15312}
15313#[doc = "Load 8-bit data and zero-extend"]
15314#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1ub_gather[_u32base]_s32)"]
15315#[doc = "## Safety"]
15316#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
15317#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
15318#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
15319#[inline]
15320#[target_feature(enable = "sve")]
15321#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
15322#[cfg_attr(test, assert_instr(ld1b))]
15323pub unsafe fn svld1ub_gather_u32base_s32(pg: svbool_t, bases: svuint32_t) -> svint32_t {
15324 svld1ub_gather_u32base_offset_s32(pg, bases, 0)
15325}
15326#[doc = "Load 16-bit data and zero-extend"]
15327#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1uh_gather[_u32base]_s32)"]
15328#[doc = "## Safety"]
15329#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
15330#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
15331#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
15332#[inline]
15333#[target_feature(enable = "sve")]
15334#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
15335#[cfg_attr(test, assert_instr(ld1h))]
15336pub unsafe fn svld1uh_gather_u32base_s32(pg: svbool_t, bases: svuint32_t) -> svint32_t {
15337 svld1uh_gather_u32base_offset_s32(pg, bases, 0)
15338}
15339#[doc = "Load 8-bit data and zero-extend"]
15340#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1ub_gather[_u32base]_u32)"]
15341#[doc = "## Safety"]
15342#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
15343#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
15344#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
15345#[inline]
15346#[target_feature(enable = "sve")]
15347#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
15348#[cfg_attr(test, assert_instr(ld1b))]
15349pub unsafe fn svld1ub_gather_u32base_u32(pg: svbool_t, bases: svuint32_t) -> svuint32_t {
15350 svld1ub_gather_u32base_offset_u32(pg, bases, 0)
15351}
15352#[doc = "Load 16-bit data and zero-extend"]
15353#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1uh_gather[_u32base]_u32)"]
15354#[doc = "## Safety"]
15355#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
15356#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
15357#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
15358#[inline]
15359#[target_feature(enable = "sve")]
15360#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
15361#[cfg_attr(test, assert_instr(ld1h))]
15362pub unsafe fn svld1uh_gather_u32base_u32(pg: svbool_t, bases: svuint32_t) -> svuint32_t {
15363 svld1uh_gather_u32base_offset_u32(pg, bases, 0)
15364}
15365#[doc = "Load 8-bit data and zero-extend"]
15366#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1ub_gather[_u64base]_s64)"]
15367#[doc = "## Safety"]
15368#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
15369#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
15370#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
15371#[inline]
15372#[target_feature(enable = "sve")]
15373#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
15374#[cfg_attr(test, assert_instr(ld1b))]
15375pub unsafe fn svld1ub_gather_u64base_s64(pg: svbool_t, bases: svuint64_t) -> svint64_t {
15376 svld1ub_gather_u64base_offset_s64(pg, bases, 0)
15377}
15378#[doc = "Load 16-bit data and zero-extend"]
15379#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1uh_gather[_u64base]_s64)"]
15380#[doc = "## Safety"]
15381#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
15382#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
15383#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
15384#[inline]
15385#[target_feature(enable = "sve")]
15386#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
15387#[cfg_attr(test, assert_instr(ld1h))]
15388pub unsafe fn svld1uh_gather_u64base_s64(pg: svbool_t, bases: svuint64_t) -> svint64_t {
15389 svld1uh_gather_u64base_offset_s64(pg, bases, 0)
15390}
15391#[doc = "Load 32-bit data and zero-extend"]
15392#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1uw_gather[_u64base]_s64)"]
15393#[doc = "## Safety"]
15394#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
15395#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
15396#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
15397#[inline]
15398#[target_feature(enable = "sve")]
15399#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
15400#[cfg_attr(test, assert_instr(ld1w))]
15401pub unsafe fn svld1uw_gather_u64base_s64(pg: svbool_t, bases: svuint64_t) -> svint64_t {
15402 svld1uw_gather_u64base_offset_s64(pg, bases, 0)
15403}
15404#[doc = "Load 8-bit data and zero-extend"]
15405#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1ub_gather[_u64base]_u64)"]
15406#[doc = "## Safety"]
15407#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
15408#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
15409#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
15410#[inline]
15411#[target_feature(enable = "sve")]
15412#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
15413#[cfg_attr(test, assert_instr(ld1b))]
15414pub unsafe fn svld1ub_gather_u64base_u64(pg: svbool_t, bases: svuint64_t) -> svuint64_t {
15415 svld1ub_gather_u64base_offset_u64(pg, bases, 0)
15416}
15417#[doc = "Load 16-bit data and zero-extend"]
15418#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1uh_gather[_u64base]_u64)"]
15419#[doc = "## Safety"]
15420#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
15421#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
15422#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
15423#[inline]
15424#[target_feature(enable = "sve")]
15425#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
15426#[cfg_attr(test, assert_instr(ld1h))]
15427pub unsafe fn svld1uh_gather_u64base_u64(pg: svbool_t, bases: svuint64_t) -> svuint64_t {
15428 svld1uh_gather_u64base_offset_u64(pg, bases, 0)
15429}
15430#[doc = "Load 32-bit data and zero-extend"]
15431#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1uw_gather[_u64base]_u64)"]
15432#[doc = "## Safety"]
15433#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
15434#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
15435#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
15436#[inline]
15437#[target_feature(enable = "sve")]
15438#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
15439#[cfg_attr(test, assert_instr(ld1w))]
15440pub unsafe fn svld1uw_gather_u64base_u64(pg: svbool_t, bases: svuint64_t) -> svuint64_t {
15441 svld1uw_gather_u64base_offset_u64(pg, bases, 0)
15442}
15443#[doc = "Load 8-bit data and zero-extend"]
15444#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1ub_s16)"]
15445#[doc = "## Safety"]
15446#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
15447#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
15448#[inline]
15449#[target_feature(enable = "sve")]
15450#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
15451#[cfg_attr(test, assert_instr(ld1b))]
15452pub unsafe fn svld1ub_s16(pg: svbool_t, base: *const u8) -> svint16_t {
15453 unsafe extern "unadjusted" {
15454 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.ld1.nxv8i8")]
15455 fn _svld1ub_s16(pg: svbool8_t, base: *const i8) -> nxv8i8;
15456 }
15457 crate::intrinsics::simd::simd_cast::<nxv8u8, _>(
15458 _svld1ub_s16(pg.sve_into(), base.as_signed()).as_unsigned(),
15459 )
15460}
15461#[doc = "Load 8-bit data and zero-extend"]
15462#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1ub_s32)"]
15463#[doc = "## Safety"]
15464#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
15465#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
15466#[inline]
15467#[target_feature(enable = "sve")]
15468#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
15469#[cfg_attr(test, assert_instr(ld1b))]
15470pub unsafe fn svld1ub_s32(pg: svbool_t, base: *const u8) -> svint32_t {
15471 unsafe extern "unadjusted" {
15472 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.ld1.nxv4i8")]
15473 fn _svld1ub_s32(pg: svbool4_t, base: *const i8) -> nxv4i8;
15474 }
15475 crate::intrinsics::simd::simd_cast::<nxv4u8, _>(
15476 _svld1ub_s32(pg.sve_into(), base.as_signed()).as_unsigned(),
15477 )
15478}
15479#[doc = "Load 16-bit data and zero-extend"]
15480#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1uh_s32)"]
15481#[doc = "## Safety"]
15482#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
15483#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
15484#[inline]
15485#[target_feature(enable = "sve")]
15486#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
15487#[cfg_attr(test, assert_instr(ld1h))]
15488pub unsafe fn svld1uh_s32(pg: svbool_t, base: *const u16) -> svint32_t {
15489 unsafe extern "unadjusted" {
15490 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.ld1.nxv4i16")]
15491 fn _svld1uh_s32(pg: svbool4_t, base: *const i16) -> nxv4i16;
15492 }
15493 crate::intrinsics::simd::simd_cast::<nxv4u16, _>(
15494 _svld1uh_s32(pg.sve_into(), base.as_signed()).as_unsigned(),
15495 )
15496}
15497#[doc = "Load 8-bit data and zero-extend"]
15498#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1ub_s64)"]
15499#[doc = "## Safety"]
15500#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
15501#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
15502#[inline]
15503#[target_feature(enable = "sve")]
15504#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
15505#[cfg_attr(test, assert_instr(ld1b))]
15506pub unsafe fn svld1ub_s64(pg: svbool_t, base: *const u8) -> svint64_t {
15507 unsafe extern "unadjusted" {
15508 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.ld1.nxv2i8")]
15509 fn _svld1ub_s64(pg: svbool2_t, base: *const i8) -> nxv2i8;
15510 }
15511 crate::intrinsics::simd::simd_cast::<nxv2u8, _>(
15512 _svld1ub_s64(pg.sve_into(), base.as_signed()).as_unsigned(),
15513 )
15514}
15515#[doc = "Load 16-bit data and zero-extend"]
15516#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1uh_s64)"]
15517#[doc = "## Safety"]
15518#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
15519#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
15520#[inline]
15521#[target_feature(enable = "sve")]
15522#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
15523#[cfg_attr(test, assert_instr(ld1h))]
15524pub unsafe fn svld1uh_s64(pg: svbool_t, base: *const u16) -> svint64_t {
15525 unsafe extern "unadjusted" {
15526 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.ld1.nxv2i16")]
15527 fn _svld1uh_s64(pg: svbool2_t, base: *const i16) -> nxv2i16;
15528 }
15529 crate::intrinsics::simd::simd_cast::<nxv2u16, _>(
15530 _svld1uh_s64(pg.sve_into(), base.as_signed()).as_unsigned(),
15531 )
15532}
15533#[doc = "Load 32-bit data and zero-extend"]
15534#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1uw_s64)"]
15535#[doc = "## Safety"]
15536#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
15537#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
15538#[inline]
15539#[target_feature(enable = "sve")]
15540#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
15541#[cfg_attr(test, assert_instr(ld1w))]
15542pub unsafe fn svld1uw_s64(pg: svbool_t, base: *const u32) -> svint64_t {
15543 unsafe extern "unadjusted" {
15544 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.ld1.nxv2i32")]
15545 fn _svld1uw_s64(pg: svbool2_t, base: *const i32) -> nxv2i32;
15546 }
15547 crate::intrinsics::simd::simd_cast::<nxv2u32, _>(
15548 _svld1uw_s64(pg.sve_into(), base.as_signed()).as_unsigned(),
15549 )
15550}
15551#[doc = "Load 8-bit data and zero-extend"]
15552#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1ub_u16)"]
15553#[doc = "## Safety"]
15554#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
15555#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
15556#[inline]
15557#[target_feature(enable = "sve")]
15558#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
15559#[cfg_attr(test, assert_instr(ld1b))]
15560pub unsafe fn svld1ub_u16(pg: svbool_t, base: *const u8) -> svuint16_t {
15561 svld1ub_s16(pg, base).as_unsigned()
15562}
15563#[doc = "Load 8-bit data and zero-extend"]
15564#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1ub_u32)"]
15565#[doc = "## Safety"]
15566#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
15567#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
15568#[inline]
15569#[target_feature(enable = "sve")]
15570#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
15571#[cfg_attr(test, assert_instr(ld1b))]
15572pub unsafe fn svld1ub_u32(pg: svbool_t, base: *const u8) -> svuint32_t {
15573 svld1ub_s32(pg, base).as_unsigned()
15574}
15575#[doc = "Load 16-bit data and zero-extend"]
15576#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1uh_u32)"]
15577#[doc = "## Safety"]
15578#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
15579#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
15580#[inline]
15581#[target_feature(enable = "sve")]
15582#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
15583#[cfg_attr(test, assert_instr(ld1h))]
15584pub unsafe fn svld1uh_u32(pg: svbool_t, base: *const u16) -> svuint32_t {
15585 svld1uh_s32(pg, base).as_unsigned()
15586}
15587#[doc = "Load 8-bit data and zero-extend"]
15588#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1ub_u64)"]
15589#[doc = "## Safety"]
15590#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
15591#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
15592#[inline]
15593#[target_feature(enable = "sve")]
15594#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
15595#[cfg_attr(test, assert_instr(ld1b))]
15596pub unsafe fn svld1ub_u64(pg: svbool_t, base: *const u8) -> svuint64_t {
15597 svld1ub_s64(pg, base).as_unsigned()
15598}
15599#[doc = "Load 16-bit data and zero-extend"]
15600#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1uh_u64)"]
15601#[doc = "## Safety"]
15602#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
15603#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
15604#[inline]
15605#[target_feature(enable = "sve")]
15606#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
15607#[cfg_attr(test, assert_instr(ld1h))]
15608pub unsafe fn svld1uh_u64(pg: svbool_t, base: *const u16) -> svuint64_t {
15609 svld1uh_s64(pg, base).as_unsigned()
15610}
15611#[doc = "Load 32-bit data and zero-extend"]
15612#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1uw_u64)"]
15613#[doc = "## Safety"]
15614#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
15615#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
15616#[inline]
15617#[target_feature(enable = "sve")]
15618#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
15619#[cfg_attr(test, assert_instr(ld1w))]
15620pub unsafe fn svld1uw_u64(pg: svbool_t, base: *const u32) -> svuint64_t {
15621 svld1uw_s64(pg, base).as_unsigned()
15622}
15623#[doc = "Load 8-bit data and zero-extend"]
15624#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1ub_vnum_s16)"]
15625#[doc = "## Safety"]
15626#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`). In particular, note that `vnum` is scaled by the vector length, `VL`, which is not known at compile time."]
15627#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
15628#[inline]
15629#[target_feature(enable = "sve")]
15630#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
15631#[cfg_attr(test, assert_instr(ld1b))]
15632pub unsafe fn svld1ub_vnum_s16(pg: svbool_t, base: *const u8, vnum: i64) -> svint16_t {
15633 svld1ub_s16(pg, base.offset(svcnth() as isize * vnum as isize))
15634}
15635#[doc = "Load 8-bit data and zero-extend"]
15636#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1ub_vnum_s32)"]
15637#[doc = "## Safety"]
15638#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`). In particular, note that `vnum` is scaled by the vector length, `VL`, which is not known at compile time."]
15639#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
15640#[inline]
15641#[target_feature(enable = "sve")]
15642#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
15643#[cfg_attr(test, assert_instr(ld1b))]
15644pub unsafe fn svld1ub_vnum_s32(pg: svbool_t, base: *const u8, vnum: i64) -> svint32_t {
15645 svld1ub_s32(pg, base.offset(svcntw() as isize * vnum as isize))
15646}
15647#[doc = "Load 16-bit data and zero-extend"]
15648#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1uh_vnum_s32)"]
15649#[doc = "## Safety"]
15650#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`). In particular, note that `vnum` is scaled by the vector length, `VL`, which is not known at compile time."]
15651#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
15652#[inline]
15653#[target_feature(enable = "sve")]
15654#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
15655#[cfg_attr(test, assert_instr(ld1h))]
15656pub unsafe fn svld1uh_vnum_s32(pg: svbool_t, base: *const u16, vnum: i64) -> svint32_t {
15657 svld1uh_s32(pg, base.offset(svcntw() as isize * vnum as isize))
15658}
15659#[doc = "Load 8-bit data and zero-extend"]
15660#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1ub_vnum_s64)"]
15661#[doc = "## Safety"]
15662#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`). In particular, note that `vnum` is scaled by the vector length, `VL`, which is not known at compile time."]
15663#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
15664#[inline]
15665#[target_feature(enable = "sve")]
15666#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
15667#[cfg_attr(test, assert_instr(ld1b))]
15668pub unsafe fn svld1ub_vnum_s64(pg: svbool_t, base: *const u8, vnum: i64) -> svint64_t {
15669 svld1ub_s64(pg, base.offset(svcntd() as isize * vnum as isize))
15670}
15671#[doc = "Load 16-bit data and zero-extend"]
15672#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1uh_vnum_s64)"]
15673#[doc = "## Safety"]
15674#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`). In particular, note that `vnum` is scaled by the vector length, `VL`, which is not known at compile time."]
15675#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
15676#[inline]
15677#[target_feature(enable = "sve")]
15678#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
15679#[cfg_attr(test, assert_instr(ld1h))]
15680pub unsafe fn svld1uh_vnum_s64(pg: svbool_t, base: *const u16, vnum: i64) -> svint64_t {
15681 svld1uh_s64(pg, base.offset(svcntd() as isize * vnum as isize))
15682}
15683#[doc = "Load 32-bit data and zero-extend"]
15684#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1uw_vnum_s64)"]
15685#[doc = "## Safety"]
15686#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`). In particular, note that `vnum` is scaled by the vector length, `VL`, which is not known at compile time."]
15687#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
15688#[inline]
15689#[target_feature(enable = "sve")]
15690#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
15691#[cfg_attr(test, assert_instr(ld1w))]
15692pub unsafe fn svld1uw_vnum_s64(pg: svbool_t, base: *const u32, vnum: i64) -> svint64_t {
15693 svld1uw_s64(pg, base.offset(svcntd() as isize * vnum as isize))
15694}
15695#[doc = "Load 8-bit data and zero-extend"]
15696#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1ub_vnum_u16)"]
15697#[doc = "## Safety"]
15698#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`). In particular, note that `vnum` is scaled by the vector length, `VL`, which is not known at compile time."]
15699#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
15700#[inline]
15701#[target_feature(enable = "sve")]
15702#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
15703#[cfg_attr(test, assert_instr(ld1b))]
15704pub unsafe fn svld1ub_vnum_u16(pg: svbool_t, base: *const u8, vnum: i64) -> svuint16_t {
15705 svld1ub_u16(pg, base.offset(svcnth() as isize * vnum as isize))
15706}
15707#[doc = "Load 8-bit data and zero-extend"]
15708#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1ub_vnum_u32)"]
15709#[doc = "## Safety"]
15710#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`). In particular, note that `vnum` is scaled by the vector length, `VL`, which is not known at compile time."]
15711#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
15712#[inline]
15713#[target_feature(enable = "sve")]
15714#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
15715#[cfg_attr(test, assert_instr(ld1b))]
15716pub unsafe fn svld1ub_vnum_u32(pg: svbool_t, base: *const u8, vnum: i64) -> svuint32_t {
15717 svld1ub_u32(pg, base.offset(svcntw() as isize * vnum as isize))
15718}
15719#[doc = "Load 16-bit data and zero-extend"]
15720#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1uh_vnum_u32)"]
15721#[doc = "## Safety"]
15722#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`). In particular, note that `vnum` is scaled by the vector length, `VL`, which is not known at compile time."]
15723#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
15724#[inline]
15725#[target_feature(enable = "sve")]
15726#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
15727#[cfg_attr(test, assert_instr(ld1h))]
15728pub unsafe fn svld1uh_vnum_u32(pg: svbool_t, base: *const u16, vnum: i64) -> svuint32_t {
15729 svld1uh_u32(pg, base.offset(svcntw() as isize * vnum as isize))
15730}
15731#[doc = "Load 8-bit data and zero-extend"]
15732#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1ub_vnum_u64)"]
15733#[doc = "## Safety"]
15734#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`). In particular, note that `vnum` is scaled by the vector length, `VL`, which is not known at compile time."]
15735#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
15736#[inline]
15737#[target_feature(enable = "sve")]
15738#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
15739#[cfg_attr(test, assert_instr(ld1b))]
15740pub unsafe fn svld1ub_vnum_u64(pg: svbool_t, base: *const u8, vnum: i64) -> svuint64_t {
15741 svld1ub_u64(pg, base.offset(svcntd() as isize * vnum as isize))
15742}
15743#[doc = "Load 16-bit data and zero-extend"]
15744#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1uh_vnum_u64)"]
15745#[doc = "## Safety"]
15746#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`). In particular, note that `vnum` is scaled by the vector length, `VL`, which is not known at compile time."]
15747#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
15748#[inline]
15749#[target_feature(enable = "sve")]
15750#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
15751#[cfg_attr(test, assert_instr(ld1h))]
15752pub unsafe fn svld1uh_vnum_u64(pg: svbool_t, base: *const u16, vnum: i64) -> svuint64_t {
15753 svld1uh_u64(pg, base.offset(svcntd() as isize * vnum as isize))
15754}
15755#[doc = "Load 32-bit data and zero-extend"]
15756#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1uw_vnum_u64)"]
15757#[doc = "## Safety"]
15758#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`). In particular, note that `vnum` is scaled by the vector length, `VL`, which is not known at compile time."]
15759#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
15760#[inline]
15761#[target_feature(enable = "sve")]
15762#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
15763#[cfg_attr(test, assert_instr(ld1w))]
15764pub unsafe fn svld1uw_vnum_u64(pg: svbool_t, base: *const u32, vnum: i64) -> svuint64_t {
15765 svld1uw_u64(pg, base.offset(svcntd() as isize * vnum as isize))
15766}
15767#[doc = "Load 16-bit data and zero-extend"]
15768#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1uh_gather_[s32]index_s32)"]
15769#[doc = "## Safety"]
15770#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
15771#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
15772#[inline]
15773#[target_feature(enable = "sve")]
15774#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
15775#[cfg_attr(test, assert_instr(ld1h))]
15776pub unsafe fn svld1uh_gather_s32index_s32(
15777 pg: svbool_t,
15778 base: *const u16,
15779 indices: svint32_t,
15780) -> svint32_t {
15781 svld1uh_gather_s32index_u32(pg, base, indices).as_signed()
15782}
15783#[doc = "Load 16-bit data and zero-extend"]
15784#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1uh_gather_[s32]index_u32)"]
15785#[doc = "## Safety"]
15786#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
15787#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
15788#[inline]
15789#[target_feature(enable = "sve")]
15790#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
15791#[cfg_attr(test, assert_instr(ld1h))]
15792pub unsafe fn svld1uh_gather_s32index_u32(
15793 pg: svbool_t,
15794 base: *const u16,
15795 indices: svint32_t,
15796) -> svuint32_t {
15797 unsafe extern "unadjusted" {
15798 #[cfg_attr(
15799 target_arch = "aarch64",
15800 link_name = "llvm.aarch64.sve.ld1.gather.sxtw.index.nxv4i16"
15801 )]
15802 fn _svld1uh_gather_s32index_u32(
15803 pg: svbool4_t,
15804 base: *const i16,
15805 indices: svint32_t,
15806 ) -> nxv4i16;
15807 }
15808 crate::intrinsics::simd::simd_cast::<nxv4u16, _>(
15809 _svld1uh_gather_s32index_u32(pg.sve_into(), base.as_signed(), indices).as_unsigned(),
15810 )
15811}
15812#[doc = "Load 16-bit data and zero-extend"]
15813#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1uh_gather_[s64]index_s64)"]
15814#[doc = "## Safety"]
15815#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
15816#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
15817#[inline]
15818#[target_feature(enable = "sve")]
15819#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
15820#[cfg_attr(test, assert_instr(ld1h))]
15821pub unsafe fn svld1uh_gather_s64index_s64(
15822 pg: svbool_t,
15823 base: *const u16,
15824 indices: svint64_t,
15825) -> svint64_t {
15826 svld1uh_gather_s64index_u64(pg, base, indices).as_signed()
15827}
15828#[doc = "Load 32-bit data and zero-extend"]
15829#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1uw_gather_[s64]index_s64)"]
15830#[doc = "## Safety"]
15831#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
15832#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
15833#[inline]
15834#[target_feature(enable = "sve")]
15835#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
15836#[cfg_attr(test, assert_instr(ld1w))]
15837pub unsafe fn svld1uw_gather_s64index_s64(
15838 pg: svbool_t,
15839 base: *const u32,
15840 indices: svint64_t,
15841) -> svint64_t {
15842 svld1uw_gather_s64index_u64(pg, base, indices).as_signed()
15843}
15844#[doc = "Load 16-bit data and zero-extend"]
15845#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1uh_gather_[s64]index_u64)"]
15846#[doc = "## Safety"]
15847#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
15848#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
15849#[inline]
15850#[target_feature(enable = "sve")]
15851#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
15852#[cfg_attr(test, assert_instr(ld1h))]
15853pub unsafe fn svld1uh_gather_s64index_u64(
15854 pg: svbool_t,
15855 base: *const u16,
15856 indices: svint64_t,
15857) -> svuint64_t {
15858 unsafe extern "unadjusted" {
15859 #[cfg_attr(
15860 target_arch = "aarch64",
15861 link_name = "llvm.aarch64.sve.ld1.gather.index.nxv2i16"
15862 )]
15863 fn _svld1uh_gather_s64index_u64(
15864 pg: svbool2_t,
15865 base: *const i16,
15866 indices: svint64_t,
15867 ) -> nxv2i16;
15868 }
15869 crate::intrinsics::simd::simd_cast::<nxv2u16, _>(
15870 _svld1uh_gather_s64index_u64(pg.sve_into(), base.as_signed(), indices).as_unsigned(),
15871 )
15872}
15873#[doc = "Load 32-bit data and zero-extend"]
15874#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1uw_gather_[s64]index_u64)"]
15875#[doc = "## Safety"]
15876#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
15877#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
15878#[inline]
15879#[target_feature(enable = "sve")]
15880#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
15881#[cfg_attr(test, assert_instr(ld1w))]
15882pub unsafe fn svld1uw_gather_s64index_u64(
15883 pg: svbool_t,
15884 base: *const u32,
15885 indices: svint64_t,
15886) -> svuint64_t {
15887 unsafe extern "unadjusted" {
15888 #[cfg_attr(
15889 target_arch = "aarch64",
15890 link_name = "llvm.aarch64.sve.ld1.gather.index.nxv2i32"
15891 )]
15892 fn _svld1uw_gather_s64index_u64(
15893 pg: svbool2_t,
15894 base: *const i32,
15895 indices: svint64_t,
15896 ) -> nxv2i32;
15897 }
15898 crate::intrinsics::simd::simd_cast::<nxv2u32, _>(
15899 _svld1uw_gather_s64index_u64(pg.sve_into(), base.as_signed(), indices).as_unsigned(),
15900 )
15901}
15902#[doc = "Load 16-bit data and zero-extend"]
15903#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1uh_gather_[u32]index_s32)"]
15904#[doc = "## Safety"]
15905#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
15906#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
15907#[inline]
15908#[target_feature(enable = "sve")]
15909#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
15910#[cfg_attr(test, assert_instr(ld1h))]
15911pub unsafe fn svld1uh_gather_u32index_s32(
15912 pg: svbool_t,
15913 base: *const u16,
15914 indices: svuint32_t,
15915) -> svint32_t {
15916 svld1uh_gather_u32index_u32(pg, base, indices).as_signed()
15917}
15918#[doc = "Load 16-bit data and zero-extend"]
15919#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1uh_gather_[u32]index_u32)"]
15920#[doc = "## Safety"]
15921#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
15922#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
15923#[inline]
15924#[target_feature(enable = "sve")]
15925#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
15926#[cfg_attr(test, assert_instr(ld1h))]
15927pub unsafe fn svld1uh_gather_u32index_u32(
15928 pg: svbool_t,
15929 base: *const u16,
15930 indices: svuint32_t,
15931) -> svuint32_t {
15932 unsafe extern "unadjusted" {
15933 #[cfg_attr(
15934 target_arch = "aarch64",
15935 link_name = "llvm.aarch64.sve.ld1.gather.uxtw.index.nxv4i16"
15936 )]
15937 fn _svld1uh_gather_u32index_u32(
15938 pg: svbool4_t,
15939 base: *const i16,
15940 indices: svint32_t,
15941 ) -> nxv4i16;
15942 }
15943 crate::intrinsics::simd::simd_cast::<nxv4u16, _>(
15944 _svld1uh_gather_u32index_u32(pg.sve_into(), base.as_signed(), indices.as_signed())
15945 .as_unsigned(),
15946 )
15947}
15948#[doc = "Load 16-bit data and zero-extend"]
15949#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1uh_gather_[u64]index_s64)"]
15950#[doc = "## Safety"]
15951#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
15952#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
15953#[inline]
15954#[target_feature(enable = "sve")]
15955#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
15956#[cfg_attr(test, assert_instr(ld1h))]
15957pub unsafe fn svld1uh_gather_u64index_s64(
15958 pg: svbool_t,
15959 base: *const u16,
15960 indices: svuint64_t,
15961) -> svint64_t {
15962 svld1uh_gather_s64index_u64(pg, base, indices.as_signed()).as_signed()
15963}
15964#[doc = "Load 32-bit data and zero-extend"]
15965#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1uw_gather_[u64]index_s64)"]
15966#[doc = "## Safety"]
15967#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
15968#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
15969#[inline]
15970#[target_feature(enable = "sve")]
15971#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
15972#[cfg_attr(test, assert_instr(ld1w))]
15973pub unsafe fn svld1uw_gather_u64index_s64(
15974 pg: svbool_t,
15975 base: *const u32,
15976 indices: svuint64_t,
15977) -> svint64_t {
15978 svld1uw_gather_s64index_u64(pg, base, indices.as_signed()).as_signed()
15979}
15980#[doc = "Load 16-bit data and zero-extend"]
15981#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1uh_gather_[u64]index_u64)"]
15982#[doc = "## Safety"]
15983#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
15984#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
15985#[inline]
15986#[target_feature(enable = "sve")]
15987#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
15988#[cfg_attr(test, assert_instr(ld1h))]
15989pub unsafe fn svld1uh_gather_u64index_u64(
15990 pg: svbool_t,
15991 base: *const u16,
15992 indices: svuint64_t,
15993) -> svuint64_t {
15994 svld1uh_gather_s64index_u64(pg, base, indices.as_signed())
15995}
15996#[doc = "Load 32-bit data and zero-extend"]
15997#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1uw_gather_[u64]index_u64)"]
15998#[doc = "## Safety"]
15999#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
16000#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
16001#[inline]
16002#[target_feature(enable = "sve")]
16003#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
16004#[cfg_attr(test, assert_instr(ld1w))]
16005pub unsafe fn svld1uw_gather_u64index_u64(
16006 pg: svbool_t,
16007 base: *const u32,
16008 indices: svuint64_t,
16009) -> svuint64_t {
16010 svld1uw_gather_s64index_u64(pg, base, indices.as_signed())
16011}
16012#[doc = "Load 16-bit data and zero-extend"]
16013#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1uh_gather[_u32base]_index_s32)"]
16014#[doc = "## Safety"]
16015#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
16016#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
16017#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
16018#[inline]
16019#[target_feature(enable = "sve")]
16020#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
16021#[cfg_attr(test, assert_instr(ld1h))]
16022pub unsafe fn svld1uh_gather_u32base_index_s32(
16023 pg: svbool_t,
16024 bases: svuint32_t,
16025 index: i64,
16026) -> svint32_t {
16027 svld1uh_gather_u32base_offset_s32(pg, bases, index.unchecked_shl(1))
16028}
16029#[doc = "Load 16-bit data and zero-extend"]
16030#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1uh_gather[_u32base]_index_u32)"]
16031#[doc = "## Safety"]
16032#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
16033#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
16034#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
16035#[inline]
16036#[target_feature(enable = "sve")]
16037#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
16038#[cfg_attr(test, assert_instr(ld1h))]
16039pub unsafe fn svld1uh_gather_u32base_index_u32(
16040 pg: svbool_t,
16041 bases: svuint32_t,
16042 index: i64,
16043) -> svuint32_t {
16044 svld1uh_gather_u32base_offset_u32(pg, bases, index.unchecked_shl(1))
16045}
16046#[doc = "Load 16-bit data and zero-extend"]
16047#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1uh_gather[_u64base]_index_s64)"]
16048#[doc = "## Safety"]
16049#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
16050#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
16051#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
16052#[inline]
16053#[target_feature(enable = "sve")]
16054#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
16055#[cfg_attr(test, assert_instr(ld1h))]
16056pub unsafe fn svld1uh_gather_u64base_index_s64(
16057 pg: svbool_t,
16058 bases: svuint64_t,
16059 index: i64,
16060) -> svint64_t {
16061 svld1uh_gather_u64base_offset_s64(pg, bases, index.unchecked_shl(1))
16062}
16063#[doc = "Load 32-bit data and zero-extend"]
16064#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1uw_gather[_u64base]_index_s64)"]
16065#[doc = "## Safety"]
16066#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
16067#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
16068#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
16069#[inline]
16070#[target_feature(enable = "sve")]
16071#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
16072#[cfg_attr(test, assert_instr(ld1w))]
16073pub unsafe fn svld1uw_gather_u64base_index_s64(
16074 pg: svbool_t,
16075 bases: svuint64_t,
16076 index: i64,
16077) -> svint64_t {
16078 svld1uw_gather_u64base_offset_s64(pg, bases, index.unchecked_shl(2))
16079}
16080#[doc = "Load 16-bit data and zero-extend"]
16081#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1uh_gather[_u64base]_index_u64)"]
16082#[doc = "## Safety"]
16083#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
16084#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
16085#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
16086#[inline]
16087#[target_feature(enable = "sve")]
16088#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
16089#[cfg_attr(test, assert_instr(ld1h))]
16090pub unsafe fn svld1uh_gather_u64base_index_u64(
16091 pg: svbool_t,
16092 bases: svuint64_t,
16093 index: i64,
16094) -> svuint64_t {
16095 svld1uh_gather_u64base_offset_u64(pg, bases, index.unchecked_shl(1))
16096}
16097#[doc = "Load 32-bit data and zero-extend"]
16098#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1uw_gather[_u64base]_index_u64)"]
16099#[doc = "## Safety"]
16100#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
16101#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
16102#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
16103#[inline]
16104#[target_feature(enable = "sve")]
16105#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
16106#[cfg_attr(test, assert_instr(ld1w))]
16107pub unsafe fn svld1uw_gather_u64base_index_u64(
16108 pg: svbool_t,
16109 bases: svuint64_t,
16110 index: i64,
16111) -> svuint64_t {
16112 svld1uw_gather_u64base_offset_u64(pg, bases, index.unchecked_shl(2))
16113}
16114#[doc = "Load two-element tuples into two vectors"]
16115#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld2[_f32])"]
16116#[doc = "## Safety"]
16117#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
16118#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
16119#[inline]
16120#[target_feature(enable = "sve")]
16121#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
16122#[cfg_attr(test, assert_instr(ld2w))]
16123pub unsafe fn svld2_f32(pg: svbool_t, base: *const f32) -> svfloat32x2_t {
16124 unsafe extern "unadjusted" {
16125 #[cfg_attr(
16126 target_arch = "aarch64",
16127 link_name = "llvm.aarch64.sve.ld2.sret.nxv4f32"
16128 )]
16129 fn _svld2_f32(pg: svbool4_t, base: *const f32) -> svfloat32x2_t;
16130 }
16131 _svld2_f32(pg.sve_into(), base)
16132}
16133#[doc = "Load two-element tuples into two vectors"]
16134#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld2[_f64])"]
16135#[doc = "## Safety"]
16136#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
16137#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
16138#[inline]
16139#[target_feature(enable = "sve")]
16140#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
16141#[cfg_attr(test, assert_instr(ld2d))]
16142pub unsafe fn svld2_f64(pg: svbool_t, base: *const f64) -> svfloat64x2_t {
16143 unsafe extern "unadjusted" {
16144 #[cfg_attr(
16145 target_arch = "aarch64",
16146 link_name = "llvm.aarch64.sve.ld2.sret.nxv2f64"
16147 )]
16148 fn _svld2_f64(pg: svbool2_t, base: *const f64) -> svfloat64x2_t;
16149 }
16150 _svld2_f64(pg.sve_into(), base)
16151}
16152#[doc = "Load two-element tuples into two vectors"]
16153#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld2[_s8])"]
16154#[doc = "## Safety"]
16155#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
16156#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
16157#[inline]
16158#[target_feature(enable = "sve")]
16159#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
16160#[cfg_attr(test, assert_instr(ld2b))]
16161pub unsafe fn svld2_s8(pg: svbool_t, base: *const i8) -> svint8x2_t {
16162 unsafe extern "unadjusted" {
16163 #[cfg_attr(
16164 target_arch = "aarch64",
16165 link_name = "llvm.aarch64.sve.ld2.sret.nxv16i8"
16166 )]
16167 fn _svld2_s8(pg: svbool_t, base: *const i8) -> svint8x2_t;
16168 }
16169 _svld2_s8(pg, base)
16170}
16171#[doc = "Load two-element tuples into two vectors"]
16172#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld2[_s16])"]
16173#[doc = "## Safety"]
16174#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
16175#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
16176#[inline]
16177#[target_feature(enable = "sve")]
16178#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
16179#[cfg_attr(test, assert_instr(ld2h))]
16180pub unsafe fn svld2_s16(pg: svbool_t, base: *const i16) -> svint16x2_t {
16181 unsafe extern "unadjusted" {
16182 #[cfg_attr(
16183 target_arch = "aarch64",
16184 link_name = "llvm.aarch64.sve.ld2.sret.nxv8i16"
16185 )]
16186 fn _svld2_s16(pg: svbool8_t, base: *const i16) -> svint16x2_t;
16187 }
16188 _svld2_s16(pg.sve_into(), base)
16189}
16190#[doc = "Load two-element tuples into two vectors"]
16191#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld2[_s32])"]
16192#[doc = "## Safety"]
16193#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
16194#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
16195#[inline]
16196#[target_feature(enable = "sve")]
16197#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
16198#[cfg_attr(test, assert_instr(ld2w))]
16199pub unsafe fn svld2_s32(pg: svbool_t, base: *const i32) -> svint32x2_t {
16200 unsafe extern "unadjusted" {
16201 #[cfg_attr(
16202 target_arch = "aarch64",
16203 link_name = "llvm.aarch64.sve.ld2.sret.nxv4i32"
16204 )]
16205 fn _svld2_s32(pg: svbool4_t, base: *const i32) -> svint32x2_t;
16206 }
16207 _svld2_s32(pg.sve_into(), base)
16208}
16209#[doc = "Load two-element tuples into two vectors"]
16210#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld2[_s64])"]
16211#[doc = "## Safety"]
16212#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
16213#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
16214#[inline]
16215#[target_feature(enable = "sve")]
16216#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
16217#[cfg_attr(test, assert_instr(ld2d))]
16218pub unsafe fn svld2_s64(pg: svbool_t, base: *const i64) -> svint64x2_t {
16219 unsafe extern "unadjusted" {
16220 #[cfg_attr(
16221 target_arch = "aarch64",
16222 link_name = "llvm.aarch64.sve.ld2.sret.nxv2i64"
16223 )]
16224 fn _svld2_s64(pg: svbool2_t, base: *const i64) -> svint64x2_t;
16225 }
16226 _svld2_s64(pg.sve_into(), base)
16227}
16228#[doc = "Load two-element tuples into two vectors"]
16229#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld2[_u8])"]
16230#[doc = "## Safety"]
16231#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
16232#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
16233#[inline]
16234#[target_feature(enable = "sve")]
16235#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
16236#[cfg_attr(test, assert_instr(ld2b))]
16237pub unsafe fn svld2_u8(pg: svbool_t, base: *const u8) -> svuint8x2_t {
16238 svld2_s8(pg, base.as_signed()).as_unsigned()
16239}
16240#[doc = "Load two-element tuples into two vectors"]
16241#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld2[_u16])"]
16242#[doc = "## Safety"]
16243#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
16244#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
16245#[inline]
16246#[target_feature(enable = "sve")]
16247#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
16248#[cfg_attr(test, assert_instr(ld2h))]
16249pub unsafe fn svld2_u16(pg: svbool_t, base: *const u16) -> svuint16x2_t {
16250 svld2_s16(pg, base.as_signed()).as_unsigned()
16251}
16252#[doc = "Load two-element tuples into two vectors"]
16253#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld2[_u32])"]
16254#[doc = "## Safety"]
16255#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
16256#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
16257#[inline]
16258#[target_feature(enable = "sve")]
16259#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
16260#[cfg_attr(test, assert_instr(ld2w))]
16261pub unsafe fn svld2_u32(pg: svbool_t, base: *const u32) -> svuint32x2_t {
16262 svld2_s32(pg, base.as_signed()).as_unsigned()
16263}
16264#[doc = "Load two-element tuples into two vectors"]
16265#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld2[_u64])"]
16266#[doc = "## Safety"]
16267#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
16268#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
16269#[inline]
16270#[target_feature(enable = "sve")]
16271#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
16272#[cfg_attr(test, assert_instr(ld2d))]
16273pub unsafe fn svld2_u64(pg: svbool_t, base: *const u64) -> svuint64x2_t {
16274 svld2_s64(pg, base.as_signed()).as_unsigned()
16275}
16276#[doc = "Load two-element tuples into two vectors"]
16277#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld2_vnum[_f32])"]
16278#[doc = "## Safety"]
16279#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
16280#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
16281#[inline]
16282#[target_feature(enable = "sve")]
16283#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
16284#[cfg_attr(test, assert_instr(ld2w))]
16285pub unsafe fn svld2_vnum_f32(pg: svbool_t, base: *const f32, vnum: i64) -> svfloat32x2_t {
16286 svld2_f32(pg, base.offset(svcntw() as isize * vnum as isize))
16287}
16288#[doc = "Load two-element tuples into two vectors"]
16289#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld2_vnum[_f64])"]
16290#[doc = "## Safety"]
16291#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
16292#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
16293#[inline]
16294#[target_feature(enable = "sve")]
16295#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
16296#[cfg_attr(test, assert_instr(ld2d))]
16297pub unsafe fn svld2_vnum_f64(pg: svbool_t, base: *const f64, vnum: i64) -> svfloat64x2_t {
16298 svld2_f64(pg, base.offset(svcntd() as isize * vnum as isize))
16299}
16300#[doc = "Load two-element tuples into two vectors"]
16301#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld2_vnum[_s8])"]
16302#[doc = "## Safety"]
16303#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
16304#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
16305#[inline]
16306#[target_feature(enable = "sve")]
16307#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
16308#[cfg_attr(test, assert_instr(ld2b))]
16309pub unsafe fn svld2_vnum_s8(pg: svbool_t, base: *const i8, vnum: i64) -> svint8x2_t {
16310 svld2_s8(pg, base.offset(svcntb() as isize * vnum as isize))
16311}
16312#[doc = "Load two-element tuples into two vectors"]
16313#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld2_vnum[_s16])"]
16314#[doc = "## Safety"]
16315#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
16316#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
16317#[inline]
16318#[target_feature(enable = "sve")]
16319#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
16320#[cfg_attr(test, assert_instr(ld2h))]
16321pub unsafe fn svld2_vnum_s16(pg: svbool_t, base: *const i16, vnum: i64) -> svint16x2_t {
16322 svld2_s16(pg, base.offset(svcnth() as isize * vnum as isize))
16323}
16324#[doc = "Load two-element tuples into two vectors"]
16325#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld2_vnum[_s32])"]
16326#[doc = "## Safety"]
16327#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
16328#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
16329#[inline]
16330#[target_feature(enable = "sve")]
16331#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
16332#[cfg_attr(test, assert_instr(ld2w))]
16333pub unsafe fn svld2_vnum_s32(pg: svbool_t, base: *const i32, vnum: i64) -> svint32x2_t {
16334 svld2_s32(pg, base.offset(svcntw() as isize * vnum as isize))
16335}
16336#[doc = "Load two-element tuples into two vectors"]
16337#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld2_vnum[_s64])"]
16338#[doc = "## Safety"]
16339#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
16340#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
16341#[inline]
16342#[target_feature(enable = "sve")]
16343#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
16344#[cfg_attr(test, assert_instr(ld2d))]
16345pub unsafe fn svld2_vnum_s64(pg: svbool_t, base: *const i64, vnum: i64) -> svint64x2_t {
16346 svld2_s64(pg, base.offset(svcntd() as isize * vnum as isize))
16347}
16348#[doc = "Load two-element tuples into two vectors"]
16349#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld2_vnum[_u8])"]
16350#[doc = "## Safety"]
16351#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
16352#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
16353#[inline]
16354#[target_feature(enable = "sve")]
16355#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
16356#[cfg_attr(test, assert_instr(ld2b))]
16357pub unsafe fn svld2_vnum_u8(pg: svbool_t, base: *const u8, vnum: i64) -> svuint8x2_t {
16358 svld2_u8(pg, base.offset(svcntb() as isize * vnum as isize))
16359}
16360#[doc = "Load two-element tuples into two vectors"]
16361#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld2_vnum[_u16])"]
16362#[doc = "## Safety"]
16363#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
16364#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
16365#[inline]
16366#[target_feature(enable = "sve")]
16367#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
16368#[cfg_attr(test, assert_instr(ld2h))]
16369pub unsafe fn svld2_vnum_u16(pg: svbool_t, base: *const u16, vnum: i64) -> svuint16x2_t {
16370 svld2_u16(pg, base.offset(svcnth() as isize * vnum as isize))
16371}
16372#[doc = "Load two-element tuples into two vectors"]
16373#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld2_vnum[_u32])"]
16374#[doc = "## Safety"]
16375#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
16376#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
16377#[inline]
16378#[target_feature(enable = "sve")]
16379#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
16380#[cfg_attr(test, assert_instr(ld2w))]
16381pub unsafe fn svld2_vnum_u32(pg: svbool_t, base: *const u32, vnum: i64) -> svuint32x2_t {
16382 svld2_u32(pg, base.offset(svcntw() as isize * vnum as isize))
16383}
16384#[doc = "Load two-element tuples into two vectors"]
16385#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld2_vnum[_u64])"]
16386#[doc = "## Safety"]
16387#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
16388#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
16389#[inline]
16390#[target_feature(enable = "sve")]
16391#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
16392#[cfg_attr(test, assert_instr(ld2d))]
16393pub unsafe fn svld2_vnum_u64(pg: svbool_t, base: *const u64, vnum: i64) -> svuint64x2_t {
16394 svld2_u64(pg, base.offset(svcntd() as isize * vnum as isize))
16395}
16396#[doc = "Load three-element tuples into three vectors"]
16397#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld3[_f32])"]
16398#[doc = "## Safety"]
16399#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
16400#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
16401#[inline]
16402#[target_feature(enable = "sve")]
16403#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
16404#[cfg_attr(test, assert_instr(ld3w))]
16405pub unsafe fn svld3_f32(pg: svbool_t, base: *const f32) -> svfloat32x3_t {
16406 unsafe extern "unadjusted" {
16407 #[cfg_attr(
16408 target_arch = "aarch64",
16409 link_name = "llvm.aarch64.sve.ld3.sret.nxv4f32"
16410 )]
16411 fn _svld3_f32(pg: svbool4_t, base: *const f32) -> svfloat32x3_t;
16412 }
16413 _svld3_f32(pg.sve_into(), base)
16414}
16415#[doc = "Load three-element tuples into three vectors"]
16416#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld3[_f64])"]
16417#[doc = "## Safety"]
16418#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
16419#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
16420#[inline]
16421#[target_feature(enable = "sve")]
16422#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
16423#[cfg_attr(test, assert_instr(ld3d))]
16424pub unsafe fn svld3_f64(pg: svbool_t, base: *const f64) -> svfloat64x3_t {
16425 unsafe extern "unadjusted" {
16426 #[cfg_attr(
16427 target_arch = "aarch64",
16428 link_name = "llvm.aarch64.sve.ld3.sret.nxv2f64"
16429 )]
16430 fn _svld3_f64(pg: svbool2_t, base: *const f64) -> svfloat64x3_t;
16431 }
16432 _svld3_f64(pg.sve_into(), base)
16433}
16434#[doc = "Load three-element tuples into three vectors"]
16435#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld3[_s8])"]
16436#[doc = "## Safety"]
16437#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
16438#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
16439#[inline]
16440#[target_feature(enable = "sve")]
16441#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
16442#[cfg_attr(test, assert_instr(ld3b))]
16443pub unsafe fn svld3_s8(pg: svbool_t, base: *const i8) -> svint8x3_t {
16444 unsafe extern "unadjusted" {
16445 #[cfg_attr(
16446 target_arch = "aarch64",
16447 link_name = "llvm.aarch64.sve.ld3.sret.nxv16i8"
16448 )]
16449 fn _svld3_s8(pg: svbool_t, base: *const i8) -> svint8x3_t;
16450 }
16451 _svld3_s8(pg, base)
16452}
16453#[doc = "Load three-element tuples into three vectors"]
16454#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld3[_s16])"]
16455#[doc = "## Safety"]
16456#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
16457#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
16458#[inline]
16459#[target_feature(enable = "sve")]
16460#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
16461#[cfg_attr(test, assert_instr(ld3h))]
16462pub unsafe fn svld3_s16(pg: svbool_t, base: *const i16) -> svint16x3_t {
16463 unsafe extern "unadjusted" {
16464 #[cfg_attr(
16465 target_arch = "aarch64",
16466 link_name = "llvm.aarch64.sve.ld3.sret.nxv8i16"
16467 )]
16468 fn _svld3_s16(pg: svbool8_t, base: *const i16) -> svint16x3_t;
16469 }
16470 _svld3_s16(pg.sve_into(), base)
16471}
16472#[doc = "Load three-element tuples into three vectors"]
16473#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld3[_s32])"]
16474#[doc = "## Safety"]
16475#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
16476#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
16477#[inline]
16478#[target_feature(enable = "sve")]
16479#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
16480#[cfg_attr(test, assert_instr(ld3w))]
16481pub unsafe fn svld3_s32(pg: svbool_t, base: *const i32) -> svint32x3_t {
16482 unsafe extern "unadjusted" {
16483 #[cfg_attr(
16484 target_arch = "aarch64",
16485 link_name = "llvm.aarch64.sve.ld3.sret.nxv4i32"
16486 )]
16487 fn _svld3_s32(pg: svbool4_t, base: *const i32) -> svint32x3_t;
16488 }
16489 _svld3_s32(pg.sve_into(), base)
16490}
16491#[doc = "Load three-element tuples into three vectors"]
16492#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld3[_s64])"]
16493#[doc = "## Safety"]
16494#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
16495#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
16496#[inline]
16497#[target_feature(enable = "sve")]
16498#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
16499#[cfg_attr(test, assert_instr(ld3d))]
16500pub unsafe fn svld3_s64(pg: svbool_t, base: *const i64) -> svint64x3_t {
16501 unsafe extern "unadjusted" {
16502 #[cfg_attr(
16503 target_arch = "aarch64",
16504 link_name = "llvm.aarch64.sve.ld3.sret.nxv2i64"
16505 )]
16506 fn _svld3_s64(pg: svbool2_t, base: *const i64) -> svint64x3_t;
16507 }
16508 _svld3_s64(pg.sve_into(), base)
16509}
16510#[doc = "Load three-element tuples into three vectors"]
16511#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld3[_u8])"]
16512#[doc = "## Safety"]
16513#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
16514#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
16515#[inline]
16516#[target_feature(enable = "sve")]
16517#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
16518#[cfg_attr(test, assert_instr(ld3b))]
16519pub unsafe fn svld3_u8(pg: svbool_t, base: *const u8) -> svuint8x3_t {
16520 svld3_s8(pg, base.as_signed()).as_unsigned()
16521}
16522#[doc = "Load three-element tuples into three vectors"]
16523#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld3[_u16])"]
16524#[doc = "## Safety"]
16525#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
16526#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
16527#[inline]
16528#[target_feature(enable = "sve")]
16529#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
16530#[cfg_attr(test, assert_instr(ld3h))]
16531pub unsafe fn svld3_u16(pg: svbool_t, base: *const u16) -> svuint16x3_t {
16532 svld3_s16(pg, base.as_signed()).as_unsigned()
16533}
16534#[doc = "Load three-element tuples into three vectors"]
16535#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld3[_u32])"]
16536#[doc = "## Safety"]
16537#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
16538#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
16539#[inline]
16540#[target_feature(enable = "sve")]
16541#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
16542#[cfg_attr(test, assert_instr(ld3w))]
16543pub unsafe fn svld3_u32(pg: svbool_t, base: *const u32) -> svuint32x3_t {
16544 svld3_s32(pg, base.as_signed()).as_unsigned()
16545}
16546#[doc = "Load three-element tuples into three vectors"]
16547#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld3[_u64])"]
16548#[doc = "## Safety"]
16549#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
16550#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
16551#[inline]
16552#[target_feature(enable = "sve")]
16553#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
16554#[cfg_attr(test, assert_instr(ld3d))]
16555pub unsafe fn svld3_u64(pg: svbool_t, base: *const u64) -> svuint64x3_t {
16556 svld3_s64(pg, base.as_signed()).as_unsigned()
16557}
16558#[doc = "Load three-element tuples into three vectors"]
16559#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld3_vnum[_f32])"]
16560#[doc = "## Safety"]
16561#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
16562#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
16563#[inline]
16564#[target_feature(enable = "sve")]
16565#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
16566#[cfg_attr(test, assert_instr(ld3w))]
16567pub unsafe fn svld3_vnum_f32(pg: svbool_t, base: *const f32, vnum: i64) -> svfloat32x3_t {
16568 svld3_f32(pg, base.offset(svcntw() as isize * vnum as isize))
16569}
16570#[doc = "Load three-element tuples into three vectors"]
16571#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld3_vnum[_f64])"]
16572#[doc = "## Safety"]
16573#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
16574#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
16575#[inline]
16576#[target_feature(enable = "sve")]
16577#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
16578#[cfg_attr(test, assert_instr(ld3d))]
16579pub unsafe fn svld3_vnum_f64(pg: svbool_t, base: *const f64, vnum: i64) -> svfloat64x3_t {
16580 svld3_f64(pg, base.offset(svcntd() as isize * vnum as isize))
16581}
16582#[doc = "Load three-element tuples into three vectors"]
16583#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld3_vnum[_s8])"]
16584#[doc = "## Safety"]
16585#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
16586#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
16587#[inline]
16588#[target_feature(enable = "sve")]
16589#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
16590#[cfg_attr(test, assert_instr(ld3b))]
16591pub unsafe fn svld3_vnum_s8(pg: svbool_t, base: *const i8, vnum: i64) -> svint8x3_t {
16592 svld3_s8(pg, base.offset(svcntb() as isize * vnum as isize))
16593}
16594#[doc = "Load three-element tuples into three vectors"]
16595#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld3_vnum[_s16])"]
16596#[doc = "## Safety"]
16597#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
16598#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
16599#[inline]
16600#[target_feature(enable = "sve")]
16601#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
16602#[cfg_attr(test, assert_instr(ld3h))]
16603pub unsafe fn svld3_vnum_s16(pg: svbool_t, base: *const i16, vnum: i64) -> svint16x3_t {
16604 svld3_s16(pg, base.offset(svcnth() as isize * vnum as isize))
16605}
16606#[doc = "Load three-element tuples into three vectors"]
16607#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld3_vnum[_s32])"]
16608#[doc = "## Safety"]
16609#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
16610#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
16611#[inline]
16612#[target_feature(enable = "sve")]
16613#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
16614#[cfg_attr(test, assert_instr(ld3w))]
16615pub unsafe fn svld3_vnum_s32(pg: svbool_t, base: *const i32, vnum: i64) -> svint32x3_t {
16616 svld3_s32(pg, base.offset(svcntw() as isize * vnum as isize))
16617}
16618#[doc = "Load three-element tuples into three vectors"]
16619#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld3_vnum[_s64])"]
16620#[doc = "## Safety"]
16621#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
16622#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
16623#[inline]
16624#[target_feature(enable = "sve")]
16625#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
16626#[cfg_attr(test, assert_instr(ld3d))]
16627pub unsafe fn svld3_vnum_s64(pg: svbool_t, base: *const i64, vnum: i64) -> svint64x3_t {
16628 svld3_s64(pg, base.offset(svcntd() as isize * vnum as isize))
16629}
16630#[doc = "Load three-element tuples into three vectors"]
16631#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld3_vnum[_u8])"]
16632#[doc = "## Safety"]
16633#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
16634#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
16635#[inline]
16636#[target_feature(enable = "sve")]
16637#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
16638#[cfg_attr(test, assert_instr(ld3b))]
16639pub unsafe fn svld3_vnum_u8(pg: svbool_t, base: *const u8, vnum: i64) -> svuint8x3_t {
16640 svld3_u8(pg, base.offset(svcntb() as isize * vnum as isize))
16641}
16642#[doc = "Load three-element tuples into three vectors"]
16643#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld3_vnum[_u16])"]
16644#[doc = "## Safety"]
16645#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
16646#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
16647#[inline]
16648#[target_feature(enable = "sve")]
16649#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
16650#[cfg_attr(test, assert_instr(ld3h))]
16651pub unsafe fn svld3_vnum_u16(pg: svbool_t, base: *const u16, vnum: i64) -> svuint16x3_t {
16652 svld3_u16(pg, base.offset(svcnth() as isize * vnum as isize))
16653}
16654#[doc = "Load three-element tuples into three vectors"]
16655#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld3_vnum[_u32])"]
16656#[doc = "## Safety"]
16657#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
16658#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
16659#[inline]
16660#[target_feature(enable = "sve")]
16661#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
16662#[cfg_attr(test, assert_instr(ld3w))]
16663pub unsafe fn svld3_vnum_u32(pg: svbool_t, base: *const u32, vnum: i64) -> svuint32x3_t {
16664 svld3_u32(pg, base.offset(svcntw() as isize * vnum as isize))
16665}
16666#[doc = "Load three-element tuples into three vectors"]
16667#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld3_vnum[_u64])"]
16668#[doc = "## Safety"]
16669#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
16670#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
16671#[inline]
16672#[target_feature(enable = "sve")]
16673#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
16674#[cfg_attr(test, assert_instr(ld3d))]
16675pub unsafe fn svld3_vnum_u64(pg: svbool_t, base: *const u64, vnum: i64) -> svuint64x3_t {
16676 svld3_u64(pg, base.offset(svcntd() as isize * vnum as isize))
16677}
16678#[doc = "Load four-element tuples into four vectors"]
16679#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld4[_f32])"]
16680#[doc = "## Safety"]
16681#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
16682#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
16683#[inline]
16684#[target_feature(enable = "sve")]
16685#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
16686#[cfg_attr(test, assert_instr(ld4w))]
16687pub unsafe fn svld4_f32(pg: svbool_t, base: *const f32) -> svfloat32x4_t {
16688 unsafe extern "unadjusted" {
16689 #[cfg_attr(
16690 target_arch = "aarch64",
16691 link_name = "llvm.aarch64.sve.ld4.sret.nxv4f32"
16692 )]
16693 fn _svld4_f32(pg: svbool4_t, base: *const f32) -> svfloat32x4_t;
16694 }
16695 _svld4_f32(pg.sve_into(), base)
16696}
16697#[doc = "Load four-element tuples into four vectors"]
16698#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld4[_f64])"]
16699#[doc = "## Safety"]
16700#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
16701#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
16702#[inline]
16703#[target_feature(enable = "sve")]
16704#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
16705#[cfg_attr(test, assert_instr(ld4d))]
16706pub unsafe fn svld4_f64(pg: svbool_t, base: *const f64) -> svfloat64x4_t {
16707 unsafe extern "unadjusted" {
16708 #[cfg_attr(
16709 target_arch = "aarch64",
16710 link_name = "llvm.aarch64.sve.ld4.sret.nxv2f64"
16711 )]
16712 fn _svld4_f64(pg: svbool2_t, base: *const f64) -> svfloat64x4_t;
16713 }
16714 _svld4_f64(pg.sve_into(), base)
16715}
16716#[doc = "Load four-element tuples into four vectors"]
16717#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld4[_s8])"]
16718#[doc = "## Safety"]
16719#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
16720#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
16721#[inline]
16722#[target_feature(enable = "sve")]
16723#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
16724#[cfg_attr(test, assert_instr(ld4b))]
16725pub unsafe fn svld4_s8(pg: svbool_t, base: *const i8) -> svint8x4_t {
16726 unsafe extern "unadjusted" {
16727 #[cfg_attr(
16728 target_arch = "aarch64",
16729 link_name = "llvm.aarch64.sve.ld4.sret.nxv16i8"
16730 )]
16731 fn _svld4_s8(pg: svbool_t, base: *const i8) -> svint8x4_t;
16732 }
16733 _svld4_s8(pg, base)
16734}
16735#[doc = "Load four-element tuples into four vectors"]
16736#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld4[_s16])"]
16737#[doc = "## Safety"]
16738#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
16739#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
16740#[inline]
16741#[target_feature(enable = "sve")]
16742#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
16743#[cfg_attr(test, assert_instr(ld4h))]
16744pub unsafe fn svld4_s16(pg: svbool_t, base: *const i16) -> svint16x4_t {
16745 unsafe extern "unadjusted" {
16746 #[cfg_attr(
16747 target_arch = "aarch64",
16748 link_name = "llvm.aarch64.sve.ld4.sret.nxv8i16"
16749 )]
16750 fn _svld4_s16(pg: svbool8_t, base: *const i16) -> svint16x4_t;
16751 }
16752 _svld4_s16(pg.sve_into(), base)
16753}
16754#[doc = "Load four-element tuples into four vectors"]
16755#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld4[_s32])"]
16756#[doc = "## Safety"]
16757#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
16758#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
16759#[inline]
16760#[target_feature(enable = "sve")]
16761#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
16762#[cfg_attr(test, assert_instr(ld4w))]
16763pub unsafe fn svld4_s32(pg: svbool_t, base: *const i32) -> svint32x4_t {
16764 unsafe extern "unadjusted" {
16765 #[cfg_attr(
16766 target_arch = "aarch64",
16767 link_name = "llvm.aarch64.sve.ld4.sret.nxv4i32"
16768 )]
16769 fn _svld4_s32(pg: svbool4_t, base: *const i32) -> svint32x4_t;
16770 }
16771 _svld4_s32(pg.sve_into(), base)
16772}
16773#[doc = "Load four-element tuples into four vectors"]
16774#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld4[_s64])"]
16775#[doc = "## Safety"]
16776#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
16777#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
16778#[inline]
16779#[target_feature(enable = "sve")]
16780#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
16781#[cfg_attr(test, assert_instr(ld4d))]
16782pub unsafe fn svld4_s64(pg: svbool_t, base: *const i64) -> svint64x4_t {
16783 unsafe extern "unadjusted" {
16784 #[cfg_attr(
16785 target_arch = "aarch64",
16786 link_name = "llvm.aarch64.sve.ld4.sret.nxv2i64"
16787 )]
16788 fn _svld4_s64(pg: svbool2_t, base: *const i64) -> svint64x4_t;
16789 }
16790 _svld4_s64(pg.sve_into(), base)
16791}
16792#[doc = "Load four-element tuples into four vectors"]
16793#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld4[_u8])"]
16794#[doc = "## Safety"]
16795#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
16796#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
16797#[inline]
16798#[target_feature(enable = "sve")]
16799#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
16800#[cfg_attr(test, assert_instr(ld4b))]
16801pub unsafe fn svld4_u8(pg: svbool_t, base: *const u8) -> svuint8x4_t {
16802 svld4_s8(pg, base.as_signed()).as_unsigned()
16803}
16804#[doc = "Load four-element tuples into four vectors"]
16805#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld4[_u16])"]
16806#[doc = "## Safety"]
16807#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
16808#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
16809#[inline]
16810#[target_feature(enable = "sve")]
16811#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
16812#[cfg_attr(test, assert_instr(ld4h))]
16813pub unsafe fn svld4_u16(pg: svbool_t, base: *const u16) -> svuint16x4_t {
16814 svld4_s16(pg, base.as_signed()).as_unsigned()
16815}
16816#[doc = "Load four-element tuples into four vectors"]
16817#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld4[_u32])"]
16818#[doc = "## Safety"]
16819#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
16820#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
16821#[inline]
16822#[target_feature(enable = "sve")]
16823#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
16824#[cfg_attr(test, assert_instr(ld4w))]
16825pub unsafe fn svld4_u32(pg: svbool_t, base: *const u32) -> svuint32x4_t {
16826 svld4_s32(pg, base.as_signed()).as_unsigned()
16827}
16828#[doc = "Load four-element tuples into four vectors"]
16829#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld4[_u64])"]
16830#[doc = "## Safety"]
16831#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
16832#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
16833#[inline]
16834#[target_feature(enable = "sve")]
16835#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
16836#[cfg_attr(test, assert_instr(ld4d))]
16837pub unsafe fn svld4_u64(pg: svbool_t, base: *const u64) -> svuint64x4_t {
16838 svld4_s64(pg, base.as_signed()).as_unsigned()
16839}
16840#[doc = "Load four-element tuples into four vectors"]
16841#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld4_vnum[_f32])"]
16842#[doc = "## Safety"]
16843#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`). In particular, note that `vnum` is scaled by the vector length, `VL`, which is not known at compile time."]
16844#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
16845#[inline]
16846#[target_feature(enable = "sve")]
16847#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
16848#[cfg_attr(test, assert_instr(ld4w))]
16849pub unsafe fn svld4_vnum_f32(pg: svbool_t, base: *const f32, vnum: i64) -> svfloat32x4_t {
16850 svld4_f32(pg, base.offset(svcntw() as isize * vnum as isize))
16851}
16852#[doc = "Load four-element tuples into four vectors"]
16853#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld4_vnum[_f64])"]
16854#[doc = "## Safety"]
16855#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`). In particular, note that `vnum` is scaled by the vector length, `VL`, which is not known at compile time."]
16856#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
16857#[inline]
16858#[target_feature(enable = "sve")]
16859#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
16860#[cfg_attr(test, assert_instr(ld4d))]
16861pub unsafe fn svld4_vnum_f64(pg: svbool_t, base: *const f64, vnum: i64) -> svfloat64x4_t {
16862 svld4_f64(pg, base.offset(svcntd() as isize * vnum as isize))
16863}
16864#[doc = "Load four-element tuples into four vectors"]
16865#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld4_vnum[_s8])"]
16866#[doc = "## Safety"]
16867#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`). In particular, note that `vnum` is scaled by the vector length, `VL`, which is not known at compile time."]
16868#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
16869#[inline]
16870#[target_feature(enable = "sve")]
16871#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
16872#[cfg_attr(test, assert_instr(ld4b))]
16873pub unsafe fn svld4_vnum_s8(pg: svbool_t, base: *const i8, vnum: i64) -> svint8x4_t {
16874 svld4_s8(pg, base.offset(svcntb() as isize * vnum as isize))
16875}
16876#[doc = "Load four-element tuples into four vectors"]
16877#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld4_vnum[_s16])"]
16878#[doc = "## Safety"]
16879#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`). In particular, note that `vnum` is scaled by the vector length, `VL`, which is not known at compile time."]
16880#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
16881#[inline]
16882#[target_feature(enable = "sve")]
16883#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
16884#[cfg_attr(test, assert_instr(ld4h))]
16885pub unsafe fn svld4_vnum_s16(pg: svbool_t, base: *const i16, vnum: i64) -> svint16x4_t {
16886 svld4_s16(pg, base.offset(svcnth() as isize * vnum as isize))
16887}
16888#[doc = "Load four-element tuples into four vectors"]
16889#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld4_vnum[_s32])"]
16890#[doc = "## Safety"]
16891#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`). In particular, note that `vnum` is scaled by the vector length, `VL`, which is not known at compile time."]
16892#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
16893#[inline]
16894#[target_feature(enable = "sve")]
16895#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
16896#[cfg_attr(test, assert_instr(ld4w))]
16897pub unsafe fn svld4_vnum_s32(pg: svbool_t, base: *const i32, vnum: i64) -> svint32x4_t {
16898 svld4_s32(pg, base.offset(svcntw() as isize * vnum as isize))
16899}
16900#[doc = "Load four-element tuples into four vectors"]
16901#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld4_vnum[_s64])"]
16902#[doc = "## Safety"]
16903#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`). In particular, note that `vnum` is scaled by the vector length, `VL`, which is not known at compile time."]
16904#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
16905#[inline]
16906#[target_feature(enable = "sve")]
16907#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
16908#[cfg_attr(test, assert_instr(ld4d))]
16909pub unsafe fn svld4_vnum_s64(pg: svbool_t, base: *const i64, vnum: i64) -> svint64x4_t {
16910 svld4_s64(pg, base.offset(svcntd() as isize * vnum as isize))
16911}
16912#[doc = "Load four-element tuples into four vectors"]
16913#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld4_vnum[_u8])"]
16914#[doc = "## Safety"]
16915#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`). In particular, note that `vnum` is scaled by the vector length, `VL`, which is not known at compile time."]
16916#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
16917#[inline]
16918#[target_feature(enable = "sve")]
16919#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
16920#[cfg_attr(test, assert_instr(ld4b))]
16921pub unsafe fn svld4_vnum_u8(pg: svbool_t, base: *const u8, vnum: i64) -> svuint8x4_t {
16922 svld4_u8(pg, base.offset(svcntb() as isize * vnum as isize))
16923}
16924#[doc = "Load four-element tuples into four vectors"]
16925#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld4_vnum[_u16])"]
16926#[doc = "## Safety"]
16927#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`). In particular, note that `vnum` is scaled by the vector length, `VL`, which is not known at compile time."]
16928#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
16929#[inline]
16930#[target_feature(enable = "sve")]
16931#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
16932#[cfg_attr(test, assert_instr(ld4h))]
16933pub unsafe fn svld4_vnum_u16(pg: svbool_t, base: *const u16, vnum: i64) -> svuint16x4_t {
16934 svld4_u16(pg, base.offset(svcnth() as isize * vnum as isize))
16935}
16936#[doc = "Load four-element tuples into four vectors"]
16937#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld4_vnum[_u32])"]
16938#[doc = "## Safety"]
16939#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`). In particular, note that `vnum` is scaled by the vector length, `VL`, which is not known at compile time."]
16940#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
16941#[inline]
16942#[target_feature(enable = "sve")]
16943#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
16944#[cfg_attr(test, assert_instr(ld4w))]
16945pub unsafe fn svld4_vnum_u32(pg: svbool_t, base: *const u32, vnum: i64) -> svuint32x4_t {
16946 svld4_u32(pg, base.offset(svcntw() as isize * vnum as isize))
16947}
16948#[doc = "Load four-element tuples into four vectors"]
16949#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld4_vnum[_u64])"]
16950#[doc = "## Safety"]
16951#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`). In particular, note that `vnum` is scaled by the vector length, `VL`, which is not known at compile time."]
16952#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
16953#[inline]
16954#[target_feature(enable = "sve")]
16955#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
16956#[cfg_attr(test, assert_instr(ld4d))]
16957pub unsafe fn svld4_vnum_u64(pg: svbool_t, base: *const u64, vnum: i64) -> svuint64x4_t {
16958 svld4_u64(pg, base.offset(svcntd() as isize * vnum as isize))
16959}
16960#[doc = "Unextended load, first-faulting"]
16961#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1[_f32])"]
16962#[doc = "## Safety"]
16963#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
16964#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
16965#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
16966#[inline]
16967#[target_feature(enable = "sve")]
16968#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
16969#[cfg_attr(test, assert_instr(ldff1w))]
16970pub unsafe fn svldff1_f32(pg: svbool_t, base: *const f32) -> svfloat32_t {
16971 unsafe extern "unadjusted" {
16972 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.ldff1.nxv4f32")]
16973 fn _svldff1_f32(pg: svbool4_t, base: *const f32) -> svfloat32_t;
16974 }
16975 _svldff1_f32(pg.sve_into(), base)
16976}
16977#[doc = "Unextended load, first-faulting"]
16978#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1[_f64])"]
16979#[doc = "## Safety"]
16980#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
16981#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
16982#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
16983#[inline]
16984#[target_feature(enable = "sve")]
16985#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
16986#[cfg_attr(test, assert_instr(ldff1d))]
16987pub unsafe fn svldff1_f64(pg: svbool_t, base: *const f64) -> svfloat64_t {
16988 unsafe extern "unadjusted" {
16989 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.ldff1.nxv2f64")]
16990 fn _svldff1_f64(pg: svbool2_t, base: *const f64) -> svfloat64_t;
16991 }
16992 _svldff1_f64(pg.sve_into(), base)
16993}
16994#[doc = "Unextended load, first-faulting"]
16995#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1[_s8])"]
16996#[doc = "## Safety"]
16997#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
16998#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
16999#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
17000#[inline]
17001#[target_feature(enable = "sve")]
17002#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
17003#[cfg_attr(test, assert_instr(ldff1b))]
17004pub unsafe fn svldff1_s8(pg: svbool_t, base: *const i8) -> svint8_t {
17005 unsafe extern "unadjusted" {
17006 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.ldff1.nxv16i8")]
17007 fn _svldff1_s8(pg: svbool_t, base: *const i8) -> svint8_t;
17008 }
17009 _svldff1_s8(pg, base)
17010}
17011#[doc = "Unextended load, first-faulting"]
17012#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1[_s16])"]
17013#[doc = "## Safety"]
17014#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
17015#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
17016#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
17017#[inline]
17018#[target_feature(enable = "sve")]
17019#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
17020#[cfg_attr(test, assert_instr(ldff1h))]
17021pub unsafe fn svldff1_s16(pg: svbool_t, base: *const i16) -> svint16_t {
17022 unsafe extern "unadjusted" {
17023 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.ldff1.nxv8i16")]
17024 fn _svldff1_s16(pg: svbool8_t, base: *const i16) -> svint16_t;
17025 }
17026 _svldff1_s16(pg.sve_into(), base)
17027}
17028#[doc = "Unextended load, first-faulting"]
17029#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1[_s32])"]
17030#[doc = "## Safety"]
17031#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
17032#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
17033#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
17034#[inline]
17035#[target_feature(enable = "sve")]
17036#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
17037#[cfg_attr(test, assert_instr(ldff1w))]
17038pub unsafe fn svldff1_s32(pg: svbool_t, base: *const i32) -> svint32_t {
17039 unsafe extern "unadjusted" {
17040 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.ldff1.nxv4i32")]
17041 fn _svldff1_s32(pg: svbool4_t, base: *const i32) -> svint32_t;
17042 }
17043 _svldff1_s32(pg.sve_into(), base)
17044}
17045#[doc = "Unextended load, first-faulting"]
17046#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1[_s64])"]
17047#[doc = "## Safety"]
17048#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
17049#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
17050#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
17051#[inline]
17052#[target_feature(enable = "sve")]
17053#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
17054#[cfg_attr(test, assert_instr(ldff1d))]
17055pub unsafe fn svldff1_s64(pg: svbool_t, base: *const i64) -> svint64_t {
17056 unsafe extern "unadjusted" {
17057 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.ldff1.nxv2i64")]
17058 fn _svldff1_s64(pg: svbool2_t, base: *const i64) -> svint64_t;
17059 }
17060 _svldff1_s64(pg.sve_into(), base)
17061}
17062#[doc = "Unextended load, first-faulting"]
17063#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1[_u8])"]
17064#[doc = "## Safety"]
17065#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
17066#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
17067#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
17068#[inline]
17069#[target_feature(enable = "sve")]
17070#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
17071#[cfg_attr(test, assert_instr(ldff1b))]
17072pub unsafe fn svldff1_u8(pg: svbool_t, base: *const u8) -> svuint8_t {
17073 svldff1_s8(pg, base.as_signed()).as_unsigned()
17074}
17075#[doc = "Unextended load, first-faulting"]
17076#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1[_u16])"]
17077#[doc = "## Safety"]
17078#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
17079#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
17080#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
17081#[inline]
17082#[target_feature(enable = "sve")]
17083#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
17084#[cfg_attr(test, assert_instr(ldff1h))]
17085pub unsafe fn svldff1_u16(pg: svbool_t, base: *const u16) -> svuint16_t {
17086 svldff1_s16(pg, base.as_signed()).as_unsigned()
17087}
17088#[doc = "Unextended load, first-faulting"]
17089#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1[_u32])"]
17090#[doc = "## Safety"]
17091#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
17092#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
17093#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
17094#[inline]
17095#[target_feature(enable = "sve")]
17096#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
17097#[cfg_attr(test, assert_instr(ldff1w))]
17098pub unsafe fn svldff1_u32(pg: svbool_t, base: *const u32) -> svuint32_t {
17099 svldff1_s32(pg, base.as_signed()).as_unsigned()
17100}
17101#[doc = "Unextended load, first-faulting"]
17102#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1[_u64])"]
17103#[doc = "## Safety"]
17104#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
17105#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
17106#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
17107#[inline]
17108#[target_feature(enable = "sve")]
17109#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
17110#[cfg_attr(test, assert_instr(ldff1d))]
17111pub unsafe fn svldff1_u64(pg: svbool_t, base: *const u64) -> svuint64_t {
17112 svldff1_s64(pg, base.as_signed()).as_unsigned()
17113}
17114#[doc = "Unextended load, first-faulting"]
17115#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1_gather_[s32]index[_f32])"]
17116#[doc = "## Safety"]
17117#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
17118#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
17119#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
17120#[inline]
17121#[target_feature(enable = "sve")]
17122#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
17123#[cfg_attr(test, assert_instr(ldff1w))]
17124pub unsafe fn svldff1_gather_s32index_f32(
17125 pg: svbool_t,
17126 base: *const f32,
17127 indices: svint32_t,
17128) -> svfloat32_t {
17129 unsafe extern "unadjusted" {
17130 #[cfg_attr(
17131 target_arch = "aarch64",
17132 link_name = "llvm.aarch64.sve.ldff1.gather.sxtw.index.nxv4f32"
17133 )]
17134 fn _svldff1_gather_s32index_f32(
17135 pg: svbool4_t,
17136 base: *const f32,
17137 indices: svint32_t,
17138 ) -> svfloat32_t;
17139 }
17140 _svldff1_gather_s32index_f32(pg.sve_into(), base, indices)
17141}
17142#[doc = "Unextended load, first-faulting"]
17143#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1_gather_[s32]index[_s32])"]
17144#[doc = "## Safety"]
17145#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
17146#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
17147#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
17148#[inline]
17149#[target_feature(enable = "sve")]
17150#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
17151#[cfg_attr(test, assert_instr(ldff1w))]
17152pub unsafe fn svldff1_gather_s32index_s32(
17153 pg: svbool_t,
17154 base: *const i32,
17155 indices: svint32_t,
17156) -> svint32_t {
17157 unsafe extern "unadjusted" {
17158 #[cfg_attr(
17159 target_arch = "aarch64",
17160 link_name = "llvm.aarch64.sve.ldff1.gather.sxtw.index.nxv4i32"
17161 )]
17162 fn _svldff1_gather_s32index_s32(
17163 pg: svbool4_t,
17164 base: *const i32,
17165 indices: svint32_t,
17166 ) -> svint32_t;
17167 }
17168 _svldff1_gather_s32index_s32(pg.sve_into(), base, indices)
17169}
17170#[doc = "Unextended load, first-faulting"]
17171#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1_gather_[s32]index[_u32])"]
17172#[doc = "## Safety"]
17173#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
17174#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
17175#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
17176#[inline]
17177#[target_feature(enable = "sve")]
17178#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
17179#[cfg_attr(test, assert_instr(ldff1w))]
17180pub unsafe fn svldff1_gather_s32index_u32(
17181 pg: svbool_t,
17182 base: *const u32,
17183 indices: svint32_t,
17184) -> svuint32_t {
17185 svldff1_gather_s32index_s32(pg, base.as_signed(), indices).as_unsigned()
17186}
17187#[doc = "Unextended load, first-faulting"]
17188#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1_gather_[s64]index[_f64])"]
17189#[doc = "## Safety"]
17190#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
17191#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
17192#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
17193#[inline]
17194#[target_feature(enable = "sve")]
17195#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
17196#[cfg_attr(test, assert_instr(ldff1d))]
17197pub unsafe fn svldff1_gather_s64index_f64(
17198 pg: svbool_t,
17199 base: *const f64,
17200 indices: svint64_t,
17201) -> svfloat64_t {
17202 unsafe extern "unadjusted" {
17203 #[cfg_attr(
17204 target_arch = "aarch64",
17205 link_name = "llvm.aarch64.sve.ldff1.gather.index.nxv2f64"
17206 )]
17207 fn _svldff1_gather_s64index_f64(
17208 pg: svbool2_t,
17209 base: *const f64,
17210 indices: svint64_t,
17211 ) -> svfloat64_t;
17212 }
17213 _svldff1_gather_s64index_f64(pg.sve_into(), base, indices)
17214}
17215#[doc = "Unextended load, first-faulting"]
17216#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1_gather_[s64]index[_s64])"]
17217#[doc = "## Safety"]
17218#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
17219#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
17220#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
17221#[inline]
17222#[target_feature(enable = "sve")]
17223#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
17224#[cfg_attr(test, assert_instr(ldff1d))]
17225pub unsafe fn svldff1_gather_s64index_s64(
17226 pg: svbool_t,
17227 base: *const i64,
17228 indices: svint64_t,
17229) -> svint64_t {
17230 unsafe extern "unadjusted" {
17231 #[cfg_attr(
17232 target_arch = "aarch64",
17233 link_name = "llvm.aarch64.sve.ldff1.gather.index.nxv2i64"
17234 )]
17235 fn _svldff1_gather_s64index_s64(
17236 pg: svbool2_t,
17237 base: *const i64,
17238 indices: svint64_t,
17239 ) -> svint64_t;
17240 }
17241 _svldff1_gather_s64index_s64(pg.sve_into(), base, indices)
17242}
17243#[doc = "Unextended load, first-faulting"]
17244#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1_gather_[s64]index[_u64])"]
17245#[doc = "## Safety"]
17246#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
17247#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
17248#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
17249#[inline]
17250#[target_feature(enable = "sve")]
17251#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
17252#[cfg_attr(test, assert_instr(ldff1d))]
17253pub unsafe fn svldff1_gather_s64index_u64(
17254 pg: svbool_t,
17255 base: *const u64,
17256 indices: svint64_t,
17257) -> svuint64_t {
17258 svldff1_gather_s64index_s64(pg, base.as_signed(), indices).as_unsigned()
17259}
17260#[doc = "Unextended load, first-faulting"]
17261#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1_gather_[u32]index[_f32])"]
17262#[doc = "## Safety"]
17263#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
17264#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
17265#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
17266#[inline]
17267#[target_feature(enable = "sve")]
17268#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
17269#[cfg_attr(test, assert_instr(ldff1w))]
17270pub unsafe fn svldff1_gather_u32index_f32(
17271 pg: svbool_t,
17272 base: *const f32,
17273 indices: svuint32_t,
17274) -> svfloat32_t {
17275 unsafe extern "unadjusted" {
17276 #[cfg_attr(
17277 target_arch = "aarch64",
17278 link_name = "llvm.aarch64.sve.ldff1.gather.uxtw.index.nxv4f32"
17279 )]
17280 fn _svldff1_gather_u32index_f32(
17281 pg: svbool4_t,
17282 base: *const f32,
17283 indices: svint32_t,
17284 ) -> svfloat32_t;
17285 }
17286 _svldff1_gather_u32index_f32(pg.sve_into(), base, indices.as_signed())
17287}
17288#[doc = "Unextended load, first-faulting"]
17289#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1_gather_[u32]index[_s32])"]
17290#[doc = "## Safety"]
17291#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
17292#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
17293#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
17294#[inline]
17295#[target_feature(enable = "sve")]
17296#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
17297#[cfg_attr(test, assert_instr(ldff1w))]
17298pub unsafe fn svldff1_gather_u32index_s32(
17299 pg: svbool_t,
17300 base: *const i32,
17301 indices: svuint32_t,
17302) -> svint32_t {
17303 unsafe extern "unadjusted" {
17304 #[cfg_attr(
17305 target_arch = "aarch64",
17306 link_name = "llvm.aarch64.sve.ldff1.gather.uxtw.index.nxv4i32"
17307 )]
17308 fn _svldff1_gather_u32index_s32(
17309 pg: svbool4_t,
17310 base: *const i32,
17311 indices: svint32_t,
17312 ) -> svint32_t;
17313 }
17314 _svldff1_gather_u32index_s32(pg.sve_into(), base, indices.as_signed())
17315}
17316#[doc = "Unextended load, first-faulting"]
17317#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1_gather_[u32]index[_u32])"]
17318#[doc = "## Safety"]
17319#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
17320#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
17321#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
17322#[inline]
17323#[target_feature(enable = "sve")]
17324#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
17325#[cfg_attr(test, assert_instr(ldff1w))]
17326pub unsafe fn svldff1_gather_u32index_u32(
17327 pg: svbool_t,
17328 base: *const u32,
17329 indices: svuint32_t,
17330) -> svuint32_t {
17331 svldff1_gather_u32index_s32(pg, base.as_signed(), indices).as_unsigned()
17332}
17333#[doc = "Unextended load, first-faulting"]
17334#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1_gather_[u64]index[_f64])"]
17335#[doc = "## Safety"]
17336#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
17337#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
17338#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
17339#[inline]
17340#[target_feature(enable = "sve")]
17341#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
17342#[cfg_attr(test, assert_instr(ldff1d))]
17343pub unsafe fn svldff1_gather_u64index_f64(
17344 pg: svbool_t,
17345 base: *const f64,
17346 indices: svuint64_t,
17347) -> svfloat64_t {
17348 svldff1_gather_s64index_f64(pg, base, indices.as_signed())
17349}
17350#[doc = "Unextended load, first-faulting"]
17351#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1_gather_[u64]index[_s64])"]
17352#[doc = "## Safety"]
17353#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
17354#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
17355#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
17356#[inline]
17357#[target_feature(enable = "sve")]
17358#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
17359#[cfg_attr(test, assert_instr(ldff1d))]
17360pub unsafe fn svldff1_gather_u64index_s64(
17361 pg: svbool_t,
17362 base: *const i64,
17363 indices: svuint64_t,
17364) -> svint64_t {
17365 svldff1_gather_s64index_s64(pg, base, indices.as_signed())
17366}
17367#[doc = "Unextended load, first-faulting"]
17368#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1_gather_[u64]index[_u64])"]
17369#[doc = "## Safety"]
17370#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
17371#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
17372#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
17373#[inline]
17374#[target_feature(enable = "sve")]
17375#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
17376#[cfg_attr(test, assert_instr(ldff1d))]
17377pub unsafe fn svldff1_gather_u64index_u64(
17378 pg: svbool_t,
17379 base: *const u64,
17380 indices: svuint64_t,
17381) -> svuint64_t {
17382 svldff1_gather_s64index_s64(pg, base.as_signed(), indices.as_signed()).as_unsigned()
17383}
17384#[doc = "Unextended load, first-faulting"]
17385#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1_gather_[s32]offset[_f32])"]
17386#[doc = "## Safety"]
17387#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
17388#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
17389#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
17390#[inline]
17391#[target_feature(enable = "sve")]
17392#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
17393#[cfg_attr(test, assert_instr(ldff1w))]
17394pub unsafe fn svldff1_gather_s32offset_f32(
17395 pg: svbool_t,
17396 base: *const f32,
17397 offsets: svint32_t,
17398) -> svfloat32_t {
17399 unsafe extern "unadjusted" {
17400 #[cfg_attr(
17401 target_arch = "aarch64",
17402 link_name = "llvm.aarch64.sve.ldff1.gather.sxtw.nxv4f32"
17403 )]
17404 fn _svldff1_gather_s32offset_f32(
17405 pg: svbool4_t,
17406 base: *const f32,
17407 offsets: svint32_t,
17408 ) -> svfloat32_t;
17409 }
17410 _svldff1_gather_s32offset_f32(pg.sve_into(), base, offsets)
17411}
17412#[doc = "Unextended load, first-faulting"]
17413#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1_gather_[s32]offset[_s32])"]
17414#[doc = "## Safety"]
17415#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
17416#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
17417#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
17418#[inline]
17419#[target_feature(enable = "sve")]
17420#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
17421#[cfg_attr(test, assert_instr(ldff1w))]
17422pub unsafe fn svldff1_gather_s32offset_s32(
17423 pg: svbool_t,
17424 base: *const i32,
17425 offsets: svint32_t,
17426) -> svint32_t {
17427 unsafe extern "unadjusted" {
17428 #[cfg_attr(
17429 target_arch = "aarch64",
17430 link_name = "llvm.aarch64.sve.ldff1.gather.sxtw.nxv4i32"
17431 )]
17432 fn _svldff1_gather_s32offset_s32(
17433 pg: svbool4_t,
17434 base: *const i32,
17435 offsets: svint32_t,
17436 ) -> svint32_t;
17437 }
17438 _svldff1_gather_s32offset_s32(pg.sve_into(), base, offsets)
17439}
17440#[doc = "Unextended load, first-faulting"]
17441#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1_gather_[s32]offset[_u32])"]
17442#[doc = "## Safety"]
17443#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
17444#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
17445#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
17446#[inline]
17447#[target_feature(enable = "sve")]
17448#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
17449#[cfg_attr(test, assert_instr(ldff1w))]
17450pub unsafe fn svldff1_gather_s32offset_u32(
17451 pg: svbool_t,
17452 base: *const u32,
17453 offsets: svint32_t,
17454) -> svuint32_t {
17455 svldff1_gather_s32offset_s32(pg, base.as_signed(), offsets).as_unsigned()
17456}
17457#[doc = "Unextended load, first-faulting"]
17458#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1_gather_[s64]offset[_f64])"]
17459#[doc = "## Safety"]
17460#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
17461#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
17462#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
17463#[inline]
17464#[target_feature(enable = "sve")]
17465#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
17466#[cfg_attr(test, assert_instr(ldff1d))]
17467pub unsafe fn svldff1_gather_s64offset_f64(
17468 pg: svbool_t,
17469 base: *const f64,
17470 offsets: svint64_t,
17471) -> svfloat64_t {
17472 unsafe extern "unadjusted" {
17473 #[cfg_attr(
17474 target_arch = "aarch64",
17475 link_name = "llvm.aarch64.sve.ldff1.gather.nxv2f64"
17476 )]
17477 fn _svldff1_gather_s64offset_f64(
17478 pg: svbool2_t,
17479 base: *const f64,
17480 offsets: svint64_t,
17481 ) -> svfloat64_t;
17482 }
17483 _svldff1_gather_s64offset_f64(pg.sve_into(), base, offsets)
17484}
17485#[doc = "Unextended load, first-faulting"]
17486#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1_gather_[s64]offset[_s64])"]
17487#[doc = "## Safety"]
17488#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
17489#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
17490#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
17491#[inline]
17492#[target_feature(enable = "sve")]
17493#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
17494#[cfg_attr(test, assert_instr(ldff1d))]
17495pub unsafe fn svldff1_gather_s64offset_s64(
17496 pg: svbool_t,
17497 base: *const i64,
17498 offsets: svint64_t,
17499) -> svint64_t {
17500 unsafe extern "unadjusted" {
17501 #[cfg_attr(
17502 target_arch = "aarch64",
17503 link_name = "llvm.aarch64.sve.ldff1.gather.nxv2i64"
17504 )]
17505 fn _svldff1_gather_s64offset_s64(
17506 pg: svbool2_t,
17507 base: *const i64,
17508 offsets: svint64_t,
17509 ) -> svint64_t;
17510 }
17511 _svldff1_gather_s64offset_s64(pg.sve_into(), base, offsets)
17512}
17513#[doc = "Unextended load, first-faulting"]
17514#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1_gather_[s64]offset[_u64])"]
17515#[doc = "## Safety"]
17516#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
17517#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
17518#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
17519#[inline]
17520#[target_feature(enable = "sve")]
17521#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
17522#[cfg_attr(test, assert_instr(ldff1d))]
17523pub unsafe fn svldff1_gather_s64offset_u64(
17524 pg: svbool_t,
17525 base: *const u64,
17526 offsets: svint64_t,
17527) -> svuint64_t {
17528 svldff1_gather_s64offset_s64(pg, base.as_signed(), offsets).as_unsigned()
17529}
17530#[doc = "Unextended load, first-faulting"]
17531#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1_gather_[u32]offset[_f32])"]
17532#[doc = "## Safety"]
17533#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
17534#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
17535#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
17536#[inline]
17537#[target_feature(enable = "sve")]
17538#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
17539#[cfg_attr(test, assert_instr(ldff1w))]
17540pub unsafe fn svldff1_gather_u32offset_f32(
17541 pg: svbool_t,
17542 base: *const f32,
17543 offsets: svuint32_t,
17544) -> svfloat32_t {
17545 unsafe extern "unadjusted" {
17546 #[cfg_attr(
17547 target_arch = "aarch64",
17548 link_name = "llvm.aarch64.sve.ldff1.gather.uxtw.nxv4f32"
17549 )]
17550 fn _svldff1_gather_u32offset_f32(
17551 pg: svbool4_t,
17552 base: *const f32,
17553 offsets: svint32_t,
17554 ) -> svfloat32_t;
17555 }
17556 _svldff1_gather_u32offset_f32(pg.sve_into(), base, offsets.as_signed())
17557}
17558#[doc = "Unextended load, first-faulting"]
17559#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1_gather_[u32]offset[_s32])"]
17560#[doc = "## Safety"]
17561#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
17562#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
17563#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
17564#[inline]
17565#[target_feature(enable = "sve")]
17566#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
17567#[cfg_attr(test, assert_instr(ldff1w))]
17568pub unsafe fn svldff1_gather_u32offset_s32(
17569 pg: svbool_t,
17570 base: *const i32,
17571 offsets: svuint32_t,
17572) -> svint32_t {
17573 unsafe extern "unadjusted" {
17574 #[cfg_attr(
17575 target_arch = "aarch64",
17576 link_name = "llvm.aarch64.sve.ldff1.gather.uxtw.nxv4i32"
17577 )]
17578 fn _svldff1_gather_u32offset_s32(
17579 pg: svbool4_t,
17580 base: *const i32,
17581 offsets: svint32_t,
17582 ) -> svint32_t;
17583 }
17584 _svldff1_gather_u32offset_s32(pg.sve_into(), base, offsets.as_signed())
17585}
17586#[doc = "Unextended load, first-faulting"]
17587#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1_gather_[u32]offset[_u32])"]
17588#[doc = "## Safety"]
17589#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
17590#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
17591#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
17592#[inline]
17593#[target_feature(enable = "sve")]
17594#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
17595#[cfg_attr(test, assert_instr(ldff1w))]
17596pub unsafe fn svldff1_gather_u32offset_u32(
17597 pg: svbool_t,
17598 base: *const u32,
17599 offsets: svuint32_t,
17600) -> svuint32_t {
17601 svldff1_gather_u32offset_s32(pg, base.as_signed(), offsets).as_unsigned()
17602}
17603#[doc = "Unextended load, first-faulting"]
17604#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1_gather_[u64]offset[_f64])"]
17605#[doc = "## Safety"]
17606#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
17607#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
17608#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
17609#[inline]
17610#[target_feature(enable = "sve")]
17611#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
17612#[cfg_attr(test, assert_instr(ldff1d))]
17613pub unsafe fn svldff1_gather_u64offset_f64(
17614 pg: svbool_t,
17615 base: *const f64,
17616 offsets: svuint64_t,
17617) -> svfloat64_t {
17618 svldff1_gather_s64offset_f64(pg, base, offsets.as_signed())
17619}
17620#[doc = "Unextended load, first-faulting"]
17621#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1_gather_[u64]offset[_s64])"]
17622#[doc = "## Safety"]
17623#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
17624#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
17625#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
17626#[inline]
17627#[target_feature(enable = "sve")]
17628#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
17629#[cfg_attr(test, assert_instr(ldff1d))]
17630pub unsafe fn svldff1_gather_u64offset_s64(
17631 pg: svbool_t,
17632 base: *const i64,
17633 offsets: svuint64_t,
17634) -> svint64_t {
17635 svldff1_gather_s64offset_s64(pg, base, offsets.as_signed())
17636}
17637#[doc = "Unextended load, first-faulting"]
17638#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1_gather_[u64]offset[_u64])"]
17639#[doc = "## Safety"]
17640#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
17641#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
17642#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
17643#[inline]
17644#[target_feature(enable = "sve")]
17645#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
17646#[cfg_attr(test, assert_instr(ldff1d))]
17647pub unsafe fn svldff1_gather_u64offset_u64(
17648 pg: svbool_t,
17649 base: *const u64,
17650 offsets: svuint64_t,
17651) -> svuint64_t {
17652 svldff1_gather_s64offset_s64(pg, base.as_signed(), offsets.as_signed()).as_unsigned()
17653}
17654#[doc = "Unextended load, first-faulting"]
17655#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1_gather[_u32base]_f32)"]
17656#[doc = "## Safety"]
17657#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
17658#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
17659#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
17660#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
17661#[inline]
17662#[target_feature(enable = "sve")]
17663#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
17664#[cfg_attr(test, assert_instr(ldff1w))]
17665pub unsafe fn svldff1_gather_u32base_f32(pg: svbool_t, bases: svuint32_t) -> svfloat32_t {
17666 svldff1_gather_u32base_offset_f32(pg, bases, 0)
17667}
17668#[doc = "Unextended load, first-faulting"]
17669#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1_gather[_u32base]_s32)"]
17670#[doc = "## Safety"]
17671#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
17672#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
17673#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
17674#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
17675#[inline]
17676#[target_feature(enable = "sve")]
17677#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
17678#[cfg_attr(test, assert_instr(ldff1w))]
17679pub unsafe fn svldff1_gather_u32base_s32(pg: svbool_t, bases: svuint32_t) -> svint32_t {
17680 svldff1_gather_u32base_offset_s32(pg, bases, 0)
17681}
17682#[doc = "Unextended load, first-faulting"]
17683#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1_gather[_u32base]_u32)"]
17684#[doc = "## Safety"]
17685#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
17686#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
17687#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
17688#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
17689#[inline]
17690#[target_feature(enable = "sve")]
17691#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
17692#[cfg_attr(test, assert_instr(ldff1w))]
17693pub unsafe fn svldff1_gather_u32base_u32(pg: svbool_t, bases: svuint32_t) -> svuint32_t {
17694 svldff1_gather_u32base_offset_u32(pg, bases, 0)
17695}
17696#[doc = "Unextended load, first-faulting"]
17697#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1_gather[_u64base]_f64)"]
17698#[doc = "## Safety"]
17699#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
17700#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
17701#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
17702#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
17703#[inline]
17704#[target_feature(enable = "sve")]
17705#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
17706#[cfg_attr(test, assert_instr(ldff1d))]
17707pub unsafe fn svldff1_gather_u64base_f64(pg: svbool_t, bases: svuint64_t) -> svfloat64_t {
17708 svldff1_gather_u64base_offset_f64(pg, bases, 0)
17709}
17710#[doc = "Unextended load, first-faulting"]
17711#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1_gather[_u64base]_s64)"]
17712#[doc = "## Safety"]
17713#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
17714#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
17715#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
17716#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
17717#[inline]
17718#[target_feature(enable = "sve")]
17719#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
17720#[cfg_attr(test, assert_instr(ldff1d))]
17721pub unsafe fn svldff1_gather_u64base_s64(pg: svbool_t, bases: svuint64_t) -> svint64_t {
17722 svldff1_gather_u64base_offset_s64(pg, bases, 0)
17723}
17724#[doc = "Unextended load, first-faulting"]
17725#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1_gather[_u64base]_u64)"]
17726#[doc = "## Safety"]
17727#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
17728#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
17729#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
17730#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
17731#[inline]
17732#[target_feature(enable = "sve")]
17733#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
17734#[cfg_attr(test, assert_instr(ldff1d))]
17735pub unsafe fn svldff1_gather_u64base_u64(pg: svbool_t, bases: svuint64_t) -> svuint64_t {
17736 svldff1_gather_u64base_offset_u64(pg, bases, 0)
17737}
17738#[doc = "Unextended load, first-faulting"]
17739#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1_gather[_u32base]_index_f32)"]
17740#[doc = "## Safety"]
17741#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
17742#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
17743#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
17744#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
17745#[inline]
17746#[target_feature(enable = "sve")]
17747#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
17748#[cfg_attr(test, assert_instr(ldff1w))]
17749pub unsafe fn svldff1_gather_u32base_index_f32(
17750 pg: svbool_t,
17751 bases: svuint32_t,
17752 index: i64,
17753) -> svfloat32_t {
17754 svldff1_gather_u32base_offset_f32(pg, bases, index.unchecked_shl(2))
17755}
17756#[doc = "Unextended load, first-faulting"]
17757#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1_gather[_u32base]_index_s32)"]
17758#[doc = "## Safety"]
17759#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
17760#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
17761#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
17762#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
17763#[inline]
17764#[target_feature(enable = "sve")]
17765#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
17766#[cfg_attr(test, assert_instr(ldff1w))]
17767pub unsafe fn svldff1_gather_u32base_index_s32(
17768 pg: svbool_t,
17769 bases: svuint32_t,
17770 index: i64,
17771) -> svint32_t {
17772 svldff1_gather_u32base_offset_s32(pg, bases, index.unchecked_shl(2))
17773}
17774#[doc = "Unextended load, first-faulting"]
17775#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1_gather[_u32base]_index_u32)"]
17776#[doc = "## Safety"]
17777#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
17778#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
17779#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
17780#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
17781#[inline]
17782#[target_feature(enable = "sve")]
17783#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
17784#[cfg_attr(test, assert_instr(ldff1w))]
17785pub unsafe fn svldff1_gather_u32base_index_u32(
17786 pg: svbool_t,
17787 bases: svuint32_t,
17788 index: i64,
17789) -> svuint32_t {
17790 svldff1_gather_u32base_offset_u32(pg, bases, index.unchecked_shl(2))
17791}
17792#[doc = "Unextended load, first-faulting"]
17793#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1_gather[_u64base]_index_f64)"]
17794#[doc = "## Safety"]
17795#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
17796#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
17797#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
17798#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
17799#[inline]
17800#[target_feature(enable = "sve")]
17801#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
17802#[cfg_attr(test, assert_instr(ldff1d))]
17803pub unsafe fn svldff1_gather_u64base_index_f64(
17804 pg: svbool_t,
17805 bases: svuint64_t,
17806 index: i64,
17807) -> svfloat64_t {
17808 svldff1_gather_u64base_offset_f64(pg, bases, index.unchecked_shl(3))
17809}
17810#[doc = "Unextended load, first-faulting"]
17811#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1_gather[_u64base]_index_s64)"]
17812#[doc = "## Safety"]
17813#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
17814#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
17815#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
17816#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
17817#[inline]
17818#[target_feature(enable = "sve")]
17819#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
17820#[cfg_attr(test, assert_instr(ldff1d))]
17821pub unsafe fn svldff1_gather_u64base_index_s64(
17822 pg: svbool_t,
17823 bases: svuint64_t,
17824 index: i64,
17825) -> svint64_t {
17826 svldff1_gather_u64base_offset_s64(pg, bases, index.unchecked_shl(3))
17827}
17828#[doc = "Unextended load, first-faulting"]
17829#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1_gather[_u64base]_index_u64)"]
17830#[doc = "## Safety"]
17831#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
17832#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
17833#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
17834#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
17835#[inline]
17836#[target_feature(enable = "sve")]
17837#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
17838#[cfg_attr(test, assert_instr(ldff1d))]
17839pub unsafe fn svldff1_gather_u64base_index_u64(
17840 pg: svbool_t,
17841 bases: svuint64_t,
17842 index: i64,
17843) -> svuint64_t {
17844 svldff1_gather_u64base_offset_u64(pg, bases, index.unchecked_shl(3))
17845}
17846#[doc = "Unextended load, first-faulting"]
17847#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1_gather[_u32base]_offset_f32)"]
17848#[doc = "## Safety"]
17849#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
17850#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
17851#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
17852#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
17853#[inline]
17854#[target_feature(enable = "sve")]
17855#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
17856#[cfg_attr(test, assert_instr(ldff1w))]
17857pub unsafe fn svldff1_gather_u32base_offset_f32(
17858 pg: svbool_t,
17859 bases: svuint32_t,
17860 offset: i64,
17861) -> svfloat32_t {
17862 unsafe extern "unadjusted" {
17863 #[cfg_attr(
17864 target_arch = "aarch64",
17865 link_name = "llvm.aarch64.sve.ldff1.gather.scalar.offset.nxv4f32.nxv4i32"
17866 )]
17867 fn _svldff1_gather_u32base_offset_f32(
17868 pg: svbool4_t,
17869 bases: svint32_t,
17870 offset: i64,
17871 ) -> svfloat32_t;
17872 }
17873 _svldff1_gather_u32base_offset_f32(pg.sve_into(), bases.as_signed(), offset)
17874}
17875#[doc = "Unextended load, first-faulting"]
17876#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1_gather[_u32base]_offset_s32)"]
17877#[doc = "## Safety"]
17878#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
17879#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
17880#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
17881#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
17882#[inline]
17883#[target_feature(enable = "sve")]
17884#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
17885#[cfg_attr(test, assert_instr(ldff1w))]
17886pub unsafe fn svldff1_gather_u32base_offset_s32(
17887 pg: svbool_t,
17888 bases: svuint32_t,
17889 offset: i64,
17890) -> svint32_t {
17891 unsafe extern "unadjusted" {
17892 #[cfg_attr(
17893 target_arch = "aarch64",
17894 link_name = "llvm.aarch64.sve.ldff1.gather.scalar.offset.nxv4i32.nxv4i32"
17895 )]
17896 fn _svldff1_gather_u32base_offset_s32(
17897 pg: svbool4_t,
17898 bases: svint32_t,
17899 offset: i64,
17900 ) -> svint32_t;
17901 }
17902 _svldff1_gather_u32base_offset_s32(pg.sve_into(), bases.as_signed(), offset)
17903}
17904#[doc = "Unextended load, first-faulting"]
17905#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1_gather[_u32base]_offset_u32)"]
17906#[doc = "## Safety"]
17907#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
17908#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
17909#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
17910#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
17911#[inline]
17912#[target_feature(enable = "sve")]
17913#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
17914#[cfg_attr(test, assert_instr(ldff1w))]
17915pub unsafe fn svldff1_gather_u32base_offset_u32(
17916 pg: svbool_t,
17917 bases: svuint32_t,
17918 offset: i64,
17919) -> svuint32_t {
17920 svldff1_gather_u32base_offset_s32(pg, bases, offset).as_unsigned()
17921}
17922#[doc = "Unextended load, first-faulting"]
17923#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1_gather[_u64base]_offset_f64)"]
17924#[doc = "## Safety"]
17925#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
17926#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
17927#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
17928#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
17929#[inline]
17930#[target_feature(enable = "sve")]
17931#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
17932#[cfg_attr(test, assert_instr(ldff1d))]
17933pub unsafe fn svldff1_gather_u64base_offset_f64(
17934 pg: svbool_t,
17935 bases: svuint64_t,
17936 offset: i64,
17937) -> svfloat64_t {
17938 unsafe extern "unadjusted" {
17939 #[cfg_attr(
17940 target_arch = "aarch64",
17941 link_name = "llvm.aarch64.sve.ldff1.gather.scalar.offset.nxv2f64.nxv2i64"
17942 )]
17943 fn _svldff1_gather_u64base_offset_f64(
17944 pg: svbool2_t,
17945 bases: svint64_t,
17946 offset: i64,
17947 ) -> svfloat64_t;
17948 }
17949 _svldff1_gather_u64base_offset_f64(pg.sve_into(), bases.as_signed(), offset)
17950}
17951#[doc = "Unextended load, first-faulting"]
17952#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1_gather[_u64base]_offset_s64)"]
17953#[doc = "## Safety"]
17954#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
17955#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
17956#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
17957#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
17958#[inline]
17959#[target_feature(enable = "sve")]
17960#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
17961#[cfg_attr(test, assert_instr(ldff1d))]
17962pub unsafe fn svldff1_gather_u64base_offset_s64(
17963 pg: svbool_t,
17964 bases: svuint64_t,
17965 offset: i64,
17966) -> svint64_t {
17967 unsafe extern "unadjusted" {
17968 #[cfg_attr(
17969 target_arch = "aarch64",
17970 link_name = "llvm.aarch64.sve.ldff1.gather.scalar.offset.nxv2i64.nxv2i64"
17971 )]
17972 fn _svldff1_gather_u64base_offset_s64(
17973 pg: svbool2_t,
17974 bases: svint64_t,
17975 offset: i64,
17976 ) -> svint64_t;
17977 }
17978 _svldff1_gather_u64base_offset_s64(pg.sve_into(), bases.as_signed(), offset)
17979}
17980#[doc = "Unextended load, first-faulting"]
17981#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1_gather[_u64base]_offset_u64)"]
17982#[doc = "## Safety"]
17983#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
17984#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
17985#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
17986#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
17987#[inline]
17988#[target_feature(enable = "sve")]
17989#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
17990#[cfg_attr(test, assert_instr(ldff1d))]
17991pub unsafe fn svldff1_gather_u64base_offset_u64(
17992 pg: svbool_t,
17993 bases: svuint64_t,
17994 offset: i64,
17995) -> svuint64_t {
17996 svldff1_gather_u64base_offset_s64(pg, bases, offset).as_unsigned()
17997}
17998#[doc = "Unextended load, first-faulting"]
17999#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1_vnum[_f32])"]
18000#[doc = "## Safety"]
18001#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour). In particular, note that `vnum` is scaled by the vector length, `VL`, which is not known at compile time."]
18002#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
18003#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
18004#[inline]
18005#[target_feature(enable = "sve")]
18006#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
18007#[cfg_attr(test, assert_instr(ldff1w))]
18008pub unsafe fn svldff1_vnum_f32(pg: svbool_t, base: *const f32, vnum: i64) -> svfloat32_t {
18009 svldff1_f32(pg, base.offset(svcntw() as isize * vnum as isize))
18010}
18011#[doc = "Unextended load, first-faulting"]
18012#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1_vnum[_f64])"]
18013#[doc = "## Safety"]
18014#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour). In particular, note that `vnum` is scaled by the vector length, `VL`, which is not known at compile time."]
18015#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
18016#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
18017#[inline]
18018#[target_feature(enable = "sve")]
18019#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
18020#[cfg_attr(test, assert_instr(ldff1d))]
18021pub unsafe fn svldff1_vnum_f64(pg: svbool_t, base: *const f64, vnum: i64) -> svfloat64_t {
18022 svldff1_f64(pg, base.offset(svcntd() as isize * vnum as isize))
18023}
18024#[doc = "Unextended load, first-faulting"]
18025#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1_vnum[_s8])"]
18026#[doc = "## Safety"]
18027#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour). In particular, note that `vnum` is scaled by the vector length, `VL`, which is not known at compile time."]
18028#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
18029#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
18030#[inline]
18031#[target_feature(enable = "sve")]
18032#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
18033#[cfg_attr(test, assert_instr(ldff1b))]
18034pub unsafe fn svldff1_vnum_s8(pg: svbool_t, base: *const i8, vnum: i64) -> svint8_t {
18035 svldff1_s8(pg, base.offset(svcntb() as isize * vnum as isize))
18036}
18037#[doc = "Unextended load, first-faulting"]
18038#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1_vnum[_s16])"]
18039#[doc = "## Safety"]
18040#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour). In particular, note that `vnum` is scaled by the vector length, `VL`, which is not known at compile time."]
18041#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
18042#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
18043#[inline]
18044#[target_feature(enable = "sve")]
18045#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
18046#[cfg_attr(test, assert_instr(ldff1h))]
18047pub unsafe fn svldff1_vnum_s16(pg: svbool_t, base: *const i16, vnum: i64) -> svint16_t {
18048 svldff1_s16(pg, base.offset(svcnth() as isize * vnum as isize))
18049}
18050#[doc = "Unextended load, first-faulting"]
18051#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1_vnum[_s32])"]
18052#[doc = "## Safety"]
18053#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour). In particular, note that `vnum` is scaled by the vector length, `VL`, which is not known at compile time."]
18054#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
18055#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
18056#[inline]
18057#[target_feature(enable = "sve")]
18058#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
18059#[cfg_attr(test, assert_instr(ldff1w))]
18060pub unsafe fn svldff1_vnum_s32(pg: svbool_t, base: *const i32, vnum: i64) -> svint32_t {
18061 svldff1_s32(pg, base.offset(svcntw() as isize * vnum as isize))
18062}
18063#[doc = "Unextended load, first-faulting"]
18064#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1_vnum[_s64])"]
18065#[doc = "## Safety"]
18066#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour). In particular, note that `vnum` is scaled by the vector length, `VL`, which is not known at compile time."]
18067#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
18068#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
18069#[inline]
18070#[target_feature(enable = "sve")]
18071#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
18072#[cfg_attr(test, assert_instr(ldff1d))]
18073pub unsafe fn svldff1_vnum_s64(pg: svbool_t, base: *const i64, vnum: i64) -> svint64_t {
18074 svldff1_s64(pg, base.offset(svcntd() as isize * vnum as isize))
18075}
18076#[doc = "Unextended load, first-faulting"]
18077#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1_vnum[_u8])"]
18078#[doc = "## Safety"]
18079#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour). In particular, note that `vnum` is scaled by the vector length, `VL`, which is not known at compile time."]
18080#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
18081#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
18082#[inline]
18083#[target_feature(enable = "sve")]
18084#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
18085#[cfg_attr(test, assert_instr(ldff1b))]
18086pub unsafe fn svldff1_vnum_u8(pg: svbool_t, base: *const u8, vnum: i64) -> svuint8_t {
18087 svldff1_u8(pg, base.offset(svcntb() as isize * vnum as isize))
18088}
18089#[doc = "Unextended load, first-faulting"]
18090#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1_vnum[_u16])"]
18091#[doc = "## Safety"]
18092#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour). In particular, note that `vnum` is scaled by the vector length, `VL`, which is not known at compile time."]
18093#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
18094#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
18095#[inline]
18096#[target_feature(enable = "sve")]
18097#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
18098#[cfg_attr(test, assert_instr(ldff1h))]
18099pub unsafe fn svldff1_vnum_u16(pg: svbool_t, base: *const u16, vnum: i64) -> svuint16_t {
18100 svldff1_u16(pg, base.offset(svcnth() as isize * vnum as isize))
18101}
18102#[doc = "Unextended load, first-faulting"]
18103#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1_vnum[_u32])"]
18104#[doc = "## Safety"]
18105#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour). In particular, note that `vnum` is scaled by the vector length, `VL`, which is not known at compile time."]
18106#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
18107#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
18108#[inline]
18109#[target_feature(enable = "sve")]
18110#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
18111#[cfg_attr(test, assert_instr(ldff1w))]
18112pub unsafe fn svldff1_vnum_u32(pg: svbool_t, base: *const u32, vnum: i64) -> svuint32_t {
18113 svldff1_u32(pg, base.offset(svcntw() as isize * vnum as isize))
18114}
18115#[doc = "Unextended load, first-faulting"]
18116#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1_vnum[_u64])"]
18117#[doc = "## Safety"]
18118#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour). In particular, note that `vnum` is scaled by the vector length, `VL`, which is not known at compile time."]
18119#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
18120#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
18121#[inline]
18122#[target_feature(enable = "sve")]
18123#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
18124#[cfg_attr(test, assert_instr(ldff1d))]
18125pub unsafe fn svldff1_vnum_u64(pg: svbool_t, base: *const u64, vnum: i64) -> svuint64_t {
18126 svldff1_u64(pg, base.offset(svcntd() as isize * vnum as isize))
18127}
18128#[doc = "Load 8-bit data and sign-extend, first-faulting"]
18129#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1sb_gather_[s32]offset_s32)"]
18130#[doc = "## Safety"]
18131#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
18132#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
18133#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
18134#[inline]
18135#[target_feature(enable = "sve")]
18136#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
18137#[cfg_attr(test, assert_instr(ldff1sb))]
18138pub unsafe fn svldff1sb_gather_s32offset_s32(
18139 pg: svbool_t,
18140 base: *const i8,
18141 offsets: svint32_t,
18142) -> svint32_t {
18143 unsafe extern "unadjusted" {
18144 #[cfg_attr(
18145 target_arch = "aarch64",
18146 link_name = "llvm.aarch64.sve.ldff1.gather.sxtw.nxv4i8"
18147 )]
18148 fn _svldff1sb_gather_s32offset_s32(
18149 pg: svbool4_t,
18150 base: *const i8,
18151 offsets: svint32_t,
18152 ) -> nxv4i8;
18153 }
18154 crate::intrinsics::simd::simd_cast(_svldff1sb_gather_s32offset_s32(
18155 pg.sve_into(),
18156 base,
18157 offsets,
18158 ))
18159}
18160#[doc = "Load 16-bit data and sign-extend, first-faulting"]
18161#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1sh_gather_[s32]offset_s32)"]
18162#[doc = "## Safety"]
18163#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
18164#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
18165#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
18166#[inline]
18167#[target_feature(enable = "sve")]
18168#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
18169#[cfg_attr(test, assert_instr(ldff1sh))]
18170pub unsafe fn svldff1sh_gather_s32offset_s32(
18171 pg: svbool_t,
18172 base: *const i16,
18173 offsets: svint32_t,
18174) -> svint32_t {
18175 unsafe extern "unadjusted" {
18176 #[cfg_attr(
18177 target_arch = "aarch64",
18178 link_name = "llvm.aarch64.sve.ldff1.gather.sxtw.nxv4i16"
18179 )]
18180 fn _svldff1sh_gather_s32offset_s32(
18181 pg: svbool4_t,
18182 base: *const i16,
18183 offsets: svint32_t,
18184 ) -> nxv4i16;
18185 }
18186 crate::intrinsics::simd::simd_cast(_svldff1sh_gather_s32offset_s32(
18187 pg.sve_into(),
18188 base,
18189 offsets,
18190 ))
18191}
18192#[doc = "Load 8-bit data and sign-extend, first-faulting"]
18193#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1sb_gather_[s32]offset_u32)"]
18194#[doc = "## Safety"]
18195#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
18196#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
18197#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
18198#[inline]
18199#[target_feature(enable = "sve")]
18200#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
18201#[cfg_attr(test, assert_instr(ldff1sb))]
18202pub unsafe fn svldff1sb_gather_s32offset_u32(
18203 pg: svbool_t,
18204 base: *const i8,
18205 offsets: svint32_t,
18206) -> svuint32_t {
18207 svldff1sb_gather_s32offset_s32(pg, base, offsets).as_unsigned()
18208}
18209#[doc = "Load 16-bit data and sign-extend, first-faulting"]
18210#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1sh_gather_[s32]offset_u32)"]
18211#[doc = "## Safety"]
18212#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
18213#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
18214#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
18215#[inline]
18216#[target_feature(enable = "sve")]
18217#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
18218#[cfg_attr(test, assert_instr(ldff1sh))]
18219pub unsafe fn svldff1sh_gather_s32offset_u32(
18220 pg: svbool_t,
18221 base: *const i16,
18222 offsets: svint32_t,
18223) -> svuint32_t {
18224 svldff1sh_gather_s32offset_s32(pg, base, offsets).as_unsigned()
18225}
18226#[doc = "Load 8-bit data and sign-extend, first-faulting"]
18227#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1sb_gather_[s64]offset_s64)"]
18228#[doc = "## Safety"]
18229#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
18230#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
18231#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
18232#[inline]
18233#[target_feature(enable = "sve")]
18234#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
18235#[cfg_attr(test, assert_instr(ldff1sb))]
18236pub unsafe fn svldff1sb_gather_s64offset_s64(
18237 pg: svbool_t,
18238 base: *const i8,
18239 offsets: svint64_t,
18240) -> svint64_t {
18241 unsafe extern "unadjusted" {
18242 #[cfg_attr(
18243 target_arch = "aarch64",
18244 link_name = "llvm.aarch64.sve.ldff1.gather.nxv2i8"
18245 )]
18246 fn _svldff1sb_gather_s64offset_s64(
18247 pg: svbool2_t,
18248 base: *const i8,
18249 offsets: svint64_t,
18250 ) -> nxv2i8;
18251 }
18252 crate::intrinsics::simd::simd_cast(_svldff1sb_gather_s64offset_s64(
18253 pg.sve_into(),
18254 base,
18255 offsets,
18256 ))
18257}
18258#[doc = "Load 16-bit data and sign-extend, first-faulting"]
18259#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1sh_gather_[s64]offset_s64)"]
18260#[doc = "## Safety"]
18261#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
18262#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
18263#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
18264#[inline]
18265#[target_feature(enable = "sve")]
18266#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
18267#[cfg_attr(test, assert_instr(ldff1sh))]
18268pub unsafe fn svldff1sh_gather_s64offset_s64(
18269 pg: svbool_t,
18270 base: *const i16,
18271 offsets: svint64_t,
18272) -> svint64_t {
18273 unsafe extern "unadjusted" {
18274 #[cfg_attr(
18275 target_arch = "aarch64",
18276 link_name = "llvm.aarch64.sve.ldff1.gather.nxv2i16"
18277 )]
18278 fn _svldff1sh_gather_s64offset_s64(
18279 pg: svbool2_t,
18280 base: *const i16,
18281 offsets: svint64_t,
18282 ) -> nxv2i16;
18283 }
18284 crate::intrinsics::simd::simd_cast(_svldff1sh_gather_s64offset_s64(
18285 pg.sve_into(),
18286 base,
18287 offsets,
18288 ))
18289}
18290#[doc = "Load 32-bit data and sign-extend, first-faulting"]
18291#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1sw_gather_[s64]offset_s64)"]
18292#[doc = "## Safety"]
18293#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
18294#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
18295#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
18296#[inline]
18297#[target_feature(enable = "sve")]
18298#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
18299#[cfg_attr(test, assert_instr(ldff1sw))]
18300pub unsafe fn svldff1sw_gather_s64offset_s64(
18301 pg: svbool_t,
18302 base: *const i32,
18303 offsets: svint64_t,
18304) -> svint64_t {
18305 unsafe extern "unadjusted" {
18306 #[cfg_attr(
18307 target_arch = "aarch64",
18308 link_name = "llvm.aarch64.sve.ldff1.gather.nxv2i32"
18309 )]
18310 fn _svldff1sw_gather_s64offset_s64(
18311 pg: svbool2_t,
18312 base: *const i32,
18313 offsets: svint64_t,
18314 ) -> nxv2i32;
18315 }
18316 crate::intrinsics::simd::simd_cast(_svldff1sw_gather_s64offset_s64(
18317 pg.sve_into(),
18318 base,
18319 offsets,
18320 ))
18321}
18322#[doc = "Load 8-bit data and sign-extend, first-faulting"]
18323#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1sb_gather_[s64]offset_u64)"]
18324#[doc = "## Safety"]
18325#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
18326#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
18327#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
18328#[inline]
18329#[target_feature(enable = "sve")]
18330#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
18331#[cfg_attr(test, assert_instr(ldff1sb))]
18332pub unsafe fn svldff1sb_gather_s64offset_u64(
18333 pg: svbool_t,
18334 base: *const i8,
18335 offsets: svint64_t,
18336) -> svuint64_t {
18337 svldff1sb_gather_s64offset_s64(pg, base, offsets).as_unsigned()
18338}
18339#[doc = "Load 16-bit data and sign-extend, first-faulting"]
18340#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1sh_gather_[s64]offset_u64)"]
18341#[doc = "## Safety"]
18342#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
18343#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
18344#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
18345#[inline]
18346#[target_feature(enable = "sve")]
18347#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
18348#[cfg_attr(test, assert_instr(ldff1sh))]
18349pub unsafe fn svldff1sh_gather_s64offset_u64(
18350 pg: svbool_t,
18351 base: *const i16,
18352 offsets: svint64_t,
18353) -> svuint64_t {
18354 svldff1sh_gather_s64offset_s64(pg, base, offsets).as_unsigned()
18355}
18356#[doc = "Load 32-bit data and sign-extend, first-faulting"]
18357#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1sw_gather_[s64]offset_u64)"]
18358#[doc = "## Safety"]
18359#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
18360#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
18361#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
18362#[inline]
18363#[target_feature(enable = "sve")]
18364#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
18365#[cfg_attr(test, assert_instr(ldff1sw))]
18366pub unsafe fn svldff1sw_gather_s64offset_u64(
18367 pg: svbool_t,
18368 base: *const i32,
18369 offsets: svint64_t,
18370) -> svuint64_t {
18371 svldff1sw_gather_s64offset_s64(pg, base, offsets).as_unsigned()
18372}
18373#[doc = "Load 8-bit data and sign-extend, first-faulting"]
18374#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1sb_gather_[u32]offset_s32)"]
18375#[doc = "## Safety"]
18376#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
18377#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
18378#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
18379#[inline]
18380#[target_feature(enable = "sve")]
18381#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
18382#[cfg_attr(test, assert_instr(ldff1sb))]
18383pub unsafe fn svldff1sb_gather_u32offset_s32(
18384 pg: svbool_t,
18385 base: *const i8,
18386 offsets: svuint32_t,
18387) -> svint32_t {
18388 unsafe extern "unadjusted" {
18389 #[cfg_attr(
18390 target_arch = "aarch64",
18391 link_name = "llvm.aarch64.sve.ldff1.gather.uxtw.nxv4i8"
18392 )]
18393 fn _svldff1sb_gather_u32offset_s32(
18394 pg: svbool4_t,
18395 base: *const i8,
18396 offsets: svint32_t,
18397 ) -> nxv4i8;
18398 }
18399 crate::intrinsics::simd::simd_cast(_svldff1sb_gather_u32offset_s32(
18400 pg.sve_into(),
18401 base,
18402 offsets.as_signed(),
18403 ))
18404}
18405#[doc = "Load 16-bit data and sign-extend, first-faulting"]
18406#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1sh_gather_[u32]offset_s32)"]
18407#[doc = "## Safety"]
18408#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
18409#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
18410#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
18411#[inline]
18412#[target_feature(enable = "sve")]
18413#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
18414#[cfg_attr(test, assert_instr(ldff1sh))]
18415pub unsafe fn svldff1sh_gather_u32offset_s32(
18416 pg: svbool_t,
18417 base: *const i16,
18418 offsets: svuint32_t,
18419) -> svint32_t {
18420 unsafe extern "unadjusted" {
18421 #[cfg_attr(
18422 target_arch = "aarch64",
18423 link_name = "llvm.aarch64.sve.ldff1.gather.uxtw.nxv4i16"
18424 )]
18425 fn _svldff1sh_gather_u32offset_s32(
18426 pg: svbool4_t,
18427 base: *const i16,
18428 offsets: svint32_t,
18429 ) -> nxv4i16;
18430 }
18431 crate::intrinsics::simd::simd_cast(_svldff1sh_gather_u32offset_s32(
18432 pg.sve_into(),
18433 base,
18434 offsets.as_signed(),
18435 ))
18436}
18437#[doc = "Load 8-bit data and sign-extend, first-faulting"]
18438#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1sb_gather_[u32]offset_u32)"]
18439#[doc = "## Safety"]
18440#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
18441#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
18442#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
18443#[inline]
18444#[target_feature(enable = "sve")]
18445#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
18446#[cfg_attr(test, assert_instr(ldff1sb))]
18447pub unsafe fn svldff1sb_gather_u32offset_u32(
18448 pg: svbool_t,
18449 base: *const i8,
18450 offsets: svuint32_t,
18451) -> svuint32_t {
18452 svldff1sb_gather_u32offset_s32(pg, base, offsets).as_unsigned()
18453}
18454#[doc = "Load 16-bit data and sign-extend, first-faulting"]
18455#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1sh_gather_[u32]offset_u32)"]
18456#[doc = "## Safety"]
18457#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
18458#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
18459#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
18460#[inline]
18461#[target_feature(enable = "sve")]
18462#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
18463#[cfg_attr(test, assert_instr(ldff1sh))]
18464pub unsafe fn svldff1sh_gather_u32offset_u32(
18465 pg: svbool_t,
18466 base: *const i16,
18467 offsets: svuint32_t,
18468) -> svuint32_t {
18469 svldff1sh_gather_u32offset_s32(pg, base, offsets).as_unsigned()
18470}
18471#[doc = "Load 8-bit data and sign-extend, first-faulting"]
18472#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1sb_gather_[u64]offset_s64)"]
18473#[doc = "## Safety"]
18474#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
18475#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
18476#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
18477#[inline]
18478#[target_feature(enable = "sve")]
18479#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
18480#[cfg_attr(test, assert_instr(ldff1sb))]
18481pub unsafe fn svldff1sb_gather_u64offset_s64(
18482 pg: svbool_t,
18483 base: *const i8,
18484 offsets: svuint64_t,
18485) -> svint64_t {
18486 svldff1sb_gather_s64offset_s64(pg, base, offsets.as_signed())
18487}
18488#[doc = "Load 16-bit data and sign-extend, first-faulting"]
18489#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1sh_gather_[u64]offset_s64)"]
18490#[doc = "## Safety"]
18491#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
18492#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
18493#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
18494#[inline]
18495#[target_feature(enable = "sve")]
18496#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
18497#[cfg_attr(test, assert_instr(ldff1sh))]
18498pub unsafe fn svldff1sh_gather_u64offset_s64(
18499 pg: svbool_t,
18500 base: *const i16,
18501 offsets: svuint64_t,
18502) -> svint64_t {
18503 svldff1sh_gather_s64offset_s64(pg, base, offsets.as_signed())
18504}
18505#[doc = "Load 32-bit data and sign-extend, first-faulting"]
18506#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1sw_gather_[u64]offset_s64)"]
18507#[doc = "## Safety"]
18508#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
18509#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
18510#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
18511#[inline]
18512#[target_feature(enable = "sve")]
18513#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
18514#[cfg_attr(test, assert_instr(ldff1sw))]
18515pub unsafe fn svldff1sw_gather_u64offset_s64(
18516 pg: svbool_t,
18517 base: *const i32,
18518 offsets: svuint64_t,
18519) -> svint64_t {
18520 svldff1sw_gather_s64offset_s64(pg, base, offsets.as_signed())
18521}
18522#[doc = "Load 8-bit data and sign-extend, first-faulting"]
18523#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1sb_gather_[u64]offset_u64)"]
18524#[doc = "## Safety"]
18525#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
18526#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
18527#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
18528#[inline]
18529#[target_feature(enable = "sve")]
18530#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
18531#[cfg_attr(test, assert_instr(ldff1sb))]
18532pub unsafe fn svldff1sb_gather_u64offset_u64(
18533 pg: svbool_t,
18534 base: *const i8,
18535 offsets: svuint64_t,
18536) -> svuint64_t {
18537 svldff1sb_gather_s64offset_s64(pg, base, offsets.as_signed()).as_unsigned()
18538}
18539#[doc = "Load 16-bit data and sign-extend, first-faulting"]
18540#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1sh_gather_[u64]offset_u64)"]
18541#[doc = "## Safety"]
18542#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
18543#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
18544#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
18545#[inline]
18546#[target_feature(enable = "sve")]
18547#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
18548#[cfg_attr(test, assert_instr(ldff1sh))]
18549pub unsafe fn svldff1sh_gather_u64offset_u64(
18550 pg: svbool_t,
18551 base: *const i16,
18552 offsets: svuint64_t,
18553) -> svuint64_t {
18554 svldff1sh_gather_s64offset_s64(pg, base, offsets.as_signed()).as_unsigned()
18555}
18556#[doc = "Load 32-bit data and sign-extend, first-faulting"]
18557#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1sw_gather_[u64]offset_u64)"]
18558#[doc = "## Safety"]
18559#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
18560#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
18561#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
18562#[inline]
18563#[target_feature(enable = "sve")]
18564#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
18565#[cfg_attr(test, assert_instr(ldff1sw))]
18566pub unsafe fn svldff1sw_gather_u64offset_u64(
18567 pg: svbool_t,
18568 base: *const i32,
18569 offsets: svuint64_t,
18570) -> svuint64_t {
18571 svldff1sw_gather_s64offset_s64(pg, base, offsets.as_signed()).as_unsigned()
18572}
18573#[doc = "Load 8-bit data and sign-extend, first-faulting"]
18574#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1sb_gather[_u32base]_offset_s32)"]
18575#[doc = "## Safety"]
18576#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
18577#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
18578#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
18579#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
18580#[inline]
18581#[target_feature(enable = "sve")]
18582#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
18583#[cfg_attr(test, assert_instr(ldff1sb))]
18584pub unsafe fn svldff1sb_gather_u32base_offset_s32(
18585 pg: svbool_t,
18586 bases: svuint32_t,
18587 offset: i64,
18588) -> svint32_t {
18589 unsafe extern "unadjusted" {
18590 #[cfg_attr(
18591 target_arch = "aarch64",
18592 link_name = "llvm.aarch64.sve.ldff1.gather.scalar.offset.nxv4i8.nxv4i32"
18593 )]
18594 fn _svldff1sb_gather_u32base_offset_s32(
18595 pg: svbool4_t,
18596 bases: svint32_t,
18597 offset: i64,
18598 ) -> nxv4i8;
18599 }
18600 crate::intrinsics::simd::simd_cast(_svldff1sb_gather_u32base_offset_s32(
18601 pg.sve_into(),
18602 bases.as_signed(),
18603 offset,
18604 ))
18605}
18606#[doc = "Load 16-bit data and sign-extend, first-faulting"]
18607#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1sh_gather[_u32base]_offset_s32)"]
18608#[doc = "## Safety"]
18609#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
18610#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
18611#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
18612#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
18613#[inline]
18614#[target_feature(enable = "sve")]
18615#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
18616#[cfg_attr(test, assert_instr(ldff1sh))]
18617pub unsafe fn svldff1sh_gather_u32base_offset_s32(
18618 pg: svbool_t,
18619 bases: svuint32_t,
18620 offset: i64,
18621) -> svint32_t {
18622 unsafe extern "unadjusted" {
18623 #[cfg_attr(
18624 target_arch = "aarch64",
18625 link_name = "llvm.aarch64.sve.ldff1.gather.scalar.offset.nxv4i16.nxv4i32"
18626 )]
18627 fn _svldff1sh_gather_u32base_offset_s32(
18628 pg: svbool4_t,
18629 bases: svint32_t,
18630 offset: i64,
18631 ) -> nxv4i16;
18632 }
18633 crate::intrinsics::simd::simd_cast(_svldff1sh_gather_u32base_offset_s32(
18634 pg.sve_into(),
18635 bases.as_signed(),
18636 offset,
18637 ))
18638}
18639#[doc = "Load 8-bit data and sign-extend, first-faulting"]
18640#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1sb_gather[_u32base]_offset_u32)"]
18641#[doc = "## Safety"]
18642#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
18643#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
18644#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
18645#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
18646#[inline]
18647#[target_feature(enable = "sve")]
18648#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
18649#[cfg_attr(test, assert_instr(ldff1sb))]
18650pub unsafe fn svldff1sb_gather_u32base_offset_u32(
18651 pg: svbool_t,
18652 bases: svuint32_t,
18653 offset: i64,
18654) -> svuint32_t {
18655 svldff1sb_gather_u32base_offset_s32(pg, bases, offset).as_unsigned()
18656}
18657#[doc = "Load 16-bit data and sign-extend, first-faulting"]
18658#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1sh_gather[_u32base]_offset_u32)"]
18659#[doc = "## Safety"]
18660#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
18661#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
18662#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
18663#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
18664#[inline]
18665#[target_feature(enable = "sve")]
18666#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
18667#[cfg_attr(test, assert_instr(ldff1sh))]
18668pub unsafe fn svldff1sh_gather_u32base_offset_u32(
18669 pg: svbool_t,
18670 bases: svuint32_t,
18671 offset: i64,
18672) -> svuint32_t {
18673 svldff1sh_gather_u32base_offset_s32(pg, bases, offset).as_unsigned()
18674}
18675#[doc = "Load 8-bit data and sign-extend, first-faulting"]
18676#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1sb_gather[_u64base]_offset_s64)"]
18677#[doc = "## Safety"]
18678#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
18679#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
18680#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
18681#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
18682#[inline]
18683#[target_feature(enable = "sve")]
18684#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
18685#[cfg_attr(test, assert_instr(ldff1sb))]
18686pub unsafe fn svldff1sb_gather_u64base_offset_s64(
18687 pg: svbool_t,
18688 bases: svuint64_t,
18689 offset: i64,
18690) -> svint64_t {
18691 unsafe extern "unadjusted" {
18692 #[cfg_attr(
18693 target_arch = "aarch64",
18694 link_name = "llvm.aarch64.sve.ldff1.gather.scalar.offset.nxv2i8.nxv2i64"
18695 )]
18696 fn _svldff1sb_gather_u64base_offset_s64(
18697 pg: svbool2_t,
18698 bases: svint64_t,
18699 offset: i64,
18700 ) -> nxv2i8;
18701 }
18702 crate::intrinsics::simd::simd_cast(_svldff1sb_gather_u64base_offset_s64(
18703 pg.sve_into(),
18704 bases.as_signed(),
18705 offset,
18706 ))
18707}
18708#[doc = "Load 16-bit data and sign-extend, first-faulting"]
18709#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1sh_gather[_u64base]_offset_s64)"]
18710#[doc = "## Safety"]
18711#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
18712#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
18713#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
18714#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
18715#[inline]
18716#[target_feature(enable = "sve")]
18717#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
18718#[cfg_attr(test, assert_instr(ldff1sh))]
18719pub unsafe fn svldff1sh_gather_u64base_offset_s64(
18720 pg: svbool_t,
18721 bases: svuint64_t,
18722 offset: i64,
18723) -> svint64_t {
18724 unsafe extern "unadjusted" {
18725 #[cfg_attr(
18726 target_arch = "aarch64",
18727 link_name = "llvm.aarch64.sve.ldff1.gather.scalar.offset.nxv2i16.nxv2i64"
18728 )]
18729 fn _svldff1sh_gather_u64base_offset_s64(
18730 pg: svbool2_t,
18731 bases: svint64_t,
18732 offset: i64,
18733 ) -> nxv2i16;
18734 }
18735 crate::intrinsics::simd::simd_cast(_svldff1sh_gather_u64base_offset_s64(
18736 pg.sve_into(),
18737 bases.as_signed(),
18738 offset,
18739 ))
18740}
18741#[doc = "Load 32-bit data and sign-extend, first-faulting"]
18742#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1sw_gather[_u64base]_offset_s64)"]
18743#[doc = "## Safety"]
18744#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
18745#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
18746#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
18747#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
18748#[inline]
18749#[target_feature(enable = "sve")]
18750#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
18751#[cfg_attr(test, assert_instr(ldff1sw))]
18752pub unsafe fn svldff1sw_gather_u64base_offset_s64(
18753 pg: svbool_t,
18754 bases: svuint64_t,
18755 offset: i64,
18756) -> svint64_t {
18757 unsafe extern "unadjusted" {
18758 #[cfg_attr(
18759 target_arch = "aarch64",
18760 link_name = "llvm.aarch64.sve.ldff1.gather.scalar.offset.nxv2i32.nxv2i64"
18761 )]
18762 fn _svldff1sw_gather_u64base_offset_s64(
18763 pg: svbool2_t,
18764 bases: svint64_t,
18765 offset: i64,
18766 ) -> nxv2i32;
18767 }
18768 crate::intrinsics::simd::simd_cast(_svldff1sw_gather_u64base_offset_s64(
18769 pg.sve_into(),
18770 bases.as_signed(),
18771 offset,
18772 ))
18773}
18774#[doc = "Load 8-bit data and sign-extend, first-faulting"]
18775#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1sb_gather[_u64base]_offset_u64)"]
18776#[doc = "## Safety"]
18777#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
18778#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
18779#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
18780#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
18781#[inline]
18782#[target_feature(enable = "sve")]
18783#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
18784#[cfg_attr(test, assert_instr(ldff1sb))]
18785pub unsafe fn svldff1sb_gather_u64base_offset_u64(
18786 pg: svbool_t,
18787 bases: svuint64_t,
18788 offset: i64,
18789) -> svuint64_t {
18790 svldff1sb_gather_u64base_offset_s64(pg, bases, offset).as_unsigned()
18791}
18792#[doc = "Load 16-bit data and sign-extend, first-faulting"]
18793#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1sh_gather[_u64base]_offset_u64)"]
18794#[doc = "## Safety"]
18795#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
18796#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
18797#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
18798#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
18799#[inline]
18800#[target_feature(enable = "sve")]
18801#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
18802#[cfg_attr(test, assert_instr(ldff1sh))]
18803pub unsafe fn svldff1sh_gather_u64base_offset_u64(
18804 pg: svbool_t,
18805 bases: svuint64_t,
18806 offset: i64,
18807) -> svuint64_t {
18808 svldff1sh_gather_u64base_offset_s64(pg, bases, offset).as_unsigned()
18809}
18810#[doc = "Load 32-bit data and sign-extend, first-faulting"]
18811#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1sw_gather[_u64base]_offset_u64)"]
18812#[doc = "## Safety"]
18813#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
18814#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
18815#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
18816#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
18817#[inline]
18818#[target_feature(enable = "sve")]
18819#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
18820#[cfg_attr(test, assert_instr(ldff1sw))]
18821pub unsafe fn svldff1sw_gather_u64base_offset_u64(
18822 pg: svbool_t,
18823 bases: svuint64_t,
18824 offset: i64,
18825) -> svuint64_t {
18826 svldff1sw_gather_u64base_offset_s64(pg, bases, offset).as_unsigned()
18827}
18828#[doc = "Load 8-bit data and sign-extend, first-faulting"]
18829#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1sb_gather[_u32base]_s32)"]
18830#[doc = "## Safety"]
18831#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
18832#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
18833#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
18834#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
18835#[inline]
18836#[target_feature(enable = "sve")]
18837#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
18838#[cfg_attr(test, assert_instr(ldff1sb))]
18839pub unsafe fn svldff1sb_gather_u32base_s32(pg: svbool_t, bases: svuint32_t) -> svint32_t {
18840 svldff1sb_gather_u32base_offset_s32(pg, bases, 0)
18841}
18842#[doc = "Load 16-bit data and sign-extend, first-faulting"]
18843#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1sh_gather[_u32base]_s32)"]
18844#[doc = "## Safety"]
18845#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
18846#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
18847#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
18848#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
18849#[inline]
18850#[target_feature(enable = "sve")]
18851#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
18852#[cfg_attr(test, assert_instr(ldff1sh))]
18853pub unsafe fn svldff1sh_gather_u32base_s32(pg: svbool_t, bases: svuint32_t) -> svint32_t {
18854 svldff1sh_gather_u32base_offset_s32(pg, bases, 0)
18855}
18856#[doc = "Load 8-bit data and sign-extend, first-faulting"]
18857#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1sb_gather[_u32base]_u32)"]
18858#[doc = "## Safety"]
18859#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
18860#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
18861#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
18862#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
18863#[inline]
18864#[target_feature(enable = "sve")]
18865#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
18866#[cfg_attr(test, assert_instr(ldff1sb))]
18867pub unsafe fn svldff1sb_gather_u32base_u32(pg: svbool_t, bases: svuint32_t) -> svuint32_t {
18868 svldff1sb_gather_u32base_offset_u32(pg, bases, 0)
18869}
18870#[doc = "Load 16-bit data and sign-extend, first-faulting"]
18871#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1sh_gather[_u32base]_u32)"]
18872#[doc = "## Safety"]
18873#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
18874#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
18875#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
18876#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
18877#[inline]
18878#[target_feature(enable = "sve")]
18879#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
18880#[cfg_attr(test, assert_instr(ldff1sh))]
18881pub unsafe fn svldff1sh_gather_u32base_u32(pg: svbool_t, bases: svuint32_t) -> svuint32_t {
18882 svldff1sh_gather_u32base_offset_u32(pg, bases, 0)
18883}
18884#[doc = "Load 8-bit data and sign-extend, first-faulting"]
18885#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1sb_gather[_u64base]_s64)"]
18886#[doc = "## Safety"]
18887#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
18888#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
18889#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
18890#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
18891#[inline]
18892#[target_feature(enable = "sve")]
18893#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
18894#[cfg_attr(test, assert_instr(ldff1sb))]
18895pub unsafe fn svldff1sb_gather_u64base_s64(pg: svbool_t, bases: svuint64_t) -> svint64_t {
18896 svldff1sb_gather_u64base_offset_s64(pg, bases, 0)
18897}
18898#[doc = "Load 16-bit data and sign-extend, first-faulting"]
18899#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1sh_gather[_u64base]_s64)"]
18900#[doc = "## Safety"]
18901#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
18902#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
18903#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
18904#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
18905#[inline]
18906#[target_feature(enable = "sve")]
18907#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
18908#[cfg_attr(test, assert_instr(ldff1sh))]
18909pub unsafe fn svldff1sh_gather_u64base_s64(pg: svbool_t, bases: svuint64_t) -> svint64_t {
18910 svldff1sh_gather_u64base_offset_s64(pg, bases, 0)
18911}
18912#[doc = "Load 32-bit data and sign-extend, first-faulting"]
18913#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1sw_gather[_u64base]_s64)"]
18914#[doc = "## Safety"]
18915#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
18916#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
18917#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
18918#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
18919#[inline]
18920#[target_feature(enable = "sve")]
18921#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
18922#[cfg_attr(test, assert_instr(ldff1sw))]
18923pub unsafe fn svldff1sw_gather_u64base_s64(pg: svbool_t, bases: svuint64_t) -> svint64_t {
18924 svldff1sw_gather_u64base_offset_s64(pg, bases, 0)
18925}
18926#[doc = "Load 8-bit data and sign-extend, first-faulting"]
18927#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1sb_gather[_u64base]_u64)"]
18928#[doc = "## Safety"]
18929#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
18930#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
18931#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
18932#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
18933#[inline]
18934#[target_feature(enable = "sve")]
18935#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
18936#[cfg_attr(test, assert_instr(ldff1sb))]
18937pub unsafe fn svldff1sb_gather_u64base_u64(pg: svbool_t, bases: svuint64_t) -> svuint64_t {
18938 svldff1sb_gather_u64base_offset_u64(pg, bases, 0)
18939}
18940#[doc = "Load 16-bit data and sign-extend, first-faulting"]
18941#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1sh_gather[_u64base]_u64)"]
18942#[doc = "## Safety"]
18943#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
18944#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
18945#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
18946#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
18947#[inline]
18948#[target_feature(enable = "sve")]
18949#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
18950#[cfg_attr(test, assert_instr(ldff1sh))]
18951pub unsafe fn svldff1sh_gather_u64base_u64(pg: svbool_t, bases: svuint64_t) -> svuint64_t {
18952 svldff1sh_gather_u64base_offset_u64(pg, bases, 0)
18953}
18954#[doc = "Load 32-bit data and sign-extend, first-faulting"]
18955#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1sw_gather[_u64base]_u64)"]
18956#[doc = "## Safety"]
18957#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
18958#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
18959#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
18960#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
18961#[inline]
18962#[target_feature(enable = "sve")]
18963#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
18964#[cfg_attr(test, assert_instr(ldff1sw))]
18965pub unsafe fn svldff1sw_gather_u64base_u64(pg: svbool_t, bases: svuint64_t) -> svuint64_t {
18966 svldff1sw_gather_u64base_offset_u64(pg, bases, 0)
18967}
18968#[doc = "Load 8-bit data and sign-extend, first-faulting"]
18969#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1sb_s16)"]
18970#[doc = "## Safety"]
18971#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
18972#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
18973#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
18974#[inline]
18975#[target_feature(enable = "sve")]
18976#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
18977#[cfg_attr(test, assert_instr(ldff1sb))]
18978pub unsafe fn svldff1sb_s16(pg: svbool_t, base: *const i8) -> svint16_t {
18979 unsafe extern "unadjusted" {
18980 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.ldff1.nxv8i8")]
18981 fn _svldff1sb_s16(pg: svbool8_t, base: *const i8) -> nxv8i8;
18982 }
18983 crate::intrinsics::simd::simd_cast(_svldff1sb_s16(pg.sve_into(), base))
18984}
18985#[doc = "Load 8-bit data and sign-extend, first-faulting"]
18986#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1sb_s32)"]
18987#[doc = "## Safety"]
18988#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
18989#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
18990#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
18991#[inline]
18992#[target_feature(enable = "sve")]
18993#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
18994#[cfg_attr(test, assert_instr(ldff1sb))]
18995pub unsafe fn svldff1sb_s32(pg: svbool_t, base: *const i8) -> svint32_t {
18996 unsafe extern "unadjusted" {
18997 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.ldff1.nxv4i8")]
18998 fn _svldff1sb_s32(pg: svbool4_t, base: *const i8) -> nxv4i8;
18999 }
19000 crate::intrinsics::simd::simd_cast(_svldff1sb_s32(pg.sve_into(), base))
19001}
19002#[doc = "Load 16-bit data and sign-extend, first-faulting"]
19003#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1sh_s32)"]
19004#[doc = "## Safety"]
19005#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
19006#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
19007#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
19008#[inline]
19009#[target_feature(enable = "sve")]
19010#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
19011#[cfg_attr(test, assert_instr(ldff1sh))]
19012pub unsafe fn svldff1sh_s32(pg: svbool_t, base: *const i16) -> svint32_t {
19013 unsafe extern "unadjusted" {
19014 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.ldff1.nxv4i16")]
19015 fn _svldff1sh_s32(pg: svbool4_t, base: *const i16) -> nxv4i16;
19016 }
19017 crate::intrinsics::simd::simd_cast(_svldff1sh_s32(pg.sve_into(), base))
19018}
19019#[doc = "Load 8-bit data and sign-extend, first-faulting"]
19020#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1sb_s64)"]
19021#[doc = "## Safety"]
19022#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
19023#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
19024#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
19025#[inline]
19026#[target_feature(enable = "sve")]
19027#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
19028#[cfg_attr(test, assert_instr(ldff1sb))]
19029pub unsafe fn svldff1sb_s64(pg: svbool_t, base: *const i8) -> svint64_t {
19030 unsafe extern "unadjusted" {
19031 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.ldff1.nxv2i8")]
19032 fn _svldff1sb_s64(pg: svbool2_t, base: *const i8) -> nxv2i8;
19033 }
19034 crate::intrinsics::simd::simd_cast(_svldff1sb_s64(pg.sve_into(), base))
19035}
19036#[doc = "Load 16-bit data and sign-extend, first-faulting"]
19037#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1sh_s64)"]
19038#[doc = "## Safety"]
19039#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
19040#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
19041#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
19042#[inline]
19043#[target_feature(enable = "sve")]
19044#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
19045#[cfg_attr(test, assert_instr(ldff1sh))]
19046pub unsafe fn svldff1sh_s64(pg: svbool_t, base: *const i16) -> svint64_t {
19047 unsafe extern "unadjusted" {
19048 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.ldff1.nxv2i16")]
19049 fn _svldff1sh_s64(pg: svbool2_t, base: *const i16) -> nxv2i16;
19050 }
19051 crate::intrinsics::simd::simd_cast(_svldff1sh_s64(pg.sve_into(), base))
19052}
19053#[doc = "Load 32-bit data and sign-extend, first-faulting"]
19054#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1sw_s64)"]
19055#[doc = "## Safety"]
19056#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
19057#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
19058#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
19059#[inline]
19060#[target_feature(enable = "sve")]
19061#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
19062#[cfg_attr(test, assert_instr(ldff1sw))]
19063pub unsafe fn svldff1sw_s64(pg: svbool_t, base: *const i32) -> svint64_t {
19064 unsafe extern "unadjusted" {
19065 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.ldff1.nxv2i32")]
19066 fn _svldff1sw_s64(pg: svbool2_t, base: *const i32) -> nxv2i32;
19067 }
19068 crate::intrinsics::simd::simd_cast(_svldff1sw_s64(pg.sve_into(), base))
19069}
19070#[doc = "Load 8-bit data and sign-extend, first-faulting"]
19071#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1sb_u16)"]
19072#[doc = "## Safety"]
19073#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
19074#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
19075#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
19076#[inline]
19077#[target_feature(enable = "sve")]
19078#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
19079#[cfg_attr(test, assert_instr(ldff1sb))]
19080pub unsafe fn svldff1sb_u16(pg: svbool_t, base: *const i8) -> svuint16_t {
19081 svldff1sb_s16(pg, base).as_unsigned()
19082}
19083#[doc = "Load 8-bit data and sign-extend, first-faulting"]
19084#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1sb_u32)"]
19085#[doc = "## Safety"]
19086#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
19087#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
19088#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
19089#[inline]
19090#[target_feature(enable = "sve")]
19091#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
19092#[cfg_attr(test, assert_instr(ldff1sb))]
19093pub unsafe fn svldff1sb_u32(pg: svbool_t, base: *const i8) -> svuint32_t {
19094 svldff1sb_s32(pg, base).as_unsigned()
19095}
19096#[doc = "Load 16-bit data and sign-extend, first-faulting"]
19097#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1sh_u32)"]
19098#[doc = "## Safety"]
19099#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
19100#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
19101#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
19102#[inline]
19103#[target_feature(enable = "sve")]
19104#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
19105#[cfg_attr(test, assert_instr(ldff1sh))]
19106pub unsafe fn svldff1sh_u32(pg: svbool_t, base: *const i16) -> svuint32_t {
19107 svldff1sh_s32(pg, base).as_unsigned()
19108}
19109#[doc = "Load 8-bit data and sign-extend, first-faulting"]
19110#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1sb_u64)"]
19111#[doc = "## Safety"]
19112#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
19113#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
19114#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
19115#[inline]
19116#[target_feature(enable = "sve")]
19117#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
19118#[cfg_attr(test, assert_instr(ldff1sb))]
19119pub unsafe fn svldff1sb_u64(pg: svbool_t, base: *const i8) -> svuint64_t {
19120 svldff1sb_s64(pg, base).as_unsigned()
19121}
19122#[doc = "Load 16-bit data and sign-extend, first-faulting"]
19123#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1sh_u64)"]
19124#[doc = "## Safety"]
19125#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
19126#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
19127#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
19128#[inline]
19129#[target_feature(enable = "sve")]
19130#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
19131#[cfg_attr(test, assert_instr(ldff1sh))]
19132pub unsafe fn svldff1sh_u64(pg: svbool_t, base: *const i16) -> svuint64_t {
19133 svldff1sh_s64(pg, base).as_unsigned()
19134}
19135#[doc = "Load 32-bit data and sign-extend, first-faulting"]
19136#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1sw_u64)"]
19137#[doc = "## Safety"]
19138#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
19139#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
19140#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
19141#[inline]
19142#[target_feature(enable = "sve")]
19143#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
19144#[cfg_attr(test, assert_instr(ldff1sw))]
19145pub unsafe fn svldff1sw_u64(pg: svbool_t, base: *const i32) -> svuint64_t {
19146 svldff1sw_s64(pg, base).as_unsigned()
19147}
19148#[doc = "Load 8-bit data and sign-extend, first-faulting"]
19149#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1sb_vnum_s16)"]
19150#[doc = "## Safety"]
19151#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour). In particular, note that `vnum` is scaled by the vector length, `VL`, which is not known at compile time."]
19152#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
19153#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
19154#[inline]
19155#[target_feature(enable = "sve")]
19156#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
19157#[cfg_attr(test, assert_instr(ldff1sb))]
19158pub unsafe fn svldff1sb_vnum_s16(pg: svbool_t, base: *const i8, vnum: i64) -> svint16_t {
19159 svldff1sb_s16(pg, base.offset(svcnth() as isize * vnum as isize))
19160}
19161#[doc = "Load 8-bit data and sign-extend, first-faulting"]
19162#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1sb_vnum_s32)"]
19163#[doc = "## Safety"]
19164#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour). In particular, note that `vnum` is scaled by the vector length, `VL`, which is not known at compile time."]
19165#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
19166#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
19167#[inline]
19168#[target_feature(enable = "sve")]
19169#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
19170#[cfg_attr(test, assert_instr(ldff1sb))]
19171pub unsafe fn svldff1sb_vnum_s32(pg: svbool_t, base: *const i8, vnum: i64) -> svint32_t {
19172 svldff1sb_s32(pg, base.offset(svcntw() as isize * vnum as isize))
19173}
19174#[doc = "Load 16-bit data and sign-extend, first-faulting"]
19175#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1sh_vnum_s32)"]
19176#[doc = "## Safety"]
19177#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour). In particular, note that `vnum` is scaled by the vector length, `VL`, which is not known at compile time."]
19178#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
19179#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
19180#[inline]
19181#[target_feature(enable = "sve")]
19182#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
19183#[cfg_attr(test, assert_instr(ldff1sh))]
19184pub unsafe fn svldff1sh_vnum_s32(pg: svbool_t, base: *const i16, vnum: i64) -> svint32_t {
19185 svldff1sh_s32(pg, base.offset(svcntw() as isize * vnum as isize))
19186}
19187#[doc = "Load 8-bit data and sign-extend, first-faulting"]
19188#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1sb_vnum_s64)"]
19189#[doc = "## Safety"]
19190#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour). In particular, note that `vnum` is scaled by the vector length, `VL`, which is not known at compile time."]
19191#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
19192#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
19193#[inline]
19194#[target_feature(enable = "sve")]
19195#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
19196#[cfg_attr(test, assert_instr(ldff1sb))]
19197pub unsafe fn svldff1sb_vnum_s64(pg: svbool_t, base: *const i8, vnum: i64) -> svint64_t {
19198 svldff1sb_s64(pg, base.offset(svcntd() as isize * vnum as isize))
19199}
19200#[doc = "Load 16-bit data and sign-extend, first-faulting"]
19201#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1sh_vnum_s64)"]
19202#[doc = "## Safety"]
19203#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour). In particular, note that `vnum` is scaled by the vector length, `VL`, which is not known at compile time."]
19204#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
19205#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
19206#[inline]
19207#[target_feature(enable = "sve")]
19208#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
19209#[cfg_attr(test, assert_instr(ldff1sh))]
19210pub unsafe fn svldff1sh_vnum_s64(pg: svbool_t, base: *const i16, vnum: i64) -> svint64_t {
19211 svldff1sh_s64(pg, base.offset(svcntd() as isize * vnum as isize))
19212}
19213#[doc = "Load 32-bit data and sign-extend, first-faulting"]
19214#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1sw_vnum_s64)"]
19215#[doc = "## Safety"]
19216#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour). In particular, note that `vnum` is scaled by the vector length, `VL`, which is not known at compile time."]
19217#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
19218#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
19219#[inline]
19220#[target_feature(enable = "sve")]
19221#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
19222#[cfg_attr(test, assert_instr(ldff1sw))]
19223pub unsafe fn svldff1sw_vnum_s64(pg: svbool_t, base: *const i32, vnum: i64) -> svint64_t {
19224 svldff1sw_s64(pg, base.offset(svcntd() as isize * vnum as isize))
19225}
19226#[doc = "Load 8-bit data and sign-extend, first-faulting"]
19227#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1sb_vnum_u16)"]
19228#[doc = "## Safety"]
19229#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour). In particular, note that `vnum` is scaled by the vector length, `VL`, which is not known at compile time."]
19230#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
19231#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
19232#[inline]
19233#[target_feature(enable = "sve")]
19234#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
19235#[cfg_attr(test, assert_instr(ldff1sb))]
19236pub unsafe fn svldff1sb_vnum_u16(pg: svbool_t, base: *const i8, vnum: i64) -> svuint16_t {
19237 svldff1sb_u16(pg, base.offset(svcnth() as isize * vnum as isize))
19238}
19239#[doc = "Load 8-bit data and sign-extend, first-faulting"]
19240#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1sb_vnum_u32)"]
19241#[doc = "## Safety"]
19242#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour). In particular, note that `vnum` is scaled by the vector length, `VL`, which is not known at compile time."]
19243#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
19244#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
19245#[inline]
19246#[target_feature(enable = "sve")]
19247#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
19248#[cfg_attr(test, assert_instr(ldff1sb))]
19249pub unsafe fn svldff1sb_vnum_u32(pg: svbool_t, base: *const i8, vnum: i64) -> svuint32_t {
19250 svldff1sb_u32(pg, base.offset(svcntw() as isize * vnum as isize))
19251}
19252#[doc = "Load 16-bit data and sign-extend, first-faulting"]
19253#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1sh_vnum_u32)"]
19254#[doc = "## Safety"]
19255#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour). In particular, note that `vnum` is scaled by the vector length, `VL`, which is not known at compile time."]
19256#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
19257#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
19258#[inline]
19259#[target_feature(enable = "sve")]
19260#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
19261#[cfg_attr(test, assert_instr(ldff1sh))]
19262pub unsafe fn svldff1sh_vnum_u32(pg: svbool_t, base: *const i16, vnum: i64) -> svuint32_t {
19263 svldff1sh_u32(pg, base.offset(svcntw() as isize * vnum as isize))
19264}
19265#[doc = "Load 8-bit data and sign-extend, first-faulting"]
19266#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1sb_vnum_u64)"]
19267#[doc = "## Safety"]
19268#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour). In particular, note that `vnum` is scaled by the vector length, `VL`, which is not known at compile time."]
19269#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
19270#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
19271#[inline]
19272#[target_feature(enable = "sve")]
19273#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
19274#[cfg_attr(test, assert_instr(ldff1sb))]
19275pub unsafe fn svldff1sb_vnum_u64(pg: svbool_t, base: *const i8, vnum: i64) -> svuint64_t {
19276 svldff1sb_u64(pg, base.offset(svcntd() as isize * vnum as isize))
19277}
19278#[doc = "Load 16-bit data and sign-extend, first-faulting"]
19279#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1sh_vnum_u64)"]
19280#[doc = "## Safety"]
19281#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour). In particular, note that `vnum` is scaled by the vector length, `VL`, which is not known at compile time."]
19282#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
19283#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
19284#[inline]
19285#[target_feature(enable = "sve")]
19286#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
19287#[cfg_attr(test, assert_instr(ldff1sh))]
19288pub unsafe fn svldff1sh_vnum_u64(pg: svbool_t, base: *const i16, vnum: i64) -> svuint64_t {
19289 svldff1sh_u64(pg, base.offset(svcntd() as isize * vnum as isize))
19290}
19291#[doc = "Load 32-bit data and sign-extend, first-faulting"]
19292#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1sw_vnum_u64)"]
19293#[doc = "## Safety"]
19294#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour). In particular, note that `vnum` is scaled by the vector length, `VL`, which is not known at compile time."]
19295#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
19296#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
19297#[inline]
19298#[target_feature(enable = "sve")]
19299#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
19300#[cfg_attr(test, assert_instr(ldff1sw))]
19301pub unsafe fn svldff1sw_vnum_u64(pg: svbool_t, base: *const i32, vnum: i64) -> svuint64_t {
19302 svldff1sw_u64(pg, base.offset(svcntd() as isize * vnum as isize))
19303}
19304#[doc = "Load 16-bit data and sign-extend, first-faulting"]
19305#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1sh_gather_[s32]index_s32)"]
19306#[doc = "## Safety"]
19307#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
19308#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
19309#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
19310#[inline]
19311#[target_feature(enable = "sve")]
19312#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
19313#[cfg_attr(test, assert_instr(ldff1sh))]
19314pub unsafe fn svldff1sh_gather_s32index_s32(
19315 pg: svbool_t,
19316 base: *const i16,
19317 indices: svint32_t,
19318) -> svint32_t {
19319 unsafe extern "unadjusted" {
19320 #[cfg_attr(
19321 target_arch = "aarch64",
19322 link_name = "llvm.aarch64.sve.ldff1.gather.sxtw.index.nxv4i16"
19323 )]
19324 fn _svldff1sh_gather_s32index_s32(
19325 pg: svbool4_t,
19326 base: *const i16,
19327 indices: svint32_t,
19328 ) -> nxv4i16;
19329 }
19330 crate::intrinsics::simd::simd_cast(_svldff1sh_gather_s32index_s32(pg.sve_into(), base, indices))
19331}
19332#[doc = "Load 16-bit data and sign-extend, first-faulting"]
19333#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1sh_gather_[s32]index_u32)"]
19334#[doc = "## Safety"]
19335#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
19336#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
19337#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
19338#[inline]
19339#[target_feature(enable = "sve")]
19340#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
19341#[cfg_attr(test, assert_instr(ldff1sh))]
19342pub unsafe fn svldff1sh_gather_s32index_u32(
19343 pg: svbool_t,
19344 base: *const i16,
19345 indices: svint32_t,
19346) -> svuint32_t {
19347 svldff1sh_gather_s32index_s32(pg, base, indices).as_unsigned()
19348}
19349#[doc = "Load 16-bit data and sign-extend, first-faulting"]
19350#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1sh_gather_[s64]index_s64)"]
19351#[doc = "## Safety"]
19352#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
19353#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
19354#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
19355#[inline]
19356#[target_feature(enable = "sve")]
19357#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
19358#[cfg_attr(test, assert_instr(ldff1sh))]
19359pub unsafe fn svldff1sh_gather_s64index_s64(
19360 pg: svbool_t,
19361 base: *const i16,
19362 indices: svint64_t,
19363) -> svint64_t {
19364 unsafe extern "unadjusted" {
19365 #[cfg_attr(
19366 target_arch = "aarch64",
19367 link_name = "llvm.aarch64.sve.ldff1.gather.index.nxv2i16"
19368 )]
19369 fn _svldff1sh_gather_s64index_s64(
19370 pg: svbool2_t,
19371 base: *const i16,
19372 indices: svint64_t,
19373 ) -> nxv2i16;
19374 }
19375 crate::intrinsics::simd::simd_cast(_svldff1sh_gather_s64index_s64(pg.sve_into(), base, indices))
19376}
19377#[doc = "Load 32-bit data and sign-extend, first-faulting"]
19378#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1sw_gather_[s64]index_s64)"]
19379#[doc = "## Safety"]
19380#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
19381#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
19382#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
19383#[inline]
19384#[target_feature(enable = "sve")]
19385#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
19386#[cfg_attr(test, assert_instr(ldff1sw))]
19387pub unsafe fn svldff1sw_gather_s64index_s64(
19388 pg: svbool_t,
19389 base: *const i32,
19390 indices: svint64_t,
19391) -> svint64_t {
19392 unsafe extern "unadjusted" {
19393 #[cfg_attr(
19394 target_arch = "aarch64",
19395 link_name = "llvm.aarch64.sve.ldff1.gather.index.nxv2i32"
19396 )]
19397 fn _svldff1sw_gather_s64index_s64(
19398 pg: svbool2_t,
19399 base: *const i32,
19400 indices: svint64_t,
19401 ) -> nxv2i32;
19402 }
19403 crate::intrinsics::simd::simd_cast(_svldff1sw_gather_s64index_s64(pg.sve_into(), base, indices))
19404}
19405#[doc = "Load 16-bit data and sign-extend, first-faulting"]
19406#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1sh_gather_[s64]index_u64)"]
19407#[doc = "## Safety"]
19408#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
19409#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
19410#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
19411#[inline]
19412#[target_feature(enable = "sve")]
19413#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
19414#[cfg_attr(test, assert_instr(ldff1sh))]
19415pub unsafe fn svldff1sh_gather_s64index_u64(
19416 pg: svbool_t,
19417 base: *const i16,
19418 indices: svint64_t,
19419) -> svuint64_t {
19420 svldff1sh_gather_s64index_s64(pg, base, indices).as_unsigned()
19421}
19422#[doc = "Load 32-bit data and sign-extend, first-faulting"]
19423#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1sw_gather_[s64]index_u64)"]
19424#[doc = "## Safety"]
19425#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
19426#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
19427#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
19428#[inline]
19429#[target_feature(enable = "sve")]
19430#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
19431#[cfg_attr(test, assert_instr(ldff1sw))]
19432pub unsafe fn svldff1sw_gather_s64index_u64(
19433 pg: svbool_t,
19434 base: *const i32,
19435 indices: svint64_t,
19436) -> svuint64_t {
19437 svldff1sw_gather_s64index_s64(pg, base, indices).as_unsigned()
19438}
19439#[doc = "Load 16-bit data and sign-extend, first-faulting"]
19440#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1sh_gather_[u32]index_s32)"]
19441#[doc = "## Safety"]
19442#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
19443#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
19444#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
19445#[inline]
19446#[target_feature(enable = "sve")]
19447#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
19448#[cfg_attr(test, assert_instr(ldff1sh))]
19449pub unsafe fn svldff1sh_gather_u32index_s32(
19450 pg: svbool_t,
19451 base: *const i16,
19452 indices: svuint32_t,
19453) -> svint32_t {
19454 unsafe extern "unadjusted" {
19455 #[cfg_attr(
19456 target_arch = "aarch64",
19457 link_name = "llvm.aarch64.sve.ldff1.gather.uxtw.index.nxv4i16"
19458 )]
19459 fn _svldff1sh_gather_u32index_s32(
19460 pg: svbool4_t,
19461 base: *const i16,
19462 indices: svint32_t,
19463 ) -> nxv4i16;
19464 }
19465 crate::intrinsics::simd::simd_cast(_svldff1sh_gather_u32index_s32(
19466 pg.sve_into(),
19467 base,
19468 indices.as_signed(),
19469 ))
19470}
19471#[doc = "Load 16-bit data and sign-extend, first-faulting"]
19472#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1sh_gather_[u32]index_u32)"]
19473#[doc = "## Safety"]
19474#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
19475#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
19476#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
19477#[inline]
19478#[target_feature(enable = "sve")]
19479#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
19480#[cfg_attr(test, assert_instr(ldff1sh))]
19481pub unsafe fn svldff1sh_gather_u32index_u32(
19482 pg: svbool_t,
19483 base: *const i16,
19484 indices: svuint32_t,
19485) -> svuint32_t {
19486 svldff1sh_gather_u32index_s32(pg, base, indices).as_unsigned()
19487}
19488#[doc = "Load 16-bit data and sign-extend, first-faulting"]
19489#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1sh_gather_[u64]index_s64)"]
19490#[doc = "## Safety"]
19491#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
19492#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
19493#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
19494#[inline]
19495#[target_feature(enable = "sve")]
19496#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
19497#[cfg_attr(test, assert_instr(ldff1sh))]
19498pub unsafe fn svldff1sh_gather_u64index_s64(
19499 pg: svbool_t,
19500 base: *const i16,
19501 indices: svuint64_t,
19502) -> svint64_t {
19503 svldff1sh_gather_s64index_s64(pg, base, indices.as_signed())
19504}
19505#[doc = "Load 32-bit data and sign-extend, first-faulting"]
19506#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1sw_gather_[u64]index_s64)"]
19507#[doc = "## Safety"]
19508#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
19509#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
19510#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
19511#[inline]
19512#[target_feature(enable = "sve")]
19513#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
19514#[cfg_attr(test, assert_instr(ldff1sw))]
19515pub unsafe fn svldff1sw_gather_u64index_s64(
19516 pg: svbool_t,
19517 base: *const i32,
19518 indices: svuint64_t,
19519) -> svint64_t {
19520 svldff1sw_gather_s64index_s64(pg, base, indices.as_signed())
19521}
19522#[doc = "Load 16-bit data and sign-extend, first-faulting"]
19523#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1sh_gather_[u64]index_u64)"]
19524#[doc = "## Safety"]
19525#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
19526#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
19527#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
19528#[inline]
19529#[target_feature(enable = "sve")]
19530#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
19531#[cfg_attr(test, assert_instr(ldff1sh))]
19532pub unsafe fn svldff1sh_gather_u64index_u64(
19533 pg: svbool_t,
19534 base: *const i16,
19535 indices: svuint64_t,
19536) -> svuint64_t {
19537 svldff1sh_gather_s64index_s64(pg, base, indices.as_signed()).as_unsigned()
19538}
19539#[doc = "Load 32-bit data and sign-extend, first-faulting"]
19540#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1sw_gather_[u64]index_u64)"]
19541#[doc = "## Safety"]
19542#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
19543#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
19544#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
19545#[inline]
19546#[target_feature(enable = "sve")]
19547#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
19548#[cfg_attr(test, assert_instr(ldff1sw))]
19549pub unsafe fn svldff1sw_gather_u64index_u64(
19550 pg: svbool_t,
19551 base: *const i32,
19552 indices: svuint64_t,
19553) -> svuint64_t {
19554 svldff1sw_gather_s64index_s64(pg, base, indices.as_signed()).as_unsigned()
19555}
19556#[doc = "Load 16-bit data and sign-extend, first-faulting"]
19557#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1sh_gather[_u32base]_index_s32)"]
19558#[doc = "## Safety"]
19559#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
19560#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
19561#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
19562#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
19563#[inline]
19564#[target_feature(enable = "sve")]
19565#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
19566#[cfg_attr(test, assert_instr(ldff1sh))]
19567pub unsafe fn svldff1sh_gather_u32base_index_s32(
19568 pg: svbool_t,
19569 bases: svuint32_t,
19570 index: i64,
19571) -> svint32_t {
19572 svldff1sh_gather_u32base_offset_s32(pg, bases, index.unchecked_shl(1))
19573}
19574#[doc = "Load 16-bit data and sign-extend, first-faulting"]
19575#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1sh_gather[_u32base]_index_u32)"]
19576#[doc = "## Safety"]
19577#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
19578#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
19579#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
19580#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
19581#[inline]
19582#[target_feature(enable = "sve")]
19583#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
19584#[cfg_attr(test, assert_instr(ldff1sh))]
19585pub unsafe fn svldff1sh_gather_u32base_index_u32(
19586 pg: svbool_t,
19587 bases: svuint32_t,
19588 index: i64,
19589) -> svuint32_t {
19590 svldff1sh_gather_u32base_offset_u32(pg, bases, index.unchecked_shl(1))
19591}
19592#[doc = "Load 16-bit data and sign-extend, first-faulting"]
19593#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1sh_gather[_u64base]_index_s64)"]
19594#[doc = "## Safety"]
19595#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
19596#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
19597#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
19598#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
19599#[inline]
19600#[target_feature(enable = "sve")]
19601#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
19602#[cfg_attr(test, assert_instr(ldff1sh))]
19603pub unsafe fn svldff1sh_gather_u64base_index_s64(
19604 pg: svbool_t,
19605 bases: svuint64_t,
19606 index: i64,
19607) -> svint64_t {
19608 svldff1sh_gather_u64base_offset_s64(pg, bases, index.unchecked_shl(1))
19609}
19610#[doc = "Load 32-bit data and sign-extend, first-faulting"]
19611#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1sw_gather[_u64base]_index_s64)"]
19612#[doc = "## Safety"]
19613#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
19614#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
19615#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
19616#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
19617#[inline]
19618#[target_feature(enable = "sve")]
19619#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
19620#[cfg_attr(test, assert_instr(ldff1sw))]
19621pub unsafe fn svldff1sw_gather_u64base_index_s64(
19622 pg: svbool_t,
19623 bases: svuint64_t,
19624 index: i64,
19625) -> svint64_t {
19626 svldff1sw_gather_u64base_offset_s64(pg, bases, index.unchecked_shl(2))
19627}
19628#[doc = "Load 16-bit data and sign-extend, first-faulting"]
19629#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1sh_gather[_u64base]_index_u64)"]
19630#[doc = "## Safety"]
19631#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
19632#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
19633#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
19634#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
19635#[inline]
19636#[target_feature(enable = "sve")]
19637#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
19638#[cfg_attr(test, assert_instr(ldff1sh))]
19639pub unsafe fn svldff1sh_gather_u64base_index_u64(
19640 pg: svbool_t,
19641 bases: svuint64_t,
19642 index: i64,
19643) -> svuint64_t {
19644 svldff1sh_gather_u64base_offset_u64(pg, bases, index.unchecked_shl(1))
19645}
19646#[doc = "Load 32-bit data and sign-extend, first-faulting"]
19647#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1sw_gather[_u64base]_index_u64)"]
19648#[doc = "## Safety"]
19649#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
19650#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
19651#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
19652#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
19653#[inline]
19654#[target_feature(enable = "sve")]
19655#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
19656#[cfg_attr(test, assert_instr(ldff1sw))]
19657pub unsafe fn svldff1sw_gather_u64base_index_u64(
19658 pg: svbool_t,
19659 bases: svuint64_t,
19660 index: i64,
19661) -> svuint64_t {
19662 svldff1sw_gather_u64base_offset_u64(pg, bases, index.unchecked_shl(2))
19663}
19664#[doc = "Load 8-bit data and zero-extend, first-faulting"]
19665#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1ub_gather_[s32]offset_s32)"]
19666#[doc = "## Safety"]
19667#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
19668#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
19669#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
19670#[inline]
19671#[target_feature(enable = "sve")]
19672#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
19673#[cfg_attr(test, assert_instr(ldff1b))]
19674pub unsafe fn svldff1ub_gather_s32offset_s32(
19675 pg: svbool_t,
19676 base: *const u8,
19677 offsets: svint32_t,
19678) -> svint32_t {
19679 svldff1ub_gather_s32offset_u32(pg, base, offsets).as_signed()
19680}
19681#[doc = "Load 16-bit data and zero-extend, first-faulting"]
19682#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1uh_gather_[s32]offset_s32)"]
19683#[doc = "## Safety"]
19684#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
19685#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
19686#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
19687#[inline]
19688#[target_feature(enable = "sve")]
19689#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
19690#[cfg_attr(test, assert_instr(ldff1h))]
19691pub unsafe fn svldff1uh_gather_s32offset_s32(
19692 pg: svbool_t,
19693 base: *const u16,
19694 offsets: svint32_t,
19695) -> svint32_t {
19696 svldff1uh_gather_s32offset_u32(pg, base, offsets).as_signed()
19697}
19698#[doc = "Load 8-bit data and zero-extend, first-faulting"]
19699#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1ub_gather_[s32]offset_u32)"]
19700#[doc = "## Safety"]
19701#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
19702#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
19703#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
19704#[inline]
19705#[target_feature(enable = "sve")]
19706#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
19707#[cfg_attr(test, assert_instr(ldff1b))]
19708pub unsafe fn svldff1ub_gather_s32offset_u32(
19709 pg: svbool_t,
19710 base: *const u8,
19711 offsets: svint32_t,
19712) -> svuint32_t {
19713 unsafe extern "unadjusted" {
19714 #[cfg_attr(
19715 target_arch = "aarch64",
19716 link_name = "llvm.aarch64.sve.ldff1.gather.sxtw.nxv4i8"
19717 )]
19718 fn _svldff1ub_gather_s32offset_u32(
19719 pg: svbool4_t,
19720 base: *const i8,
19721 offsets: svint32_t,
19722 ) -> nxv4i8;
19723 }
19724 crate::intrinsics::simd::simd_cast::<nxv4u8, _>(
19725 _svldff1ub_gather_s32offset_u32(pg.sve_into(), base.as_signed(), offsets).as_unsigned(),
19726 )
19727}
19728#[doc = "Load 16-bit data and zero-extend, first-faulting"]
19729#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1uh_gather_[s32]offset_u32)"]
19730#[doc = "## Safety"]
19731#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
19732#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
19733#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
19734#[inline]
19735#[target_feature(enable = "sve")]
19736#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
19737#[cfg_attr(test, assert_instr(ldff1h))]
19738pub unsafe fn svldff1uh_gather_s32offset_u32(
19739 pg: svbool_t,
19740 base: *const u16,
19741 offsets: svint32_t,
19742) -> svuint32_t {
19743 unsafe extern "unadjusted" {
19744 #[cfg_attr(
19745 target_arch = "aarch64",
19746 link_name = "llvm.aarch64.sve.ldff1.gather.sxtw.nxv4i16"
19747 )]
19748 fn _svldff1uh_gather_s32offset_u32(
19749 pg: svbool4_t,
19750 base: *const i16,
19751 offsets: svint32_t,
19752 ) -> nxv4i16;
19753 }
19754 crate::intrinsics::simd::simd_cast::<nxv4u16, _>(
19755 _svldff1uh_gather_s32offset_u32(pg.sve_into(), base.as_signed(), offsets).as_unsigned(),
19756 )
19757}
19758#[doc = "Load 8-bit data and zero-extend, first-faulting"]
19759#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1ub_gather_[s64]offset_s64)"]
19760#[doc = "## Safety"]
19761#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
19762#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
19763#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
19764#[inline]
19765#[target_feature(enable = "sve")]
19766#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
19767#[cfg_attr(test, assert_instr(ldff1b))]
19768pub unsafe fn svldff1ub_gather_s64offset_s64(
19769 pg: svbool_t,
19770 base: *const u8,
19771 offsets: svint64_t,
19772) -> svint64_t {
19773 svldff1ub_gather_s64offset_u64(pg, base, offsets).as_signed()
19774}
19775#[doc = "Load 16-bit data and zero-extend, first-faulting"]
19776#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1uh_gather_[s64]offset_s64)"]
19777#[doc = "## Safety"]
19778#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
19779#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
19780#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
19781#[inline]
19782#[target_feature(enable = "sve")]
19783#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
19784#[cfg_attr(test, assert_instr(ldff1h))]
19785pub unsafe fn svldff1uh_gather_s64offset_s64(
19786 pg: svbool_t,
19787 base: *const u16,
19788 offsets: svint64_t,
19789) -> svint64_t {
19790 svldff1uh_gather_s64offset_u64(pg, base, offsets).as_signed()
19791}
19792#[doc = "Load 32-bit data and zero-extend, first-faulting"]
19793#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1uw_gather_[s64]offset_s64)"]
19794#[doc = "## Safety"]
19795#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
19796#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
19797#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
19798#[inline]
19799#[target_feature(enable = "sve")]
19800#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
19801#[cfg_attr(test, assert_instr(ldff1w))]
19802pub unsafe fn svldff1uw_gather_s64offset_s64(
19803 pg: svbool_t,
19804 base: *const u32,
19805 offsets: svint64_t,
19806) -> svint64_t {
19807 svldff1uw_gather_s64offset_u64(pg, base, offsets).as_signed()
19808}
19809#[doc = "Load 8-bit data and zero-extend, first-faulting"]
19810#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1ub_gather_[s64]offset_u64)"]
19811#[doc = "## Safety"]
19812#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
19813#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
19814#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
19815#[inline]
19816#[target_feature(enable = "sve")]
19817#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
19818#[cfg_attr(test, assert_instr(ldff1b))]
19819pub unsafe fn svldff1ub_gather_s64offset_u64(
19820 pg: svbool_t,
19821 base: *const u8,
19822 offsets: svint64_t,
19823) -> svuint64_t {
19824 unsafe extern "unadjusted" {
19825 #[cfg_attr(
19826 target_arch = "aarch64",
19827 link_name = "llvm.aarch64.sve.ldff1.gather.nxv2i8"
19828 )]
19829 fn _svldff1ub_gather_s64offset_u64(
19830 pg: svbool2_t,
19831 base: *const i8,
19832 offsets: svint64_t,
19833 ) -> nxv2i8;
19834 }
19835 crate::intrinsics::simd::simd_cast::<nxv2u8, _>(
19836 _svldff1ub_gather_s64offset_u64(pg.sve_into(), base.as_signed(), offsets).as_unsigned(),
19837 )
19838}
19839#[doc = "Load 16-bit data and zero-extend, first-faulting"]
19840#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1uh_gather_[s64]offset_u64)"]
19841#[doc = "## Safety"]
19842#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
19843#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
19844#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
19845#[inline]
19846#[target_feature(enable = "sve")]
19847#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
19848#[cfg_attr(test, assert_instr(ldff1h))]
19849pub unsafe fn svldff1uh_gather_s64offset_u64(
19850 pg: svbool_t,
19851 base: *const u16,
19852 offsets: svint64_t,
19853) -> svuint64_t {
19854 unsafe extern "unadjusted" {
19855 #[cfg_attr(
19856 target_arch = "aarch64",
19857 link_name = "llvm.aarch64.sve.ldff1.gather.nxv2i16"
19858 )]
19859 fn _svldff1uh_gather_s64offset_u64(
19860 pg: svbool2_t,
19861 base: *const i16,
19862 offsets: svint64_t,
19863 ) -> nxv2i16;
19864 }
19865 crate::intrinsics::simd::simd_cast::<nxv2u16, _>(
19866 _svldff1uh_gather_s64offset_u64(pg.sve_into(), base.as_signed(), offsets).as_unsigned(),
19867 )
19868}
19869#[doc = "Load 32-bit data and zero-extend, first-faulting"]
19870#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1uw_gather_[s64]offset_u64)"]
19871#[doc = "## Safety"]
19872#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
19873#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
19874#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
19875#[inline]
19876#[target_feature(enable = "sve")]
19877#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
19878#[cfg_attr(test, assert_instr(ldff1w))]
19879pub unsafe fn svldff1uw_gather_s64offset_u64(
19880 pg: svbool_t,
19881 base: *const u32,
19882 offsets: svint64_t,
19883) -> svuint64_t {
19884 unsafe extern "unadjusted" {
19885 #[cfg_attr(
19886 target_arch = "aarch64",
19887 link_name = "llvm.aarch64.sve.ldff1.gather.nxv2i32"
19888 )]
19889 fn _svldff1uw_gather_s64offset_u64(
19890 pg: svbool2_t,
19891 base: *const i32,
19892 offsets: svint64_t,
19893 ) -> nxv2i32;
19894 }
19895 crate::intrinsics::simd::simd_cast::<nxv2u32, _>(
19896 _svldff1uw_gather_s64offset_u64(pg.sve_into(), base.as_signed(), offsets).as_unsigned(),
19897 )
19898}
19899#[doc = "Load 8-bit data and zero-extend, first-faulting"]
19900#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1ub_gather_[u32]offset_s32)"]
19901#[doc = "## Safety"]
19902#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
19903#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
19904#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
19905#[inline]
19906#[target_feature(enable = "sve")]
19907#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
19908#[cfg_attr(test, assert_instr(ldff1b))]
19909pub unsafe fn svldff1ub_gather_u32offset_s32(
19910 pg: svbool_t,
19911 base: *const u8,
19912 offsets: svuint32_t,
19913) -> svint32_t {
19914 svldff1ub_gather_u32offset_u32(pg, base, offsets).as_signed()
19915}
19916#[doc = "Load 16-bit data and zero-extend, first-faulting"]
19917#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1uh_gather_[u32]offset_s32)"]
19918#[doc = "## Safety"]
19919#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
19920#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
19921#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
19922#[inline]
19923#[target_feature(enable = "sve")]
19924#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
19925#[cfg_attr(test, assert_instr(ldff1h))]
19926pub unsafe fn svldff1uh_gather_u32offset_s32(
19927 pg: svbool_t,
19928 base: *const u16,
19929 offsets: svuint32_t,
19930) -> svint32_t {
19931 svldff1uh_gather_u32offset_u32(pg, base, offsets).as_signed()
19932}
19933#[doc = "Load 8-bit data and zero-extend, first-faulting"]
19934#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1ub_gather_[u32]offset_u32)"]
19935#[doc = "## Safety"]
19936#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
19937#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
19938#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
19939#[inline]
19940#[target_feature(enable = "sve")]
19941#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
19942#[cfg_attr(test, assert_instr(ldff1b))]
19943pub unsafe fn svldff1ub_gather_u32offset_u32(
19944 pg: svbool_t,
19945 base: *const u8,
19946 offsets: svuint32_t,
19947) -> svuint32_t {
19948 unsafe extern "unadjusted" {
19949 #[cfg_attr(
19950 target_arch = "aarch64",
19951 link_name = "llvm.aarch64.sve.ldff1.gather.uxtw.nxv4i8"
19952 )]
19953 fn _svldff1ub_gather_u32offset_u32(
19954 pg: svbool4_t,
19955 base: *const i8,
19956 offsets: svint32_t,
19957 ) -> nxv4i8;
19958 }
19959 crate::intrinsics::simd::simd_cast::<nxv4u8, _>(
19960 _svldff1ub_gather_u32offset_u32(pg.sve_into(), base.as_signed(), offsets.as_signed())
19961 .as_unsigned(),
19962 )
19963}
19964#[doc = "Load 16-bit data and zero-extend, first-faulting"]
19965#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1uh_gather_[u32]offset_u32)"]
19966#[doc = "## Safety"]
19967#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
19968#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
19969#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
19970#[inline]
19971#[target_feature(enable = "sve")]
19972#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
19973#[cfg_attr(test, assert_instr(ldff1h))]
19974pub unsafe fn svldff1uh_gather_u32offset_u32(
19975 pg: svbool_t,
19976 base: *const u16,
19977 offsets: svuint32_t,
19978) -> svuint32_t {
19979 unsafe extern "unadjusted" {
19980 #[cfg_attr(
19981 target_arch = "aarch64",
19982 link_name = "llvm.aarch64.sve.ldff1.gather.uxtw.nxv4i16"
19983 )]
19984 fn _svldff1uh_gather_u32offset_u32(
19985 pg: svbool4_t,
19986 base: *const i16,
19987 offsets: svint32_t,
19988 ) -> nxv4i16;
19989 }
19990 crate::intrinsics::simd::simd_cast::<nxv4u16, _>(
19991 _svldff1uh_gather_u32offset_u32(pg.sve_into(), base.as_signed(), offsets.as_signed())
19992 .as_unsigned(),
19993 )
19994}
19995#[doc = "Load 8-bit data and zero-extend, first-faulting"]
19996#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1ub_gather_[u64]offset_s64)"]
19997#[doc = "## Safety"]
19998#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
19999#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
20000#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
20001#[inline]
20002#[target_feature(enable = "sve")]
20003#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
20004#[cfg_attr(test, assert_instr(ldff1b))]
20005pub unsafe fn svldff1ub_gather_u64offset_s64(
20006 pg: svbool_t,
20007 base: *const u8,
20008 offsets: svuint64_t,
20009) -> svint64_t {
20010 svldff1ub_gather_s64offset_u64(pg, base, offsets.as_signed()).as_signed()
20011}
20012#[doc = "Load 16-bit data and zero-extend, first-faulting"]
20013#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1uh_gather_[u64]offset_s64)"]
20014#[doc = "## Safety"]
20015#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
20016#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
20017#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
20018#[inline]
20019#[target_feature(enable = "sve")]
20020#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
20021#[cfg_attr(test, assert_instr(ldff1h))]
20022pub unsafe fn svldff1uh_gather_u64offset_s64(
20023 pg: svbool_t,
20024 base: *const u16,
20025 offsets: svuint64_t,
20026) -> svint64_t {
20027 svldff1uh_gather_s64offset_u64(pg, base, offsets.as_signed()).as_signed()
20028}
20029#[doc = "Load 32-bit data and zero-extend, first-faulting"]
20030#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1uw_gather_[u64]offset_s64)"]
20031#[doc = "## Safety"]
20032#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
20033#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
20034#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
20035#[inline]
20036#[target_feature(enable = "sve")]
20037#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
20038#[cfg_attr(test, assert_instr(ldff1w))]
20039pub unsafe fn svldff1uw_gather_u64offset_s64(
20040 pg: svbool_t,
20041 base: *const u32,
20042 offsets: svuint64_t,
20043) -> svint64_t {
20044 svldff1uw_gather_s64offset_u64(pg, base, offsets.as_signed()).as_signed()
20045}
20046#[doc = "Load 8-bit data and zero-extend, first-faulting"]
20047#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1ub_gather_[u64]offset_u64)"]
20048#[doc = "## Safety"]
20049#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
20050#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
20051#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
20052#[inline]
20053#[target_feature(enable = "sve")]
20054#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
20055#[cfg_attr(test, assert_instr(ldff1b))]
20056pub unsafe fn svldff1ub_gather_u64offset_u64(
20057 pg: svbool_t,
20058 base: *const u8,
20059 offsets: svuint64_t,
20060) -> svuint64_t {
20061 svldff1ub_gather_s64offset_u64(pg, base, offsets.as_signed())
20062}
20063#[doc = "Load 16-bit data and zero-extend, first-faulting"]
20064#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1uh_gather_[u64]offset_u64)"]
20065#[doc = "## Safety"]
20066#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
20067#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
20068#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
20069#[inline]
20070#[target_feature(enable = "sve")]
20071#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
20072#[cfg_attr(test, assert_instr(ldff1h))]
20073pub unsafe fn svldff1uh_gather_u64offset_u64(
20074 pg: svbool_t,
20075 base: *const u16,
20076 offsets: svuint64_t,
20077) -> svuint64_t {
20078 svldff1uh_gather_s64offset_u64(pg, base, offsets.as_signed())
20079}
20080#[doc = "Load 32-bit data and zero-extend, first-faulting"]
20081#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1uw_gather_[u64]offset_u64)"]
20082#[doc = "## Safety"]
20083#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
20084#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
20085#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
20086#[inline]
20087#[target_feature(enable = "sve")]
20088#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
20089#[cfg_attr(test, assert_instr(ldff1w))]
20090pub unsafe fn svldff1uw_gather_u64offset_u64(
20091 pg: svbool_t,
20092 base: *const u32,
20093 offsets: svuint64_t,
20094) -> svuint64_t {
20095 svldff1uw_gather_s64offset_u64(pg, base, offsets.as_signed())
20096}
20097#[doc = "Load 8-bit data and zero-extend, first-faulting"]
20098#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1ub_gather[_u32base]_offset_s32)"]
20099#[doc = "## Safety"]
20100#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
20101#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
20102#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
20103#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
20104#[inline]
20105#[target_feature(enable = "sve")]
20106#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
20107#[cfg_attr(test, assert_instr(ldff1b))]
20108pub unsafe fn svldff1ub_gather_u32base_offset_s32(
20109 pg: svbool_t,
20110 bases: svuint32_t,
20111 offset: i64,
20112) -> svint32_t {
20113 svldff1ub_gather_u32base_offset_u32(pg, bases, offset).as_signed()
20114}
20115#[doc = "Load 16-bit data and zero-extend, first-faulting"]
20116#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1uh_gather[_u32base]_offset_s32)"]
20117#[doc = "## Safety"]
20118#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
20119#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
20120#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
20121#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
20122#[inline]
20123#[target_feature(enable = "sve")]
20124#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
20125#[cfg_attr(test, assert_instr(ldff1h))]
20126pub unsafe fn svldff1uh_gather_u32base_offset_s32(
20127 pg: svbool_t,
20128 bases: svuint32_t,
20129 offset: i64,
20130) -> svint32_t {
20131 svldff1uh_gather_u32base_offset_u32(pg, bases, offset).as_signed()
20132}
20133#[doc = "Load 8-bit data and zero-extend, first-faulting"]
20134#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1ub_gather[_u32base]_offset_u32)"]
20135#[doc = "## Safety"]
20136#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
20137#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
20138#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
20139#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
20140#[inline]
20141#[target_feature(enable = "sve")]
20142#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
20143#[cfg_attr(test, assert_instr(ldff1b))]
20144pub unsafe fn svldff1ub_gather_u32base_offset_u32(
20145 pg: svbool_t,
20146 bases: svuint32_t,
20147 offset: i64,
20148) -> svuint32_t {
20149 unsafe extern "unadjusted" {
20150 #[cfg_attr(
20151 target_arch = "aarch64",
20152 link_name = "llvm.aarch64.sve.ldff1.gather.scalar.offset.nxv4i8.nxv4i32"
20153 )]
20154 fn _svldff1ub_gather_u32base_offset_u32(
20155 pg: svbool4_t,
20156 bases: svint32_t,
20157 offset: i64,
20158 ) -> nxv4i8;
20159 }
20160 crate::intrinsics::simd::simd_cast::<nxv4u8, _>(
20161 _svldff1ub_gather_u32base_offset_u32(pg.sve_into(), bases.as_signed(), offset)
20162 .as_unsigned(),
20163 )
20164}
20165#[doc = "Load 16-bit data and zero-extend, first-faulting"]
20166#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1uh_gather[_u32base]_offset_u32)"]
20167#[doc = "## Safety"]
20168#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
20169#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
20170#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
20171#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
20172#[inline]
20173#[target_feature(enable = "sve")]
20174#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
20175#[cfg_attr(test, assert_instr(ldff1h))]
20176pub unsafe fn svldff1uh_gather_u32base_offset_u32(
20177 pg: svbool_t,
20178 bases: svuint32_t,
20179 offset: i64,
20180) -> svuint32_t {
20181 unsafe extern "unadjusted" {
20182 #[cfg_attr(
20183 target_arch = "aarch64",
20184 link_name = "llvm.aarch64.sve.ldff1.gather.scalar.offset.nxv4i16.nxv4i32"
20185 )]
20186 fn _svldff1uh_gather_u32base_offset_u32(
20187 pg: svbool4_t,
20188 bases: svint32_t,
20189 offset: i64,
20190 ) -> nxv4i16;
20191 }
20192 crate::intrinsics::simd::simd_cast::<nxv4u16, _>(
20193 _svldff1uh_gather_u32base_offset_u32(pg.sve_into(), bases.as_signed(), offset)
20194 .as_unsigned(),
20195 )
20196}
20197#[doc = "Load 8-bit data and zero-extend, first-faulting"]
20198#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1ub_gather[_u64base]_offset_s64)"]
20199#[doc = "## Safety"]
20200#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
20201#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
20202#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
20203#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
20204#[inline]
20205#[target_feature(enable = "sve")]
20206#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
20207#[cfg_attr(test, assert_instr(ldff1b))]
20208pub unsafe fn svldff1ub_gather_u64base_offset_s64(
20209 pg: svbool_t,
20210 bases: svuint64_t,
20211 offset: i64,
20212) -> svint64_t {
20213 svldff1ub_gather_u64base_offset_u64(pg, bases, offset).as_signed()
20214}
20215#[doc = "Load 16-bit data and zero-extend, first-faulting"]
20216#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1uh_gather[_u64base]_offset_s64)"]
20217#[doc = "## Safety"]
20218#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
20219#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
20220#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
20221#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
20222#[inline]
20223#[target_feature(enable = "sve")]
20224#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
20225#[cfg_attr(test, assert_instr(ldff1h))]
20226pub unsafe fn svldff1uh_gather_u64base_offset_s64(
20227 pg: svbool_t,
20228 bases: svuint64_t,
20229 offset: i64,
20230) -> svint64_t {
20231 svldff1uh_gather_u64base_offset_u64(pg, bases, offset).as_signed()
20232}
20233#[doc = "Load 32-bit data and zero-extend, first-faulting"]
20234#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1uw_gather[_u64base]_offset_s64)"]
20235#[doc = "## Safety"]
20236#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
20237#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
20238#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
20239#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
20240#[inline]
20241#[target_feature(enable = "sve")]
20242#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
20243#[cfg_attr(test, assert_instr(ldff1w))]
20244pub unsafe fn svldff1uw_gather_u64base_offset_s64(
20245 pg: svbool_t,
20246 bases: svuint64_t,
20247 offset: i64,
20248) -> svint64_t {
20249 svldff1uw_gather_u64base_offset_u64(pg, bases, offset).as_signed()
20250}
20251#[doc = "Load 8-bit data and zero-extend, first-faulting"]
20252#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1ub_gather[_u64base]_offset_u64)"]
20253#[doc = "## Safety"]
20254#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
20255#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
20256#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
20257#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
20258#[inline]
20259#[target_feature(enable = "sve")]
20260#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
20261#[cfg_attr(test, assert_instr(ldff1b))]
20262pub unsafe fn svldff1ub_gather_u64base_offset_u64(
20263 pg: svbool_t,
20264 bases: svuint64_t,
20265 offset: i64,
20266) -> svuint64_t {
20267 unsafe extern "unadjusted" {
20268 #[cfg_attr(
20269 target_arch = "aarch64",
20270 link_name = "llvm.aarch64.sve.ldff1.gather.scalar.offset.nxv2i8.nxv2i64"
20271 )]
20272 fn _svldff1ub_gather_u64base_offset_u64(
20273 pg: svbool2_t,
20274 bases: svint64_t,
20275 offset: i64,
20276 ) -> nxv2i8;
20277 }
20278 crate::intrinsics::simd::simd_cast::<nxv2u8, _>(
20279 _svldff1ub_gather_u64base_offset_u64(pg.sve_into(), bases.as_signed(), offset)
20280 .as_unsigned(),
20281 )
20282}
20283#[doc = "Load 16-bit data and zero-extend, first-faulting"]
20284#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1uh_gather[_u64base]_offset_u64)"]
20285#[doc = "## Safety"]
20286#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
20287#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
20288#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
20289#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
20290#[inline]
20291#[target_feature(enable = "sve")]
20292#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
20293#[cfg_attr(test, assert_instr(ldff1h))]
20294pub unsafe fn svldff1uh_gather_u64base_offset_u64(
20295 pg: svbool_t,
20296 bases: svuint64_t,
20297 offset: i64,
20298) -> svuint64_t {
20299 unsafe extern "unadjusted" {
20300 #[cfg_attr(
20301 target_arch = "aarch64",
20302 link_name = "llvm.aarch64.sve.ldff1.gather.scalar.offset.nxv2i16.nxv2i64"
20303 )]
20304 fn _svldff1uh_gather_u64base_offset_u64(
20305 pg: svbool2_t,
20306 bases: svint64_t,
20307 offset: i64,
20308 ) -> nxv2i16;
20309 }
20310 crate::intrinsics::simd::simd_cast::<nxv2u16, _>(
20311 _svldff1uh_gather_u64base_offset_u64(pg.sve_into(), bases.as_signed(), offset)
20312 .as_unsigned(),
20313 )
20314}
20315#[doc = "Load 32-bit data and zero-extend, first-faulting"]
20316#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1uw_gather[_u64base]_offset_u64)"]
20317#[doc = "## Safety"]
20318#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
20319#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
20320#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
20321#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
20322#[inline]
20323#[target_feature(enable = "sve")]
20324#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
20325#[cfg_attr(test, assert_instr(ldff1w))]
20326pub unsafe fn svldff1uw_gather_u64base_offset_u64(
20327 pg: svbool_t,
20328 bases: svuint64_t,
20329 offset: i64,
20330) -> svuint64_t {
20331 unsafe extern "unadjusted" {
20332 #[cfg_attr(
20333 target_arch = "aarch64",
20334 link_name = "llvm.aarch64.sve.ldff1.gather.scalar.offset.nxv2i32.nxv2i64"
20335 )]
20336 fn _svldff1uw_gather_u64base_offset_u64(
20337 pg: svbool2_t,
20338 bases: svint64_t,
20339 offset: i64,
20340 ) -> nxv2i32;
20341 }
20342 crate::intrinsics::simd::simd_cast::<nxv2u32, _>(
20343 _svldff1uw_gather_u64base_offset_u64(pg.sve_into(), bases.as_signed(), offset)
20344 .as_unsigned(),
20345 )
20346}
20347#[doc = "Load 8-bit data and zero-extend, first-faulting"]
20348#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1ub_gather[_u32base]_s32)"]
20349#[doc = "## Safety"]
20350#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
20351#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
20352#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
20353#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
20354#[inline]
20355#[target_feature(enable = "sve")]
20356#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
20357#[cfg_attr(test, assert_instr(ldff1b))]
20358pub unsafe fn svldff1ub_gather_u32base_s32(pg: svbool_t, bases: svuint32_t) -> svint32_t {
20359 svldff1ub_gather_u32base_offset_s32(pg, bases, 0)
20360}
20361#[doc = "Load 16-bit data and zero-extend, first-faulting"]
20362#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1uh_gather[_u32base]_s32)"]
20363#[doc = "## Safety"]
20364#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
20365#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
20366#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
20367#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
20368#[inline]
20369#[target_feature(enable = "sve")]
20370#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
20371#[cfg_attr(test, assert_instr(ldff1h))]
20372pub unsafe fn svldff1uh_gather_u32base_s32(pg: svbool_t, bases: svuint32_t) -> svint32_t {
20373 svldff1uh_gather_u32base_offset_s32(pg, bases, 0)
20374}
20375#[doc = "Load 8-bit data and zero-extend, first-faulting"]
20376#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1ub_gather[_u32base]_u32)"]
20377#[doc = "## Safety"]
20378#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
20379#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
20380#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
20381#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
20382#[inline]
20383#[target_feature(enable = "sve")]
20384#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
20385#[cfg_attr(test, assert_instr(ldff1b))]
20386pub unsafe fn svldff1ub_gather_u32base_u32(pg: svbool_t, bases: svuint32_t) -> svuint32_t {
20387 svldff1ub_gather_u32base_offset_u32(pg, bases, 0)
20388}
20389#[doc = "Load 16-bit data and zero-extend, first-faulting"]
20390#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1uh_gather[_u32base]_u32)"]
20391#[doc = "## Safety"]
20392#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
20393#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
20394#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
20395#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
20396#[inline]
20397#[target_feature(enable = "sve")]
20398#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
20399#[cfg_attr(test, assert_instr(ldff1h))]
20400pub unsafe fn svldff1uh_gather_u32base_u32(pg: svbool_t, bases: svuint32_t) -> svuint32_t {
20401 svldff1uh_gather_u32base_offset_u32(pg, bases, 0)
20402}
20403#[doc = "Load 8-bit data and zero-extend, first-faulting"]
20404#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1ub_gather[_u64base]_s64)"]
20405#[doc = "## Safety"]
20406#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
20407#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
20408#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
20409#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
20410#[inline]
20411#[target_feature(enable = "sve")]
20412#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
20413#[cfg_attr(test, assert_instr(ldff1b))]
20414pub unsafe fn svldff1ub_gather_u64base_s64(pg: svbool_t, bases: svuint64_t) -> svint64_t {
20415 svldff1ub_gather_u64base_offset_s64(pg, bases, 0)
20416}
20417#[doc = "Load 16-bit data and zero-extend, first-faulting"]
20418#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1uh_gather[_u64base]_s64)"]
20419#[doc = "## Safety"]
20420#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
20421#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
20422#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
20423#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
20424#[inline]
20425#[target_feature(enable = "sve")]
20426#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
20427#[cfg_attr(test, assert_instr(ldff1h))]
20428pub unsafe fn svldff1uh_gather_u64base_s64(pg: svbool_t, bases: svuint64_t) -> svint64_t {
20429 svldff1uh_gather_u64base_offset_s64(pg, bases, 0)
20430}
20431#[doc = "Load 32-bit data and zero-extend, first-faulting"]
20432#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1uw_gather[_u64base]_s64)"]
20433#[doc = "## Safety"]
20434#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
20435#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
20436#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
20437#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
20438#[inline]
20439#[target_feature(enable = "sve")]
20440#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
20441#[cfg_attr(test, assert_instr(ldff1w))]
20442pub unsafe fn svldff1uw_gather_u64base_s64(pg: svbool_t, bases: svuint64_t) -> svint64_t {
20443 svldff1uw_gather_u64base_offset_s64(pg, bases, 0)
20444}
20445#[doc = "Load 8-bit data and zero-extend, first-faulting"]
20446#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1ub_gather[_u64base]_u64)"]
20447#[doc = "## Safety"]
20448#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
20449#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
20450#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
20451#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
20452#[inline]
20453#[target_feature(enable = "sve")]
20454#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
20455#[cfg_attr(test, assert_instr(ldff1b))]
20456pub unsafe fn svldff1ub_gather_u64base_u64(pg: svbool_t, bases: svuint64_t) -> svuint64_t {
20457 svldff1ub_gather_u64base_offset_u64(pg, bases, 0)
20458}
20459#[doc = "Load 16-bit data and zero-extend, first-faulting"]
20460#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1uh_gather[_u64base]_u64)"]
20461#[doc = "## Safety"]
20462#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
20463#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
20464#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
20465#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
20466#[inline]
20467#[target_feature(enable = "sve")]
20468#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
20469#[cfg_attr(test, assert_instr(ldff1h))]
20470pub unsafe fn svldff1uh_gather_u64base_u64(pg: svbool_t, bases: svuint64_t) -> svuint64_t {
20471 svldff1uh_gather_u64base_offset_u64(pg, bases, 0)
20472}
20473#[doc = "Load 32-bit data and zero-extend, first-faulting"]
20474#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1uw_gather[_u64base]_u64)"]
20475#[doc = "## Safety"]
20476#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
20477#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
20478#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
20479#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
20480#[inline]
20481#[target_feature(enable = "sve")]
20482#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
20483#[cfg_attr(test, assert_instr(ldff1w))]
20484pub unsafe fn svldff1uw_gather_u64base_u64(pg: svbool_t, bases: svuint64_t) -> svuint64_t {
20485 svldff1uw_gather_u64base_offset_u64(pg, bases, 0)
20486}
20487#[doc = "Load 8-bit data and zero-extend, first-faulting"]
20488#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1ub_s16)"]
20489#[doc = "## Safety"]
20490#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
20491#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
20492#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
20493#[inline]
20494#[target_feature(enable = "sve")]
20495#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
20496#[cfg_attr(test, assert_instr(ldff1b))]
20497pub unsafe fn svldff1ub_s16(pg: svbool_t, base: *const u8) -> svint16_t {
20498 unsafe extern "unadjusted" {
20499 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.ldff1.nxv8i8")]
20500 fn _svldff1ub_s16(pg: svbool8_t, base: *const i8) -> nxv8i8;
20501 }
20502 crate::intrinsics::simd::simd_cast::<nxv8u8, _>(
20503 _svldff1ub_s16(pg.sve_into(), base.as_signed()).as_unsigned(),
20504 )
20505}
20506#[doc = "Load 8-bit data and zero-extend, first-faulting"]
20507#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1ub_s32)"]
20508#[doc = "## Safety"]
20509#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
20510#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
20511#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
20512#[inline]
20513#[target_feature(enable = "sve")]
20514#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
20515#[cfg_attr(test, assert_instr(ldff1b))]
20516pub unsafe fn svldff1ub_s32(pg: svbool_t, base: *const u8) -> svint32_t {
20517 unsafe extern "unadjusted" {
20518 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.ldff1.nxv4i8")]
20519 fn _svldff1ub_s32(pg: svbool4_t, base: *const i8) -> nxv4i8;
20520 }
20521 crate::intrinsics::simd::simd_cast::<nxv4u8, _>(
20522 _svldff1ub_s32(pg.sve_into(), base.as_signed()).as_unsigned(),
20523 )
20524}
20525#[doc = "Load 16-bit data and zero-extend, first-faulting"]
20526#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1uh_s32)"]
20527#[doc = "## Safety"]
20528#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
20529#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
20530#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
20531#[inline]
20532#[target_feature(enable = "sve")]
20533#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
20534#[cfg_attr(test, assert_instr(ldff1h))]
20535pub unsafe fn svldff1uh_s32(pg: svbool_t, base: *const u16) -> svint32_t {
20536 unsafe extern "unadjusted" {
20537 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.ldff1.nxv4i16")]
20538 fn _svldff1uh_s32(pg: svbool4_t, base: *const i16) -> nxv4i16;
20539 }
20540 crate::intrinsics::simd::simd_cast::<nxv4u16, _>(
20541 _svldff1uh_s32(pg.sve_into(), base.as_signed()).as_unsigned(),
20542 )
20543}
20544#[doc = "Load 8-bit data and zero-extend, first-faulting"]
20545#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1ub_s64)"]
20546#[doc = "## Safety"]
20547#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
20548#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
20549#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
20550#[inline]
20551#[target_feature(enable = "sve")]
20552#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
20553#[cfg_attr(test, assert_instr(ldff1b))]
20554pub unsafe fn svldff1ub_s64(pg: svbool_t, base: *const u8) -> svint64_t {
20555 unsafe extern "unadjusted" {
20556 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.ldff1.nxv2i8")]
20557 fn _svldff1ub_s64(pg: svbool2_t, base: *const i8) -> nxv2i8;
20558 }
20559 crate::intrinsics::simd::simd_cast::<nxv2u8, _>(
20560 _svldff1ub_s64(pg.sve_into(), base.as_signed()).as_unsigned(),
20561 )
20562}
20563#[doc = "Load 16-bit data and zero-extend, first-faulting"]
20564#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1uh_s64)"]
20565#[doc = "## Safety"]
20566#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
20567#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
20568#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
20569#[inline]
20570#[target_feature(enable = "sve")]
20571#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
20572#[cfg_attr(test, assert_instr(ldff1h))]
20573pub unsafe fn svldff1uh_s64(pg: svbool_t, base: *const u16) -> svint64_t {
20574 unsafe extern "unadjusted" {
20575 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.ldff1.nxv2i16")]
20576 fn _svldff1uh_s64(pg: svbool2_t, base: *const i16) -> nxv2i16;
20577 }
20578 crate::intrinsics::simd::simd_cast::<nxv2u16, _>(
20579 _svldff1uh_s64(pg.sve_into(), base.as_signed()).as_unsigned(),
20580 )
20581}
20582#[doc = "Load 32-bit data and zero-extend, first-faulting"]
20583#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1uw_s64)"]
20584#[doc = "## Safety"]
20585#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
20586#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
20587#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
20588#[inline]
20589#[target_feature(enable = "sve")]
20590#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
20591#[cfg_attr(test, assert_instr(ldff1w))]
20592pub unsafe fn svldff1uw_s64(pg: svbool_t, base: *const u32) -> svint64_t {
20593 unsafe extern "unadjusted" {
20594 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.ldff1.nxv2i32")]
20595 fn _svldff1uw_s64(pg: svbool2_t, base: *const i32) -> nxv2i32;
20596 }
20597 crate::intrinsics::simd::simd_cast::<nxv2u32, _>(
20598 _svldff1uw_s64(pg.sve_into(), base.as_signed()).as_unsigned(),
20599 )
20600}
20601#[doc = "Load 8-bit data and zero-extend, first-faulting"]
20602#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1ub_u16)"]
20603#[doc = "## Safety"]
20604#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
20605#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
20606#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
20607#[inline]
20608#[target_feature(enable = "sve")]
20609#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
20610#[cfg_attr(test, assert_instr(ldff1b))]
20611pub unsafe fn svldff1ub_u16(pg: svbool_t, base: *const u8) -> svuint16_t {
20612 svldff1ub_s16(pg, base).as_unsigned()
20613}
20614#[doc = "Load 8-bit data and zero-extend, first-faulting"]
20615#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1ub_u32)"]
20616#[doc = "## Safety"]
20617#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
20618#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
20619#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
20620#[inline]
20621#[target_feature(enable = "sve")]
20622#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
20623#[cfg_attr(test, assert_instr(ldff1b))]
20624pub unsafe fn svldff1ub_u32(pg: svbool_t, base: *const u8) -> svuint32_t {
20625 svldff1ub_s32(pg, base).as_unsigned()
20626}
20627#[doc = "Load 16-bit data and zero-extend, first-faulting"]
20628#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1uh_u32)"]
20629#[doc = "## Safety"]
20630#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
20631#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
20632#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
20633#[inline]
20634#[target_feature(enable = "sve")]
20635#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
20636#[cfg_attr(test, assert_instr(ldff1h))]
20637pub unsafe fn svldff1uh_u32(pg: svbool_t, base: *const u16) -> svuint32_t {
20638 svldff1uh_s32(pg, base).as_unsigned()
20639}
20640#[doc = "Load 8-bit data and zero-extend, first-faulting"]
20641#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1ub_u64)"]
20642#[doc = "## Safety"]
20643#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
20644#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
20645#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
20646#[inline]
20647#[target_feature(enable = "sve")]
20648#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
20649#[cfg_attr(test, assert_instr(ldff1b))]
20650pub unsafe fn svldff1ub_u64(pg: svbool_t, base: *const u8) -> svuint64_t {
20651 svldff1ub_s64(pg, base).as_unsigned()
20652}
20653#[doc = "Load 16-bit data and zero-extend, first-faulting"]
20654#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1uh_u64)"]
20655#[doc = "## Safety"]
20656#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
20657#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
20658#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
20659#[inline]
20660#[target_feature(enable = "sve")]
20661#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
20662#[cfg_attr(test, assert_instr(ldff1h))]
20663pub unsafe fn svldff1uh_u64(pg: svbool_t, base: *const u16) -> svuint64_t {
20664 svldff1uh_s64(pg, base).as_unsigned()
20665}
20666#[doc = "Load 32-bit data and zero-extend, first-faulting"]
20667#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1uw_u64)"]
20668#[doc = "## Safety"]
20669#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
20670#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
20671#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
20672#[inline]
20673#[target_feature(enable = "sve")]
20674#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
20675#[cfg_attr(test, assert_instr(ldff1w))]
20676pub unsafe fn svldff1uw_u64(pg: svbool_t, base: *const u32) -> svuint64_t {
20677 svldff1uw_s64(pg, base).as_unsigned()
20678}
20679#[doc = "Load 8-bit data and zero-extend, first-faulting"]
20680#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1ub_vnum_s16)"]
20681#[doc = "## Safety"]
20682#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour). In particular, note that `vnum` is scaled by the vector length, `VL`, which is not known at compile time."]
20683#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
20684#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
20685#[inline]
20686#[target_feature(enable = "sve")]
20687#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
20688#[cfg_attr(test, assert_instr(ldff1b))]
20689pub unsafe fn svldff1ub_vnum_s16(pg: svbool_t, base: *const u8, vnum: i64) -> svint16_t {
20690 svldff1ub_s16(pg, base.offset(svcnth() as isize * vnum as isize))
20691}
20692#[doc = "Load 8-bit data and zero-extend, first-faulting"]
20693#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1ub_vnum_s32)"]
20694#[doc = "## Safety"]
20695#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour). In particular, note that `vnum` is scaled by the vector length, `VL`, which is not known at compile time."]
20696#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
20697#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
20698#[inline]
20699#[target_feature(enable = "sve")]
20700#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
20701#[cfg_attr(test, assert_instr(ldff1b))]
20702pub unsafe fn svldff1ub_vnum_s32(pg: svbool_t, base: *const u8, vnum: i64) -> svint32_t {
20703 svldff1ub_s32(pg, base.offset(svcntw() as isize * vnum as isize))
20704}
20705#[doc = "Load 16-bit data and zero-extend, first-faulting"]
20706#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1uh_vnum_s32)"]
20707#[doc = "## Safety"]
20708#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour). In particular, note that `vnum` is scaled by the vector length, `VL`, which is not known at compile time."]
20709#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
20710#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
20711#[inline]
20712#[target_feature(enable = "sve")]
20713#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
20714#[cfg_attr(test, assert_instr(ldff1h))]
20715pub unsafe fn svldff1uh_vnum_s32(pg: svbool_t, base: *const u16, vnum: i64) -> svint32_t {
20716 svldff1uh_s32(pg, base.offset(svcntw() as isize * vnum as isize))
20717}
20718#[doc = "Load 8-bit data and zero-extend, first-faulting"]
20719#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1ub_vnum_s64)"]
20720#[doc = "## Safety"]
20721#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour). In particular, note that `vnum` is scaled by the vector length, `VL`, which is not known at compile time."]
20722#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
20723#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
20724#[inline]
20725#[target_feature(enable = "sve")]
20726#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
20727#[cfg_attr(test, assert_instr(ldff1b))]
20728pub unsafe fn svldff1ub_vnum_s64(pg: svbool_t, base: *const u8, vnum: i64) -> svint64_t {
20729 svldff1ub_s64(pg, base.offset(svcntd() as isize * vnum as isize))
20730}
20731#[doc = "Load 16-bit data and zero-extend, first-faulting"]
20732#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1uh_vnum_s64)"]
20733#[doc = "## Safety"]
20734#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour). In particular, note that `vnum` is scaled by the vector length, `VL`, which is not known at compile time."]
20735#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
20736#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
20737#[inline]
20738#[target_feature(enable = "sve")]
20739#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
20740#[cfg_attr(test, assert_instr(ldff1h))]
20741pub unsafe fn svldff1uh_vnum_s64(pg: svbool_t, base: *const u16, vnum: i64) -> svint64_t {
20742 svldff1uh_s64(pg, base.offset(svcntd() as isize * vnum as isize))
20743}
20744#[doc = "Load 32-bit data and zero-extend, first-faulting"]
20745#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1uw_vnum_s64)"]
20746#[doc = "## Safety"]
20747#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour). In particular, note that `vnum` is scaled by the vector length, `VL`, which is not known at compile time."]
20748#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
20749#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
20750#[inline]
20751#[target_feature(enable = "sve")]
20752#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
20753#[cfg_attr(test, assert_instr(ldff1w))]
20754pub unsafe fn svldff1uw_vnum_s64(pg: svbool_t, base: *const u32, vnum: i64) -> svint64_t {
20755 svldff1uw_s64(pg, base.offset(svcntd() as isize * vnum as isize))
20756}
20757#[doc = "Load 8-bit data and zero-extend, first-faulting"]
20758#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1ub_vnum_u16)"]
20759#[doc = "## Safety"]
20760#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour). In particular, note that `vnum` is scaled by the vector length, `VL`, which is not known at compile time."]
20761#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
20762#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
20763#[inline]
20764#[target_feature(enable = "sve")]
20765#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
20766#[cfg_attr(test, assert_instr(ldff1b))]
20767pub unsafe fn svldff1ub_vnum_u16(pg: svbool_t, base: *const u8, vnum: i64) -> svuint16_t {
20768 svldff1ub_u16(pg, base.offset(svcnth() as isize * vnum as isize))
20769}
20770#[doc = "Load 8-bit data and zero-extend, first-faulting"]
20771#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1ub_vnum_u32)"]
20772#[doc = "## Safety"]
20773#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour). In particular, note that `vnum` is scaled by the vector length, `VL`, which is not known at compile time."]
20774#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
20775#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
20776#[inline]
20777#[target_feature(enable = "sve")]
20778#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
20779#[cfg_attr(test, assert_instr(ldff1b))]
20780pub unsafe fn svldff1ub_vnum_u32(pg: svbool_t, base: *const u8, vnum: i64) -> svuint32_t {
20781 svldff1ub_u32(pg, base.offset(svcntw() as isize * vnum as isize))
20782}
20783#[doc = "Load 16-bit data and zero-extend, first-faulting"]
20784#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1uh_vnum_u32)"]
20785#[doc = "## Safety"]
20786#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour). In particular, note that `vnum` is scaled by the vector length, `VL`, which is not known at compile time."]
20787#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
20788#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
20789#[inline]
20790#[target_feature(enable = "sve")]
20791#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
20792#[cfg_attr(test, assert_instr(ldff1h))]
20793pub unsafe fn svldff1uh_vnum_u32(pg: svbool_t, base: *const u16, vnum: i64) -> svuint32_t {
20794 svldff1uh_u32(pg, base.offset(svcntw() as isize * vnum as isize))
20795}
20796#[doc = "Load 8-bit data and zero-extend, first-faulting"]
20797#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1ub_vnum_u64)"]
20798#[doc = "## Safety"]
20799#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour). In particular, note that `vnum` is scaled by the vector length, `VL`, which is not known at compile time."]
20800#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
20801#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
20802#[inline]
20803#[target_feature(enable = "sve")]
20804#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
20805#[cfg_attr(test, assert_instr(ldff1b))]
20806pub unsafe fn svldff1ub_vnum_u64(pg: svbool_t, base: *const u8, vnum: i64) -> svuint64_t {
20807 svldff1ub_u64(pg, base.offset(svcntd() as isize * vnum as isize))
20808}
20809#[doc = "Load 16-bit data and zero-extend, first-faulting"]
20810#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1uh_vnum_u64)"]
20811#[doc = "## Safety"]
20812#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour). In particular, note that `vnum` is scaled by the vector length, `VL`, which is not known at compile time."]
20813#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
20814#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
20815#[inline]
20816#[target_feature(enable = "sve")]
20817#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
20818#[cfg_attr(test, assert_instr(ldff1h))]
20819pub unsafe fn svldff1uh_vnum_u64(pg: svbool_t, base: *const u16, vnum: i64) -> svuint64_t {
20820 svldff1uh_u64(pg, base.offset(svcntd() as isize * vnum as isize))
20821}
20822#[doc = "Load 32-bit data and zero-extend, first-faulting"]
20823#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1uw_vnum_u64)"]
20824#[doc = "## Safety"]
20825#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour). In particular, note that `vnum` is scaled by the vector length, `VL`, which is not known at compile time."]
20826#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
20827#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
20828#[inline]
20829#[target_feature(enable = "sve")]
20830#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
20831#[cfg_attr(test, assert_instr(ldff1w))]
20832pub unsafe fn svldff1uw_vnum_u64(pg: svbool_t, base: *const u32, vnum: i64) -> svuint64_t {
20833 svldff1uw_u64(pg, base.offset(svcntd() as isize * vnum as isize))
20834}
20835#[doc = "Load 16-bit data and zero-extend, first-faulting"]
20836#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1uh_gather_[s32]index_s32)"]
20837#[doc = "## Safety"]
20838#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
20839#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
20840#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
20841#[inline]
20842#[target_feature(enable = "sve")]
20843#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
20844#[cfg_attr(test, assert_instr(ldff1h))]
20845pub unsafe fn svldff1uh_gather_s32index_s32(
20846 pg: svbool_t,
20847 base: *const u16,
20848 indices: svint32_t,
20849) -> svint32_t {
20850 svldff1uh_gather_s32index_u32(pg, base, indices).as_signed()
20851}
20852#[doc = "Load 16-bit data and zero-extend, first-faulting"]
20853#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1uh_gather_[s32]index_u32)"]
20854#[doc = "## Safety"]
20855#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
20856#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
20857#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
20858#[inline]
20859#[target_feature(enable = "sve")]
20860#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
20861#[cfg_attr(test, assert_instr(ldff1h))]
20862pub unsafe fn svldff1uh_gather_s32index_u32(
20863 pg: svbool_t,
20864 base: *const u16,
20865 indices: svint32_t,
20866) -> svuint32_t {
20867 unsafe extern "unadjusted" {
20868 #[cfg_attr(
20869 target_arch = "aarch64",
20870 link_name = "llvm.aarch64.sve.ldff1.gather.sxtw.index.nxv4i16"
20871 )]
20872 fn _svldff1uh_gather_s32index_u32(
20873 pg: svbool4_t,
20874 base: *const i16,
20875 indices: svint32_t,
20876 ) -> nxv4i16;
20877 }
20878 crate::intrinsics::simd::simd_cast::<nxv4u16, _>(
20879 _svldff1uh_gather_s32index_u32(pg.sve_into(), base.as_signed(), indices).as_unsigned(),
20880 )
20881}
20882#[doc = "Load 16-bit data and zero-extend, first-faulting"]
20883#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1uh_gather_[s64]index_s64)"]
20884#[doc = "## Safety"]
20885#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
20886#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
20887#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
20888#[inline]
20889#[target_feature(enable = "sve")]
20890#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
20891#[cfg_attr(test, assert_instr(ldff1h))]
20892pub unsafe fn svldff1uh_gather_s64index_s64(
20893 pg: svbool_t,
20894 base: *const u16,
20895 indices: svint64_t,
20896) -> svint64_t {
20897 svldff1uh_gather_s64index_u64(pg, base, indices).as_signed()
20898}
20899#[doc = "Load 32-bit data and zero-extend, first-faulting"]
20900#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1uw_gather_[s64]index_s64)"]
20901#[doc = "## Safety"]
20902#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
20903#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
20904#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
20905#[inline]
20906#[target_feature(enable = "sve")]
20907#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
20908#[cfg_attr(test, assert_instr(ldff1w))]
20909pub unsafe fn svldff1uw_gather_s64index_s64(
20910 pg: svbool_t,
20911 base: *const u32,
20912 indices: svint64_t,
20913) -> svint64_t {
20914 svldff1uw_gather_s64index_u64(pg, base, indices).as_signed()
20915}
20916#[doc = "Load 16-bit data and zero-extend, first-faulting"]
20917#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1uh_gather_[s64]index_u64)"]
20918#[doc = "## Safety"]
20919#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
20920#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
20921#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
20922#[inline]
20923#[target_feature(enable = "sve")]
20924#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
20925#[cfg_attr(test, assert_instr(ldff1h))]
20926pub unsafe fn svldff1uh_gather_s64index_u64(
20927 pg: svbool_t,
20928 base: *const u16,
20929 indices: svint64_t,
20930) -> svuint64_t {
20931 unsafe extern "unadjusted" {
20932 #[cfg_attr(
20933 target_arch = "aarch64",
20934 link_name = "llvm.aarch64.sve.ldff1.gather.index.nxv2i16"
20935 )]
20936 fn _svldff1uh_gather_s64index_u64(
20937 pg: svbool2_t,
20938 base: *const i16,
20939 indices: svint64_t,
20940 ) -> nxv2i16;
20941 }
20942 crate::intrinsics::simd::simd_cast::<nxv2u16, _>(
20943 _svldff1uh_gather_s64index_u64(pg.sve_into(), base.as_signed(), indices).as_unsigned(),
20944 )
20945}
20946#[doc = "Load 32-bit data and zero-extend, first-faulting"]
20947#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1uw_gather_[s64]index_u64)"]
20948#[doc = "## Safety"]
20949#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
20950#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
20951#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
20952#[inline]
20953#[target_feature(enable = "sve")]
20954#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
20955#[cfg_attr(test, assert_instr(ldff1w))]
20956pub unsafe fn svldff1uw_gather_s64index_u64(
20957 pg: svbool_t,
20958 base: *const u32,
20959 indices: svint64_t,
20960) -> svuint64_t {
20961 unsafe extern "unadjusted" {
20962 #[cfg_attr(
20963 target_arch = "aarch64",
20964 link_name = "llvm.aarch64.sve.ldff1.gather.index.nxv2i32"
20965 )]
20966 fn _svldff1uw_gather_s64index_u64(
20967 pg: svbool2_t,
20968 base: *const i32,
20969 indices: svint64_t,
20970 ) -> nxv2i32;
20971 }
20972 crate::intrinsics::simd::simd_cast::<nxv2u32, _>(
20973 _svldff1uw_gather_s64index_u64(pg.sve_into(), base.as_signed(), indices).as_unsigned(),
20974 )
20975}
20976#[doc = "Load 16-bit data and zero-extend, first-faulting"]
20977#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1uh_gather_[u32]index_s32)"]
20978#[doc = "## Safety"]
20979#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
20980#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
20981#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
20982#[inline]
20983#[target_feature(enable = "sve")]
20984#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
20985#[cfg_attr(test, assert_instr(ldff1h))]
20986pub unsafe fn svldff1uh_gather_u32index_s32(
20987 pg: svbool_t,
20988 base: *const u16,
20989 indices: svuint32_t,
20990) -> svint32_t {
20991 svldff1uh_gather_u32index_u32(pg, base, indices).as_signed()
20992}
20993#[doc = "Load 16-bit data and zero-extend, first-faulting"]
20994#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1uh_gather_[u32]index_u32)"]
20995#[doc = "## Safety"]
20996#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
20997#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
20998#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
20999#[inline]
21000#[target_feature(enable = "sve")]
21001#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
21002#[cfg_attr(test, assert_instr(ldff1h))]
21003pub unsafe fn svldff1uh_gather_u32index_u32(
21004 pg: svbool_t,
21005 base: *const u16,
21006 indices: svuint32_t,
21007) -> svuint32_t {
21008 unsafe extern "unadjusted" {
21009 #[cfg_attr(
21010 target_arch = "aarch64",
21011 link_name = "llvm.aarch64.sve.ldff1.gather.uxtw.index.nxv4i16"
21012 )]
21013 fn _svldff1uh_gather_u32index_u32(
21014 pg: svbool4_t,
21015 base: *const i16,
21016 indices: svint32_t,
21017 ) -> nxv4i16;
21018 }
21019 crate::intrinsics::simd::simd_cast::<nxv4u16, _>(
21020 _svldff1uh_gather_u32index_u32(pg.sve_into(), base.as_signed(), indices.as_signed())
21021 .as_unsigned(),
21022 )
21023}
21024#[doc = "Load 16-bit data and zero-extend, first-faulting"]
21025#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1uh_gather_[u64]index_s64)"]
21026#[doc = "## Safety"]
21027#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
21028#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
21029#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
21030#[inline]
21031#[target_feature(enable = "sve")]
21032#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
21033#[cfg_attr(test, assert_instr(ldff1h))]
21034pub unsafe fn svldff1uh_gather_u64index_s64(
21035 pg: svbool_t,
21036 base: *const u16,
21037 indices: svuint64_t,
21038) -> svint64_t {
21039 svldff1uh_gather_s64index_u64(pg, base, indices.as_signed()).as_signed()
21040}
21041#[doc = "Load 32-bit data and zero-extend, first-faulting"]
21042#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1uw_gather_[u64]index_s64)"]
21043#[doc = "## Safety"]
21044#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
21045#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
21046#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
21047#[inline]
21048#[target_feature(enable = "sve")]
21049#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
21050#[cfg_attr(test, assert_instr(ldff1w))]
21051pub unsafe fn svldff1uw_gather_u64index_s64(
21052 pg: svbool_t,
21053 base: *const u32,
21054 indices: svuint64_t,
21055) -> svint64_t {
21056 svldff1uw_gather_s64index_u64(pg, base, indices.as_signed()).as_signed()
21057}
21058#[doc = "Load 16-bit data and zero-extend, first-faulting"]
21059#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1uh_gather_[u64]index_u64)"]
21060#[doc = "## Safety"]
21061#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
21062#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
21063#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
21064#[inline]
21065#[target_feature(enable = "sve")]
21066#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
21067#[cfg_attr(test, assert_instr(ldff1h))]
21068pub unsafe fn svldff1uh_gather_u64index_u64(
21069 pg: svbool_t,
21070 base: *const u16,
21071 indices: svuint64_t,
21072) -> svuint64_t {
21073 svldff1uh_gather_s64index_u64(pg, base, indices.as_signed())
21074}
21075#[doc = "Load 32-bit data and zero-extend, first-faulting"]
21076#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1uw_gather_[u64]index_u64)"]
21077#[doc = "## Safety"]
21078#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
21079#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
21080#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
21081#[inline]
21082#[target_feature(enable = "sve")]
21083#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
21084#[cfg_attr(test, assert_instr(ldff1w))]
21085pub unsafe fn svldff1uw_gather_u64index_u64(
21086 pg: svbool_t,
21087 base: *const u32,
21088 indices: svuint64_t,
21089) -> svuint64_t {
21090 svldff1uw_gather_s64index_u64(pg, base, indices.as_signed())
21091}
21092#[doc = "Load 16-bit data and zero-extend, first-faulting"]
21093#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1uh_gather[_u32base]_index_s32)"]
21094#[doc = "## Safety"]
21095#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
21096#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
21097#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
21098#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
21099#[inline]
21100#[target_feature(enable = "sve")]
21101#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
21102#[cfg_attr(test, assert_instr(ldff1h))]
21103pub unsafe fn svldff1uh_gather_u32base_index_s32(
21104 pg: svbool_t,
21105 bases: svuint32_t,
21106 index: i64,
21107) -> svint32_t {
21108 svldff1uh_gather_u32base_offset_s32(pg, bases, index.unchecked_shl(1))
21109}
21110#[doc = "Load 16-bit data and zero-extend, first-faulting"]
21111#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1uh_gather[_u32base]_index_u32)"]
21112#[doc = "## Safety"]
21113#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
21114#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
21115#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
21116#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
21117#[inline]
21118#[target_feature(enable = "sve")]
21119#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
21120#[cfg_attr(test, assert_instr(ldff1h))]
21121pub unsafe fn svldff1uh_gather_u32base_index_u32(
21122 pg: svbool_t,
21123 bases: svuint32_t,
21124 index: i64,
21125) -> svuint32_t {
21126 svldff1uh_gather_u32base_offset_u32(pg, bases, index.unchecked_shl(1))
21127}
21128#[doc = "Load 16-bit data and zero-extend, first-faulting"]
21129#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1uh_gather[_u64base]_index_s64)"]
21130#[doc = "## Safety"]
21131#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
21132#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
21133#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
21134#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
21135#[inline]
21136#[target_feature(enable = "sve")]
21137#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
21138#[cfg_attr(test, assert_instr(ldff1h))]
21139pub unsafe fn svldff1uh_gather_u64base_index_s64(
21140 pg: svbool_t,
21141 bases: svuint64_t,
21142 index: i64,
21143) -> svint64_t {
21144 svldff1uh_gather_u64base_offset_s64(pg, bases, index.unchecked_shl(1))
21145}
21146#[doc = "Load 32-bit data and zero-extend, first-faulting"]
21147#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1uw_gather[_u64base]_index_s64)"]
21148#[doc = "## Safety"]
21149#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
21150#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
21151#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
21152#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
21153#[inline]
21154#[target_feature(enable = "sve")]
21155#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
21156#[cfg_attr(test, assert_instr(ldff1w))]
21157pub unsafe fn svldff1uw_gather_u64base_index_s64(
21158 pg: svbool_t,
21159 bases: svuint64_t,
21160 index: i64,
21161) -> svint64_t {
21162 svldff1uw_gather_u64base_offset_s64(pg, bases, index.unchecked_shl(2))
21163}
21164#[doc = "Load 16-bit data and zero-extend, first-faulting"]
21165#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1uh_gather[_u64base]_index_u64)"]
21166#[doc = "## Safety"]
21167#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
21168#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
21169#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
21170#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
21171#[inline]
21172#[target_feature(enable = "sve")]
21173#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
21174#[cfg_attr(test, assert_instr(ldff1h))]
21175pub unsafe fn svldff1uh_gather_u64base_index_u64(
21176 pg: svbool_t,
21177 bases: svuint64_t,
21178 index: i64,
21179) -> svuint64_t {
21180 svldff1uh_gather_u64base_offset_u64(pg, bases, index.unchecked_shl(1))
21181}
21182#[doc = "Load 32-bit data and zero-extend, first-faulting"]
21183#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1uw_gather[_u64base]_index_u64)"]
21184#[doc = "## Safety"]
21185#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
21186#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
21187#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
21188#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
21189#[inline]
21190#[target_feature(enable = "sve")]
21191#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
21192#[cfg_attr(test, assert_instr(ldff1w))]
21193pub unsafe fn svldff1uw_gather_u64base_index_u64(
21194 pg: svbool_t,
21195 bases: svuint64_t,
21196 index: i64,
21197) -> svuint64_t {
21198 svldff1uw_gather_u64base_offset_u64(pg, bases, index.unchecked_shl(2))
21199}
21200#[doc = "Unextended load, non-faulting"]
21201#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldnf1[_f32])"]
21202#[doc = "## Safety"]
21203#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and non-faulting behaviour)."]
21204#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and non-faulting behaviour)."]
21205#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
21206#[inline]
21207#[target_feature(enable = "sve")]
21208#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
21209#[cfg_attr(test, assert_instr(ldnf1w))]
21210pub unsafe fn svldnf1_f32(pg: svbool_t, base: *const f32) -> svfloat32_t {
21211 unsafe extern "unadjusted" {
21212 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.ldnf1.nxv4f32")]
21213 fn _svldnf1_f32(pg: svbool4_t, base: *const f32) -> svfloat32_t;
21214 }
21215 _svldnf1_f32(pg.sve_into(), base)
21216}
21217#[doc = "Unextended load, non-faulting"]
21218#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldnf1[_f64])"]
21219#[doc = "## Safety"]
21220#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and non-faulting behaviour)."]
21221#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and non-faulting behaviour)."]
21222#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
21223#[inline]
21224#[target_feature(enable = "sve")]
21225#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
21226#[cfg_attr(test, assert_instr(ldnf1d))]
21227pub unsafe fn svldnf1_f64(pg: svbool_t, base: *const f64) -> svfloat64_t {
21228 unsafe extern "unadjusted" {
21229 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.ldnf1.nxv2f64")]
21230 fn _svldnf1_f64(pg: svbool2_t, base: *const f64) -> svfloat64_t;
21231 }
21232 _svldnf1_f64(pg.sve_into(), base)
21233}
21234#[doc = "Unextended load, non-faulting"]
21235#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldnf1[_s8])"]
21236#[doc = "## Safety"]
21237#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and non-faulting behaviour)."]
21238#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and non-faulting behaviour)."]
21239#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
21240#[inline]
21241#[target_feature(enable = "sve")]
21242#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
21243#[cfg_attr(test, assert_instr(ldnf1b))]
21244pub unsafe fn svldnf1_s8(pg: svbool_t, base: *const i8) -> svint8_t {
21245 unsafe extern "unadjusted" {
21246 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.ldnf1.nxv16i8")]
21247 fn _svldnf1_s8(pg: svbool_t, base: *const i8) -> svint8_t;
21248 }
21249 _svldnf1_s8(pg, base)
21250}
21251#[doc = "Unextended load, non-faulting"]
21252#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldnf1[_s16])"]
21253#[doc = "## Safety"]
21254#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and non-faulting behaviour)."]
21255#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and non-faulting behaviour)."]
21256#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
21257#[inline]
21258#[target_feature(enable = "sve")]
21259#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
21260#[cfg_attr(test, assert_instr(ldnf1h))]
21261pub unsafe fn svldnf1_s16(pg: svbool_t, base: *const i16) -> svint16_t {
21262 unsafe extern "unadjusted" {
21263 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.ldnf1.nxv8i16")]
21264 fn _svldnf1_s16(pg: svbool8_t, base: *const i16) -> svint16_t;
21265 }
21266 _svldnf1_s16(pg.sve_into(), base)
21267}
21268#[doc = "Unextended load, non-faulting"]
21269#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldnf1[_s32])"]
21270#[doc = "## Safety"]
21271#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and non-faulting behaviour)."]
21272#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and non-faulting behaviour)."]
21273#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
21274#[inline]
21275#[target_feature(enable = "sve")]
21276#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
21277#[cfg_attr(test, assert_instr(ldnf1w))]
21278pub unsafe fn svldnf1_s32(pg: svbool_t, base: *const i32) -> svint32_t {
21279 unsafe extern "unadjusted" {
21280 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.ldnf1.nxv4i32")]
21281 fn _svldnf1_s32(pg: svbool4_t, base: *const i32) -> svint32_t;
21282 }
21283 _svldnf1_s32(pg.sve_into(), base)
21284}
21285#[doc = "Unextended load, non-faulting"]
21286#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldnf1[_s64])"]
21287#[doc = "## Safety"]
21288#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and non-faulting behaviour)."]
21289#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and non-faulting behaviour)."]
21290#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
21291#[inline]
21292#[target_feature(enable = "sve")]
21293#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
21294#[cfg_attr(test, assert_instr(ldnf1d))]
21295pub unsafe fn svldnf1_s64(pg: svbool_t, base: *const i64) -> svint64_t {
21296 unsafe extern "unadjusted" {
21297 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.ldnf1.nxv2i64")]
21298 fn _svldnf1_s64(pg: svbool2_t, base: *const i64) -> svint64_t;
21299 }
21300 _svldnf1_s64(pg.sve_into(), base)
21301}
21302#[doc = "Unextended load, non-faulting"]
21303#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldnf1[_u8])"]
21304#[doc = "## Safety"]
21305#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and non-faulting behaviour)."]
21306#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and non-faulting behaviour)."]
21307#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
21308#[inline]
21309#[target_feature(enable = "sve")]
21310#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
21311#[cfg_attr(test, assert_instr(ldnf1b))]
21312pub unsafe fn svldnf1_u8(pg: svbool_t, base: *const u8) -> svuint8_t {
21313 svldnf1_s8(pg, base.as_signed()).as_unsigned()
21314}
21315#[doc = "Unextended load, non-faulting"]
21316#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldnf1[_u16])"]
21317#[doc = "## Safety"]
21318#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and non-faulting behaviour)."]
21319#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and non-faulting behaviour)."]
21320#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
21321#[inline]
21322#[target_feature(enable = "sve")]
21323#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
21324#[cfg_attr(test, assert_instr(ldnf1h))]
21325pub unsafe fn svldnf1_u16(pg: svbool_t, base: *const u16) -> svuint16_t {
21326 svldnf1_s16(pg, base.as_signed()).as_unsigned()
21327}
21328#[doc = "Unextended load, non-faulting"]
21329#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldnf1[_u32])"]
21330#[doc = "## Safety"]
21331#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and non-faulting behaviour)."]
21332#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and non-faulting behaviour)."]
21333#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
21334#[inline]
21335#[target_feature(enable = "sve")]
21336#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
21337#[cfg_attr(test, assert_instr(ldnf1w))]
21338pub unsafe fn svldnf1_u32(pg: svbool_t, base: *const u32) -> svuint32_t {
21339 svldnf1_s32(pg, base.as_signed()).as_unsigned()
21340}
21341#[doc = "Unextended load, non-faulting"]
21342#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldnf1[_u64])"]
21343#[doc = "## Safety"]
21344#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and non-faulting behaviour)."]
21345#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and non-faulting behaviour)."]
21346#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
21347#[inline]
21348#[target_feature(enable = "sve")]
21349#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
21350#[cfg_attr(test, assert_instr(ldnf1d))]
21351pub unsafe fn svldnf1_u64(pg: svbool_t, base: *const u64) -> svuint64_t {
21352 svldnf1_s64(pg, base.as_signed()).as_unsigned()
21353}
21354#[doc = "Unextended load, non-faulting"]
21355#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldnf1_vnum[_f32])"]
21356#[doc = "## Safety"]
21357#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and non-faulting behaviour). In particular, note that `vnum` is scaled by the vector length, `VL`, which is not known at compile time."]
21358#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and non-faulting behaviour)."]
21359#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
21360#[inline]
21361#[target_feature(enable = "sve")]
21362#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
21363#[cfg_attr(test, assert_instr(ldnf1w))]
21364pub unsafe fn svldnf1_vnum_f32(pg: svbool_t, base: *const f32, vnum: i64) -> svfloat32_t {
21365 svldnf1_f32(pg, base.offset(svcntw() as isize * vnum as isize))
21366}
21367#[doc = "Unextended load, non-faulting"]
21368#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldnf1_vnum[_f64])"]
21369#[doc = "## Safety"]
21370#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and non-faulting behaviour). In particular, note that `vnum` is scaled by the vector length, `VL`, which is not known at compile time."]
21371#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and non-faulting behaviour)."]
21372#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
21373#[inline]
21374#[target_feature(enable = "sve")]
21375#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
21376#[cfg_attr(test, assert_instr(ldnf1d))]
21377pub unsafe fn svldnf1_vnum_f64(pg: svbool_t, base: *const f64, vnum: i64) -> svfloat64_t {
21378 svldnf1_f64(pg, base.offset(svcntd() as isize * vnum as isize))
21379}
21380#[doc = "Unextended load, non-faulting"]
21381#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldnf1_vnum[_s8])"]
21382#[doc = "## Safety"]
21383#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and non-faulting behaviour). In particular, note that `vnum` is scaled by the vector length, `VL`, which is not known at compile time."]
21384#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and non-faulting behaviour)."]
21385#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
21386#[inline]
21387#[target_feature(enable = "sve")]
21388#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
21389#[cfg_attr(test, assert_instr(ldnf1b))]
21390pub unsafe fn svldnf1_vnum_s8(pg: svbool_t, base: *const i8, vnum: i64) -> svint8_t {
21391 svldnf1_s8(pg, base.offset(svcntb() as isize * vnum as isize))
21392}
21393#[doc = "Unextended load, non-faulting"]
21394#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldnf1_vnum[_s16])"]
21395#[doc = "## Safety"]
21396#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and non-faulting behaviour). In particular, note that `vnum` is scaled by the vector length, `VL`, which is not known at compile time."]
21397#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and non-faulting behaviour)."]
21398#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
21399#[inline]
21400#[target_feature(enable = "sve")]
21401#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
21402#[cfg_attr(test, assert_instr(ldnf1h))]
21403pub unsafe fn svldnf1_vnum_s16(pg: svbool_t, base: *const i16, vnum: i64) -> svint16_t {
21404 svldnf1_s16(pg, base.offset(svcnth() as isize * vnum as isize))
21405}
21406#[doc = "Unextended load, non-faulting"]
21407#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldnf1_vnum[_s32])"]
21408#[doc = "## Safety"]
21409#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and non-faulting behaviour). In particular, note that `vnum` is scaled by the vector length, `VL`, which is not known at compile time."]
21410#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and non-faulting behaviour)."]
21411#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
21412#[inline]
21413#[target_feature(enable = "sve")]
21414#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
21415#[cfg_attr(test, assert_instr(ldnf1w))]
21416pub unsafe fn svldnf1_vnum_s32(pg: svbool_t, base: *const i32, vnum: i64) -> svint32_t {
21417 svldnf1_s32(pg, base.offset(svcntw() as isize * vnum as isize))
21418}
21419#[doc = "Unextended load, non-faulting"]
21420#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldnf1_vnum[_s64])"]
21421#[doc = "## Safety"]
21422#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and non-faulting behaviour). In particular, note that `vnum` is scaled by the vector length, `VL`, which is not known at compile time."]
21423#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and non-faulting behaviour)."]
21424#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
21425#[inline]
21426#[target_feature(enable = "sve")]
21427#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
21428#[cfg_attr(test, assert_instr(ldnf1d))]
21429pub unsafe fn svldnf1_vnum_s64(pg: svbool_t, base: *const i64, vnum: i64) -> svint64_t {
21430 svldnf1_s64(pg, base.offset(svcntd() as isize * vnum as isize))
21431}
21432#[doc = "Unextended load, non-faulting"]
21433#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldnf1_vnum[_u8])"]
21434#[doc = "## Safety"]
21435#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and non-faulting behaviour). In particular, note that `vnum` is scaled by the vector length, `VL`, which is not known at compile time."]
21436#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and non-faulting behaviour)."]
21437#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
21438#[inline]
21439#[target_feature(enable = "sve")]
21440#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
21441#[cfg_attr(test, assert_instr(ldnf1b))]
21442pub unsafe fn svldnf1_vnum_u8(pg: svbool_t, base: *const u8, vnum: i64) -> svuint8_t {
21443 svldnf1_u8(pg, base.offset(svcntb() as isize * vnum as isize))
21444}
21445#[doc = "Unextended load, non-faulting"]
21446#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldnf1_vnum[_u16])"]
21447#[doc = "## Safety"]
21448#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and non-faulting behaviour). In particular, note that `vnum` is scaled by the vector length, `VL`, which is not known at compile time."]
21449#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and non-faulting behaviour)."]
21450#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
21451#[inline]
21452#[target_feature(enable = "sve")]
21453#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
21454#[cfg_attr(test, assert_instr(ldnf1h))]
21455pub unsafe fn svldnf1_vnum_u16(pg: svbool_t, base: *const u16, vnum: i64) -> svuint16_t {
21456 svldnf1_u16(pg, base.offset(svcnth() as isize * vnum as isize))
21457}
21458#[doc = "Unextended load, non-faulting"]
21459#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldnf1_vnum[_u32])"]
21460#[doc = "## Safety"]
21461#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and non-faulting behaviour). In particular, note that `vnum` is scaled by the vector length, `VL`, which is not known at compile time."]
21462#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and non-faulting behaviour)."]
21463#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
21464#[inline]
21465#[target_feature(enable = "sve")]
21466#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
21467#[cfg_attr(test, assert_instr(ldnf1w))]
21468pub unsafe fn svldnf1_vnum_u32(pg: svbool_t, base: *const u32, vnum: i64) -> svuint32_t {
21469 svldnf1_u32(pg, base.offset(svcntw() as isize * vnum as isize))
21470}
21471#[doc = "Unextended load, non-faulting"]
21472#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldnf1_vnum[_u64])"]
21473#[doc = "## Safety"]
21474#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and non-faulting behaviour). In particular, note that `vnum` is scaled by the vector length, `VL`, which is not known at compile time."]
21475#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and non-faulting behaviour)."]
21476#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
21477#[inline]
21478#[target_feature(enable = "sve")]
21479#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
21480#[cfg_attr(test, assert_instr(ldnf1d))]
21481pub unsafe fn svldnf1_vnum_u64(pg: svbool_t, base: *const u64, vnum: i64) -> svuint64_t {
21482 svldnf1_u64(pg, base.offset(svcntd() as isize * vnum as isize))
21483}
21484#[doc = "Load 8-bit data and sign-extend, non-faulting"]
21485#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldnf1sb_s16)"]
21486#[doc = "## Safety"]
21487#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and non-faulting behaviour)."]
21488#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and non-faulting behaviour)."]
21489#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
21490#[inline]
21491#[target_feature(enable = "sve")]
21492#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
21493#[cfg_attr(test, assert_instr(ldnf1sb))]
21494pub unsafe fn svldnf1sb_s16(pg: svbool_t, base: *const i8) -> svint16_t {
21495 unsafe extern "unadjusted" {
21496 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.ldnf1.nxv8i8")]
21497 fn _svldnf1sb_s16(pg: svbool8_t, base: *const i8) -> nxv8i8;
21498 }
21499 crate::intrinsics::simd::simd_cast(_svldnf1sb_s16(pg.sve_into(), base))
21500}
21501#[doc = "Load 8-bit data and sign-extend, non-faulting"]
21502#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldnf1sb_s32)"]
21503#[doc = "## Safety"]
21504#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and non-faulting behaviour)."]
21505#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and non-faulting behaviour)."]
21506#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
21507#[inline]
21508#[target_feature(enable = "sve")]
21509#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
21510#[cfg_attr(test, assert_instr(ldnf1sb))]
21511pub unsafe fn svldnf1sb_s32(pg: svbool_t, base: *const i8) -> svint32_t {
21512 unsafe extern "unadjusted" {
21513 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.ldnf1.nxv4i8")]
21514 fn _svldnf1sb_s32(pg: svbool4_t, base: *const i8) -> nxv4i8;
21515 }
21516 crate::intrinsics::simd::simd_cast(_svldnf1sb_s32(pg.sve_into(), base))
21517}
21518#[doc = "Load 16-bit data and sign-extend, non-faulting"]
21519#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldnf1sh_s32)"]
21520#[doc = "## Safety"]
21521#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and non-faulting behaviour)."]
21522#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and non-faulting behaviour)."]
21523#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
21524#[inline]
21525#[target_feature(enable = "sve")]
21526#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
21527#[cfg_attr(test, assert_instr(ldnf1sh))]
21528pub unsafe fn svldnf1sh_s32(pg: svbool_t, base: *const i16) -> svint32_t {
21529 unsafe extern "unadjusted" {
21530 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.ldnf1.nxv4i16")]
21531 fn _svldnf1sh_s32(pg: svbool4_t, base: *const i16) -> nxv4i16;
21532 }
21533 crate::intrinsics::simd::simd_cast(_svldnf1sh_s32(pg.sve_into(), base))
21534}
21535#[doc = "Load 8-bit data and sign-extend, non-faulting"]
21536#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldnf1sb_s64)"]
21537#[doc = "## Safety"]
21538#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and non-faulting behaviour)."]
21539#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and non-faulting behaviour)."]
21540#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
21541#[inline]
21542#[target_feature(enable = "sve")]
21543#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
21544#[cfg_attr(test, assert_instr(ldnf1sb))]
21545pub unsafe fn svldnf1sb_s64(pg: svbool_t, base: *const i8) -> svint64_t {
21546 unsafe extern "unadjusted" {
21547 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.ldnf1.nxv2i8")]
21548 fn _svldnf1sb_s64(pg: svbool2_t, base: *const i8) -> nxv2i8;
21549 }
21550 crate::intrinsics::simd::simd_cast(_svldnf1sb_s64(pg.sve_into(), base))
21551}
21552#[doc = "Load 16-bit data and sign-extend, non-faulting"]
21553#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldnf1sh_s64)"]
21554#[doc = "## Safety"]
21555#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and non-faulting behaviour)."]
21556#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and non-faulting behaviour)."]
21557#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
21558#[inline]
21559#[target_feature(enable = "sve")]
21560#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
21561#[cfg_attr(test, assert_instr(ldnf1sh))]
21562pub unsafe fn svldnf1sh_s64(pg: svbool_t, base: *const i16) -> svint64_t {
21563 unsafe extern "unadjusted" {
21564 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.ldnf1.nxv2i16")]
21565 fn _svldnf1sh_s64(pg: svbool2_t, base: *const i16) -> nxv2i16;
21566 }
21567 crate::intrinsics::simd::simd_cast(_svldnf1sh_s64(pg.sve_into(), base))
21568}
21569#[doc = "Load 32-bit data and sign-extend, non-faulting"]
21570#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldnf1sw_s64)"]
21571#[doc = "## Safety"]
21572#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and non-faulting behaviour)."]
21573#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and non-faulting behaviour)."]
21574#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
21575#[inline]
21576#[target_feature(enable = "sve")]
21577#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
21578#[cfg_attr(test, assert_instr(ldnf1sw))]
21579pub unsafe fn svldnf1sw_s64(pg: svbool_t, base: *const i32) -> svint64_t {
21580 unsafe extern "unadjusted" {
21581 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.ldnf1.nxv2i32")]
21582 fn _svldnf1sw_s64(pg: svbool2_t, base: *const i32) -> nxv2i32;
21583 }
21584 crate::intrinsics::simd::simd_cast(_svldnf1sw_s64(pg.sve_into(), base))
21585}
21586#[doc = "Load 8-bit data and sign-extend, non-faulting"]
21587#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldnf1sb_u16)"]
21588#[doc = "## Safety"]
21589#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and non-faulting behaviour)."]
21590#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and non-faulting behaviour)."]
21591#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
21592#[inline]
21593#[target_feature(enable = "sve")]
21594#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
21595#[cfg_attr(test, assert_instr(ldnf1sb))]
21596pub unsafe fn svldnf1sb_u16(pg: svbool_t, base: *const i8) -> svuint16_t {
21597 svldnf1sb_s16(pg, base).as_unsigned()
21598}
21599#[doc = "Load 8-bit data and sign-extend, non-faulting"]
21600#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldnf1sb_u32)"]
21601#[doc = "## Safety"]
21602#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and non-faulting behaviour)."]
21603#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and non-faulting behaviour)."]
21604#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
21605#[inline]
21606#[target_feature(enable = "sve")]
21607#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
21608#[cfg_attr(test, assert_instr(ldnf1sb))]
21609pub unsafe fn svldnf1sb_u32(pg: svbool_t, base: *const i8) -> svuint32_t {
21610 svldnf1sb_s32(pg, base).as_unsigned()
21611}
21612#[doc = "Load 16-bit data and sign-extend, non-faulting"]
21613#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldnf1sh_u32)"]
21614#[doc = "## Safety"]
21615#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and non-faulting behaviour)."]
21616#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and non-faulting behaviour)."]
21617#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
21618#[inline]
21619#[target_feature(enable = "sve")]
21620#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
21621#[cfg_attr(test, assert_instr(ldnf1sh))]
21622pub unsafe fn svldnf1sh_u32(pg: svbool_t, base: *const i16) -> svuint32_t {
21623 svldnf1sh_s32(pg, base).as_unsigned()
21624}
21625#[doc = "Load 8-bit data and sign-extend, non-faulting"]
21626#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldnf1sb_u64)"]
21627#[doc = "## Safety"]
21628#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and non-faulting behaviour)."]
21629#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and non-faulting behaviour)."]
21630#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
21631#[inline]
21632#[target_feature(enable = "sve")]
21633#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
21634#[cfg_attr(test, assert_instr(ldnf1sb))]
21635pub unsafe fn svldnf1sb_u64(pg: svbool_t, base: *const i8) -> svuint64_t {
21636 svldnf1sb_s64(pg, base).as_unsigned()
21637}
21638#[doc = "Load 16-bit data and sign-extend, non-faulting"]
21639#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldnf1sh_u64)"]
21640#[doc = "## Safety"]
21641#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and non-faulting behaviour)."]
21642#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and non-faulting behaviour)."]
21643#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
21644#[inline]
21645#[target_feature(enable = "sve")]
21646#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
21647#[cfg_attr(test, assert_instr(ldnf1sh))]
21648pub unsafe fn svldnf1sh_u64(pg: svbool_t, base: *const i16) -> svuint64_t {
21649 svldnf1sh_s64(pg, base).as_unsigned()
21650}
21651#[doc = "Load 32-bit data and sign-extend, non-faulting"]
21652#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldnf1sw_u64)"]
21653#[doc = "## Safety"]
21654#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and non-faulting behaviour)."]
21655#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and non-faulting behaviour)."]
21656#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
21657#[inline]
21658#[target_feature(enable = "sve")]
21659#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
21660#[cfg_attr(test, assert_instr(ldnf1sw))]
21661pub unsafe fn svldnf1sw_u64(pg: svbool_t, base: *const i32) -> svuint64_t {
21662 svldnf1sw_s64(pg, base).as_unsigned()
21663}
21664#[doc = "Load 8-bit data and sign-extend, non-faulting"]
21665#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldnf1sb_vnum_s16)"]
21666#[doc = "## Safety"]
21667#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and non-faulting behaviour). In particular, note that `vnum` is scaled by the vector length, `VL`, which is not known at compile time."]
21668#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and non-faulting behaviour)."]
21669#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
21670#[inline]
21671#[target_feature(enable = "sve")]
21672#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
21673#[cfg_attr(test, assert_instr(ldnf1sb))]
21674pub unsafe fn svldnf1sb_vnum_s16(pg: svbool_t, base: *const i8, vnum: i64) -> svint16_t {
21675 svldnf1sb_s16(pg, base.offset(svcnth() as isize * vnum as isize))
21676}
21677#[doc = "Load 8-bit data and sign-extend, non-faulting"]
21678#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldnf1sb_vnum_s32)"]
21679#[doc = "## Safety"]
21680#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and non-faulting behaviour). In particular, note that `vnum` is scaled by the vector length, `VL`, which is not known at compile time."]
21681#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and non-faulting behaviour)."]
21682#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
21683#[inline]
21684#[target_feature(enable = "sve")]
21685#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
21686#[cfg_attr(test, assert_instr(ldnf1sb))]
21687pub unsafe fn svldnf1sb_vnum_s32(pg: svbool_t, base: *const i8, vnum: i64) -> svint32_t {
21688 svldnf1sb_s32(pg, base.offset(svcntw() as isize * vnum as isize))
21689}
21690#[doc = "Load 16-bit data and sign-extend, non-faulting"]
21691#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldnf1sh_vnum_s32)"]
21692#[doc = "## Safety"]
21693#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and non-faulting behaviour). In particular, note that `vnum` is scaled by the vector length, `VL`, which is not known at compile time."]
21694#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and non-faulting behaviour)."]
21695#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
21696#[inline]
21697#[target_feature(enable = "sve")]
21698#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
21699#[cfg_attr(test, assert_instr(ldnf1sh))]
21700pub unsafe fn svldnf1sh_vnum_s32(pg: svbool_t, base: *const i16, vnum: i64) -> svint32_t {
21701 svldnf1sh_s32(pg, base.offset(svcntw() as isize * vnum as isize))
21702}
21703#[doc = "Load 8-bit data and sign-extend, non-faulting"]
21704#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldnf1sb_vnum_s64)"]
21705#[doc = "## Safety"]
21706#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and non-faulting behaviour). In particular, note that `vnum` is scaled by the vector length, `VL`, which is not known at compile time."]
21707#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and non-faulting behaviour)."]
21708#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
21709#[inline]
21710#[target_feature(enable = "sve")]
21711#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
21712#[cfg_attr(test, assert_instr(ldnf1sb))]
21713pub unsafe fn svldnf1sb_vnum_s64(pg: svbool_t, base: *const i8, vnum: i64) -> svint64_t {
21714 svldnf1sb_s64(pg, base.offset(svcntd() as isize * vnum as isize))
21715}
21716#[doc = "Load 16-bit data and sign-extend, non-faulting"]
21717#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldnf1sh_vnum_s64)"]
21718#[doc = "## Safety"]
21719#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and non-faulting behaviour). In particular, note that `vnum` is scaled by the vector length, `VL`, which is not known at compile time."]
21720#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and non-faulting behaviour)."]
21721#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
21722#[inline]
21723#[target_feature(enable = "sve")]
21724#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
21725#[cfg_attr(test, assert_instr(ldnf1sh))]
21726pub unsafe fn svldnf1sh_vnum_s64(pg: svbool_t, base: *const i16, vnum: i64) -> svint64_t {
21727 svldnf1sh_s64(pg, base.offset(svcntd() as isize * vnum as isize))
21728}
21729#[doc = "Load 32-bit data and sign-extend, non-faulting"]
21730#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldnf1sw_vnum_s64)"]
21731#[doc = "## Safety"]
21732#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and non-faulting behaviour). In particular, note that `vnum` is scaled by the vector length, `VL`, which is not known at compile time."]
21733#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and non-faulting behaviour)."]
21734#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
21735#[inline]
21736#[target_feature(enable = "sve")]
21737#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
21738#[cfg_attr(test, assert_instr(ldnf1sw))]
21739pub unsafe fn svldnf1sw_vnum_s64(pg: svbool_t, base: *const i32, vnum: i64) -> svint64_t {
21740 svldnf1sw_s64(pg, base.offset(svcntd() as isize * vnum as isize))
21741}
21742#[doc = "Load 8-bit data and sign-extend, non-faulting"]
21743#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldnf1sb_vnum_u16)"]
21744#[doc = "## Safety"]
21745#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and non-faulting behaviour). In particular, note that `vnum` is scaled by the vector length, `VL`, which is not known at compile time."]
21746#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and non-faulting behaviour)."]
21747#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
21748#[inline]
21749#[target_feature(enable = "sve")]
21750#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
21751#[cfg_attr(test, assert_instr(ldnf1sb))]
21752pub unsafe fn svldnf1sb_vnum_u16(pg: svbool_t, base: *const i8, vnum: i64) -> svuint16_t {
21753 svldnf1sb_u16(pg, base.offset(svcnth() as isize * vnum as isize))
21754}
21755#[doc = "Load 8-bit data and sign-extend, non-faulting"]
21756#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldnf1sb_vnum_u32)"]
21757#[doc = "## Safety"]
21758#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and non-faulting behaviour). In particular, note that `vnum` is scaled by the vector length, `VL`, which is not known at compile time."]
21759#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and non-faulting behaviour)."]
21760#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
21761#[inline]
21762#[target_feature(enable = "sve")]
21763#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
21764#[cfg_attr(test, assert_instr(ldnf1sb))]
21765pub unsafe fn svldnf1sb_vnum_u32(pg: svbool_t, base: *const i8, vnum: i64) -> svuint32_t {
21766 svldnf1sb_u32(pg, base.offset(svcntw() as isize * vnum as isize))
21767}
21768#[doc = "Load 16-bit data and sign-extend, non-faulting"]
21769#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldnf1sh_vnum_u32)"]
21770#[doc = "## Safety"]
21771#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and non-faulting behaviour). In particular, note that `vnum` is scaled by the vector length, `VL`, which is not known at compile time."]
21772#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and non-faulting behaviour)."]
21773#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
21774#[inline]
21775#[target_feature(enable = "sve")]
21776#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
21777#[cfg_attr(test, assert_instr(ldnf1sh))]
21778pub unsafe fn svldnf1sh_vnum_u32(pg: svbool_t, base: *const i16, vnum: i64) -> svuint32_t {
21779 svldnf1sh_u32(pg, base.offset(svcntw() as isize * vnum as isize))
21780}
21781#[doc = "Load 8-bit data and sign-extend, non-faulting"]
21782#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldnf1sb_vnum_u64)"]
21783#[doc = "## Safety"]
21784#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and non-faulting behaviour). In particular, note that `vnum` is scaled by the vector length, `VL`, which is not known at compile time."]
21785#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and non-faulting behaviour)."]
21786#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
21787#[inline]
21788#[target_feature(enable = "sve")]
21789#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
21790#[cfg_attr(test, assert_instr(ldnf1sb))]
21791pub unsafe fn svldnf1sb_vnum_u64(pg: svbool_t, base: *const i8, vnum: i64) -> svuint64_t {
21792 svldnf1sb_u64(pg, base.offset(svcntd() as isize * vnum as isize))
21793}
21794#[doc = "Load 16-bit data and sign-extend, non-faulting"]
21795#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldnf1sh_vnum_u64)"]
21796#[doc = "## Safety"]
21797#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and non-faulting behaviour). In particular, note that `vnum` is scaled by the vector length, `VL`, which is not known at compile time."]
21798#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and non-faulting behaviour)."]
21799#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
21800#[inline]
21801#[target_feature(enable = "sve")]
21802#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
21803#[cfg_attr(test, assert_instr(ldnf1sh))]
21804pub unsafe fn svldnf1sh_vnum_u64(pg: svbool_t, base: *const i16, vnum: i64) -> svuint64_t {
21805 svldnf1sh_u64(pg, base.offset(svcntd() as isize * vnum as isize))
21806}
21807#[doc = "Load 32-bit data and sign-extend, non-faulting"]
21808#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldnf1sw_vnum_u64)"]
21809#[doc = "## Safety"]
21810#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and non-faulting behaviour). In particular, note that `vnum` is scaled by the vector length, `VL`, which is not known at compile time."]
21811#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and non-faulting behaviour)."]
21812#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
21813#[inline]
21814#[target_feature(enable = "sve")]
21815#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
21816#[cfg_attr(test, assert_instr(ldnf1sw))]
21817pub unsafe fn svldnf1sw_vnum_u64(pg: svbool_t, base: *const i32, vnum: i64) -> svuint64_t {
21818 svldnf1sw_u64(pg, base.offset(svcntd() as isize * vnum as isize))
21819}
21820#[doc = "Load 8-bit data and zero-extend, non-faulting"]
21821#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldnf1ub_s16)"]
21822#[doc = "## Safety"]
21823#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and non-faulting behaviour)."]
21824#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and non-faulting behaviour)."]
21825#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
21826#[inline]
21827#[target_feature(enable = "sve")]
21828#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
21829#[cfg_attr(test, assert_instr(ldnf1b))]
21830pub unsafe fn svldnf1ub_s16(pg: svbool_t, base: *const u8) -> svint16_t {
21831 unsafe extern "unadjusted" {
21832 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.ldnf1.nxv8i8")]
21833 fn _svldnf1ub_s16(pg: svbool8_t, base: *const i8) -> nxv8i8;
21834 }
21835 crate::intrinsics::simd::simd_cast::<nxv8u8, _>(
21836 _svldnf1ub_s16(pg.sve_into(), base.as_signed()).as_unsigned(),
21837 )
21838}
21839#[doc = "Load 8-bit data and zero-extend, non-faulting"]
21840#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldnf1ub_s32)"]
21841#[doc = "## Safety"]
21842#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and non-faulting behaviour)."]
21843#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and non-faulting behaviour)."]
21844#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
21845#[inline]
21846#[target_feature(enable = "sve")]
21847#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
21848#[cfg_attr(test, assert_instr(ldnf1b))]
21849pub unsafe fn svldnf1ub_s32(pg: svbool_t, base: *const u8) -> svint32_t {
21850 unsafe extern "unadjusted" {
21851 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.ldnf1.nxv4i8")]
21852 fn _svldnf1ub_s32(pg: svbool4_t, base: *const i8) -> nxv4i8;
21853 }
21854 crate::intrinsics::simd::simd_cast::<nxv4u8, _>(
21855 _svldnf1ub_s32(pg.sve_into(), base.as_signed()).as_unsigned(),
21856 )
21857}
21858#[doc = "Load 16-bit data and zero-extend, non-faulting"]
21859#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldnf1uh_s32)"]
21860#[doc = "## Safety"]
21861#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and non-faulting behaviour)."]
21862#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and non-faulting behaviour)."]
21863#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
21864#[inline]
21865#[target_feature(enable = "sve")]
21866#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
21867#[cfg_attr(test, assert_instr(ldnf1h))]
21868pub unsafe fn svldnf1uh_s32(pg: svbool_t, base: *const u16) -> svint32_t {
21869 unsafe extern "unadjusted" {
21870 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.ldnf1.nxv4i16")]
21871 fn _svldnf1uh_s32(pg: svbool4_t, base: *const i16) -> nxv4i16;
21872 }
21873 crate::intrinsics::simd::simd_cast::<nxv4u16, _>(
21874 _svldnf1uh_s32(pg.sve_into(), base.as_signed()).as_unsigned(),
21875 )
21876}
21877#[doc = "Load 8-bit data and zero-extend, non-faulting"]
21878#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldnf1ub_s64)"]
21879#[doc = "## Safety"]
21880#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and non-faulting behaviour)."]
21881#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and non-faulting behaviour)."]
21882#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
21883#[inline]
21884#[target_feature(enable = "sve")]
21885#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
21886#[cfg_attr(test, assert_instr(ldnf1b))]
21887pub unsafe fn svldnf1ub_s64(pg: svbool_t, base: *const u8) -> svint64_t {
21888 unsafe extern "unadjusted" {
21889 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.ldnf1.nxv2i8")]
21890 fn _svldnf1ub_s64(pg: svbool2_t, base: *const i8) -> nxv2i8;
21891 }
21892 crate::intrinsics::simd::simd_cast::<nxv2u8, _>(
21893 _svldnf1ub_s64(pg.sve_into(), base.as_signed()).as_unsigned(),
21894 )
21895}
21896#[doc = "Load 16-bit data and zero-extend, non-faulting"]
21897#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldnf1uh_s64)"]
21898#[doc = "## Safety"]
21899#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and non-faulting behaviour)."]
21900#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and non-faulting behaviour)."]
21901#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
21902#[inline]
21903#[target_feature(enable = "sve")]
21904#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
21905#[cfg_attr(test, assert_instr(ldnf1h))]
21906pub unsafe fn svldnf1uh_s64(pg: svbool_t, base: *const u16) -> svint64_t {
21907 unsafe extern "unadjusted" {
21908 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.ldnf1.nxv2i16")]
21909 fn _svldnf1uh_s64(pg: svbool2_t, base: *const i16) -> nxv2i16;
21910 }
21911 crate::intrinsics::simd::simd_cast::<nxv2u16, _>(
21912 _svldnf1uh_s64(pg.sve_into(), base.as_signed()).as_unsigned(),
21913 )
21914}
21915#[doc = "Load 32-bit data and zero-extend, non-faulting"]
21916#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldnf1uw_s64)"]
21917#[doc = "## Safety"]
21918#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and non-faulting behaviour)."]
21919#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and non-faulting behaviour)."]
21920#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
21921#[inline]
21922#[target_feature(enable = "sve")]
21923#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
21924#[cfg_attr(test, assert_instr(ldnf1w))]
21925pub unsafe fn svldnf1uw_s64(pg: svbool_t, base: *const u32) -> svint64_t {
21926 unsafe extern "unadjusted" {
21927 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.ldnf1.nxv2i32")]
21928 fn _svldnf1uw_s64(pg: svbool2_t, base: *const i32) -> nxv2i32;
21929 }
21930 crate::intrinsics::simd::simd_cast::<nxv2u32, _>(
21931 _svldnf1uw_s64(pg.sve_into(), base.as_signed()).as_unsigned(),
21932 )
21933}
21934#[doc = "Load 8-bit data and zero-extend, non-faulting"]
21935#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldnf1ub_u16)"]
21936#[doc = "## Safety"]
21937#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and non-faulting behaviour)."]
21938#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and non-faulting behaviour)."]
21939#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
21940#[inline]
21941#[target_feature(enable = "sve")]
21942#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
21943#[cfg_attr(test, assert_instr(ldnf1b))]
21944pub unsafe fn svldnf1ub_u16(pg: svbool_t, base: *const u8) -> svuint16_t {
21945 svldnf1ub_s16(pg, base).as_unsigned()
21946}
21947#[doc = "Load 8-bit data and zero-extend, non-faulting"]
21948#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldnf1ub_u32)"]
21949#[doc = "## Safety"]
21950#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and non-faulting behaviour)."]
21951#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and non-faulting behaviour)."]
21952#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
21953#[inline]
21954#[target_feature(enable = "sve")]
21955#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
21956#[cfg_attr(test, assert_instr(ldnf1b))]
21957pub unsafe fn svldnf1ub_u32(pg: svbool_t, base: *const u8) -> svuint32_t {
21958 svldnf1ub_s32(pg, base).as_unsigned()
21959}
21960#[doc = "Load 16-bit data and zero-extend, non-faulting"]
21961#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldnf1uh_u32)"]
21962#[doc = "## Safety"]
21963#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and non-faulting behaviour)."]
21964#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and non-faulting behaviour)."]
21965#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
21966#[inline]
21967#[target_feature(enable = "sve")]
21968#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
21969#[cfg_attr(test, assert_instr(ldnf1h))]
21970pub unsafe fn svldnf1uh_u32(pg: svbool_t, base: *const u16) -> svuint32_t {
21971 svldnf1uh_s32(pg, base).as_unsigned()
21972}
21973#[doc = "Load 8-bit data and zero-extend, non-faulting"]
21974#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldnf1ub_u64)"]
21975#[doc = "## Safety"]
21976#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and non-faulting behaviour)."]
21977#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and non-faulting behaviour)."]
21978#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
21979#[inline]
21980#[target_feature(enable = "sve")]
21981#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
21982#[cfg_attr(test, assert_instr(ldnf1b))]
21983pub unsafe fn svldnf1ub_u64(pg: svbool_t, base: *const u8) -> svuint64_t {
21984 svldnf1ub_s64(pg, base).as_unsigned()
21985}
21986#[doc = "Load 16-bit data and zero-extend, non-faulting"]
21987#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldnf1uh_u64)"]
21988#[doc = "## Safety"]
21989#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and non-faulting behaviour)."]
21990#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and non-faulting behaviour)."]
21991#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
21992#[inline]
21993#[target_feature(enable = "sve")]
21994#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
21995#[cfg_attr(test, assert_instr(ldnf1h))]
21996pub unsafe fn svldnf1uh_u64(pg: svbool_t, base: *const u16) -> svuint64_t {
21997 svldnf1uh_s64(pg, base).as_unsigned()
21998}
21999#[doc = "Load 32-bit data and zero-extend, non-faulting"]
22000#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldnf1uw_u64)"]
22001#[doc = "## Safety"]
22002#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and non-faulting behaviour)."]
22003#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and non-faulting behaviour)."]
22004#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
22005#[inline]
22006#[target_feature(enable = "sve")]
22007#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
22008#[cfg_attr(test, assert_instr(ldnf1w))]
22009pub unsafe fn svldnf1uw_u64(pg: svbool_t, base: *const u32) -> svuint64_t {
22010 svldnf1uw_s64(pg, base).as_unsigned()
22011}
22012#[doc = "Load 8-bit data and zero-extend, non-faulting"]
22013#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldnf1ub_vnum_s16)"]
22014#[doc = "## Safety"]
22015#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and non-faulting behaviour). In particular, note that `vnum` is scaled by the vector length, `VL`, which is not known at compile time."]
22016#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and non-faulting behaviour)."]
22017#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
22018#[inline]
22019#[target_feature(enable = "sve")]
22020#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
22021#[cfg_attr(test, assert_instr(ldnf1b))]
22022pub unsafe fn svldnf1ub_vnum_s16(pg: svbool_t, base: *const u8, vnum: i64) -> svint16_t {
22023 svldnf1ub_s16(pg, base.offset(svcnth() as isize * vnum as isize))
22024}
22025#[doc = "Load 8-bit data and zero-extend, non-faulting"]
22026#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldnf1ub_vnum_s32)"]
22027#[doc = "## Safety"]
22028#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and non-faulting behaviour). In particular, note that `vnum` is scaled by the vector length, `VL`, which is not known at compile time."]
22029#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and non-faulting behaviour)."]
22030#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
22031#[inline]
22032#[target_feature(enable = "sve")]
22033#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
22034#[cfg_attr(test, assert_instr(ldnf1b))]
22035pub unsafe fn svldnf1ub_vnum_s32(pg: svbool_t, base: *const u8, vnum: i64) -> svint32_t {
22036 svldnf1ub_s32(pg, base.offset(svcntw() as isize * vnum as isize))
22037}
22038#[doc = "Load 16-bit data and zero-extend, non-faulting"]
22039#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldnf1uh_vnum_s32)"]
22040#[doc = "## Safety"]
22041#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and non-faulting behaviour). In particular, note that `vnum` is scaled by the vector length, `VL`, which is not known at compile time."]
22042#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and non-faulting behaviour)."]
22043#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
22044#[inline]
22045#[target_feature(enable = "sve")]
22046#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
22047#[cfg_attr(test, assert_instr(ldnf1h))]
22048pub unsafe fn svldnf1uh_vnum_s32(pg: svbool_t, base: *const u16, vnum: i64) -> svint32_t {
22049 svldnf1uh_s32(pg, base.offset(svcntw() as isize * vnum as isize))
22050}
22051#[doc = "Load 8-bit data and zero-extend, non-faulting"]
22052#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldnf1ub_vnum_s64)"]
22053#[doc = "## Safety"]
22054#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and non-faulting behaviour). In particular, note that `vnum` is scaled by the vector length, `VL`, which is not known at compile time."]
22055#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and non-faulting behaviour)."]
22056#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
22057#[inline]
22058#[target_feature(enable = "sve")]
22059#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
22060#[cfg_attr(test, assert_instr(ldnf1b))]
22061pub unsafe fn svldnf1ub_vnum_s64(pg: svbool_t, base: *const u8, vnum: i64) -> svint64_t {
22062 svldnf1ub_s64(pg, base.offset(svcntd() as isize * vnum as isize))
22063}
22064#[doc = "Load 16-bit data and zero-extend, non-faulting"]
22065#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldnf1uh_vnum_s64)"]
22066#[doc = "## Safety"]
22067#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and non-faulting behaviour). In particular, note that `vnum` is scaled by the vector length, `VL`, which is not known at compile time."]
22068#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and non-faulting behaviour)."]
22069#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
22070#[inline]
22071#[target_feature(enable = "sve")]
22072#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
22073#[cfg_attr(test, assert_instr(ldnf1h))]
22074pub unsafe fn svldnf1uh_vnum_s64(pg: svbool_t, base: *const u16, vnum: i64) -> svint64_t {
22075 svldnf1uh_s64(pg, base.offset(svcntd() as isize * vnum as isize))
22076}
22077#[doc = "Load 32-bit data and zero-extend, non-faulting"]
22078#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldnf1uw_vnum_s64)"]
22079#[doc = "## Safety"]
22080#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and non-faulting behaviour). In particular, note that `vnum` is scaled by the vector length, `VL`, which is not known at compile time."]
22081#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and non-faulting behaviour)."]
22082#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
22083#[inline]
22084#[target_feature(enable = "sve")]
22085#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
22086#[cfg_attr(test, assert_instr(ldnf1w))]
22087pub unsafe fn svldnf1uw_vnum_s64(pg: svbool_t, base: *const u32, vnum: i64) -> svint64_t {
22088 svldnf1uw_s64(pg, base.offset(svcntd() as isize * vnum as isize))
22089}
22090#[doc = "Load 8-bit data and zero-extend, non-faulting"]
22091#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldnf1ub_vnum_u16)"]
22092#[doc = "## Safety"]
22093#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and non-faulting behaviour). In particular, note that `vnum` is scaled by the vector length, `VL`, which is not known at compile time."]
22094#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and non-faulting behaviour)."]
22095#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
22096#[inline]
22097#[target_feature(enable = "sve")]
22098#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
22099#[cfg_attr(test, assert_instr(ldnf1b))]
22100pub unsafe fn svldnf1ub_vnum_u16(pg: svbool_t, base: *const u8, vnum: i64) -> svuint16_t {
22101 svldnf1ub_u16(pg, base.offset(svcnth() as isize * vnum as isize))
22102}
22103#[doc = "Load 8-bit data and zero-extend, non-faulting"]
22104#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldnf1ub_vnum_u32)"]
22105#[doc = "## Safety"]
22106#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and non-faulting behaviour). In particular, note that `vnum` is scaled by the vector length, `VL`, which is not known at compile time."]
22107#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and non-faulting behaviour)."]
22108#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
22109#[inline]
22110#[target_feature(enable = "sve")]
22111#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
22112#[cfg_attr(test, assert_instr(ldnf1b))]
22113pub unsafe fn svldnf1ub_vnum_u32(pg: svbool_t, base: *const u8, vnum: i64) -> svuint32_t {
22114 svldnf1ub_u32(pg, base.offset(svcntw() as isize * vnum as isize))
22115}
22116#[doc = "Load 16-bit data and zero-extend, non-faulting"]
22117#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldnf1uh_vnum_u32)"]
22118#[doc = "## Safety"]
22119#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and non-faulting behaviour). In particular, note that `vnum` is scaled by the vector length, `VL`, which is not known at compile time."]
22120#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and non-faulting behaviour)."]
22121#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
22122#[inline]
22123#[target_feature(enable = "sve")]
22124#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
22125#[cfg_attr(test, assert_instr(ldnf1h))]
22126pub unsafe fn svldnf1uh_vnum_u32(pg: svbool_t, base: *const u16, vnum: i64) -> svuint32_t {
22127 svldnf1uh_u32(pg, base.offset(svcntw() as isize * vnum as isize))
22128}
22129#[doc = "Load 8-bit data and zero-extend, non-faulting"]
22130#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldnf1ub_vnum_u64)"]
22131#[doc = "## Safety"]
22132#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and non-faulting behaviour). In particular, note that `vnum` is scaled by the vector length, `VL`, which is not known at compile time."]
22133#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and non-faulting behaviour)."]
22134#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
22135#[inline]
22136#[target_feature(enable = "sve")]
22137#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
22138#[cfg_attr(test, assert_instr(ldnf1b))]
22139pub unsafe fn svldnf1ub_vnum_u64(pg: svbool_t, base: *const u8, vnum: i64) -> svuint64_t {
22140 svldnf1ub_u64(pg, base.offset(svcntd() as isize * vnum as isize))
22141}
22142#[doc = "Load 16-bit data and zero-extend, non-faulting"]
22143#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldnf1uh_vnum_u64)"]
22144#[doc = "## Safety"]
22145#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and non-faulting behaviour). In particular, note that `vnum` is scaled by the vector length, `VL`, which is not known at compile time."]
22146#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and non-faulting behaviour)."]
22147#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
22148#[inline]
22149#[target_feature(enable = "sve")]
22150#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
22151#[cfg_attr(test, assert_instr(ldnf1h))]
22152pub unsafe fn svldnf1uh_vnum_u64(pg: svbool_t, base: *const u16, vnum: i64) -> svuint64_t {
22153 svldnf1uh_u64(pg, base.offset(svcntd() as isize * vnum as isize))
22154}
22155#[doc = "Load 32-bit data and zero-extend, non-faulting"]
22156#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldnf1uw_vnum_u64)"]
22157#[doc = "## Safety"]
22158#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and non-faulting behaviour). In particular, note that `vnum` is scaled by the vector length, `VL`, which is not known at compile time."]
22159#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and non-faulting behaviour)."]
22160#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
22161#[inline]
22162#[target_feature(enable = "sve")]
22163#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
22164#[cfg_attr(test, assert_instr(ldnf1w))]
22165pub unsafe fn svldnf1uw_vnum_u64(pg: svbool_t, base: *const u32, vnum: i64) -> svuint64_t {
22166 svldnf1uw_u64(pg, base.offset(svcntd() as isize * vnum as isize))
22167}
22168#[doc = "Unextended load, non-temporal"]
22169#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldnt1[_f32])"]
22170#[doc = "## Safety"]
22171#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
22172#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
22173#[doc = " * Non-temporal accesses have special memory ordering rules, and [explicit barriers may be required for some applications](https://developer.arm.com/documentation/den0024/a/Memory-Ordering/Barriers/Non-temporal-load-and-store-pair?lang=en)."]
22174#[inline]
22175#[target_feature(enable = "sve")]
22176#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
22177#[cfg_attr(test, assert_instr(ldnt1w))]
22178pub unsafe fn svldnt1_f32(pg: svbool_t, base: *const f32) -> svfloat32_t {
22179 unsafe extern "unadjusted" {
22180 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.ldnt1.nxv4f32")]
22181 fn _svldnt1_f32(pg: svbool4_t, base: *const f32) -> svfloat32_t;
22182 }
22183 _svldnt1_f32(pg.sve_into(), base)
22184}
22185#[doc = "Unextended load, non-temporal"]
22186#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldnt1[_f64])"]
22187#[doc = "## Safety"]
22188#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
22189#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
22190#[doc = " * Non-temporal accesses have special memory ordering rules, and [explicit barriers may be required for some applications](https://developer.arm.com/documentation/den0024/a/Memory-Ordering/Barriers/Non-temporal-load-and-store-pair?lang=en)."]
22191#[inline]
22192#[target_feature(enable = "sve")]
22193#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
22194#[cfg_attr(test, assert_instr(ldnt1d))]
22195pub unsafe fn svldnt1_f64(pg: svbool_t, base: *const f64) -> svfloat64_t {
22196 unsafe extern "unadjusted" {
22197 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.ldnt1.nxv2f64")]
22198 fn _svldnt1_f64(pg: svbool2_t, base: *const f64) -> svfloat64_t;
22199 }
22200 _svldnt1_f64(pg.sve_into(), base)
22201}
22202#[doc = "Unextended load, non-temporal"]
22203#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldnt1[_s8])"]
22204#[doc = "## Safety"]
22205#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
22206#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
22207#[doc = " * Non-temporal accesses have special memory ordering rules, and [explicit barriers may be required for some applications](https://developer.arm.com/documentation/den0024/a/Memory-Ordering/Barriers/Non-temporal-load-and-store-pair?lang=en)."]
22208#[inline]
22209#[target_feature(enable = "sve")]
22210#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
22211#[cfg_attr(test, assert_instr(ldnt1b))]
22212pub unsafe fn svldnt1_s8(pg: svbool_t, base: *const i8) -> svint8_t {
22213 unsafe extern "unadjusted" {
22214 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.ldnt1.nxv16i8")]
22215 fn _svldnt1_s8(pg: svbool_t, base: *const i8) -> svint8_t;
22216 }
22217 _svldnt1_s8(pg, base)
22218}
22219#[doc = "Unextended load, non-temporal"]
22220#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldnt1[_s16])"]
22221#[doc = "## Safety"]
22222#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
22223#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
22224#[doc = " * Non-temporal accesses have special memory ordering rules, and [explicit barriers may be required for some applications](https://developer.arm.com/documentation/den0024/a/Memory-Ordering/Barriers/Non-temporal-load-and-store-pair?lang=en)."]
22225#[inline]
22226#[target_feature(enable = "sve")]
22227#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
22228#[cfg_attr(test, assert_instr(ldnt1h))]
22229pub unsafe fn svldnt1_s16(pg: svbool_t, base: *const i16) -> svint16_t {
22230 unsafe extern "unadjusted" {
22231 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.ldnt1.nxv8i16")]
22232 fn _svldnt1_s16(pg: svbool8_t, base: *const i16) -> svint16_t;
22233 }
22234 _svldnt1_s16(pg.sve_into(), base)
22235}
22236#[doc = "Unextended load, non-temporal"]
22237#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldnt1[_s32])"]
22238#[doc = "## Safety"]
22239#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
22240#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
22241#[doc = " * Non-temporal accesses have special memory ordering rules, and [explicit barriers may be required for some applications](https://developer.arm.com/documentation/den0024/a/Memory-Ordering/Barriers/Non-temporal-load-and-store-pair?lang=en)."]
22242#[inline]
22243#[target_feature(enable = "sve")]
22244#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
22245#[cfg_attr(test, assert_instr(ldnt1w))]
22246pub unsafe fn svldnt1_s32(pg: svbool_t, base: *const i32) -> svint32_t {
22247 unsafe extern "unadjusted" {
22248 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.ldnt1.nxv4i32")]
22249 fn _svldnt1_s32(pg: svbool4_t, base: *const i32) -> svint32_t;
22250 }
22251 _svldnt1_s32(pg.sve_into(), base)
22252}
22253#[doc = "Unextended load, non-temporal"]
22254#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldnt1[_s64])"]
22255#[doc = "## Safety"]
22256#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
22257#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
22258#[doc = " * Non-temporal accesses have special memory ordering rules, and [explicit barriers may be required for some applications](https://developer.arm.com/documentation/den0024/a/Memory-Ordering/Barriers/Non-temporal-load-and-store-pair?lang=en)."]
22259#[inline]
22260#[target_feature(enable = "sve")]
22261#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
22262#[cfg_attr(test, assert_instr(ldnt1d))]
22263pub unsafe fn svldnt1_s64(pg: svbool_t, base: *const i64) -> svint64_t {
22264 unsafe extern "unadjusted" {
22265 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.ldnt1.nxv2i64")]
22266 fn _svldnt1_s64(pg: svbool2_t, base: *const i64) -> svint64_t;
22267 }
22268 _svldnt1_s64(pg.sve_into(), base)
22269}
22270#[doc = "Unextended load, non-temporal"]
22271#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldnt1[_u8])"]
22272#[doc = "## Safety"]
22273#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
22274#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
22275#[doc = " * Non-temporal accesses have special memory ordering rules, and [explicit barriers may be required for some applications](https://developer.arm.com/documentation/den0024/a/Memory-Ordering/Barriers/Non-temporal-load-and-store-pair?lang=en)."]
22276#[inline]
22277#[target_feature(enable = "sve")]
22278#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
22279#[cfg_attr(test, assert_instr(ldnt1b))]
22280pub unsafe fn svldnt1_u8(pg: svbool_t, base: *const u8) -> svuint8_t {
22281 svldnt1_s8(pg, base.as_signed()).as_unsigned()
22282}
22283#[doc = "Unextended load, non-temporal"]
22284#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldnt1[_u16])"]
22285#[doc = "## Safety"]
22286#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
22287#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
22288#[doc = " * Non-temporal accesses have special memory ordering rules, and [explicit barriers may be required for some applications](https://developer.arm.com/documentation/den0024/a/Memory-Ordering/Barriers/Non-temporal-load-and-store-pair?lang=en)."]
22289#[inline]
22290#[target_feature(enable = "sve")]
22291#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
22292#[cfg_attr(test, assert_instr(ldnt1h))]
22293pub unsafe fn svldnt1_u16(pg: svbool_t, base: *const u16) -> svuint16_t {
22294 svldnt1_s16(pg, base.as_signed()).as_unsigned()
22295}
22296#[doc = "Unextended load, non-temporal"]
22297#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldnt1[_u32])"]
22298#[doc = "## Safety"]
22299#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
22300#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
22301#[doc = " * Non-temporal accesses have special memory ordering rules, and [explicit barriers may be required for some applications](https://developer.arm.com/documentation/den0024/a/Memory-Ordering/Barriers/Non-temporal-load-and-store-pair?lang=en)."]
22302#[inline]
22303#[target_feature(enable = "sve")]
22304#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
22305#[cfg_attr(test, assert_instr(ldnt1w))]
22306pub unsafe fn svldnt1_u32(pg: svbool_t, base: *const u32) -> svuint32_t {
22307 svldnt1_s32(pg, base.as_signed()).as_unsigned()
22308}
22309#[doc = "Unextended load, non-temporal"]
22310#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldnt1[_u64])"]
22311#[doc = "## Safety"]
22312#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
22313#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
22314#[doc = " * Non-temporal accesses have special memory ordering rules, and [explicit barriers may be required for some applications](https://developer.arm.com/documentation/den0024/a/Memory-Ordering/Barriers/Non-temporal-load-and-store-pair?lang=en)."]
22315#[inline]
22316#[target_feature(enable = "sve")]
22317#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
22318#[cfg_attr(test, assert_instr(ldnt1d))]
22319pub unsafe fn svldnt1_u64(pg: svbool_t, base: *const u64) -> svuint64_t {
22320 svldnt1_s64(pg, base.as_signed()).as_unsigned()
22321}
22322#[doc = "Unextended load, non-temporal"]
22323#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldnt1_vnum[_f32])"]
22324#[doc = "## Safety"]
22325#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`). In particular, note that `vnum` is scaled by the vector length, `VL`, which is not known at compile time."]
22326#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
22327#[doc = " * Non-temporal accesses have special memory ordering rules, and [explicit barriers may be required for some applications](https://developer.arm.com/documentation/den0024/a/Memory-Ordering/Barriers/Non-temporal-load-and-store-pair?lang=en)."]
22328#[inline]
22329#[target_feature(enable = "sve")]
22330#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
22331#[cfg_attr(test, assert_instr(ldnt1w))]
22332pub unsafe fn svldnt1_vnum_f32(pg: svbool_t, base: *const f32, vnum: i64) -> svfloat32_t {
22333 svldnt1_f32(pg, base.offset(svcntw() as isize * vnum as isize))
22334}
22335#[doc = "Unextended load, non-temporal"]
22336#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldnt1_vnum[_f64])"]
22337#[doc = "## Safety"]
22338#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`). In particular, note that `vnum` is scaled by the vector length, `VL`, which is not known at compile time."]
22339#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
22340#[doc = " * Non-temporal accesses have special memory ordering rules, and [explicit barriers may be required for some applications](https://developer.arm.com/documentation/den0024/a/Memory-Ordering/Barriers/Non-temporal-load-and-store-pair?lang=en)."]
22341#[inline]
22342#[target_feature(enable = "sve")]
22343#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
22344#[cfg_attr(test, assert_instr(ldnt1d))]
22345pub unsafe fn svldnt1_vnum_f64(pg: svbool_t, base: *const f64, vnum: i64) -> svfloat64_t {
22346 svldnt1_f64(pg, base.offset(svcntd() as isize * vnum as isize))
22347}
22348#[doc = "Unextended load, non-temporal"]
22349#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldnt1_vnum[_s8])"]
22350#[doc = "## Safety"]
22351#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`). In particular, note that `vnum` is scaled by the vector length, `VL`, which is not known at compile time."]
22352#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
22353#[doc = " * Non-temporal accesses have special memory ordering rules, and [explicit barriers may be required for some applications](https://developer.arm.com/documentation/den0024/a/Memory-Ordering/Barriers/Non-temporal-load-and-store-pair?lang=en)."]
22354#[inline]
22355#[target_feature(enable = "sve")]
22356#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
22357#[cfg_attr(test, assert_instr(ldnt1b))]
22358pub unsafe fn svldnt1_vnum_s8(pg: svbool_t, base: *const i8, vnum: i64) -> svint8_t {
22359 svldnt1_s8(pg, base.offset(svcntb() as isize * vnum as isize))
22360}
22361#[doc = "Unextended load, non-temporal"]
22362#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldnt1_vnum[_s16])"]
22363#[doc = "## Safety"]
22364#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`). In particular, note that `vnum` is scaled by the vector length, `VL`, which is not known at compile time."]
22365#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
22366#[doc = " * Non-temporal accesses have special memory ordering rules, and [explicit barriers may be required for some applications](https://developer.arm.com/documentation/den0024/a/Memory-Ordering/Barriers/Non-temporal-load-and-store-pair?lang=en)."]
22367#[inline]
22368#[target_feature(enable = "sve")]
22369#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
22370#[cfg_attr(test, assert_instr(ldnt1h))]
22371pub unsafe fn svldnt1_vnum_s16(pg: svbool_t, base: *const i16, vnum: i64) -> svint16_t {
22372 svldnt1_s16(pg, base.offset(svcnth() as isize * vnum as isize))
22373}
22374#[doc = "Unextended load, non-temporal"]
22375#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldnt1_vnum[_s32])"]
22376#[doc = "## Safety"]
22377#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`). In particular, note that `vnum` is scaled by the vector length, `VL`, which is not known at compile time."]
22378#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
22379#[doc = " * Non-temporal accesses have special memory ordering rules, and [explicit barriers may be required for some applications](https://developer.arm.com/documentation/den0024/a/Memory-Ordering/Barriers/Non-temporal-load-and-store-pair?lang=en)."]
22380#[inline]
22381#[target_feature(enable = "sve")]
22382#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
22383#[cfg_attr(test, assert_instr(ldnt1w))]
22384pub unsafe fn svldnt1_vnum_s32(pg: svbool_t, base: *const i32, vnum: i64) -> svint32_t {
22385 svldnt1_s32(pg, base.offset(svcntw() as isize * vnum as isize))
22386}
22387#[doc = "Unextended load, non-temporal"]
22388#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldnt1_vnum[_s64])"]
22389#[doc = "## Safety"]
22390#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`). In particular, note that `vnum` is scaled by the vector length, `VL`, which is not known at compile time."]
22391#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
22392#[doc = " * Non-temporal accesses have special memory ordering rules, and [explicit barriers may be required for some applications](https://developer.arm.com/documentation/den0024/a/Memory-Ordering/Barriers/Non-temporal-load-and-store-pair?lang=en)."]
22393#[inline]
22394#[target_feature(enable = "sve")]
22395#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
22396#[cfg_attr(test, assert_instr(ldnt1d))]
22397pub unsafe fn svldnt1_vnum_s64(pg: svbool_t, base: *const i64, vnum: i64) -> svint64_t {
22398 svldnt1_s64(pg, base.offset(svcntd() as isize * vnum as isize))
22399}
22400#[doc = "Unextended load, non-temporal"]
22401#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldnt1_vnum[_u8])"]
22402#[doc = "## Safety"]
22403#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`). In particular, note that `vnum` is scaled by the vector length, `VL`, which is not known at compile time."]
22404#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
22405#[doc = " * Non-temporal accesses have special memory ordering rules, and [explicit barriers may be required for some applications](https://developer.arm.com/documentation/den0024/a/Memory-Ordering/Barriers/Non-temporal-load-and-store-pair?lang=en)."]
22406#[inline]
22407#[target_feature(enable = "sve")]
22408#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
22409#[cfg_attr(test, assert_instr(ldnt1b))]
22410pub unsafe fn svldnt1_vnum_u8(pg: svbool_t, base: *const u8, vnum: i64) -> svuint8_t {
22411 svldnt1_u8(pg, base.offset(svcntb() as isize * vnum as isize))
22412}
22413#[doc = "Unextended load, non-temporal"]
22414#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldnt1_vnum[_u16])"]
22415#[doc = "## Safety"]
22416#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`). In particular, note that `vnum` is scaled by the vector length, `VL`, which is not known at compile time."]
22417#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
22418#[doc = " * Non-temporal accesses have special memory ordering rules, and [explicit barriers may be required for some applications](https://developer.arm.com/documentation/den0024/a/Memory-Ordering/Barriers/Non-temporal-load-and-store-pair?lang=en)."]
22419#[inline]
22420#[target_feature(enable = "sve")]
22421#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
22422#[cfg_attr(test, assert_instr(ldnt1h))]
22423pub unsafe fn svldnt1_vnum_u16(pg: svbool_t, base: *const u16, vnum: i64) -> svuint16_t {
22424 svldnt1_u16(pg, base.offset(svcnth() as isize * vnum as isize))
22425}
22426#[doc = "Unextended load, non-temporal"]
22427#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldnt1_vnum[_u32])"]
22428#[doc = "## Safety"]
22429#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`). In particular, note that `vnum` is scaled by the vector length, `VL`, which is not known at compile time."]
22430#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
22431#[doc = " * Non-temporal accesses have special memory ordering rules, and [explicit barriers may be required for some applications](https://developer.arm.com/documentation/den0024/a/Memory-Ordering/Barriers/Non-temporal-load-and-store-pair?lang=en)."]
22432#[inline]
22433#[target_feature(enable = "sve")]
22434#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
22435#[cfg_attr(test, assert_instr(ldnt1w))]
22436pub unsafe fn svldnt1_vnum_u32(pg: svbool_t, base: *const u32, vnum: i64) -> svuint32_t {
22437 svldnt1_u32(pg, base.offset(svcntw() as isize * vnum as isize))
22438}
22439#[doc = "Unextended load, non-temporal"]
22440#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldnt1_vnum[_u64])"]
22441#[doc = "## Safety"]
22442#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`). In particular, note that `vnum` is scaled by the vector length, `VL`, which is not known at compile time."]
22443#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
22444#[doc = " * Non-temporal accesses have special memory ordering rules, and [explicit barriers may be required for some applications](https://developer.arm.com/documentation/den0024/a/Memory-Ordering/Barriers/Non-temporal-load-and-store-pair?lang=en)."]
22445#[inline]
22446#[target_feature(enable = "sve")]
22447#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
22448#[cfg_attr(test, assert_instr(ldnt1d))]
22449pub unsafe fn svldnt1_vnum_u64(pg: svbool_t, base: *const u64, vnum: i64) -> svuint64_t {
22450 svldnt1_u64(pg, base.offset(svcntd() as isize * vnum as isize))
22451}
22452#[doc = "Count the number of elements in a full vector"]
22453#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svlen[_f32])"]
22454#[inline]
22455#[target_feature(enable = "sve")]
22456#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
22457#[cfg_attr(test, assert_instr(cntw))]
22458pub fn svlen_f32(_op: svfloat32_t) -> u64 {
22459 svcntw()
22460}
22461#[doc = "Count the number of elements in a full vector"]
22462#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svlen[_f64])"]
22463#[inline]
22464#[target_feature(enable = "sve")]
22465#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
22466#[cfg_attr(test, assert_instr(cntd))]
22467pub fn svlen_f64(_op: svfloat64_t) -> u64 {
22468 svcntd()
22469}
22470#[doc = "Count the number of elements in a full vector"]
22471#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svlen[_s8])"]
22472#[inline]
22473#[target_feature(enable = "sve")]
22474#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
22475#[cfg_attr(test, assert_instr(rdvl))]
22476pub fn svlen_s8(_op: svint8_t) -> u64 {
22477 svcntb()
22478}
22479#[doc = "Count the number of elements in a full vector"]
22480#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svlen[_s16])"]
22481#[inline]
22482#[target_feature(enable = "sve")]
22483#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
22484#[cfg_attr(test, assert_instr(cnth))]
22485pub fn svlen_s16(_op: svint16_t) -> u64 {
22486 svcnth()
22487}
22488#[doc = "Count the number of elements in a full vector"]
22489#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svlen[_s32])"]
22490#[inline]
22491#[target_feature(enable = "sve")]
22492#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
22493#[cfg_attr(test, assert_instr(cntw))]
22494pub fn svlen_s32(_op: svint32_t) -> u64 {
22495 svcntw()
22496}
22497#[doc = "Count the number of elements in a full vector"]
22498#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svlen[_s64])"]
22499#[inline]
22500#[target_feature(enable = "sve")]
22501#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
22502#[cfg_attr(test, assert_instr(cntd))]
22503pub fn svlen_s64(_op: svint64_t) -> u64 {
22504 svcntd()
22505}
22506#[doc = "Count the number of elements in a full vector"]
22507#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svlen[_u8])"]
22508#[inline]
22509#[target_feature(enable = "sve")]
22510#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
22511#[cfg_attr(test, assert_instr(rdvl))]
22512pub fn svlen_u8(_op: svuint8_t) -> u64 {
22513 svcntb()
22514}
22515#[doc = "Count the number of elements in a full vector"]
22516#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svlen[_u16])"]
22517#[inline]
22518#[target_feature(enable = "sve")]
22519#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
22520#[cfg_attr(test, assert_instr(cnth))]
22521pub fn svlen_u16(_op: svuint16_t) -> u64 {
22522 svcnth()
22523}
22524#[doc = "Count the number of elements in a full vector"]
22525#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svlen[_u32])"]
22526#[inline]
22527#[target_feature(enable = "sve")]
22528#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
22529#[cfg_attr(test, assert_instr(cntw))]
22530pub fn svlen_u32(_op: svuint32_t) -> u64 {
22531 svcntw()
22532}
22533#[doc = "Count the number of elements in a full vector"]
22534#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svlen[_u64])"]
22535#[inline]
22536#[target_feature(enable = "sve")]
22537#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
22538#[cfg_attr(test, assert_instr(cntd))]
22539pub fn svlen_u64(_op: svuint64_t) -> u64 {
22540 svcntd()
22541}
22542#[doc = "Logical shift left"]
22543#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svlsl[_s8]_m)"]
22544#[inline]
22545#[target_feature(enable = "sve")]
22546#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
22547#[cfg_attr(test, assert_instr(lsl))]
22548pub fn svlsl_s8_m(pg: svbool_t, op1: svint8_t, op2: svuint8_t) -> svint8_t {
22549 unsafe extern "unadjusted" {
22550 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.lsl.nxv16i8")]
22551 fn _svlsl_s8_m(pg: svbool_t, op1: svint8_t, op2: svint8_t) -> svint8_t;
22552 }
22553 unsafe { _svlsl_s8_m(pg, op1, op2.as_signed()) }
22554}
22555#[doc = "Logical shift left"]
22556#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svlsl[_n_s8]_m)"]
22557#[inline]
22558#[target_feature(enable = "sve")]
22559#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
22560#[cfg_attr(test, assert_instr(lsl))]
22561pub fn svlsl_n_s8_m(pg: svbool_t, op1: svint8_t, op2: u8) -> svint8_t {
22562 svlsl_s8_m(pg, op1, svdup_n_u8(op2))
22563}
22564#[doc = "Logical shift left"]
22565#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svlsl[_s8]_x)"]
22566#[inline]
22567#[target_feature(enable = "sve")]
22568#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
22569#[cfg_attr(test, assert_instr(lsl))]
22570pub fn svlsl_s8_x(pg: svbool_t, op1: svint8_t, op2: svuint8_t) -> svint8_t {
22571 svlsl_s8_m(pg, op1, op2)
22572}
22573#[doc = "Logical shift left"]
22574#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svlsl[_n_s8]_x)"]
22575#[inline]
22576#[target_feature(enable = "sve")]
22577#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
22578#[cfg_attr(test, assert_instr(lsl))]
22579pub fn svlsl_n_s8_x(pg: svbool_t, op1: svint8_t, op2: u8) -> svint8_t {
22580 svlsl_s8_x(pg, op1, svdup_n_u8(op2))
22581}
22582#[doc = "Logical shift left"]
22583#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svlsl[_s8]_z)"]
22584#[inline]
22585#[target_feature(enable = "sve")]
22586#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
22587#[cfg_attr(test, assert_instr(lsl))]
22588pub fn svlsl_s8_z(pg: svbool_t, op1: svint8_t, op2: svuint8_t) -> svint8_t {
22589 svlsl_s8_m(pg, svsel_s8(pg, op1, svdup_n_s8(0)), op2)
22590}
22591#[doc = "Logical shift left"]
22592#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svlsl[_n_s8]_z)"]
22593#[inline]
22594#[target_feature(enable = "sve")]
22595#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
22596#[cfg_attr(test, assert_instr(lsl))]
22597pub fn svlsl_n_s8_z(pg: svbool_t, op1: svint8_t, op2: u8) -> svint8_t {
22598 svlsl_s8_z(pg, op1, svdup_n_u8(op2))
22599}
22600#[doc = "Logical shift left"]
22601#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svlsl[_s16]_m)"]
22602#[inline]
22603#[target_feature(enable = "sve")]
22604#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
22605#[cfg_attr(test, assert_instr(lsl))]
22606pub fn svlsl_s16_m(pg: svbool_t, op1: svint16_t, op2: svuint16_t) -> svint16_t {
22607 unsafe extern "unadjusted" {
22608 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.lsl.nxv8i16")]
22609 fn _svlsl_s16_m(pg: svbool8_t, op1: svint16_t, op2: svint16_t) -> svint16_t;
22610 }
22611 unsafe { _svlsl_s16_m(pg.sve_into(), op1, op2.as_signed()) }
22612}
22613#[doc = "Logical shift left"]
22614#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svlsl[_n_s16]_m)"]
22615#[inline]
22616#[target_feature(enable = "sve")]
22617#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
22618#[cfg_attr(test, assert_instr(lsl))]
22619pub fn svlsl_n_s16_m(pg: svbool_t, op1: svint16_t, op2: u16) -> svint16_t {
22620 svlsl_s16_m(pg, op1, svdup_n_u16(op2))
22621}
22622#[doc = "Logical shift left"]
22623#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svlsl[_s16]_x)"]
22624#[inline]
22625#[target_feature(enable = "sve")]
22626#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
22627#[cfg_attr(test, assert_instr(lsl))]
22628pub fn svlsl_s16_x(pg: svbool_t, op1: svint16_t, op2: svuint16_t) -> svint16_t {
22629 svlsl_s16_m(pg, op1, op2)
22630}
22631#[doc = "Logical shift left"]
22632#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svlsl[_n_s16]_x)"]
22633#[inline]
22634#[target_feature(enable = "sve")]
22635#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
22636#[cfg_attr(test, assert_instr(lsl))]
22637pub fn svlsl_n_s16_x(pg: svbool_t, op1: svint16_t, op2: u16) -> svint16_t {
22638 svlsl_s16_x(pg, op1, svdup_n_u16(op2))
22639}
22640#[doc = "Logical shift left"]
22641#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svlsl[_s16]_z)"]
22642#[inline]
22643#[target_feature(enable = "sve")]
22644#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
22645#[cfg_attr(test, assert_instr(lsl))]
22646pub fn svlsl_s16_z(pg: svbool_t, op1: svint16_t, op2: svuint16_t) -> svint16_t {
22647 svlsl_s16_m(pg, svsel_s16(pg, op1, svdup_n_s16(0)), op2)
22648}
22649#[doc = "Logical shift left"]
22650#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svlsl[_n_s16]_z)"]
22651#[inline]
22652#[target_feature(enable = "sve")]
22653#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
22654#[cfg_attr(test, assert_instr(lsl))]
22655pub fn svlsl_n_s16_z(pg: svbool_t, op1: svint16_t, op2: u16) -> svint16_t {
22656 svlsl_s16_z(pg, op1, svdup_n_u16(op2))
22657}
22658#[doc = "Logical shift left"]
22659#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svlsl[_s32]_m)"]
22660#[inline]
22661#[target_feature(enable = "sve")]
22662#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
22663#[cfg_attr(test, assert_instr(lsl))]
22664pub fn svlsl_s32_m(pg: svbool_t, op1: svint32_t, op2: svuint32_t) -> svint32_t {
22665 unsafe extern "unadjusted" {
22666 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.lsl.nxv4i32")]
22667 fn _svlsl_s32_m(pg: svbool4_t, op1: svint32_t, op2: svint32_t) -> svint32_t;
22668 }
22669 unsafe { _svlsl_s32_m(pg.sve_into(), op1, op2.as_signed()) }
22670}
22671#[doc = "Logical shift left"]
22672#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svlsl[_n_s32]_m)"]
22673#[inline]
22674#[target_feature(enable = "sve")]
22675#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
22676#[cfg_attr(test, assert_instr(lsl))]
22677pub fn svlsl_n_s32_m(pg: svbool_t, op1: svint32_t, op2: u32) -> svint32_t {
22678 svlsl_s32_m(pg, op1, svdup_n_u32(op2))
22679}
22680#[doc = "Logical shift left"]
22681#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svlsl[_s32]_x)"]
22682#[inline]
22683#[target_feature(enable = "sve")]
22684#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
22685#[cfg_attr(test, assert_instr(lsl))]
22686pub fn svlsl_s32_x(pg: svbool_t, op1: svint32_t, op2: svuint32_t) -> svint32_t {
22687 svlsl_s32_m(pg, op1, op2)
22688}
22689#[doc = "Logical shift left"]
22690#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svlsl[_n_s32]_x)"]
22691#[inline]
22692#[target_feature(enable = "sve")]
22693#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
22694#[cfg_attr(test, assert_instr(lsl))]
22695pub fn svlsl_n_s32_x(pg: svbool_t, op1: svint32_t, op2: u32) -> svint32_t {
22696 svlsl_s32_x(pg, op1, svdup_n_u32(op2))
22697}
22698#[doc = "Logical shift left"]
22699#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svlsl[_s32]_z)"]
22700#[inline]
22701#[target_feature(enable = "sve")]
22702#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
22703#[cfg_attr(test, assert_instr(lsl))]
22704pub fn svlsl_s32_z(pg: svbool_t, op1: svint32_t, op2: svuint32_t) -> svint32_t {
22705 svlsl_s32_m(pg, svsel_s32(pg, op1, svdup_n_s32(0)), op2)
22706}
22707#[doc = "Logical shift left"]
22708#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svlsl[_n_s32]_z)"]
22709#[inline]
22710#[target_feature(enable = "sve")]
22711#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
22712#[cfg_attr(test, assert_instr(lsl))]
22713pub fn svlsl_n_s32_z(pg: svbool_t, op1: svint32_t, op2: u32) -> svint32_t {
22714 svlsl_s32_z(pg, op1, svdup_n_u32(op2))
22715}
22716#[doc = "Logical shift left"]
22717#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svlsl[_s64]_m)"]
22718#[inline]
22719#[target_feature(enable = "sve")]
22720#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
22721#[cfg_attr(test, assert_instr(lsl))]
22722pub fn svlsl_s64_m(pg: svbool_t, op1: svint64_t, op2: svuint64_t) -> svint64_t {
22723 unsafe extern "unadjusted" {
22724 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.lsl.nxv2i64")]
22725 fn _svlsl_s64_m(pg: svbool2_t, op1: svint64_t, op2: svint64_t) -> svint64_t;
22726 }
22727 unsafe { _svlsl_s64_m(pg.sve_into(), op1, op2.as_signed()) }
22728}
22729#[doc = "Logical shift left"]
22730#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svlsl[_n_s64]_m)"]
22731#[inline]
22732#[target_feature(enable = "sve")]
22733#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
22734#[cfg_attr(test, assert_instr(lsl))]
22735pub fn svlsl_n_s64_m(pg: svbool_t, op1: svint64_t, op2: u64) -> svint64_t {
22736 svlsl_s64_m(pg, op1, svdup_n_u64(op2))
22737}
22738#[doc = "Logical shift left"]
22739#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svlsl[_s64]_x)"]
22740#[inline]
22741#[target_feature(enable = "sve")]
22742#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
22743#[cfg_attr(test, assert_instr(lsl))]
22744pub fn svlsl_s64_x(pg: svbool_t, op1: svint64_t, op2: svuint64_t) -> svint64_t {
22745 svlsl_s64_m(pg, op1, op2)
22746}
22747#[doc = "Logical shift left"]
22748#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svlsl[_n_s64]_x)"]
22749#[inline]
22750#[target_feature(enable = "sve")]
22751#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
22752#[cfg_attr(test, assert_instr(lsl))]
22753pub fn svlsl_n_s64_x(pg: svbool_t, op1: svint64_t, op2: u64) -> svint64_t {
22754 svlsl_s64_x(pg, op1, svdup_n_u64(op2))
22755}
22756#[doc = "Logical shift left"]
22757#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svlsl[_s64]_z)"]
22758#[inline]
22759#[target_feature(enable = "sve")]
22760#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
22761#[cfg_attr(test, assert_instr(lsl))]
22762pub fn svlsl_s64_z(pg: svbool_t, op1: svint64_t, op2: svuint64_t) -> svint64_t {
22763 svlsl_s64_m(pg, svsel_s64(pg, op1, svdup_n_s64(0)), op2)
22764}
22765#[doc = "Logical shift left"]
22766#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svlsl[_n_s64]_z)"]
22767#[inline]
22768#[target_feature(enable = "sve")]
22769#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
22770#[cfg_attr(test, assert_instr(lsl))]
22771pub fn svlsl_n_s64_z(pg: svbool_t, op1: svint64_t, op2: u64) -> svint64_t {
22772 svlsl_s64_z(pg, op1, svdup_n_u64(op2))
22773}
22774#[doc = "Logical shift left"]
22775#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svlsl[_u8]_m)"]
22776#[inline]
22777#[target_feature(enable = "sve")]
22778#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
22779#[cfg_attr(test, assert_instr(lsl))]
22780pub fn svlsl_u8_m(pg: svbool_t, op1: svuint8_t, op2: svuint8_t) -> svuint8_t {
22781 unsafe { svlsl_s8_m(pg, op1.as_signed(), op2).as_unsigned() }
22782}
22783#[doc = "Logical shift left"]
22784#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svlsl[_n_u8]_m)"]
22785#[inline]
22786#[target_feature(enable = "sve")]
22787#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
22788#[cfg_attr(test, assert_instr(lsl))]
22789pub fn svlsl_n_u8_m(pg: svbool_t, op1: svuint8_t, op2: u8) -> svuint8_t {
22790 svlsl_u8_m(pg, op1, svdup_n_u8(op2))
22791}
22792#[doc = "Logical shift left"]
22793#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svlsl[_u8]_x)"]
22794#[inline]
22795#[target_feature(enable = "sve")]
22796#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
22797#[cfg_attr(test, assert_instr(lsl))]
22798pub fn svlsl_u8_x(pg: svbool_t, op1: svuint8_t, op2: svuint8_t) -> svuint8_t {
22799 svlsl_u8_m(pg, op1, op2)
22800}
22801#[doc = "Logical shift left"]
22802#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svlsl[_n_u8]_x)"]
22803#[inline]
22804#[target_feature(enable = "sve")]
22805#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
22806#[cfg_attr(test, assert_instr(lsl))]
22807pub fn svlsl_n_u8_x(pg: svbool_t, op1: svuint8_t, op2: u8) -> svuint8_t {
22808 svlsl_u8_x(pg, op1, svdup_n_u8(op2))
22809}
22810#[doc = "Logical shift left"]
22811#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svlsl[_u8]_z)"]
22812#[inline]
22813#[target_feature(enable = "sve")]
22814#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
22815#[cfg_attr(test, assert_instr(lsl))]
22816pub fn svlsl_u8_z(pg: svbool_t, op1: svuint8_t, op2: svuint8_t) -> svuint8_t {
22817 svlsl_u8_m(pg, svsel_u8(pg, op1, svdup_n_u8(0)), op2)
22818}
22819#[doc = "Logical shift left"]
22820#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svlsl[_n_u8]_z)"]
22821#[inline]
22822#[target_feature(enable = "sve")]
22823#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
22824#[cfg_attr(test, assert_instr(lsl))]
22825pub fn svlsl_n_u8_z(pg: svbool_t, op1: svuint8_t, op2: u8) -> svuint8_t {
22826 svlsl_u8_z(pg, op1, svdup_n_u8(op2))
22827}
22828#[doc = "Logical shift left"]
22829#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svlsl[_u16]_m)"]
22830#[inline]
22831#[target_feature(enable = "sve")]
22832#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
22833#[cfg_attr(test, assert_instr(lsl))]
22834pub fn svlsl_u16_m(pg: svbool_t, op1: svuint16_t, op2: svuint16_t) -> svuint16_t {
22835 unsafe { svlsl_s16_m(pg, op1.as_signed(), op2).as_unsigned() }
22836}
22837#[doc = "Logical shift left"]
22838#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svlsl[_n_u16]_m)"]
22839#[inline]
22840#[target_feature(enable = "sve")]
22841#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
22842#[cfg_attr(test, assert_instr(lsl))]
22843pub fn svlsl_n_u16_m(pg: svbool_t, op1: svuint16_t, op2: u16) -> svuint16_t {
22844 svlsl_u16_m(pg, op1, svdup_n_u16(op2))
22845}
22846#[doc = "Logical shift left"]
22847#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svlsl[_u16]_x)"]
22848#[inline]
22849#[target_feature(enable = "sve")]
22850#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
22851#[cfg_attr(test, assert_instr(lsl))]
22852pub fn svlsl_u16_x(pg: svbool_t, op1: svuint16_t, op2: svuint16_t) -> svuint16_t {
22853 svlsl_u16_m(pg, op1, op2)
22854}
22855#[doc = "Logical shift left"]
22856#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svlsl[_n_u16]_x)"]
22857#[inline]
22858#[target_feature(enable = "sve")]
22859#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
22860#[cfg_attr(test, assert_instr(lsl))]
22861pub fn svlsl_n_u16_x(pg: svbool_t, op1: svuint16_t, op2: u16) -> svuint16_t {
22862 svlsl_u16_x(pg, op1, svdup_n_u16(op2))
22863}
22864#[doc = "Logical shift left"]
22865#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svlsl[_u16]_z)"]
22866#[inline]
22867#[target_feature(enable = "sve")]
22868#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
22869#[cfg_attr(test, assert_instr(lsl))]
22870pub fn svlsl_u16_z(pg: svbool_t, op1: svuint16_t, op2: svuint16_t) -> svuint16_t {
22871 svlsl_u16_m(pg, svsel_u16(pg, op1, svdup_n_u16(0)), op2)
22872}
22873#[doc = "Logical shift left"]
22874#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svlsl[_n_u16]_z)"]
22875#[inline]
22876#[target_feature(enable = "sve")]
22877#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
22878#[cfg_attr(test, assert_instr(lsl))]
22879pub fn svlsl_n_u16_z(pg: svbool_t, op1: svuint16_t, op2: u16) -> svuint16_t {
22880 svlsl_u16_z(pg, op1, svdup_n_u16(op2))
22881}
22882#[doc = "Logical shift left"]
22883#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svlsl[_u32]_m)"]
22884#[inline]
22885#[target_feature(enable = "sve")]
22886#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
22887#[cfg_attr(test, assert_instr(lsl))]
22888pub fn svlsl_u32_m(pg: svbool_t, op1: svuint32_t, op2: svuint32_t) -> svuint32_t {
22889 unsafe { svlsl_s32_m(pg, op1.as_signed(), op2).as_unsigned() }
22890}
22891#[doc = "Logical shift left"]
22892#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svlsl[_n_u32]_m)"]
22893#[inline]
22894#[target_feature(enable = "sve")]
22895#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
22896#[cfg_attr(test, assert_instr(lsl))]
22897pub fn svlsl_n_u32_m(pg: svbool_t, op1: svuint32_t, op2: u32) -> svuint32_t {
22898 svlsl_u32_m(pg, op1, svdup_n_u32(op2))
22899}
22900#[doc = "Logical shift left"]
22901#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svlsl[_u32]_x)"]
22902#[inline]
22903#[target_feature(enable = "sve")]
22904#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
22905#[cfg_attr(test, assert_instr(lsl))]
22906pub fn svlsl_u32_x(pg: svbool_t, op1: svuint32_t, op2: svuint32_t) -> svuint32_t {
22907 svlsl_u32_m(pg, op1, op2)
22908}
22909#[doc = "Logical shift left"]
22910#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svlsl[_n_u32]_x)"]
22911#[inline]
22912#[target_feature(enable = "sve")]
22913#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
22914#[cfg_attr(test, assert_instr(lsl))]
22915pub fn svlsl_n_u32_x(pg: svbool_t, op1: svuint32_t, op2: u32) -> svuint32_t {
22916 svlsl_u32_x(pg, op1, svdup_n_u32(op2))
22917}
22918#[doc = "Logical shift left"]
22919#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svlsl[_u32]_z)"]
22920#[inline]
22921#[target_feature(enable = "sve")]
22922#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
22923#[cfg_attr(test, assert_instr(lsl))]
22924pub fn svlsl_u32_z(pg: svbool_t, op1: svuint32_t, op2: svuint32_t) -> svuint32_t {
22925 svlsl_u32_m(pg, svsel_u32(pg, op1, svdup_n_u32(0)), op2)
22926}
22927#[doc = "Logical shift left"]
22928#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svlsl[_n_u32]_z)"]
22929#[inline]
22930#[target_feature(enable = "sve")]
22931#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
22932#[cfg_attr(test, assert_instr(lsl))]
22933pub fn svlsl_n_u32_z(pg: svbool_t, op1: svuint32_t, op2: u32) -> svuint32_t {
22934 svlsl_u32_z(pg, op1, svdup_n_u32(op2))
22935}
22936#[doc = "Logical shift left"]
22937#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svlsl[_u64]_m)"]
22938#[inline]
22939#[target_feature(enable = "sve")]
22940#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
22941#[cfg_attr(test, assert_instr(lsl))]
22942pub fn svlsl_u64_m(pg: svbool_t, op1: svuint64_t, op2: svuint64_t) -> svuint64_t {
22943 unsafe { svlsl_s64_m(pg, op1.as_signed(), op2).as_unsigned() }
22944}
22945#[doc = "Logical shift left"]
22946#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svlsl[_n_u64]_m)"]
22947#[inline]
22948#[target_feature(enable = "sve")]
22949#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
22950#[cfg_attr(test, assert_instr(lsl))]
22951pub fn svlsl_n_u64_m(pg: svbool_t, op1: svuint64_t, op2: u64) -> svuint64_t {
22952 svlsl_u64_m(pg, op1, svdup_n_u64(op2))
22953}
22954#[doc = "Logical shift left"]
22955#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svlsl[_u64]_x)"]
22956#[inline]
22957#[target_feature(enable = "sve")]
22958#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
22959#[cfg_attr(test, assert_instr(lsl))]
22960pub fn svlsl_u64_x(pg: svbool_t, op1: svuint64_t, op2: svuint64_t) -> svuint64_t {
22961 svlsl_u64_m(pg, op1, op2)
22962}
22963#[doc = "Logical shift left"]
22964#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svlsl[_n_u64]_x)"]
22965#[inline]
22966#[target_feature(enable = "sve")]
22967#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
22968#[cfg_attr(test, assert_instr(lsl))]
22969pub fn svlsl_n_u64_x(pg: svbool_t, op1: svuint64_t, op2: u64) -> svuint64_t {
22970 svlsl_u64_x(pg, op1, svdup_n_u64(op2))
22971}
22972#[doc = "Logical shift left"]
22973#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svlsl[_u64]_z)"]
22974#[inline]
22975#[target_feature(enable = "sve")]
22976#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
22977#[cfg_attr(test, assert_instr(lsl))]
22978pub fn svlsl_u64_z(pg: svbool_t, op1: svuint64_t, op2: svuint64_t) -> svuint64_t {
22979 svlsl_u64_m(pg, svsel_u64(pg, op1, svdup_n_u64(0)), op2)
22980}
22981#[doc = "Logical shift left"]
22982#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svlsl[_n_u64]_z)"]
22983#[inline]
22984#[target_feature(enable = "sve")]
22985#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
22986#[cfg_attr(test, assert_instr(lsl))]
22987pub fn svlsl_n_u64_z(pg: svbool_t, op1: svuint64_t, op2: u64) -> svuint64_t {
22988 svlsl_u64_z(pg, op1, svdup_n_u64(op2))
22989}
22990#[doc = "Logical shift left"]
22991#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svlsl_wide[_s8]_m)"]
22992#[inline]
22993#[target_feature(enable = "sve")]
22994#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
22995#[cfg_attr(test, assert_instr(lsl))]
22996pub fn svlsl_wide_s8_m(pg: svbool_t, op1: svint8_t, op2: svuint64_t) -> svint8_t {
22997 unsafe extern "unadjusted" {
22998 #[cfg_attr(
22999 target_arch = "aarch64",
23000 link_name = "llvm.aarch64.sve.lsl.wide.nxv16i8"
23001 )]
23002 fn _svlsl_wide_s8_m(pg: svbool_t, op1: svint8_t, op2: svint64_t) -> svint8_t;
23003 }
23004 unsafe { _svlsl_wide_s8_m(pg, op1, op2.as_signed()) }
23005}
23006#[doc = "Logical shift left"]
23007#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svlsl_wide[_n_s8]_m)"]
23008#[inline]
23009#[target_feature(enable = "sve")]
23010#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
23011#[cfg_attr(test, assert_instr(lsl))]
23012pub fn svlsl_wide_n_s8_m(pg: svbool_t, op1: svint8_t, op2: u64) -> svint8_t {
23013 svlsl_wide_s8_m(pg, op1, svdup_n_u64(op2))
23014}
23015#[doc = "Logical shift left"]
23016#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svlsl_wide[_s8]_x)"]
23017#[inline]
23018#[target_feature(enable = "sve")]
23019#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
23020#[cfg_attr(test, assert_instr(lsl))]
23021pub fn svlsl_wide_s8_x(pg: svbool_t, op1: svint8_t, op2: svuint64_t) -> svint8_t {
23022 svlsl_wide_s8_m(pg, op1, op2)
23023}
23024#[doc = "Logical shift left"]
23025#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svlsl_wide[_n_s8]_x)"]
23026#[inline]
23027#[target_feature(enable = "sve")]
23028#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
23029#[cfg_attr(test, assert_instr(lsl))]
23030pub fn svlsl_wide_n_s8_x(pg: svbool_t, op1: svint8_t, op2: u64) -> svint8_t {
23031 svlsl_wide_s8_x(pg, op1, svdup_n_u64(op2))
23032}
23033#[doc = "Logical shift left"]
23034#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svlsl_wide[_s8]_z)"]
23035#[inline]
23036#[target_feature(enable = "sve")]
23037#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
23038#[cfg_attr(test, assert_instr(lsl))]
23039pub fn svlsl_wide_s8_z(pg: svbool_t, op1: svint8_t, op2: svuint64_t) -> svint8_t {
23040 svlsl_wide_s8_m(pg, svsel_s8(pg, op1, svdup_n_s8(0)), op2)
23041}
23042#[doc = "Logical shift left"]
23043#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svlsl_wide[_n_s8]_z)"]
23044#[inline]
23045#[target_feature(enable = "sve")]
23046#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
23047#[cfg_attr(test, assert_instr(lsl))]
23048pub fn svlsl_wide_n_s8_z(pg: svbool_t, op1: svint8_t, op2: u64) -> svint8_t {
23049 svlsl_wide_s8_z(pg, op1, svdup_n_u64(op2))
23050}
23051#[doc = "Logical shift left"]
23052#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svlsl_wide[_s16]_m)"]
23053#[inline]
23054#[target_feature(enable = "sve")]
23055#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
23056#[cfg_attr(test, assert_instr(lsl))]
23057pub fn svlsl_wide_s16_m(pg: svbool_t, op1: svint16_t, op2: svuint64_t) -> svint16_t {
23058 unsafe extern "unadjusted" {
23059 #[cfg_attr(
23060 target_arch = "aarch64",
23061 link_name = "llvm.aarch64.sve.lsl.wide.nxv8i16"
23062 )]
23063 fn _svlsl_wide_s16_m(pg: svbool8_t, op1: svint16_t, op2: svint64_t) -> svint16_t;
23064 }
23065 unsafe { _svlsl_wide_s16_m(pg.sve_into(), op1, op2.as_signed()) }
23066}
23067#[doc = "Logical shift left"]
23068#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svlsl_wide[_n_s16]_m)"]
23069#[inline]
23070#[target_feature(enable = "sve")]
23071#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
23072#[cfg_attr(test, assert_instr(lsl))]
23073pub fn svlsl_wide_n_s16_m(pg: svbool_t, op1: svint16_t, op2: u64) -> svint16_t {
23074 svlsl_wide_s16_m(pg, op1, svdup_n_u64(op2))
23075}
23076#[doc = "Logical shift left"]
23077#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svlsl_wide[_s16]_x)"]
23078#[inline]
23079#[target_feature(enable = "sve")]
23080#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
23081#[cfg_attr(test, assert_instr(lsl))]
23082pub fn svlsl_wide_s16_x(pg: svbool_t, op1: svint16_t, op2: svuint64_t) -> svint16_t {
23083 svlsl_wide_s16_m(pg, op1, op2)
23084}
23085#[doc = "Logical shift left"]
23086#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svlsl_wide[_n_s16]_x)"]
23087#[inline]
23088#[target_feature(enable = "sve")]
23089#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
23090#[cfg_attr(test, assert_instr(lsl))]
23091pub fn svlsl_wide_n_s16_x(pg: svbool_t, op1: svint16_t, op2: u64) -> svint16_t {
23092 svlsl_wide_s16_x(pg, op1, svdup_n_u64(op2))
23093}
23094#[doc = "Logical shift left"]
23095#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svlsl_wide[_s16]_z)"]
23096#[inline]
23097#[target_feature(enable = "sve")]
23098#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
23099#[cfg_attr(test, assert_instr(lsl))]
23100pub fn svlsl_wide_s16_z(pg: svbool_t, op1: svint16_t, op2: svuint64_t) -> svint16_t {
23101 svlsl_wide_s16_m(pg, svsel_s16(pg, op1, svdup_n_s16(0)), op2)
23102}
23103#[doc = "Logical shift left"]
23104#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svlsl_wide[_n_s16]_z)"]
23105#[inline]
23106#[target_feature(enable = "sve")]
23107#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
23108#[cfg_attr(test, assert_instr(lsl))]
23109pub fn svlsl_wide_n_s16_z(pg: svbool_t, op1: svint16_t, op2: u64) -> svint16_t {
23110 svlsl_wide_s16_z(pg, op1, svdup_n_u64(op2))
23111}
23112#[doc = "Logical shift left"]
23113#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svlsl_wide[_s32]_m)"]
23114#[inline]
23115#[target_feature(enable = "sve")]
23116#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
23117#[cfg_attr(test, assert_instr(lsl))]
23118pub fn svlsl_wide_s32_m(pg: svbool_t, op1: svint32_t, op2: svuint64_t) -> svint32_t {
23119 unsafe extern "unadjusted" {
23120 #[cfg_attr(
23121 target_arch = "aarch64",
23122 link_name = "llvm.aarch64.sve.lsl.wide.nxv4i32"
23123 )]
23124 fn _svlsl_wide_s32_m(pg: svbool4_t, op1: svint32_t, op2: svint64_t) -> svint32_t;
23125 }
23126 unsafe { _svlsl_wide_s32_m(pg.sve_into(), op1, op2.as_signed()) }
23127}
23128#[doc = "Logical shift left"]
23129#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svlsl_wide[_n_s32]_m)"]
23130#[inline]
23131#[target_feature(enable = "sve")]
23132#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
23133#[cfg_attr(test, assert_instr(lsl))]
23134pub fn svlsl_wide_n_s32_m(pg: svbool_t, op1: svint32_t, op2: u64) -> svint32_t {
23135 svlsl_wide_s32_m(pg, op1, svdup_n_u64(op2))
23136}
23137#[doc = "Logical shift left"]
23138#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svlsl_wide[_s32]_x)"]
23139#[inline]
23140#[target_feature(enable = "sve")]
23141#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
23142#[cfg_attr(test, assert_instr(lsl))]
23143pub fn svlsl_wide_s32_x(pg: svbool_t, op1: svint32_t, op2: svuint64_t) -> svint32_t {
23144 svlsl_wide_s32_m(pg, op1, op2)
23145}
23146#[doc = "Logical shift left"]
23147#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svlsl_wide[_n_s32]_x)"]
23148#[inline]
23149#[target_feature(enable = "sve")]
23150#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
23151#[cfg_attr(test, assert_instr(lsl))]
23152pub fn svlsl_wide_n_s32_x(pg: svbool_t, op1: svint32_t, op2: u64) -> svint32_t {
23153 svlsl_wide_s32_x(pg, op1, svdup_n_u64(op2))
23154}
23155#[doc = "Logical shift left"]
23156#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svlsl_wide[_s32]_z)"]
23157#[inline]
23158#[target_feature(enable = "sve")]
23159#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
23160#[cfg_attr(test, assert_instr(lsl))]
23161pub fn svlsl_wide_s32_z(pg: svbool_t, op1: svint32_t, op2: svuint64_t) -> svint32_t {
23162 svlsl_wide_s32_m(pg, svsel_s32(pg, op1, svdup_n_s32(0)), op2)
23163}
23164#[doc = "Logical shift left"]
23165#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svlsl_wide[_n_s32]_z)"]
23166#[inline]
23167#[target_feature(enable = "sve")]
23168#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
23169#[cfg_attr(test, assert_instr(lsl))]
23170pub fn svlsl_wide_n_s32_z(pg: svbool_t, op1: svint32_t, op2: u64) -> svint32_t {
23171 svlsl_wide_s32_z(pg, op1, svdup_n_u64(op2))
23172}
23173#[doc = "Logical shift left"]
23174#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svlsl_wide[_u8]_m)"]
23175#[inline]
23176#[target_feature(enable = "sve")]
23177#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
23178#[cfg_attr(test, assert_instr(lsl))]
23179pub fn svlsl_wide_u8_m(pg: svbool_t, op1: svuint8_t, op2: svuint64_t) -> svuint8_t {
23180 unsafe { svlsl_wide_s8_m(pg, op1.as_signed(), op2).as_unsigned() }
23181}
23182#[doc = "Logical shift left"]
23183#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svlsl_wide[_n_u8]_m)"]
23184#[inline]
23185#[target_feature(enable = "sve")]
23186#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
23187#[cfg_attr(test, assert_instr(lsl))]
23188pub fn svlsl_wide_n_u8_m(pg: svbool_t, op1: svuint8_t, op2: u64) -> svuint8_t {
23189 svlsl_wide_u8_m(pg, op1, svdup_n_u64(op2))
23190}
23191#[doc = "Logical shift left"]
23192#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svlsl_wide[_u8]_x)"]
23193#[inline]
23194#[target_feature(enable = "sve")]
23195#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
23196#[cfg_attr(test, assert_instr(lsl))]
23197pub fn svlsl_wide_u8_x(pg: svbool_t, op1: svuint8_t, op2: svuint64_t) -> svuint8_t {
23198 svlsl_wide_u8_m(pg, op1, op2)
23199}
23200#[doc = "Logical shift left"]
23201#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svlsl_wide[_n_u8]_x)"]
23202#[inline]
23203#[target_feature(enable = "sve")]
23204#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
23205#[cfg_attr(test, assert_instr(lsl))]
23206pub fn svlsl_wide_n_u8_x(pg: svbool_t, op1: svuint8_t, op2: u64) -> svuint8_t {
23207 svlsl_wide_u8_x(pg, op1, svdup_n_u64(op2))
23208}
23209#[doc = "Logical shift left"]
23210#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svlsl_wide[_u8]_z)"]
23211#[inline]
23212#[target_feature(enable = "sve")]
23213#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
23214#[cfg_attr(test, assert_instr(lsl))]
23215pub fn svlsl_wide_u8_z(pg: svbool_t, op1: svuint8_t, op2: svuint64_t) -> svuint8_t {
23216 svlsl_wide_u8_m(pg, svsel_u8(pg, op1, svdup_n_u8(0)), op2)
23217}
23218#[doc = "Logical shift left"]
23219#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svlsl_wide[_n_u8]_z)"]
23220#[inline]
23221#[target_feature(enable = "sve")]
23222#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
23223#[cfg_attr(test, assert_instr(lsl))]
23224pub fn svlsl_wide_n_u8_z(pg: svbool_t, op1: svuint8_t, op2: u64) -> svuint8_t {
23225 svlsl_wide_u8_z(pg, op1, svdup_n_u64(op2))
23226}
23227#[doc = "Logical shift left"]
23228#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svlsl_wide[_u16]_m)"]
23229#[inline]
23230#[target_feature(enable = "sve")]
23231#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
23232#[cfg_attr(test, assert_instr(lsl))]
23233pub fn svlsl_wide_u16_m(pg: svbool_t, op1: svuint16_t, op2: svuint64_t) -> svuint16_t {
23234 unsafe { svlsl_wide_s16_m(pg, op1.as_signed(), op2).as_unsigned() }
23235}
23236#[doc = "Logical shift left"]
23237#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svlsl_wide[_n_u16]_m)"]
23238#[inline]
23239#[target_feature(enable = "sve")]
23240#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
23241#[cfg_attr(test, assert_instr(lsl))]
23242pub fn svlsl_wide_n_u16_m(pg: svbool_t, op1: svuint16_t, op2: u64) -> svuint16_t {
23243 svlsl_wide_u16_m(pg, op1, svdup_n_u64(op2))
23244}
23245#[doc = "Logical shift left"]
23246#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svlsl_wide[_u16]_x)"]
23247#[inline]
23248#[target_feature(enable = "sve")]
23249#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
23250#[cfg_attr(test, assert_instr(lsl))]
23251pub fn svlsl_wide_u16_x(pg: svbool_t, op1: svuint16_t, op2: svuint64_t) -> svuint16_t {
23252 svlsl_wide_u16_m(pg, op1, op2)
23253}
23254#[doc = "Logical shift left"]
23255#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svlsl_wide[_n_u16]_x)"]
23256#[inline]
23257#[target_feature(enable = "sve")]
23258#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
23259#[cfg_attr(test, assert_instr(lsl))]
23260pub fn svlsl_wide_n_u16_x(pg: svbool_t, op1: svuint16_t, op2: u64) -> svuint16_t {
23261 svlsl_wide_u16_x(pg, op1, svdup_n_u64(op2))
23262}
23263#[doc = "Logical shift left"]
23264#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svlsl_wide[_u16]_z)"]
23265#[inline]
23266#[target_feature(enable = "sve")]
23267#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
23268#[cfg_attr(test, assert_instr(lsl))]
23269pub fn svlsl_wide_u16_z(pg: svbool_t, op1: svuint16_t, op2: svuint64_t) -> svuint16_t {
23270 svlsl_wide_u16_m(pg, svsel_u16(pg, op1, svdup_n_u16(0)), op2)
23271}
23272#[doc = "Logical shift left"]
23273#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svlsl_wide[_n_u16]_z)"]
23274#[inline]
23275#[target_feature(enable = "sve")]
23276#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
23277#[cfg_attr(test, assert_instr(lsl))]
23278pub fn svlsl_wide_n_u16_z(pg: svbool_t, op1: svuint16_t, op2: u64) -> svuint16_t {
23279 svlsl_wide_u16_z(pg, op1, svdup_n_u64(op2))
23280}
23281#[doc = "Logical shift left"]
23282#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svlsl_wide[_u32]_m)"]
23283#[inline]
23284#[target_feature(enable = "sve")]
23285#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
23286#[cfg_attr(test, assert_instr(lsl))]
23287pub fn svlsl_wide_u32_m(pg: svbool_t, op1: svuint32_t, op2: svuint64_t) -> svuint32_t {
23288 unsafe { svlsl_wide_s32_m(pg, op1.as_signed(), op2).as_unsigned() }
23289}
23290#[doc = "Logical shift left"]
23291#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svlsl_wide[_n_u32]_m)"]
23292#[inline]
23293#[target_feature(enable = "sve")]
23294#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
23295#[cfg_attr(test, assert_instr(lsl))]
23296pub fn svlsl_wide_n_u32_m(pg: svbool_t, op1: svuint32_t, op2: u64) -> svuint32_t {
23297 svlsl_wide_u32_m(pg, op1, svdup_n_u64(op2))
23298}
23299#[doc = "Logical shift left"]
23300#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svlsl_wide[_u32]_x)"]
23301#[inline]
23302#[target_feature(enable = "sve")]
23303#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
23304#[cfg_attr(test, assert_instr(lsl))]
23305pub fn svlsl_wide_u32_x(pg: svbool_t, op1: svuint32_t, op2: svuint64_t) -> svuint32_t {
23306 svlsl_wide_u32_m(pg, op1, op2)
23307}
23308#[doc = "Logical shift left"]
23309#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svlsl_wide[_n_u32]_x)"]
23310#[inline]
23311#[target_feature(enable = "sve")]
23312#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
23313#[cfg_attr(test, assert_instr(lsl))]
23314pub fn svlsl_wide_n_u32_x(pg: svbool_t, op1: svuint32_t, op2: u64) -> svuint32_t {
23315 svlsl_wide_u32_x(pg, op1, svdup_n_u64(op2))
23316}
23317#[doc = "Logical shift left"]
23318#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svlsl_wide[_u32]_z)"]
23319#[inline]
23320#[target_feature(enable = "sve")]
23321#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
23322#[cfg_attr(test, assert_instr(lsl))]
23323pub fn svlsl_wide_u32_z(pg: svbool_t, op1: svuint32_t, op2: svuint64_t) -> svuint32_t {
23324 svlsl_wide_u32_m(pg, svsel_u32(pg, op1, svdup_n_u32(0)), op2)
23325}
23326#[doc = "Logical shift left"]
23327#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svlsl_wide[_n_u32]_z)"]
23328#[inline]
23329#[target_feature(enable = "sve")]
23330#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
23331#[cfg_attr(test, assert_instr(lsl))]
23332pub fn svlsl_wide_n_u32_z(pg: svbool_t, op1: svuint32_t, op2: u64) -> svuint32_t {
23333 svlsl_wide_u32_z(pg, op1, svdup_n_u64(op2))
23334}
23335#[doc = "Logical shift right"]
23336#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svlsr[_u8]_m)"]
23337#[inline]
23338#[target_feature(enable = "sve")]
23339#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
23340#[cfg_attr(test, assert_instr(lsr))]
23341pub fn svlsr_u8_m(pg: svbool_t, op1: svuint8_t, op2: svuint8_t) -> svuint8_t {
23342 unsafe extern "unadjusted" {
23343 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.lsr.nxv16i8")]
23344 fn _svlsr_u8_m(pg: svbool_t, op1: svint8_t, op2: svint8_t) -> svint8_t;
23345 }
23346 unsafe { _svlsr_u8_m(pg, op1.as_signed(), op2.as_signed()).as_unsigned() }
23347}
23348#[doc = "Logical shift right"]
23349#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svlsr[_n_u8]_m)"]
23350#[inline]
23351#[target_feature(enable = "sve")]
23352#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
23353#[cfg_attr(test, assert_instr(lsr))]
23354pub fn svlsr_n_u8_m(pg: svbool_t, op1: svuint8_t, op2: u8) -> svuint8_t {
23355 svlsr_u8_m(pg, op1, svdup_n_u8(op2))
23356}
23357#[doc = "Logical shift right"]
23358#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svlsr[_u8]_x)"]
23359#[inline]
23360#[target_feature(enable = "sve")]
23361#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
23362#[cfg_attr(test, assert_instr(lsr))]
23363pub fn svlsr_u8_x(pg: svbool_t, op1: svuint8_t, op2: svuint8_t) -> svuint8_t {
23364 svlsr_u8_m(pg, op1, op2)
23365}
23366#[doc = "Logical shift right"]
23367#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svlsr[_n_u8]_x)"]
23368#[inline]
23369#[target_feature(enable = "sve")]
23370#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
23371#[cfg_attr(test, assert_instr(lsr))]
23372pub fn svlsr_n_u8_x(pg: svbool_t, op1: svuint8_t, op2: u8) -> svuint8_t {
23373 svlsr_u8_x(pg, op1, svdup_n_u8(op2))
23374}
23375#[doc = "Logical shift right"]
23376#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svlsr[_u8]_z)"]
23377#[inline]
23378#[target_feature(enable = "sve")]
23379#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
23380#[cfg_attr(test, assert_instr(lsr))]
23381pub fn svlsr_u8_z(pg: svbool_t, op1: svuint8_t, op2: svuint8_t) -> svuint8_t {
23382 svlsr_u8_m(pg, svsel_u8(pg, op1, svdup_n_u8(0)), op2)
23383}
23384#[doc = "Logical shift right"]
23385#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svlsr[_n_u8]_z)"]
23386#[inline]
23387#[target_feature(enable = "sve")]
23388#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
23389#[cfg_attr(test, assert_instr(lsr))]
23390pub fn svlsr_n_u8_z(pg: svbool_t, op1: svuint8_t, op2: u8) -> svuint8_t {
23391 svlsr_u8_z(pg, op1, svdup_n_u8(op2))
23392}
23393#[doc = "Logical shift right"]
23394#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svlsr[_u16]_m)"]
23395#[inline]
23396#[target_feature(enable = "sve")]
23397#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
23398#[cfg_attr(test, assert_instr(lsr))]
23399pub fn svlsr_u16_m(pg: svbool_t, op1: svuint16_t, op2: svuint16_t) -> svuint16_t {
23400 unsafe extern "unadjusted" {
23401 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.lsr.nxv8i16")]
23402 fn _svlsr_u16_m(pg: svbool8_t, op1: svint16_t, op2: svint16_t) -> svint16_t;
23403 }
23404 unsafe { _svlsr_u16_m(pg.sve_into(), op1.as_signed(), op2.as_signed()).as_unsigned() }
23405}
23406#[doc = "Logical shift right"]
23407#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svlsr[_n_u16]_m)"]
23408#[inline]
23409#[target_feature(enable = "sve")]
23410#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
23411#[cfg_attr(test, assert_instr(lsr))]
23412pub fn svlsr_n_u16_m(pg: svbool_t, op1: svuint16_t, op2: u16) -> svuint16_t {
23413 svlsr_u16_m(pg, op1, svdup_n_u16(op2))
23414}
23415#[doc = "Logical shift right"]
23416#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svlsr[_u16]_x)"]
23417#[inline]
23418#[target_feature(enable = "sve")]
23419#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
23420#[cfg_attr(test, assert_instr(lsr))]
23421pub fn svlsr_u16_x(pg: svbool_t, op1: svuint16_t, op2: svuint16_t) -> svuint16_t {
23422 svlsr_u16_m(pg, op1, op2)
23423}
23424#[doc = "Logical shift right"]
23425#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svlsr[_n_u16]_x)"]
23426#[inline]
23427#[target_feature(enable = "sve")]
23428#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
23429#[cfg_attr(test, assert_instr(lsr))]
23430pub fn svlsr_n_u16_x(pg: svbool_t, op1: svuint16_t, op2: u16) -> svuint16_t {
23431 svlsr_u16_x(pg, op1, svdup_n_u16(op2))
23432}
23433#[doc = "Logical shift right"]
23434#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svlsr[_u16]_z)"]
23435#[inline]
23436#[target_feature(enable = "sve")]
23437#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
23438#[cfg_attr(test, assert_instr(lsr))]
23439pub fn svlsr_u16_z(pg: svbool_t, op1: svuint16_t, op2: svuint16_t) -> svuint16_t {
23440 svlsr_u16_m(pg, svsel_u16(pg, op1, svdup_n_u16(0)), op2)
23441}
23442#[doc = "Logical shift right"]
23443#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svlsr[_n_u16]_z)"]
23444#[inline]
23445#[target_feature(enable = "sve")]
23446#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
23447#[cfg_attr(test, assert_instr(lsr))]
23448pub fn svlsr_n_u16_z(pg: svbool_t, op1: svuint16_t, op2: u16) -> svuint16_t {
23449 svlsr_u16_z(pg, op1, svdup_n_u16(op2))
23450}
23451#[doc = "Logical shift right"]
23452#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svlsr[_u32]_m)"]
23453#[inline]
23454#[target_feature(enable = "sve")]
23455#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
23456#[cfg_attr(test, assert_instr(lsr))]
23457pub fn svlsr_u32_m(pg: svbool_t, op1: svuint32_t, op2: svuint32_t) -> svuint32_t {
23458 unsafe extern "unadjusted" {
23459 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.lsr.nxv4i32")]
23460 fn _svlsr_u32_m(pg: svbool4_t, op1: svint32_t, op2: svint32_t) -> svint32_t;
23461 }
23462 unsafe { _svlsr_u32_m(pg.sve_into(), op1.as_signed(), op2.as_signed()).as_unsigned() }
23463}
23464#[doc = "Logical shift right"]
23465#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svlsr[_n_u32]_m)"]
23466#[inline]
23467#[target_feature(enable = "sve")]
23468#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
23469#[cfg_attr(test, assert_instr(lsr))]
23470pub fn svlsr_n_u32_m(pg: svbool_t, op1: svuint32_t, op2: u32) -> svuint32_t {
23471 svlsr_u32_m(pg, op1, svdup_n_u32(op2))
23472}
23473#[doc = "Logical shift right"]
23474#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svlsr[_u32]_x)"]
23475#[inline]
23476#[target_feature(enable = "sve")]
23477#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
23478#[cfg_attr(test, assert_instr(lsr))]
23479pub fn svlsr_u32_x(pg: svbool_t, op1: svuint32_t, op2: svuint32_t) -> svuint32_t {
23480 svlsr_u32_m(pg, op1, op2)
23481}
23482#[doc = "Logical shift right"]
23483#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svlsr[_n_u32]_x)"]
23484#[inline]
23485#[target_feature(enable = "sve")]
23486#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
23487#[cfg_attr(test, assert_instr(lsr))]
23488pub fn svlsr_n_u32_x(pg: svbool_t, op1: svuint32_t, op2: u32) -> svuint32_t {
23489 svlsr_u32_x(pg, op1, svdup_n_u32(op2))
23490}
23491#[doc = "Logical shift right"]
23492#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svlsr[_u32]_z)"]
23493#[inline]
23494#[target_feature(enable = "sve")]
23495#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
23496#[cfg_attr(test, assert_instr(lsr))]
23497pub fn svlsr_u32_z(pg: svbool_t, op1: svuint32_t, op2: svuint32_t) -> svuint32_t {
23498 svlsr_u32_m(pg, svsel_u32(pg, op1, svdup_n_u32(0)), op2)
23499}
23500#[doc = "Logical shift right"]
23501#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svlsr[_n_u32]_z)"]
23502#[inline]
23503#[target_feature(enable = "sve")]
23504#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
23505#[cfg_attr(test, assert_instr(lsr))]
23506pub fn svlsr_n_u32_z(pg: svbool_t, op1: svuint32_t, op2: u32) -> svuint32_t {
23507 svlsr_u32_z(pg, op1, svdup_n_u32(op2))
23508}
23509#[doc = "Logical shift right"]
23510#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svlsr[_u64]_m)"]
23511#[inline]
23512#[target_feature(enable = "sve")]
23513#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
23514#[cfg_attr(test, assert_instr(lsr))]
23515pub fn svlsr_u64_m(pg: svbool_t, op1: svuint64_t, op2: svuint64_t) -> svuint64_t {
23516 unsafe extern "unadjusted" {
23517 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.lsr.nxv2i64")]
23518 fn _svlsr_u64_m(pg: svbool2_t, op1: svint64_t, op2: svint64_t) -> svint64_t;
23519 }
23520 unsafe { _svlsr_u64_m(pg.sve_into(), op1.as_signed(), op2.as_signed()).as_unsigned() }
23521}
23522#[doc = "Logical shift right"]
23523#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svlsr[_n_u64]_m)"]
23524#[inline]
23525#[target_feature(enable = "sve")]
23526#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
23527#[cfg_attr(test, assert_instr(lsr))]
23528pub fn svlsr_n_u64_m(pg: svbool_t, op1: svuint64_t, op2: u64) -> svuint64_t {
23529 svlsr_u64_m(pg, op1, svdup_n_u64(op2))
23530}
23531#[doc = "Logical shift right"]
23532#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svlsr[_u64]_x)"]
23533#[inline]
23534#[target_feature(enable = "sve")]
23535#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
23536#[cfg_attr(test, assert_instr(lsr))]
23537pub fn svlsr_u64_x(pg: svbool_t, op1: svuint64_t, op2: svuint64_t) -> svuint64_t {
23538 svlsr_u64_m(pg, op1, op2)
23539}
23540#[doc = "Logical shift right"]
23541#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svlsr[_n_u64]_x)"]
23542#[inline]
23543#[target_feature(enable = "sve")]
23544#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
23545#[cfg_attr(test, assert_instr(lsr))]
23546pub fn svlsr_n_u64_x(pg: svbool_t, op1: svuint64_t, op2: u64) -> svuint64_t {
23547 svlsr_u64_x(pg, op1, svdup_n_u64(op2))
23548}
23549#[doc = "Logical shift right"]
23550#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svlsr[_u64]_z)"]
23551#[inline]
23552#[target_feature(enable = "sve")]
23553#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
23554#[cfg_attr(test, assert_instr(lsr))]
23555pub fn svlsr_u64_z(pg: svbool_t, op1: svuint64_t, op2: svuint64_t) -> svuint64_t {
23556 svlsr_u64_m(pg, svsel_u64(pg, op1, svdup_n_u64(0)), op2)
23557}
23558#[doc = "Logical shift right"]
23559#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svlsr[_n_u64]_z)"]
23560#[inline]
23561#[target_feature(enable = "sve")]
23562#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
23563#[cfg_attr(test, assert_instr(lsr))]
23564pub fn svlsr_n_u64_z(pg: svbool_t, op1: svuint64_t, op2: u64) -> svuint64_t {
23565 svlsr_u64_z(pg, op1, svdup_n_u64(op2))
23566}
23567#[doc = "Logical shift right"]
23568#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svlsr_wide[_u8]_m)"]
23569#[inline]
23570#[target_feature(enable = "sve")]
23571#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
23572#[cfg_attr(test, assert_instr(lsr))]
23573pub fn svlsr_wide_u8_m(pg: svbool_t, op1: svuint8_t, op2: svuint64_t) -> svuint8_t {
23574 unsafe extern "unadjusted" {
23575 #[cfg_attr(
23576 target_arch = "aarch64",
23577 link_name = "llvm.aarch64.sve.lsr.wide.nxv16i8"
23578 )]
23579 fn _svlsr_wide_u8_m(pg: svbool_t, op1: svint8_t, op2: svint64_t) -> svint8_t;
23580 }
23581 unsafe { _svlsr_wide_u8_m(pg, op1.as_signed(), op2.as_signed()).as_unsigned() }
23582}
23583#[doc = "Logical shift right"]
23584#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svlsr_wide[_n_u8]_m)"]
23585#[inline]
23586#[target_feature(enable = "sve")]
23587#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
23588#[cfg_attr(test, assert_instr(lsr))]
23589pub fn svlsr_wide_n_u8_m(pg: svbool_t, op1: svuint8_t, op2: u64) -> svuint8_t {
23590 svlsr_wide_u8_m(pg, op1, svdup_n_u64(op2))
23591}
23592#[doc = "Logical shift right"]
23593#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svlsr_wide[_u8]_x)"]
23594#[inline]
23595#[target_feature(enable = "sve")]
23596#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
23597#[cfg_attr(test, assert_instr(lsr))]
23598pub fn svlsr_wide_u8_x(pg: svbool_t, op1: svuint8_t, op2: svuint64_t) -> svuint8_t {
23599 svlsr_wide_u8_m(pg, op1, op2)
23600}
23601#[doc = "Logical shift right"]
23602#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svlsr_wide[_n_u8]_x)"]
23603#[inline]
23604#[target_feature(enable = "sve")]
23605#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
23606#[cfg_attr(test, assert_instr(lsr))]
23607pub fn svlsr_wide_n_u8_x(pg: svbool_t, op1: svuint8_t, op2: u64) -> svuint8_t {
23608 svlsr_wide_u8_x(pg, op1, svdup_n_u64(op2))
23609}
23610#[doc = "Logical shift right"]
23611#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svlsr_wide[_u8]_z)"]
23612#[inline]
23613#[target_feature(enable = "sve")]
23614#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
23615#[cfg_attr(test, assert_instr(lsr))]
23616pub fn svlsr_wide_u8_z(pg: svbool_t, op1: svuint8_t, op2: svuint64_t) -> svuint8_t {
23617 svlsr_wide_u8_m(pg, svsel_u8(pg, op1, svdup_n_u8(0)), op2)
23618}
23619#[doc = "Logical shift right"]
23620#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svlsr_wide[_n_u8]_z)"]
23621#[inline]
23622#[target_feature(enable = "sve")]
23623#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
23624#[cfg_attr(test, assert_instr(lsr))]
23625pub fn svlsr_wide_n_u8_z(pg: svbool_t, op1: svuint8_t, op2: u64) -> svuint8_t {
23626 svlsr_wide_u8_z(pg, op1, svdup_n_u64(op2))
23627}
23628#[doc = "Logical shift right"]
23629#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svlsr_wide[_u16]_m)"]
23630#[inline]
23631#[target_feature(enable = "sve")]
23632#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
23633#[cfg_attr(test, assert_instr(lsr))]
23634pub fn svlsr_wide_u16_m(pg: svbool_t, op1: svuint16_t, op2: svuint64_t) -> svuint16_t {
23635 unsafe extern "unadjusted" {
23636 #[cfg_attr(
23637 target_arch = "aarch64",
23638 link_name = "llvm.aarch64.sve.lsr.wide.nxv8i16"
23639 )]
23640 fn _svlsr_wide_u16_m(pg: svbool8_t, op1: svint16_t, op2: svint64_t) -> svint16_t;
23641 }
23642 unsafe { _svlsr_wide_u16_m(pg.sve_into(), op1.as_signed(), op2.as_signed()).as_unsigned() }
23643}
23644#[doc = "Logical shift right"]
23645#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svlsr_wide[_n_u16]_m)"]
23646#[inline]
23647#[target_feature(enable = "sve")]
23648#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
23649#[cfg_attr(test, assert_instr(lsr))]
23650pub fn svlsr_wide_n_u16_m(pg: svbool_t, op1: svuint16_t, op2: u64) -> svuint16_t {
23651 svlsr_wide_u16_m(pg, op1, svdup_n_u64(op2))
23652}
23653#[doc = "Logical shift right"]
23654#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svlsr_wide[_u16]_x)"]
23655#[inline]
23656#[target_feature(enable = "sve")]
23657#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
23658#[cfg_attr(test, assert_instr(lsr))]
23659pub fn svlsr_wide_u16_x(pg: svbool_t, op1: svuint16_t, op2: svuint64_t) -> svuint16_t {
23660 svlsr_wide_u16_m(pg, op1, op2)
23661}
23662#[doc = "Logical shift right"]
23663#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svlsr_wide[_n_u16]_x)"]
23664#[inline]
23665#[target_feature(enable = "sve")]
23666#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
23667#[cfg_attr(test, assert_instr(lsr))]
23668pub fn svlsr_wide_n_u16_x(pg: svbool_t, op1: svuint16_t, op2: u64) -> svuint16_t {
23669 svlsr_wide_u16_x(pg, op1, svdup_n_u64(op2))
23670}
23671#[doc = "Logical shift right"]
23672#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svlsr_wide[_u16]_z)"]
23673#[inline]
23674#[target_feature(enable = "sve")]
23675#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
23676#[cfg_attr(test, assert_instr(lsr))]
23677pub fn svlsr_wide_u16_z(pg: svbool_t, op1: svuint16_t, op2: svuint64_t) -> svuint16_t {
23678 svlsr_wide_u16_m(pg, svsel_u16(pg, op1, svdup_n_u16(0)), op2)
23679}
23680#[doc = "Logical shift right"]
23681#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svlsr_wide[_n_u16]_z)"]
23682#[inline]
23683#[target_feature(enable = "sve")]
23684#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
23685#[cfg_attr(test, assert_instr(lsr))]
23686pub fn svlsr_wide_n_u16_z(pg: svbool_t, op1: svuint16_t, op2: u64) -> svuint16_t {
23687 svlsr_wide_u16_z(pg, op1, svdup_n_u64(op2))
23688}
23689#[doc = "Logical shift right"]
23690#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svlsr_wide[_u32]_m)"]
23691#[inline]
23692#[target_feature(enable = "sve")]
23693#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
23694#[cfg_attr(test, assert_instr(lsr))]
23695pub fn svlsr_wide_u32_m(pg: svbool_t, op1: svuint32_t, op2: svuint64_t) -> svuint32_t {
23696 unsafe extern "unadjusted" {
23697 #[cfg_attr(
23698 target_arch = "aarch64",
23699 link_name = "llvm.aarch64.sve.lsr.wide.nxv4i32"
23700 )]
23701 fn _svlsr_wide_u32_m(pg: svbool4_t, op1: svint32_t, op2: svint64_t) -> svint32_t;
23702 }
23703 unsafe { _svlsr_wide_u32_m(pg.sve_into(), op1.as_signed(), op2.as_signed()).as_unsigned() }
23704}
23705#[doc = "Logical shift right"]
23706#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svlsr_wide[_n_u32]_m)"]
23707#[inline]
23708#[target_feature(enable = "sve")]
23709#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
23710#[cfg_attr(test, assert_instr(lsr))]
23711pub fn svlsr_wide_n_u32_m(pg: svbool_t, op1: svuint32_t, op2: u64) -> svuint32_t {
23712 svlsr_wide_u32_m(pg, op1, svdup_n_u64(op2))
23713}
23714#[doc = "Logical shift right"]
23715#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svlsr_wide[_u32]_x)"]
23716#[inline]
23717#[target_feature(enable = "sve")]
23718#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
23719#[cfg_attr(test, assert_instr(lsr))]
23720pub fn svlsr_wide_u32_x(pg: svbool_t, op1: svuint32_t, op2: svuint64_t) -> svuint32_t {
23721 svlsr_wide_u32_m(pg, op1, op2)
23722}
23723#[doc = "Logical shift right"]
23724#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svlsr_wide[_n_u32]_x)"]
23725#[inline]
23726#[target_feature(enable = "sve")]
23727#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
23728#[cfg_attr(test, assert_instr(lsr))]
23729pub fn svlsr_wide_n_u32_x(pg: svbool_t, op1: svuint32_t, op2: u64) -> svuint32_t {
23730 svlsr_wide_u32_x(pg, op1, svdup_n_u64(op2))
23731}
23732#[doc = "Logical shift right"]
23733#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svlsr_wide[_u32]_z)"]
23734#[inline]
23735#[target_feature(enable = "sve")]
23736#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
23737#[cfg_attr(test, assert_instr(lsr))]
23738pub fn svlsr_wide_u32_z(pg: svbool_t, op1: svuint32_t, op2: svuint64_t) -> svuint32_t {
23739 svlsr_wide_u32_m(pg, svsel_u32(pg, op1, svdup_n_u32(0)), op2)
23740}
23741#[doc = "Logical shift right"]
23742#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svlsr_wide[_n_u32]_z)"]
23743#[inline]
23744#[target_feature(enable = "sve")]
23745#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
23746#[cfg_attr(test, assert_instr(lsr))]
23747pub fn svlsr_wide_n_u32_z(pg: svbool_t, op1: svuint32_t, op2: u64) -> svuint32_t {
23748 svlsr_wide_u32_z(pg, op1, svdup_n_u64(op2))
23749}
23750#[doc = "Multiply-add, multiplicand first"]
23751#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmad[_f32]_m)"]
23752#[inline]
23753#[target_feature(enable = "sve")]
23754#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
23755#[cfg_attr(test, assert_instr(fmad))]
23756pub fn svmad_f32_m(
23757 pg: svbool_t,
23758 op1: svfloat32_t,
23759 op2: svfloat32_t,
23760 op3: svfloat32_t,
23761) -> svfloat32_t {
23762 unsafe extern "unadjusted" {
23763 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.fmad.nxv4f32")]
23764 fn _svmad_f32_m(
23765 pg: svbool4_t,
23766 op1: svfloat32_t,
23767 op2: svfloat32_t,
23768 op3: svfloat32_t,
23769 ) -> svfloat32_t;
23770 }
23771 unsafe { _svmad_f32_m(pg.sve_into(), op1, op2, op3) }
23772}
23773#[doc = "Multiply-add, multiplicand first"]
23774#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmad[_n_f32]_m)"]
23775#[inline]
23776#[target_feature(enable = "sve")]
23777#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
23778#[cfg_attr(test, assert_instr(fmad))]
23779pub fn svmad_n_f32_m(pg: svbool_t, op1: svfloat32_t, op2: svfloat32_t, op3: f32) -> svfloat32_t {
23780 svmad_f32_m(pg, op1, op2, svdup_n_f32(op3))
23781}
23782#[doc = "Multiply-add, multiplicand first"]
23783#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmad[_f32]_x)"]
23784#[inline]
23785#[target_feature(enable = "sve")]
23786#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
23787#[cfg_attr(test, assert_instr(fmad))]
23788pub fn svmad_f32_x(
23789 pg: svbool_t,
23790 op1: svfloat32_t,
23791 op2: svfloat32_t,
23792 op3: svfloat32_t,
23793) -> svfloat32_t {
23794 svmad_f32_m(pg, op1, op2, op3)
23795}
23796#[doc = "Multiply-add, multiplicand first"]
23797#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmad[_n_f32]_x)"]
23798#[inline]
23799#[target_feature(enable = "sve")]
23800#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
23801#[cfg_attr(test, assert_instr(fmad))]
23802pub fn svmad_n_f32_x(pg: svbool_t, op1: svfloat32_t, op2: svfloat32_t, op3: f32) -> svfloat32_t {
23803 svmad_f32_x(pg, op1, op2, svdup_n_f32(op3))
23804}
23805#[doc = "Multiply-add, multiplicand first"]
23806#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmad[_f32]_z)"]
23807#[inline]
23808#[target_feature(enable = "sve")]
23809#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
23810#[cfg_attr(test, assert_instr(fmad))]
23811pub fn svmad_f32_z(
23812 pg: svbool_t,
23813 op1: svfloat32_t,
23814 op2: svfloat32_t,
23815 op3: svfloat32_t,
23816) -> svfloat32_t {
23817 svmad_f32_m(pg, svsel_f32(pg, op1, svdup_n_f32(0.0)), op2, op3)
23818}
23819#[doc = "Multiply-add, multiplicand first"]
23820#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmad[_n_f32]_z)"]
23821#[inline]
23822#[target_feature(enable = "sve")]
23823#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
23824#[cfg_attr(test, assert_instr(fmad))]
23825pub fn svmad_n_f32_z(pg: svbool_t, op1: svfloat32_t, op2: svfloat32_t, op3: f32) -> svfloat32_t {
23826 svmad_f32_z(pg, op1, op2, svdup_n_f32(op3))
23827}
23828#[doc = "Multiply-add, multiplicand first"]
23829#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmad[_f64]_m)"]
23830#[inline]
23831#[target_feature(enable = "sve")]
23832#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
23833#[cfg_attr(test, assert_instr(fmad))]
23834pub fn svmad_f64_m(
23835 pg: svbool_t,
23836 op1: svfloat64_t,
23837 op2: svfloat64_t,
23838 op3: svfloat64_t,
23839) -> svfloat64_t {
23840 unsafe extern "unadjusted" {
23841 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.fmad.nxv2f64")]
23842 fn _svmad_f64_m(
23843 pg: svbool2_t,
23844 op1: svfloat64_t,
23845 op2: svfloat64_t,
23846 op3: svfloat64_t,
23847 ) -> svfloat64_t;
23848 }
23849 unsafe { _svmad_f64_m(pg.sve_into(), op1, op2, op3) }
23850}
23851#[doc = "Multiply-add, multiplicand first"]
23852#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmad[_n_f64]_m)"]
23853#[inline]
23854#[target_feature(enable = "sve")]
23855#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
23856#[cfg_attr(test, assert_instr(fmad))]
23857pub fn svmad_n_f64_m(pg: svbool_t, op1: svfloat64_t, op2: svfloat64_t, op3: f64) -> svfloat64_t {
23858 svmad_f64_m(pg, op1, op2, svdup_n_f64(op3))
23859}
23860#[doc = "Multiply-add, multiplicand first"]
23861#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmad[_f64]_x)"]
23862#[inline]
23863#[target_feature(enable = "sve")]
23864#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
23865#[cfg_attr(test, assert_instr(fmad))]
23866pub fn svmad_f64_x(
23867 pg: svbool_t,
23868 op1: svfloat64_t,
23869 op2: svfloat64_t,
23870 op3: svfloat64_t,
23871) -> svfloat64_t {
23872 svmad_f64_m(pg, op1, op2, op3)
23873}
23874#[doc = "Multiply-add, multiplicand first"]
23875#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmad[_n_f64]_x)"]
23876#[inline]
23877#[target_feature(enable = "sve")]
23878#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
23879#[cfg_attr(test, assert_instr(fmad))]
23880pub fn svmad_n_f64_x(pg: svbool_t, op1: svfloat64_t, op2: svfloat64_t, op3: f64) -> svfloat64_t {
23881 svmad_f64_x(pg, op1, op2, svdup_n_f64(op3))
23882}
23883#[doc = "Multiply-add, multiplicand first"]
23884#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmad[_f64]_z)"]
23885#[inline]
23886#[target_feature(enable = "sve")]
23887#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
23888#[cfg_attr(test, assert_instr(fmad))]
23889pub fn svmad_f64_z(
23890 pg: svbool_t,
23891 op1: svfloat64_t,
23892 op2: svfloat64_t,
23893 op3: svfloat64_t,
23894) -> svfloat64_t {
23895 svmad_f64_m(pg, svsel_f64(pg, op1, svdup_n_f64(0.0)), op2, op3)
23896}
23897#[doc = "Multiply-add, multiplicand first"]
23898#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmad[_n_f64]_z)"]
23899#[inline]
23900#[target_feature(enable = "sve")]
23901#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
23902#[cfg_attr(test, assert_instr(fmad))]
23903pub fn svmad_n_f64_z(pg: svbool_t, op1: svfloat64_t, op2: svfloat64_t, op3: f64) -> svfloat64_t {
23904 svmad_f64_z(pg, op1, op2, svdup_n_f64(op3))
23905}
23906#[doc = "Multiply-add, multiplicand first"]
23907#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmad[_s8]_m)"]
23908#[inline]
23909#[target_feature(enable = "sve")]
23910#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
23911#[cfg_attr(test, assert_instr(mad))]
23912pub fn svmad_s8_m(pg: svbool_t, op1: svint8_t, op2: svint8_t, op3: svint8_t) -> svint8_t {
23913 unsafe extern "unadjusted" {
23914 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.mad.nxv16i8")]
23915 fn _svmad_s8_m(pg: svbool_t, op1: svint8_t, op2: svint8_t, op3: svint8_t) -> svint8_t;
23916 }
23917 unsafe { _svmad_s8_m(pg, op1, op2, op3) }
23918}
23919#[doc = "Multiply-add, multiplicand first"]
23920#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmad[_n_s8]_m)"]
23921#[inline]
23922#[target_feature(enable = "sve")]
23923#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
23924#[cfg_attr(test, assert_instr(mad))]
23925pub fn svmad_n_s8_m(pg: svbool_t, op1: svint8_t, op2: svint8_t, op3: i8) -> svint8_t {
23926 svmad_s8_m(pg, op1, op2, svdup_n_s8(op3))
23927}
23928#[doc = "Multiply-add, multiplicand first"]
23929#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmad[_s8]_x)"]
23930#[inline]
23931#[target_feature(enable = "sve")]
23932#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
23933#[cfg_attr(test, assert_instr(mad))]
23934pub fn svmad_s8_x(pg: svbool_t, op1: svint8_t, op2: svint8_t, op3: svint8_t) -> svint8_t {
23935 svmad_s8_m(pg, op1, op2, op3)
23936}
23937#[doc = "Multiply-add, multiplicand first"]
23938#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmad[_n_s8]_x)"]
23939#[inline]
23940#[target_feature(enable = "sve")]
23941#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
23942#[cfg_attr(test, assert_instr(mad))]
23943pub fn svmad_n_s8_x(pg: svbool_t, op1: svint8_t, op2: svint8_t, op3: i8) -> svint8_t {
23944 svmad_s8_x(pg, op1, op2, svdup_n_s8(op3))
23945}
23946#[doc = "Multiply-add, multiplicand first"]
23947#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmad[_s8]_z)"]
23948#[inline]
23949#[target_feature(enable = "sve")]
23950#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
23951#[cfg_attr(test, assert_instr(mad))]
23952pub fn svmad_s8_z(pg: svbool_t, op1: svint8_t, op2: svint8_t, op3: svint8_t) -> svint8_t {
23953 svmad_s8_m(pg, svsel_s8(pg, op1, svdup_n_s8(0)), op2, op3)
23954}
23955#[doc = "Multiply-add, multiplicand first"]
23956#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmad[_n_s8]_z)"]
23957#[inline]
23958#[target_feature(enable = "sve")]
23959#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
23960#[cfg_attr(test, assert_instr(mad))]
23961pub fn svmad_n_s8_z(pg: svbool_t, op1: svint8_t, op2: svint8_t, op3: i8) -> svint8_t {
23962 svmad_s8_z(pg, op1, op2, svdup_n_s8(op3))
23963}
23964#[doc = "Multiply-add, multiplicand first"]
23965#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmad[_s16]_m)"]
23966#[inline]
23967#[target_feature(enable = "sve")]
23968#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
23969#[cfg_attr(test, assert_instr(mad))]
23970pub fn svmad_s16_m(pg: svbool_t, op1: svint16_t, op2: svint16_t, op3: svint16_t) -> svint16_t {
23971 unsafe extern "unadjusted" {
23972 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.mad.nxv8i16")]
23973 fn _svmad_s16_m(pg: svbool8_t, op1: svint16_t, op2: svint16_t, op3: svint16_t)
23974 -> svint16_t;
23975 }
23976 unsafe { _svmad_s16_m(pg.sve_into(), op1, op2, op3) }
23977}
23978#[doc = "Multiply-add, multiplicand first"]
23979#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmad[_n_s16]_m)"]
23980#[inline]
23981#[target_feature(enable = "sve")]
23982#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
23983#[cfg_attr(test, assert_instr(mad))]
23984pub fn svmad_n_s16_m(pg: svbool_t, op1: svint16_t, op2: svint16_t, op3: i16) -> svint16_t {
23985 svmad_s16_m(pg, op1, op2, svdup_n_s16(op3))
23986}
23987#[doc = "Multiply-add, multiplicand first"]
23988#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmad[_s16]_x)"]
23989#[inline]
23990#[target_feature(enable = "sve")]
23991#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
23992#[cfg_attr(test, assert_instr(mad))]
23993pub fn svmad_s16_x(pg: svbool_t, op1: svint16_t, op2: svint16_t, op3: svint16_t) -> svint16_t {
23994 svmad_s16_m(pg, op1, op2, op3)
23995}
23996#[doc = "Multiply-add, multiplicand first"]
23997#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmad[_n_s16]_x)"]
23998#[inline]
23999#[target_feature(enable = "sve")]
24000#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
24001#[cfg_attr(test, assert_instr(mad))]
24002pub fn svmad_n_s16_x(pg: svbool_t, op1: svint16_t, op2: svint16_t, op3: i16) -> svint16_t {
24003 svmad_s16_x(pg, op1, op2, svdup_n_s16(op3))
24004}
24005#[doc = "Multiply-add, multiplicand first"]
24006#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmad[_s16]_z)"]
24007#[inline]
24008#[target_feature(enable = "sve")]
24009#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
24010#[cfg_attr(test, assert_instr(mad))]
24011pub fn svmad_s16_z(pg: svbool_t, op1: svint16_t, op2: svint16_t, op3: svint16_t) -> svint16_t {
24012 svmad_s16_m(pg, svsel_s16(pg, op1, svdup_n_s16(0)), op2, op3)
24013}
24014#[doc = "Multiply-add, multiplicand first"]
24015#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmad[_n_s16]_z)"]
24016#[inline]
24017#[target_feature(enable = "sve")]
24018#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
24019#[cfg_attr(test, assert_instr(mad))]
24020pub fn svmad_n_s16_z(pg: svbool_t, op1: svint16_t, op2: svint16_t, op3: i16) -> svint16_t {
24021 svmad_s16_z(pg, op1, op2, svdup_n_s16(op3))
24022}
24023#[doc = "Multiply-add, multiplicand first"]
24024#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmad[_s32]_m)"]
24025#[inline]
24026#[target_feature(enable = "sve")]
24027#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
24028#[cfg_attr(test, assert_instr(mad))]
24029pub fn svmad_s32_m(pg: svbool_t, op1: svint32_t, op2: svint32_t, op3: svint32_t) -> svint32_t {
24030 unsafe extern "unadjusted" {
24031 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.mad.nxv4i32")]
24032 fn _svmad_s32_m(pg: svbool4_t, op1: svint32_t, op2: svint32_t, op3: svint32_t)
24033 -> svint32_t;
24034 }
24035 unsafe { _svmad_s32_m(pg.sve_into(), op1, op2, op3) }
24036}
24037#[doc = "Multiply-add, multiplicand first"]
24038#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmad[_n_s32]_m)"]
24039#[inline]
24040#[target_feature(enable = "sve")]
24041#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
24042#[cfg_attr(test, assert_instr(mad))]
24043pub fn svmad_n_s32_m(pg: svbool_t, op1: svint32_t, op2: svint32_t, op3: i32) -> svint32_t {
24044 svmad_s32_m(pg, op1, op2, svdup_n_s32(op3))
24045}
24046#[doc = "Multiply-add, multiplicand first"]
24047#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmad[_s32]_x)"]
24048#[inline]
24049#[target_feature(enable = "sve")]
24050#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
24051#[cfg_attr(test, assert_instr(mad))]
24052pub fn svmad_s32_x(pg: svbool_t, op1: svint32_t, op2: svint32_t, op3: svint32_t) -> svint32_t {
24053 svmad_s32_m(pg, op1, op2, op3)
24054}
24055#[doc = "Multiply-add, multiplicand first"]
24056#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmad[_n_s32]_x)"]
24057#[inline]
24058#[target_feature(enable = "sve")]
24059#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
24060#[cfg_attr(test, assert_instr(mad))]
24061pub fn svmad_n_s32_x(pg: svbool_t, op1: svint32_t, op2: svint32_t, op3: i32) -> svint32_t {
24062 svmad_s32_x(pg, op1, op2, svdup_n_s32(op3))
24063}
24064#[doc = "Multiply-add, multiplicand first"]
24065#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmad[_s32]_z)"]
24066#[inline]
24067#[target_feature(enable = "sve")]
24068#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
24069#[cfg_attr(test, assert_instr(mad))]
24070pub fn svmad_s32_z(pg: svbool_t, op1: svint32_t, op2: svint32_t, op3: svint32_t) -> svint32_t {
24071 svmad_s32_m(pg, svsel_s32(pg, op1, svdup_n_s32(0)), op2, op3)
24072}
24073#[doc = "Multiply-add, multiplicand first"]
24074#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmad[_n_s32]_z)"]
24075#[inline]
24076#[target_feature(enable = "sve")]
24077#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
24078#[cfg_attr(test, assert_instr(mad))]
24079pub fn svmad_n_s32_z(pg: svbool_t, op1: svint32_t, op2: svint32_t, op3: i32) -> svint32_t {
24080 svmad_s32_z(pg, op1, op2, svdup_n_s32(op3))
24081}
24082#[doc = "Multiply-add, multiplicand first"]
24083#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmad[_s64]_m)"]
24084#[inline]
24085#[target_feature(enable = "sve")]
24086#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
24087#[cfg_attr(test, assert_instr(mad))]
24088pub fn svmad_s64_m(pg: svbool_t, op1: svint64_t, op2: svint64_t, op3: svint64_t) -> svint64_t {
24089 unsafe extern "unadjusted" {
24090 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.mad.nxv2i64")]
24091 fn _svmad_s64_m(pg: svbool2_t, op1: svint64_t, op2: svint64_t, op3: svint64_t)
24092 -> svint64_t;
24093 }
24094 unsafe { _svmad_s64_m(pg.sve_into(), op1, op2, op3) }
24095}
24096#[doc = "Multiply-add, multiplicand first"]
24097#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmad[_n_s64]_m)"]
24098#[inline]
24099#[target_feature(enable = "sve")]
24100#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
24101#[cfg_attr(test, assert_instr(mad))]
24102pub fn svmad_n_s64_m(pg: svbool_t, op1: svint64_t, op2: svint64_t, op3: i64) -> svint64_t {
24103 svmad_s64_m(pg, op1, op2, svdup_n_s64(op3))
24104}
24105#[doc = "Multiply-add, multiplicand first"]
24106#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmad[_s64]_x)"]
24107#[inline]
24108#[target_feature(enable = "sve")]
24109#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
24110#[cfg_attr(test, assert_instr(mad))]
24111pub fn svmad_s64_x(pg: svbool_t, op1: svint64_t, op2: svint64_t, op3: svint64_t) -> svint64_t {
24112 svmad_s64_m(pg, op1, op2, op3)
24113}
24114#[doc = "Multiply-add, multiplicand first"]
24115#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmad[_n_s64]_x)"]
24116#[inline]
24117#[target_feature(enable = "sve")]
24118#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
24119#[cfg_attr(test, assert_instr(mad))]
24120pub fn svmad_n_s64_x(pg: svbool_t, op1: svint64_t, op2: svint64_t, op3: i64) -> svint64_t {
24121 svmad_s64_x(pg, op1, op2, svdup_n_s64(op3))
24122}
24123#[doc = "Multiply-add, multiplicand first"]
24124#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmad[_s64]_z)"]
24125#[inline]
24126#[target_feature(enable = "sve")]
24127#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
24128#[cfg_attr(test, assert_instr(mad))]
24129pub fn svmad_s64_z(pg: svbool_t, op1: svint64_t, op2: svint64_t, op3: svint64_t) -> svint64_t {
24130 svmad_s64_m(pg, svsel_s64(pg, op1, svdup_n_s64(0)), op2, op3)
24131}
24132#[doc = "Multiply-add, multiplicand first"]
24133#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmad[_n_s64]_z)"]
24134#[inline]
24135#[target_feature(enable = "sve")]
24136#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
24137#[cfg_attr(test, assert_instr(mad))]
24138pub fn svmad_n_s64_z(pg: svbool_t, op1: svint64_t, op2: svint64_t, op3: i64) -> svint64_t {
24139 svmad_s64_z(pg, op1, op2, svdup_n_s64(op3))
24140}
24141#[doc = "Multiply-add, multiplicand first"]
24142#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmad[_u8]_m)"]
24143#[inline]
24144#[target_feature(enable = "sve")]
24145#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
24146#[cfg_attr(test, assert_instr(mad))]
24147pub fn svmad_u8_m(pg: svbool_t, op1: svuint8_t, op2: svuint8_t, op3: svuint8_t) -> svuint8_t {
24148 unsafe { svmad_s8_m(pg, op1.as_signed(), op2.as_signed(), op3.as_signed()).as_unsigned() }
24149}
24150#[doc = "Multiply-add, multiplicand first"]
24151#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmad[_n_u8]_m)"]
24152#[inline]
24153#[target_feature(enable = "sve")]
24154#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
24155#[cfg_attr(test, assert_instr(mad))]
24156pub fn svmad_n_u8_m(pg: svbool_t, op1: svuint8_t, op2: svuint8_t, op3: u8) -> svuint8_t {
24157 svmad_u8_m(pg, op1, op2, svdup_n_u8(op3))
24158}
24159#[doc = "Multiply-add, multiplicand first"]
24160#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmad[_u8]_x)"]
24161#[inline]
24162#[target_feature(enable = "sve")]
24163#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
24164#[cfg_attr(test, assert_instr(mad))]
24165pub fn svmad_u8_x(pg: svbool_t, op1: svuint8_t, op2: svuint8_t, op3: svuint8_t) -> svuint8_t {
24166 svmad_u8_m(pg, op1, op2, op3)
24167}
24168#[doc = "Multiply-add, multiplicand first"]
24169#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmad[_n_u8]_x)"]
24170#[inline]
24171#[target_feature(enable = "sve")]
24172#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
24173#[cfg_attr(test, assert_instr(mad))]
24174pub fn svmad_n_u8_x(pg: svbool_t, op1: svuint8_t, op2: svuint8_t, op3: u8) -> svuint8_t {
24175 svmad_u8_x(pg, op1, op2, svdup_n_u8(op3))
24176}
24177#[doc = "Multiply-add, multiplicand first"]
24178#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmad[_u8]_z)"]
24179#[inline]
24180#[target_feature(enable = "sve")]
24181#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
24182#[cfg_attr(test, assert_instr(mad))]
24183pub fn svmad_u8_z(pg: svbool_t, op1: svuint8_t, op2: svuint8_t, op3: svuint8_t) -> svuint8_t {
24184 svmad_u8_m(pg, svsel_u8(pg, op1, svdup_n_u8(0)), op2, op3)
24185}
24186#[doc = "Multiply-add, multiplicand first"]
24187#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmad[_n_u8]_z)"]
24188#[inline]
24189#[target_feature(enable = "sve")]
24190#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
24191#[cfg_attr(test, assert_instr(mad))]
24192pub fn svmad_n_u8_z(pg: svbool_t, op1: svuint8_t, op2: svuint8_t, op3: u8) -> svuint8_t {
24193 svmad_u8_z(pg, op1, op2, svdup_n_u8(op3))
24194}
24195#[doc = "Multiply-add, multiplicand first"]
24196#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmad[_u16]_m)"]
24197#[inline]
24198#[target_feature(enable = "sve")]
24199#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
24200#[cfg_attr(test, assert_instr(mad))]
24201pub fn svmad_u16_m(pg: svbool_t, op1: svuint16_t, op2: svuint16_t, op3: svuint16_t) -> svuint16_t {
24202 unsafe { svmad_s16_m(pg, op1.as_signed(), op2.as_signed(), op3.as_signed()).as_unsigned() }
24203}
24204#[doc = "Multiply-add, multiplicand first"]
24205#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmad[_n_u16]_m)"]
24206#[inline]
24207#[target_feature(enable = "sve")]
24208#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
24209#[cfg_attr(test, assert_instr(mad))]
24210pub fn svmad_n_u16_m(pg: svbool_t, op1: svuint16_t, op2: svuint16_t, op3: u16) -> svuint16_t {
24211 svmad_u16_m(pg, op1, op2, svdup_n_u16(op3))
24212}
24213#[doc = "Multiply-add, multiplicand first"]
24214#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmad[_u16]_x)"]
24215#[inline]
24216#[target_feature(enable = "sve")]
24217#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
24218#[cfg_attr(test, assert_instr(mad))]
24219pub fn svmad_u16_x(pg: svbool_t, op1: svuint16_t, op2: svuint16_t, op3: svuint16_t) -> svuint16_t {
24220 svmad_u16_m(pg, op1, op2, op3)
24221}
24222#[doc = "Multiply-add, multiplicand first"]
24223#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmad[_n_u16]_x)"]
24224#[inline]
24225#[target_feature(enable = "sve")]
24226#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
24227#[cfg_attr(test, assert_instr(mad))]
24228pub fn svmad_n_u16_x(pg: svbool_t, op1: svuint16_t, op2: svuint16_t, op3: u16) -> svuint16_t {
24229 svmad_u16_x(pg, op1, op2, svdup_n_u16(op3))
24230}
24231#[doc = "Multiply-add, multiplicand first"]
24232#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmad[_u16]_z)"]
24233#[inline]
24234#[target_feature(enable = "sve")]
24235#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
24236#[cfg_attr(test, assert_instr(mad))]
24237pub fn svmad_u16_z(pg: svbool_t, op1: svuint16_t, op2: svuint16_t, op3: svuint16_t) -> svuint16_t {
24238 svmad_u16_m(pg, svsel_u16(pg, op1, svdup_n_u16(0)), op2, op3)
24239}
24240#[doc = "Multiply-add, multiplicand first"]
24241#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmad[_n_u16]_z)"]
24242#[inline]
24243#[target_feature(enable = "sve")]
24244#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
24245#[cfg_attr(test, assert_instr(mad))]
24246pub fn svmad_n_u16_z(pg: svbool_t, op1: svuint16_t, op2: svuint16_t, op3: u16) -> svuint16_t {
24247 svmad_u16_z(pg, op1, op2, svdup_n_u16(op3))
24248}
24249#[doc = "Multiply-add, multiplicand first"]
24250#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmad[_u32]_m)"]
24251#[inline]
24252#[target_feature(enable = "sve")]
24253#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
24254#[cfg_attr(test, assert_instr(mad))]
24255pub fn svmad_u32_m(pg: svbool_t, op1: svuint32_t, op2: svuint32_t, op3: svuint32_t) -> svuint32_t {
24256 unsafe { svmad_s32_m(pg, op1.as_signed(), op2.as_signed(), op3.as_signed()).as_unsigned() }
24257}
24258#[doc = "Multiply-add, multiplicand first"]
24259#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmad[_n_u32]_m)"]
24260#[inline]
24261#[target_feature(enable = "sve")]
24262#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
24263#[cfg_attr(test, assert_instr(mad))]
24264pub fn svmad_n_u32_m(pg: svbool_t, op1: svuint32_t, op2: svuint32_t, op3: u32) -> svuint32_t {
24265 svmad_u32_m(pg, op1, op2, svdup_n_u32(op3))
24266}
24267#[doc = "Multiply-add, multiplicand first"]
24268#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmad[_u32]_x)"]
24269#[inline]
24270#[target_feature(enable = "sve")]
24271#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
24272#[cfg_attr(test, assert_instr(mad))]
24273pub fn svmad_u32_x(pg: svbool_t, op1: svuint32_t, op2: svuint32_t, op3: svuint32_t) -> svuint32_t {
24274 svmad_u32_m(pg, op1, op2, op3)
24275}
24276#[doc = "Multiply-add, multiplicand first"]
24277#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmad[_n_u32]_x)"]
24278#[inline]
24279#[target_feature(enable = "sve")]
24280#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
24281#[cfg_attr(test, assert_instr(mad))]
24282pub fn svmad_n_u32_x(pg: svbool_t, op1: svuint32_t, op2: svuint32_t, op3: u32) -> svuint32_t {
24283 svmad_u32_x(pg, op1, op2, svdup_n_u32(op3))
24284}
24285#[doc = "Multiply-add, multiplicand first"]
24286#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmad[_u32]_z)"]
24287#[inline]
24288#[target_feature(enable = "sve")]
24289#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
24290#[cfg_attr(test, assert_instr(mad))]
24291pub fn svmad_u32_z(pg: svbool_t, op1: svuint32_t, op2: svuint32_t, op3: svuint32_t) -> svuint32_t {
24292 svmad_u32_m(pg, svsel_u32(pg, op1, svdup_n_u32(0)), op2, op3)
24293}
24294#[doc = "Multiply-add, multiplicand first"]
24295#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmad[_n_u32]_z)"]
24296#[inline]
24297#[target_feature(enable = "sve")]
24298#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
24299#[cfg_attr(test, assert_instr(mad))]
24300pub fn svmad_n_u32_z(pg: svbool_t, op1: svuint32_t, op2: svuint32_t, op3: u32) -> svuint32_t {
24301 svmad_u32_z(pg, op1, op2, svdup_n_u32(op3))
24302}
24303#[doc = "Multiply-add, multiplicand first"]
24304#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmad[_u64]_m)"]
24305#[inline]
24306#[target_feature(enable = "sve")]
24307#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
24308#[cfg_attr(test, assert_instr(mad))]
24309pub fn svmad_u64_m(pg: svbool_t, op1: svuint64_t, op2: svuint64_t, op3: svuint64_t) -> svuint64_t {
24310 unsafe { svmad_s64_m(pg, op1.as_signed(), op2.as_signed(), op3.as_signed()).as_unsigned() }
24311}
24312#[doc = "Multiply-add, multiplicand first"]
24313#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmad[_n_u64]_m)"]
24314#[inline]
24315#[target_feature(enable = "sve")]
24316#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
24317#[cfg_attr(test, assert_instr(mad))]
24318pub fn svmad_n_u64_m(pg: svbool_t, op1: svuint64_t, op2: svuint64_t, op3: u64) -> svuint64_t {
24319 svmad_u64_m(pg, op1, op2, svdup_n_u64(op3))
24320}
24321#[doc = "Multiply-add, multiplicand first"]
24322#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmad[_u64]_x)"]
24323#[inline]
24324#[target_feature(enable = "sve")]
24325#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
24326#[cfg_attr(test, assert_instr(mad))]
24327pub fn svmad_u64_x(pg: svbool_t, op1: svuint64_t, op2: svuint64_t, op3: svuint64_t) -> svuint64_t {
24328 svmad_u64_m(pg, op1, op2, op3)
24329}
24330#[doc = "Multiply-add, multiplicand first"]
24331#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmad[_n_u64]_x)"]
24332#[inline]
24333#[target_feature(enable = "sve")]
24334#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
24335#[cfg_attr(test, assert_instr(mad))]
24336pub fn svmad_n_u64_x(pg: svbool_t, op1: svuint64_t, op2: svuint64_t, op3: u64) -> svuint64_t {
24337 svmad_u64_x(pg, op1, op2, svdup_n_u64(op3))
24338}
24339#[doc = "Multiply-add, multiplicand first"]
24340#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmad[_u64]_z)"]
24341#[inline]
24342#[target_feature(enable = "sve")]
24343#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
24344#[cfg_attr(test, assert_instr(mad))]
24345pub fn svmad_u64_z(pg: svbool_t, op1: svuint64_t, op2: svuint64_t, op3: svuint64_t) -> svuint64_t {
24346 svmad_u64_m(pg, svsel_u64(pg, op1, svdup_n_u64(0)), op2, op3)
24347}
24348#[doc = "Multiply-add, multiplicand first"]
24349#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmad[_n_u64]_z)"]
24350#[inline]
24351#[target_feature(enable = "sve")]
24352#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
24353#[cfg_attr(test, assert_instr(mad))]
24354pub fn svmad_n_u64_z(pg: svbool_t, op1: svuint64_t, op2: svuint64_t, op3: u64) -> svuint64_t {
24355 svmad_u64_z(pg, op1, op2, svdup_n_u64(op3))
24356}
24357#[doc = "Maximum"]
24358#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmax[_f32]_m)"]
24359#[inline]
24360#[target_feature(enable = "sve")]
24361#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
24362#[cfg_attr(test, assert_instr(fmax))]
24363pub fn svmax_f32_m(pg: svbool_t, op1: svfloat32_t, op2: svfloat32_t) -> svfloat32_t {
24364 unsafe extern "unadjusted" {
24365 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.fmax.nxv4f32")]
24366 fn _svmax_f32_m(pg: svbool4_t, op1: svfloat32_t, op2: svfloat32_t) -> svfloat32_t;
24367 }
24368 unsafe { _svmax_f32_m(pg.sve_into(), op1, op2) }
24369}
24370#[doc = "Maximum"]
24371#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmax[_n_f32]_m)"]
24372#[inline]
24373#[target_feature(enable = "sve")]
24374#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
24375#[cfg_attr(test, assert_instr(fmax))]
24376pub fn svmax_n_f32_m(pg: svbool_t, op1: svfloat32_t, op2: f32) -> svfloat32_t {
24377 svmax_f32_m(pg, op1, svdup_n_f32(op2))
24378}
24379#[doc = "Maximum"]
24380#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmax[_f32]_x)"]
24381#[inline]
24382#[target_feature(enable = "sve")]
24383#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
24384#[cfg_attr(test, assert_instr(fmax))]
24385pub fn svmax_f32_x(pg: svbool_t, op1: svfloat32_t, op2: svfloat32_t) -> svfloat32_t {
24386 svmax_f32_m(pg, op1, op2)
24387}
24388#[doc = "Maximum"]
24389#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmax[_n_f32]_x)"]
24390#[inline]
24391#[target_feature(enable = "sve")]
24392#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
24393#[cfg_attr(test, assert_instr(fmax))]
24394pub fn svmax_n_f32_x(pg: svbool_t, op1: svfloat32_t, op2: f32) -> svfloat32_t {
24395 svmax_f32_x(pg, op1, svdup_n_f32(op2))
24396}
24397#[doc = "Maximum"]
24398#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmax[_f32]_z)"]
24399#[inline]
24400#[target_feature(enable = "sve")]
24401#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
24402#[cfg_attr(test, assert_instr(fmax))]
24403pub fn svmax_f32_z(pg: svbool_t, op1: svfloat32_t, op2: svfloat32_t) -> svfloat32_t {
24404 svmax_f32_m(pg, svsel_f32(pg, op1, svdup_n_f32(0.0)), op2)
24405}
24406#[doc = "Maximum"]
24407#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmax[_n_f32]_z)"]
24408#[inline]
24409#[target_feature(enable = "sve")]
24410#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
24411#[cfg_attr(test, assert_instr(fmax))]
24412pub fn svmax_n_f32_z(pg: svbool_t, op1: svfloat32_t, op2: f32) -> svfloat32_t {
24413 svmax_f32_z(pg, op1, svdup_n_f32(op2))
24414}
24415#[doc = "Maximum"]
24416#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmax[_f64]_m)"]
24417#[inline]
24418#[target_feature(enable = "sve")]
24419#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
24420#[cfg_attr(test, assert_instr(fmax))]
24421pub fn svmax_f64_m(pg: svbool_t, op1: svfloat64_t, op2: svfloat64_t) -> svfloat64_t {
24422 unsafe extern "unadjusted" {
24423 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.fmax.nxv2f64")]
24424 fn _svmax_f64_m(pg: svbool2_t, op1: svfloat64_t, op2: svfloat64_t) -> svfloat64_t;
24425 }
24426 unsafe { _svmax_f64_m(pg.sve_into(), op1, op2) }
24427}
24428#[doc = "Maximum"]
24429#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmax[_n_f64]_m)"]
24430#[inline]
24431#[target_feature(enable = "sve")]
24432#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
24433#[cfg_attr(test, assert_instr(fmax))]
24434pub fn svmax_n_f64_m(pg: svbool_t, op1: svfloat64_t, op2: f64) -> svfloat64_t {
24435 svmax_f64_m(pg, op1, svdup_n_f64(op2))
24436}
24437#[doc = "Maximum"]
24438#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmax[_f64]_x)"]
24439#[inline]
24440#[target_feature(enable = "sve")]
24441#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
24442#[cfg_attr(test, assert_instr(fmax))]
24443pub fn svmax_f64_x(pg: svbool_t, op1: svfloat64_t, op2: svfloat64_t) -> svfloat64_t {
24444 svmax_f64_m(pg, op1, op2)
24445}
24446#[doc = "Maximum"]
24447#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmax[_n_f64]_x)"]
24448#[inline]
24449#[target_feature(enable = "sve")]
24450#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
24451#[cfg_attr(test, assert_instr(fmax))]
24452pub fn svmax_n_f64_x(pg: svbool_t, op1: svfloat64_t, op2: f64) -> svfloat64_t {
24453 svmax_f64_x(pg, op1, svdup_n_f64(op2))
24454}
24455#[doc = "Maximum"]
24456#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmax[_f64]_z)"]
24457#[inline]
24458#[target_feature(enable = "sve")]
24459#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
24460#[cfg_attr(test, assert_instr(fmax))]
24461pub fn svmax_f64_z(pg: svbool_t, op1: svfloat64_t, op2: svfloat64_t) -> svfloat64_t {
24462 svmax_f64_m(pg, svsel_f64(pg, op1, svdup_n_f64(0.0)), op2)
24463}
24464#[doc = "Maximum"]
24465#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmax[_n_f64]_z)"]
24466#[inline]
24467#[target_feature(enable = "sve")]
24468#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
24469#[cfg_attr(test, assert_instr(fmax))]
24470pub fn svmax_n_f64_z(pg: svbool_t, op1: svfloat64_t, op2: f64) -> svfloat64_t {
24471 svmax_f64_z(pg, op1, svdup_n_f64(op2))
24472}
24473#[doc = "Maximum"]
24474#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmax[_s8]_m)"]
24475#[inline]
24476#[target_feature(enable = "sve")]
24477#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
24478#[cfg_attr(test, assert_instr(smax))]
24479pub fn svmax_s8_m(pg: svbool_t, op1: svint8_t, op2: svint8_t) -> svint8_t {
24480 unsafe extern "unadjusted" {
24481 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.smax.nxv16i8")]
24482 fn _svmax_s8_m(pg: svbool_t, op1: svint8_t, op2: svint8_t) -> svint8_t;
24483 }
24484 unsafe { _svmax_s8_m(pg, op1, op2) }
24485}
24486#[doc = "Maximum"]
24487#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmax[_n_s8]_m)"]
24488#[inline]
24489#[target_feature(enable = "sve")]
24490#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
24491#[cfg_attr(test, assert_instr(smax))]
24492pub fn svmax_n_s8_m(pg: svbool_t, op1: svint8_t, op2: i8) -> svint8_t {
24493 svmax_s8_m(pg, op1, svdup_n_s8(op2))
24494}
24495#[doc = "Maximum"]
24496#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmax[_s8]_x)"]
24497#[inline]
24498#[target_feature(enable = "sve")]
24499#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
24500#[cfg_attr(test, assert_instr(smax))]
24501pub fn svmax_s8_x(pg: svbool_t, op1: svint8_t, op2: svint8_t) -> svint8_t {
24502 svmax_s8_m(pg, op1, op2)
24503}
24504#[doc = "Maximum"]
24505#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmax[_n_s8]_x)"]
24506#[inline]
24507#[target_feature(enable = "sve")]
24508#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
24509#[cfg_attr(test, assert_instr(smax))]
24510pub fn svmax_n_s8_x(pg: svbool_t, op1: svint8_t, op2: i8) -> svint8_t {
24511 svmax_s8_x(pg, op1, svdup_n_s8(op2))
24512}
24513#[doc = "Maximum"]
24514#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmax[_s8]_z)"]
24515#[inline]
24516#[target_feature(enable = "sve")]
24517#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
24518#[cfg_attr(test, assert_instr(smax))]
24519pub fn svmax_s8_z(pg: svbool_t, op1: svint8_t, op2: svint8_t) -> svint8_t {
24520 svmax_s8_m(pg, svsel_s8(pg, op1, svdup_n_s8(0)), op2)
24521}
24522#[doc = "Maximum"]
24523#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmax[_n_s8]_z)"]
24524#[inline]
24525#[target_feature(enable = "sve")]
24526#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
24527#[cfg_attr(test, assert_instr(smax))]
24528pub fn svmax_n_s8_z(pg: svbool_t, op1: svint8_t, op2: i8) -> svint8_t {
24529 svmax_s8_z(pg, op1, svdup_n_s8(op2))
24530}
24531#[doc = "Maximum"]
24532#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmax[_s16]_m)"]
24533#[inline]
24534#[target_feature(enable = "sve")]
24535#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
24536#[cfg_attr(test, assert_instr(smax))]
24537pub fn svmax_s16_m(pg: svbool_t, op1: svint16_t, op2: svint16_t) -> svint16_t {
24538 unsafe extern "unadjusted" {
24539 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.smax.nxv8i16")]
24540 fn _svmax_s16_m(pg: svbool8_t, op1: svint16_t, op2: svint16_t) -> svint16_t;
24541 }
24542 unsafe { _svmax_s16_m(pg.sve_into(), op1, op2) }
24543}
24544#[doc = "Maximum"]
24545#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmax[_n_s16]_m)"]
24546#[inline]
24547#[target_feature(enable = "sve")]
24548#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
24549#[cfg_attr(test, assert_instr(smax))]
24550pub fn svmax_n_s16_m(pg: svbool_t, op1: svint16_t, op2: i16) -> svint16_t {
24551 svmax_s16_m(pg, op1, svdup_n_s16(op2))
24552}
24553#[doc = "Maximum"]
24554#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmax[_s16]_x)"]
24555#[inline]
24556#[target_feature(enable = "sve")]
24557#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
24558#[cfg_attr(test, assert_instr(smax))]
24559pub fn svmax_s16_x(pg: svbool_t, op1: svint16_t, op2: svint16_t) -> svint16_t {
24560 svmax_s16_m(pg, op1, op2)
24561}
24562#[doc = "Maximum"]
24563#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmax[_n_s16]_x)"]
24564#[inline]
24565#[target_feature(enable = "sve")]
24566#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
24567#[cfg_attr(test, assert_instr(smax))]
24568pub fn svmax_n_s16_x(pg: svbool_t, op1: svint16_t, op2: i16) -> svint16_t {
24569 svmax_s16_x(pg, op1, svdup_n_s16(op2))
24570}
24571#[doc = "Maximum"]
24572#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmax[_s16]_z)"]
24573#[inline]
24574#[target_feature(enable = "sve")]
24575#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
24576#[cfg_attr(test, assert_instr(smax))]
24577pub fn svmax_s16_z(pg: svbool_t, op1: svint16_t, op2: svint16_t) -> svint16_t {
24578 svmax_s16_m(pg, svsel_s16(pg, op1, svdup_n_s16(0)), op2)
24579}
24580#[doc = "Maximum"]
24581#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmax[_n_s16]_z)"]
24582#[inline]
24583#[target_feature(enable = "sve")]
24584#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
24585#[cfg_attr(test, assert_instr(smax))]
24586pub fn svmax_n_s16_z(pg: svbool_t, op1: svint16_t, op2: i16) -> svint16_t {
24587 svmax_s16_z(pg, op1, svdup_n_s16(op2))
24588}
24589#[doc = "Maximum"]
24590#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmax[_s32]_m)"]
24591#[inline]
24592#[target_feature(enable = "sve")]
24593#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
24594#[cfg_attr(test, assert_instr(smax))]
24595pub fn svmax_s32_m(pg: svbool_t, op1: svint32_t, op2: svint32_t) -> svint32_t {
24596 unsafe extern "unadjusted" {
24597 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.smax.nxv4i32")]
24598 fn _svmax_s32_m(pg: svbool4_t, op1: svint32_t, op2: svint32_t) -> svint32_t;
24599 }
24600 unsafe { _svmax_s32_m(pg.sve_into(), op1, op2) }
24601}
24602#[doc = "Maximum"]
24603#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmax[_n_s32]_m)"]
24604#[inline]
24605#[target_feature(enable = "sve")]
24606#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
24607#[cfg_attr(test, assert_instr(smax))]
24608pub fn svmax_n_s32_m(pg: svbool_t, op1: svint32_t, op2: i32) -> svint32_t {
24609 svmax_s32_m(pg, op1, svdup_n_s32(op2))
24610}
24611#[doc = "Maximum"]
24612#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmax[_s32]_x)"]
24613#[inline]
24614#[target_feature(enable = "sve")]
24615#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
24616#[cfg_attr(test, assert_instr(smax))]
24617pub fn svmax_s32_x(pg: svbool_t, op1: svint32_t, op2: svint32_t) -> svint32_t {
24618 svmax_s32_m(pg, op1, op2)
24619}
24620#[doc = "Maximum"]
24621#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmax[_n_s32]_x)"]
24622#[inline]
24623#[target_feature(enable = "sve")]
24624#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
24625#[cfg_attr(test, assert_instr(smax))]
24626pub fn svmax_n_s32_x(pg: svbool_t, op1: svint32_t, op2: i32) -> svint32_t {
24627 svmax_s32_x(pg, op1, svdup_n_s32(op2))
24628}
24629#[doc = "Maximum"]
24630#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmax[_s32]_z)"]
24631#[inline]
24632#[target_feature(enable = "sve")]
24633#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
24634#[cfg_attr(test, assert_instr(smax))]
24635pub fn svmax_s32_z(pg: svbool_t, op1: svint32_t, op2: svint32_t) -> svint32_t {
24636 svmax_s32_m(pg, svsel_s32(pg, op1, svdup_n_s32(0)), op2)
24637}
24638#[doc = "Maximum"]
24639#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmax[_n_s32]_z)"]
24640#[inline]
24641#[target_feature(enable = "sve")]
24642#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
24643#[cfg_attr(test, assert_instr(smax))]
24644pub fn svmax_n_s32_z(pg: svbool_t, op1: svint32_t, op2: i32) -> svint32_t {
24645 svmax_s32_z(pg, op1, svdup_n_s32(op2))
24646}
24647#[doc = "Maximum"]
24648#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmax[_s64]_m)"]
24649#[inline]
24650#[target_feature(enable = "sve")]
24651#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
24652#[cfg_attr(test, assert_instr(smax))]
24653pub fn svmax_s64_m(pg: svbool_t, op1: svint64_t, op2: svint64_t) -> svint64_t {
24654 unsafe extern "unadjusted" {
24655 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.smax.nxv2i64")]
24656 fn _svmax_s64_m(pg: svbool2_t, op1: svint64_t, op2: svint64_t) -> svint64_t;
24657 }
24658 unsafe { _svmax_s64_m(pg.sve_into(), op1, op2) }
24659}
24660#[doc = "Maximum"]
24661#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmax[_n_s64]_m)"]
24662#[inline]
24663#[target_feature(enable = "sve")]
24664#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
24665#[cfg_attr(test, assert_instr(smax))]
24666pub fn svmax_n_s64_m(pg: svbool_t, op1: svint64_t, op2: i64) -> svint64_t {
24667 svmax_s64_m(pg, op1, svdup_n_s64(op2))
24668}
24669#[doc = "Maximum"]
24670#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmax[_s64]_x)"]
24671#[inline]
24672#[target_feature(enable = "sve")]
24673#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
24674#[cfg_attr(test, assert_instr(smax))]
24675pub fn svmax_s64_x(pg: svbool_t, op1: svint64_t, op2: svint64_t) -> svint64_t {
24676 svmax_s64_m(pg, op1, op2)
24677}
24678#[doc = "Maximum"]
24679#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmax[_n_s64]_x)"]
24680#[inline]
24681#[target_feature(enable = "sve")]
24682#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
24683#[cfg_attr(test, assert_instr(smax))]
24684pub fn svmax_n_s64_x(pg: svbool_t, op1: svint64_t, op2: i64) -> svint64_t {
24685 svmax_s64_x(pg, op1, svdup_n_s64(op2))
24686}
24687#[doc = "Maximum"]
24688#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmax[_s64]_z)"]
24689#[inline]
24690#[target_feature(enable = "sve")]
24691#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
24692#[cfg_attr(test, assert_instr(smax))]
24693pub fn svmax_s64_z(pg: svbool_t, op1: svint64_t, op2: svint64_t) -> svint64_t {
24694 svmax_s64_m(pg, svsel_s64(pg, op1, svdup_n_s64(0)), op2)
24695}
24696#[doc = "Maximum"]
24697#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmax[_n_s64]_z)"]
24698#[inline]
24699#[target_feature(enable = "sve")]
24700#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
24701#[cfg_attr(test, assert_instr(smax))]
24702pub fn svmax_n_s64_z(pg: svbool_t, op1: svint64_t, op2: i64) -> svint64_t {
24703 svmax_s64_z(pg, op1, svdup_n_s64(op2))
24704}
24705#[doc = "Maximum"]
24706#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmax[_u8]_m)"]
24707#[inline]
24708#[target_feature(enable = "sve")]
24709#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
24710#[cfg_attr(test, assert_instr(umax))]
24711pub fn svmax_u8_m(pg: svbool_t, op1: svuint8_t, op2: svuint8_t) -> svuint8_t {
24712 unsafe extern "unadjusted" {
24713 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.umax.nxv16i8")]
24714 fn _svmax_u8_m(pg: svbool_t, op1: svint8_t, op2: svint8_t) -> svint8_t;
24715 }
24716 unsafe { _svmax_u8_m(pg, op1.as_signed(), op2.as_signed()).as_unsigned() }
24717}
24718#[doc = "Maximum"]
24719#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmax[_n_u8]_m)"]
24720#[inline]
24721#[target_feature(enable = "sve")]
24722#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
24723#[cfg_attr(test, assert_instr(umax))]
24724pub fn svmax_n_u8_m(pg: svbool_t, op1: svuint8_t, op2: u8) -> svuint8_t {
24725 svmax_u8_m(pg, op1, svdup_n_u8(op2))
24726}
24727#[doc = "Maximum"]
24728#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmax[_u8]_x)"]
24729#[inline]
24730#[target_feature(enable = "sve")]
24731#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
24732#[cfg_attr(test, assert_instr(umax))]
24733pub fn svmax_u8_x(pg: svbool_t, op1: svuint8_t, op2: svuint8_t) -> svuint8_t {
24734 svmax_u8_m(pg, op1, op2)
24735}
24736#[doc = "Maximum"]
24737#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmax[_n_u8]_x)"]
24738#[inline]
24739#[target_feature(enable = "sve")]
24740#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
24741#[cfg_attr(test, assert_instr(umax))]
24742pub fn svmax_n_u8_x(pg: svbool_t, op1: svuint8_t, op2: u8) -> svuint8_t {
24743 svmax_u8_x(pg, op1, svdup_n_u8(op2))
24744}
24745#[doc = "Maximum"]
24746#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmax[_u8]_z)"]
24747#[inline]
24748#[target_feature(enable = "sve")]
24749#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
24750#[cfg_attr(test, assert_instr(umax))]
24751pub fn svmax_u8_z(pg: svbool_t, op1: svuint8_t, op2: svuint8_t) -> svuint8_t {
24752 svmax_u8_m(pg, svsel_u8(pg, op1, svdup_n_u8(0)), op2)
24753}
24754#[doc = "Maximum"]
24755#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmax[_n_u8]_z)"]
24756#[inline]
24757#[target_feature(enable = "sve")]
24758#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
24759#[cfg_attr(test, assert_instr(umax))]
24760pub fn svmax_n_u8_z(pg: svbool_t, op1: svuint8_t, op2: u8) -> svuint8_t {
24761 svmax_u8_z(pg, op1, svdup_n_u8(op2))
24762}
24763#[doc = "Maximum"]
24764#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmax[_u16]_m)"]
24765#[inline]
24766#[target_feature(enable = "sve")]
24767#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
24768#[cfg_attr(test, assert_instr(umax))]
24769pub fn svmax_u16_m(pg: svbool_t, op1: svuint16_t, op2: svuint16_t) -> svuint16_t {
24770 unsafe extern "unadjusted" {
24771 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.umax.nxv8i16")]
24772 fn _svmax_u16_m(pg: svbool8_t, op1: svint16_t, op2: svint16_t) -> svint16_t;
24773 }
24774 unsafe { _svmax_u16_m(pg.sve_into(), op1.as_signed(), op2.as_signed()).as_unsigned() }
24775}
24776#[doc = "Maximum"]
24777#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmax[_n_u16]_m)"]
24778#[inline]
24779#[target_feature(enable = "sve")]
24780#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
24781#[cfg_attr(test, assert_instr(umax))]
24782pub fn svmax_n_u16_m(pg: svbool_t, op1: svuint16_t, op2: u16) -> svuint16_t {
24783 svmax_u16_m(pg, op1, svdup_n_u16(op2))
24784}
24785#[doc = "Maximum"]
24786#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmax[_u16]_x)"]
24787#[inline]
24788#[target_feature(enable = "sve")]
24789#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
24790#[cfg_attr(test, assert_instr(umax))]
24791pub fn svmax_u16_x(pg: svbool_t, op1: svuint16_t, op2: svuint16_t) -> svuint16_t {
24792 svmax_u16_m(pg, op1, op2)
24793}
24794#[doc = "Maximum"]
24795#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmax[_n_u16]_x)"]
24796#[inline]
24797#[target_feature(enable = "sve")]
24798#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
24799#[cfg_attr(test, assert_instr(umax))]
24800pub fn svmax_n_u16_x(pg: svbool_t, op1: svuint16_t, op2: u16) -> svuint16_t {
24801 svmax_u16_x(pg, op1, svdup_n_u16(op2))
24802}
24803#[doc = "Maximum"]
24804#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmax[_u16]_z)"]
24805#[inline]
24806#[target_feature(enable = "sve")]
24807#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
24808#[cfg_attr(test, assert_instr(umax))]
24809pub fn svmax_u16_z(pg: svbool_t, op1: svuint16_t, op2: svuint16_t) -> svuint16_t {
24810 svmax_u16_m(pg, svsel_u16(pg, op1, svdup_n_u16(0)), op2)
24811}
24812#[doc = "Maximum"]
24813#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmax[_n_u16]_z)"]
24814#[inline]
24815#[target_feature(enable = "sve")]
24816#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
24817#[cfg_attr(test, assert_instr(umax))]
24818pub fn svmax_n_u16_z(pg: svbool_t, op1: svuint16_t, op2: u16) -> svuint16_t {
24819 svmax_u16_z(pg, op1, svdup_n_u16(op2))
24820}
24821#[doc = "Maximum"]
24822#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmax[_u32]_m)"]
24823#[inline]
24824#[target_feature(enable = "sve")]
24825#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
24826#[cfg_attr(test, assert_instr(umax))]
24827pub fn svmax_u32_m(pg: svbool_t, op1: svuint32_t, op2: svuint32_t) -> svuint32_t {
24828 unsafe extern "unadjusted" {
24829 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.umax.nxv4i32")]
24830 fn _svmax_u32_m(pg: svbool4_t, op1: svint32_t, op2: svint32_t) -> svint32_t;
24831 }
24832 unsafe { _svmax_u32_m(pg.sve_into(), op1.as_signed(), op2.as_signed()).as_unsigned() }
24833}
24834#[doc = "Maximum"]
24835#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmax[_n_u32]_m)"]
24836#[inline]
24837#[target_feature(enable = "sve")]
24838#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
24839#[cfg_attr(test, assert_instr(umax))]
24840pub fn svmax_n_u32_m(pg: svbool_t, op1: svuint32_t, op2: u32) -> svuint32_t {
24841 svmax_u32_m(pg, op1, svdup_n_u32(op2))
24842}
24843#[doc = "Maximum"]
24844#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmax[_u32]_x)"]
24845#[inline]
24846#[target_feature(enable = "sve")]
24847#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
24848#[cfg_attr(test, assert_instr(umax))]
24849pub fn svmax_u32_x(pg: svbool_t, op1: svuint32_t, op2: svuint32_t) -> svuint32_t {
24850 svmax_u32_m(pg, op1, op2)
24851}
24852#[doc = "Maximum"]
24853#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmax[_n_u32]_x)"]
24854#[inline]
24855#[target_feature(enable = "sve")]
24856#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
24857#[cfg_attr(test, assert_instr(umax))]
24858pub fn svmax_n_u32_x(pg: svbool_t, op1: svuint32_t, op2: u32) -> svuint32_t {
24859 svmax_u32_x(pg, op1, svdup_n_u32(op2))
24860}
24861#[doc = "Maximum"]
24862#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmax[_u32]_z)"]
24863#[inline]
24864#[target_feature(enable = "sve")]
24865#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
24866#[cfg_attr(test, assert_instr(umax))]
24867pub fn svmax_u32_z(pg: svbool_t, op1: svuint32_t, op2: svuint32_t) -> svuint32_t {
24868 svmax_u32_m(pg, svsel_u32(pg, op1, svdup_n_u32(0)), op2)
24869}
24870#[doc = "Maximum"]
24871#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmax[_n_u32]_z)"]
24872#[inline]
24873#[target_feature(enable = "sve")]
24874#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
24875#[cfg_attr(test, assert_instr(umax))]
24876pub fn svmax_n_u32_z(pg: svbool_t, op1: svuint32_t, op2: u32) -> svuint32_t {
24877 svmax_u32_z(pg, op1, svdup_n_u32(op2))
24878}
24879#[doc = "Maximum"]
24880#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmax[_u64]_m)"]
24881#[inline]
24882#[target_feature(enable = "sve")]
24883#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
24884#[cfg_attr(test, assert_instr(umax))]
24885pub fn svmax_u64_m(pg: svbool_t, op1: svuint64_t, op2: svuint64_t) -> svuint64_t {
24886 unsafe extern "unadjusted" {
24887 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.umax.nxv2i64")]
24888 fn _svmax_u64_m(pg: svbool2_t, op1: svint64_t, op2: svint64_t) -> svint64_t;
24889 }
24890 unsafe { _svmax_u64_m(pg.sve_into(), op1.as_signed(), op2.as_signed()).as_unsigned() }
24891}
24892#[doc = "Maximum"]
24893#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmax[_n_u64]_m)"]
24894#[inline]
24895#[target_feature(enable = "sve")]
24896#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
24897#[cfg_attr(test, assert_instr(umax))]
24898pub fn svmax_n_u64_m(pg: svbool_t, op1: svuint64_t, op2: u64) -> svuint64_t {
24899 svmax_u64_m(pg, op1, svdup_n_u64(op2))
24900}
24901#[doc = "Maximum"]
24902#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmax[_u64]_x)"]
24903#[inline]
24904#[target_feature(enable = "sve")]
24905#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
24906#[cfg_attr(test, assert_instr(umax))]
24907pub fn svmax_u64_x(pg: svbool_t, op1: svuint64_t, op2: svuint64_t) -> svuint64_t {
24908 svmax_u64_m(pg, op1, op2)
24909}
24910#[doc = "Maximum"]
24911#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmax[_n_u64]_x)"]
24912#[inline]
24913#[target_feature(enable = "sve")]
24914#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
24915#[cfg_attr(test, assert_instr(umax))]
24916pub fn svmax_n_u64_x(pg: svbool_t, op1: svuint64_t, op2: u64) -> svuint64_t {
24917 svmax_u64_x(pg, op1, svdup_n_u64(op2))
24918}
24919#[doc = "Maximum"]
24920#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmax[_u64]_z)"]
24921#[inline]
24922#[target_feature(enable = "sve")]
24923#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
24924#[cfg_attr(test, assert_instr(umax))]
24925pub fn svmax_u64_z(pg: svbool_t, op1: svuint64_t, op2: svuint64_t) -> svuint64_t {
24926 svmax_u64_m(pg, svsel_u64(pg, op1, svdup_n_u64(0)), op2)
24927}
24928#[doc = "Maximum"]
24929#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmax[_n_u64]_z)"]
24930#[inline]
24931#[target_feature(enable = "sve")]
24932#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
24933#[cfg_attr(test, assert_instr(umax))]
24934pub fn svmax_n_u64_z(pg: svbool_t, op1: svuint64_t, op2: u64) -> svuint64_t {
24935 svmax_u64_z(pg, op1, svdup_n_u64(op2))
24936}
24937#[doc = "Maximum number"]
24938#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmaxnm[_f32]_m)"]
24939#[inline]
24940#[target_feature(enable = "sve")]
24941#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
24942#[cfg_attr(test, assert_instr(fmaxnm))]
24943pub fn svmaxnm_f32_m(pg: svbool_t, op1: svfloat32_t, op2: svfloat32_t) -> svfloat32_t {
24944 unsafe extern "unadjusted" {
24945 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.fmaxnm.nxv4f32")]
24946 fn _svmaxnm_f32_m(pg: svbool4_t, op1: svfloat32_t, op2: svfloat32_t) -> svfloat32_t;
24947 }
24948 unsafe { _svmaxnm_f32_m(pg.sve_into(), op1, op2) }
24949}
24950#[doc = "Maximum number"]
24951#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmaxnm[_n_f32]_m)"]
24952#[inline]
24953#[target_feature(enable = "sve")]
24954#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
24955#[cfg_attr(test, assert_instr(fmaxnm))]
24956pub fn svmaxnm_n_f32_m(pg: svbool_t, op1: svfloat32_t, op2: f32) -> svfloat32_t {
24957 svmaxnm_f32_m(pg, op1, svdup_n_f32(op2))
24958}
24959#[doc = "Maximum number"]
24960#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmaxnm[_f32]_x)"]
24961#[inline]
24962#[target_feature(enable = "sve")]
24963#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
24964#[cfg_attr(test, assert_instr(fmaxnm))]
24965pub fn svmaxnm_f32_x(pg: svbool_t, op1: svfloat32_t, op2: svfloat32_t) -> svfloat32_t {
24966 svmaxnm_f32_m(pg, op1, op2)
24967}
24968#[doc = "Maximum number"]
24969#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmaxnm[_n_f32]_x)"]
24970#[inline]
24971#[target_feature(enable = "sve")]
24972#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
24973#[cfg_attr(test, assert_instr(fmaxnm))]
24974pub fn svmaxnm_n_f32_x(pg: svbool_t, op1: svfloat32_t, op2: f32) -> svfloat32_t {
24975 svmaxnm_f32_x(pg, op1, svdup_n_f32(op2))
24976}
24977#[doc = "Maximum number"]
24978#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmaxnm[_f32]_z)"]
24979#[inline]
24980#[target_feature(enable = "sve")]
24981#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
24982#[cfg_attr(test, assert_instr(fmaxnm))]
24983pub fn svmaxnm_f32_z(pg: svbool_t, op1: svfloat32_t, op2: svfloat32_t) -> svfloat32_t {
24984 svmaxnm_f32_m(pg, svsel_f32(pg, op1, svdup_n_f32(0.0)), op2)
24985}
24986#[doc = "Maximum number"]
24987#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmaxnm[_n_f32]_z)"]
24988#[inline]
24989#[target_feature(enable = "sve")]
24990#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
24991#[cfg_attr(test, assert_instr(fmaxnm))]
24992pub fn svmaxnm_n_f32_z(pg: svbool_t, op1: svfloat32_t, op2: f32) -> svfloat32_t {
24993 svmaxnm_f32_z(pg, op1, svdup_n_f32(op2))
24994}
24995#[doc = "Maximum number"]
24996#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmaxnm[_f64]_m)"]
24997#[inline]
24998#[target_feature(enable = "sve")]
24999#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
25000#[cfg_attr(test, assert_instr(fmaxnm))]
25001pub fn svmaxnm_f64_m(pg: svbool_t, op1: svfloat64_t, op2: svfloat64_t) -> svfloat64_t {
25002 unsafe extern "unadjusted" {
25003 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.fmaxnm.nxv2f64")]
25004 fn _svmaxnm_f64_m(pg: svbool2_t, op1: svfloat64_t, op2: svfloat64_t) -> svfloat64_t;
25005 }
25006 unsafe { _svmaxnm_f64_m(pg.sve_into(), op1, op2) }
25007}
25008#[doc = "Maximum number"]
25009#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmaxnm[_n_f64]_m)"]
25010#[inline]
25011#[target_feature(enable = "sve")]
25012#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
25013#[cfg_attr(test, assert_instr(fmaxnm))]
25014pub fn svmaxnm_n_f64_m(pg: svbool_t, op1: svfloat64_t, op2: f64) -> svfloat64_t {
25015 svmaxnm_f64_m(pg, op1, svdup_n_f64(op2))
25016}
25017#[doc = "Maximum number"]
25018#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmaxnm[_f64]_x)"]
25019#[inline]
25020#[target_feature(enable = "sve")]
25021#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
25022#[cfg_attr(test, assert_instr(fmaxnm))]
25023pub fn svmaxnm_f64_x(pg: svbool_t, op1: svfloat64_t, op2: svfloat64_t) -> svfloat64_t {
25024 svmaxnm_f64_m(pg, op1, op2)
25025}
25026#[doc = "Maximum number"]
25027#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmaxnm[_n_f64]_x)"]
25028#[inline]
25029#[target_feature(enable = "sve")]
25030#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
25031#[cfg_attr(test, assert_instr(fmaxnm))]
25032pub fn svmaxnm_n_f64_x(pg: svbool_t, op1: svfloat64_t, op2: f64) -> svfloat64_t {
25033 svmaxnm_f64_x(pg, op1, svdup_n_f64(op2))
25034}
25035#[doc = "Maximum number"]
25036#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmaxnm[_f64]_z)"]
25037#[inline]
25038#[target_feature(enable = "sve")]
25039#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
25040#[cfg_attr(test, assert_instr(fmaxnm))]
25041pub fn svmaxnm_f64_z(pg: svbool_t, op1: svfloat64_t, op2: svfloat64_t) -> svfloat64_t {
25042 svmaxnm_f64_m(pg, svsel_f64(pg, op1, svdup_n_f64(0.0)), op2)
25043}
25044#[doc = "Maximum number"]
25045#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmaxnm[_n_f64]_z)"]
25046#[inline]
25047#[target_feature(enable = "sve")]
25048#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
25049#[cfg_attr(test, assert_instr(fmaxnm))]
25050pub fn svmaxnm_n_f64_z(pg: svbool_t, op1: svfloat64_t, op2: f64) -> svfloat64_t {
25051 svmaxnm_f64_z(pg, op1, svdup_n_f64(op2))
25052}
25053#[doc = "Maximum number reduction to scalar"]
25054#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmaxnmv[_f32])"]
25055#[inline]
25056#[target_feature(enable = "sve")]
25057#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
25058#[cfg_attr(test, assert_instr(fmaxnmv))]
25059pub fn svmaxnmv_f32(pg: svbool_t, op: svfloat32_t) -> f32 {
25060 unsafe extern "unadjusted" {
25061 #[cfg_attr(
25062 target_arch = "aarch64",
25063 link_name = "llvm.aarch64.sve.fmaxnmv.nxv4f32"
25064 )]
25065 fn _svmaxnmv_f32(pg: svbool4_t, op: svfloat32_t) -> f32;
25066 }
25067 unsafe { _svmaxnmv_f32(pg.sve_into(), op) }
25068}
25069#[doc = "Maximum number reduction to scalar"]
25070#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmaxnmv[_f64])"]
25071#[inline]
25072#[target_feature(enable = "sve")]
25073#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
25074#[cfg_attr(test, assert_instr(fmaxnmv))]
25075pub fn svmaxnmv_f64(pg: svbool_t, op: svfloat64_t) -> f64 {
25076 unsafe extern "unadjusted" {
25077 #[cfg_attr(
25078 target_arch = "aarch64",
25079 link_name = "llvm.aarch64.sve.fmaxnmv.nxv2f64"
25080 )]
25081 fn _svmaxnmv_f64(pg: svbool2_t, op: svfloat64_t) -> f64;
25082 }
25083 unsafe { _svmaxnmv_f64(pg.sve_into(), op) }
25084}
25085#[doc = "Maximum reduction to scalar"]
25086#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmaxv[_f32])"]
25087#[inline]
25088#[target_feature(enable = "sve")]
25089#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
25090#[cfg_attr(test, assert_instr(fmaxv))]
25091pub fn svmaxv_f32(pg: svbool_t, op: svfloat32_t) -> f32 {
25092 unsafe extern "unadjusted" {
25093 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.fmaxv.nxv4f32")]
25094 fn _svmaxv_f32(pg: svbool4_t, op: svfloat32_t) -> f32;
25095 }
25096 unsafe { _svmaxv_f32(pg.sve_into(), op) }
25097}
25098#[doc = "Maximum reduction to scalar"]
25099#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmaxv[_f64])"]
25100#[inline]
25101#[target_feature(enable = "sve")]
25102#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
25103#[cfg_attr(test, assert_instr(fmaxv))]
25104pub fn svmaxv_f64(pg: svbool_t, op: svfloat64_t) -> f64 {
25105 unsafe extern "unadjusted" {
25106 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.fmaxv.nxv2f64")]
25107 fn _svmaxv_f64(pg: svbool2_t, op: svfloat64_t) -> f64;
25108 }
25109 unsafe { _svmaxv_f64(pg.sve_into(), op) }
25110}
25111#[doc = "Maximum reduction to scalar"]
25112#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmaxv[_s8])"]
25113#[inline]
25114#[target_feature(enable = "sve")]
25115#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
25116#[cfg_attr(test, assert_instr(smaxv))]
25117pub fn svmaxv_s8(pg: svbool_t, op: svint8_t) -> i8 {
25118 unsafe extern "unadjusted" {
25119 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.smaxv.nxv16i8")]
25120 fn _svmaxv_s8(pg: svbool_t, op: svint8_t) -> i8;
25121 }
25122 unsafe { _svmaxv_s8(pg, op) }
25123}
25124#[doc = "Maximum reduction to scalar"]
25125#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmaxv[_s16])"]
25126#[inline]
25127#[target_feature(enable = "sve")]
25128#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
25129#[cfg_attr(test, assert_instr(smaxv))]
25130pub fn svmaxv_s16(pg: svbool_t, op: svint16_t) -> i16 {
25131 unsafe extern "unadjusted" {
25132 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.smaxv.nxv8i16")]
25133 fn _svmaxv_s16(pg: svbool8_t, op: svint16_t) -> i16;
25134 }
25135 unsafe { _svmaxv_s16(pg.sve_into(), op) }
25136}
25137#[doc = "Maximum reduction to scalar"]
25138#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmaxv[_s32])"]
25139#[inline]
25140#[target_feature(enable = "sve")]
25141#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
25142#[cfg_attr(test, assert_instr(smaxv))]
25143pub fn svmaxv_s32(pg: svbool_t, op: svint32_t) -> i32 {
25144 unsafe extern "unadjusted" {
25145 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.smaxv.nxv4i32")]
25146 fn _svmaxv_s32(pg: svbool4_t, op: svint32_t) -> i32;
25147 }
25148 unsafe { _svmaxv_s32(pg.sve_into(), op) }
25149}
25150#[doc = "Maximum reduction to scalar"]
25151#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmaxv[_s64])"]
25152#[inline]
25153#[target_feature(enable = "sve")]
25154#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
25155#[cfg_attr(test, assert_instr(smaxv))]
25156pub fn svmaxv_s64(pg: svbool_t, op: svint64_t) -> i64 {
25157 unsafe extern "unadjusted" {
25158 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.smaxv.nxv2i64")]
25159 fn _svmaxv_s64(pg: svbool2_t, op: svint64_t) -> i64;
25160 }
25161 unsafe { _svmaxv_s64(pg.sve_into(), op) }
25162}
25163#[doc = "Maximum reduction to scalar"]
25164#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmaxv[_u8])"]
25165#[inline]
25166#[target_feature(enable = "sve")]
25167#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
25168#[cfg_attr(test, assert_instr(umaxv))]
25169pub fn svmaxv_u8(pg: svbool_t, op: svuint8_t) -> u8 {
25170 unsafe extern "unadjusted" {
25171 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.umaxv.nxv16i8")]
25172 fn _svmaxv_u8(pg: svbool_t, op: svint8_t) -> i8;
25173 }
25174 unsafe { _svmaxv_u8(pg, op.as_signed()).as_unsigned() }
25175}
25176#[doc = "Maximum reduction to scalar"]
25177#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmaxv[_u16])"]
25178#[inline]
25179#[target_feature(enable = "sve")]
25180#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
25181#[cfg_attr(test, assert_instr(umaxv))]
25182pub fn svmaxv_u16(pg: svbool_t, op: svuint16_t) -> u16 {
25183 unsafe extern "unadjusted" {
25184 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.umaxv.nxv8i16")]
25185 fn _svmaxv_u16(pg: svbool8_t, op: svint16_t) -> i16;
25186 }
25187 unsafe { _svmaxv_u16(pg.sve_into(), op.as_signed()).as_unsigned() }
25188}
25189#[doc = "Maximum reduction to scalar"]
25190#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmaxv[_u32])"]
25191#[inline]
25192#[target_feature(enable = "sve")]
25193#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
25194#[cfg_attr(test, assert_instr(umaxv))]
25195pub fn svmaxv_u32(pg: svbool_t, op: svuint32_t) -> u32 {
25196 unsafe extern "unadjusted" {
25197 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.umaxv.nxv4i32")]
25198 fn _svmaxv_u32(pg: svbool4_t, op: svint32_t) -> i32;
25199 }
25200 unsafe { _svmaxv_u32(pg.sve_into(), op.as_signed()).as_unsigned() }
25201}
25202#[doc = "Maximum reduction to scalar"]
25203#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmaxv[_u64])"]
25204#[inline]
25205#[target_feature(enable = "sve")]
25206#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
25207#[cfg_attr(test, assert_instr(umaxv))]
25208pub fn svmaxv_u64(pg: svbool_t, op: svuint64_t) -> u64 {
25209 unsafe extern "unadjusted" {
25210 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.umaxv.nxv2i64")]
25211 fn _svmaxv_u64(pg: svbool2_t, op: svint64_t) -> i64;
25212 }
25213 unsafe { _svmaxv_u64(pg.sve_into(), op.as_signed()).as_unsigned() }
25214}
25215#[doc = "Minimum"]
25216#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmin[_f32]_m)"]
25217#[inline]
25218#[target_feature(enable = "sve")]
25219#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
25220#[cfg_attr(test, assert_instr(fmin))]
25221pub fn svmin_f32_m(pg: svbool_t, op1: svfloat32_t, op2: svfloat32_t) -> svfloat32_t {
25222 unsafe extern "unadjusted" {
25223 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.fmin.nxv4f32")]
25224 fn _svmin_f32_m(pg: svbool4_t, op1: svfloat32_t, op2: svfloat32_t) -> svfloat32_t;
25225 }
25226 unsafe { _svmin_f32_m(pg.sve_into(), op1, op2) }
25227}
25228#[doc = "Minimum"]
25229#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmin[_n_f32]_m)"]
25230#[inline]
25231#[target_feature(enable = "sve")]
25232#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
25233#[cfg_attr(test, assert_instr(fmin))]
25234pub fn svmin_n_f32_m(pg: svbool_t, op1: svfloat32_t, op2: f32) -> svfloat32_t {
25235 svmin_f32_m(pg, op1, svdup_n_f32(op2))
25236}
25237#[doc = "Minimum"]
25238#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmin[_f32]_x)"]
25239#[inline]
25240#[target_feature(enable = "sve")]
25241#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
25242#[cfg_attr(test, assert_instr(fmin))]
25243pub fn svmin_f32_x(pg: svbool_t, op1: svfloat32_t, op2: svfloat32_t) -> svfloat32_t {
25244 svmin_f32_m(pg, op1, op2)
25245}
25246#[doc = "Minimum"]
25247#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmin[_n_f32]_x)"]
25248#[inline]
25249#[target_feature(enable = "sve")]
25250#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
25251#[cfg_attr(test, assert_instr(fmin))]
25252pub fn svmin_n_f32_x(pg: svbool_t, op1: svfloat32_t, op2: f32) -> svfloat32_t {
25253 svmin_f32_x(pg, op1, svdup_n_f32(op2))
25254}
25255#[doc = "Minimum"]
25256#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmin[_f32]_z)"]
25257#[inline]
25258#[target_feature(enable = "sve")]
25259#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
25260#[cfg_attr(test, assert_instr(fmin))]
25261pub fn svmin_f32_z(pg: svbool_t, op1: svfloat32_t, op2: svfloat32_t) -> svfloat32_t {
25262 svmin_f32_m(pg, svsel_f32(pg, op1, svdup_n_f32(0.0)), op2)
25263}
25264#[doc = "Minimum"]
25265#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmin[_n_f32]_z)"]
25266#[inline]
25267#[target_feature(enable = "sve")]
25268#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
25269#[cfg_attr(test, assert_instr(fmin))]
25270pub fn svmin_n_f32_z(pg: svbool_t, op1: svfloat32_t, op2: f32) -> svfloat32_t {
25271 svmin_f32_z(pg, op1, svdup_n_f32(op2))
25272}
25273#[doc = "Minimum"]
25274#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmin[_f64]_m)"]
25275#[inline]
25276#[target_feature(enable = "sve")]
25277#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
25278#[cfg_attr(test, assert_instr(fmin))]
25279pub fn svmin_f64_m(pg: svbool_t, op1: svfloat64_t, op2: svfloat64_t) -> svfloat64_t {
25280 unsafe extern "unadjusted" {
25281 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.fmin.nxv2f64")]
25282 fn _svmin_f64_m(pg: svbool2_t, op1: svfloat64_t, op2: svfloat64_t) -> svfloat64_t;
25283 }
25284 unsafe { _svmin_f64_m(pg.sve_into(), op1, op2) }
25285}
25286#[doc = "Minimum"]
25287#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmin[_n_f64]_m)"]
25288#[inline]
25289#[target_feature(enable = "sve")]
25290#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
25291#[cfg_attr(test, assert_instr(fmin))]
25292pub fn svmin_n_f64_m(pg: svbool_t, op1: svfloat64_t, op2: f64) -> svfloat64_t {
25293 svmin_f64_m(pg, op1, svdup_n_f64(op2))
25294}
25295#[doc = "Minimum"]
25296#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmin[_f64]_x)"]
25297#[inline]
25298#[target_feature(enable = "sve")]
25299#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
25300#[cfg_attr(test, assert_instr(fmin))]
25301pub fn svmin_f64_x(pg: svbool_t, op1: svfloat64_t, op2: svfloat64_t) -> svfloat64_t {
25302 svmin_f64_m(pg, op1, op2)
25303}
25304#[doc = "Minimum"]
25305#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmin[_n_f64]_x)"]
25306#[inline]
25307#[target_feature(enable = "sve")]
25308#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
25309#[cfg_attr(test, assert_instr(fmin))]
25310pub fn svmin_n_f64_x(pg: svbool_t, op1: svfloat64_t, op2: f64) -> svfloat64_t {
25311 svmin_f64_x(pg, op1, svdup_n_f64(op2))
25312}
25313#[doc = "Minimum"]
25314#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmin[_f64]_z)"]
25315#[inline]
25316#[target_feature(enable = "sve")]
25317#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
25318#[cfg_attr(test, assert_instr(fmin))]
25319pub fn svmin_f64_z(pg: svbool_t, op1: svfloat64_t, op2: svfloat64_t) -> svfloat64_t {
25320 svmin_f64_m(pg, svsel_f64(pg, op1, svdup_n_f64(0.0)), op2)
25321}
25322#[doc = "Minimum"]
25323#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmin[_n_f64]_z)"]
25324#[inline]
25325#[target_feature(enable = "sve")]
25326#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
25327#[cfg_attr(test, assert_instr(fmin))]
25328pub fn svmin_n_f64_z(pg: svbool_t, op1: svfloat64_t, op2: f64) -> svfloat64_t {
25329 svmin_f64_z(pg, op1, svdup_n_f64(op2))
25330}
25331#[doc = "Minimum"]
25332#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmin[_s8]_m)"]
25333#[inline]
25334#[target_feature(enable = "sve")]
25335#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
25336#[cfg_attr(test, assert_instr(smin))]
25337pub fn svmin_s8_m(pg: svbool_t, op1: svint8_t, op2: svint8_t) -> svint8_t {
25338 unsafe extern "unadjusted" {
25339 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.smin.nxv16i8")]
25340 fn _svmin_s8_m(pg: svbool_t, op1: svint8_t, op2: svint8_t) -> svint8_t;
25341 }
25342 unsafe { _svmin_s8_m(pg, op1, op2) }
25343}
25344#[doc = "Minimum"]
25345#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmin[_n_s8]_m)"]
25346#[inline]
25347#[target_feature(enable = "sve")]
25348#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
25349#[cfg_attr(test, assert_instr(smin))]
25350pub fn svmin_n_s8_m(pg: svbool_t, op1: svint8_t, op2: i8) -> svint8_t {
25351 svmin_s8_m(pg, op1, svdup_n_s8(op2))
25352}
25353#[doc = "Minimum"]
25354#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmin[_s8]_x)"]
25355#[inline]
25356#[target_feature(enable = "sve")]
25357#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
25358#[cfg_attr(test, assert_instr(smin))]
25359pub fn svmin_s8_x(pg: svbool_t, op1: svint8_t, op2: svint8_t) -> svint8_t {
25360 svmin_s8_m(pg, op1, op2)
25361}
25362#[doc = "Minimum"]
25363#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmin[_n_s8]_x)"]
25364#[inline]
25365#[target_feature(enable = "sve")]
25366#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
25367#[cfg_attr(test, assert_instr(smin))]
25368pub fn svmin_n_s8_x(pg: svbool_t, op1: svint8_t, op2: i8) -> svint8_t {
25369 svmin_s8_x(pg, op1, svdup_n_s8(op2))
25370}
25371#[doc = "Minimum"]
25372#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmin[_s8]_z)"]
25373#[inline]
25374#[target_feature(enable = "sve")]
25375#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
25376#[cfg_attr(test, assert_instr(smin))]
25377pub fn svmin_s8_z(pg: svbool_t, op1: svint8_t, op2: svint8_t) -> svint8_t {
25378 svmin_s8_m(pg, svsel_s8(pg, op1, svdup_n_s8(0)), op2)
25379}
25380#[doc = "Minimum"]
25381#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmin[_n_s8]_z)"]
25382#[inline]
25383#[target_feature(enable = "sve")]
25384#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
25385#[cfg_attr(test, assert_instr(smin))]
25386pub fn svmin_n_s8_z(pg: svbool_t, op1: svint8_t, op2: i8) -> svint8_t {
25387 svmin_s8_z(pg, op1, svdup_n_s8(op2))
25388}
25389#[doc = "Minimum"]
25390#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmin[_s16]_m)"]
25391#[inline]
25392#[target_feature(enable = "sve")]
25393#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
25394#[cfg_attr(test, assert_instr(smin))]
25395pub fn svmin_s16_m(pg: svbool_t, op1: svint16_t, op2: svint16_t) -> svint16_t {
25396 unsafe extern "unadjusted" {
25397 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.smin.nxv8i16")]
25398 fn _svmin_s16_m(pg: svbool8_t, op1: svint16_t, op2: svint16_t) -> svint16_t;
25399 }
25400 unsafe { _svmin_s16_m(pg.sve_into(), op1, op2) }
25401}
25402#[doc = "Minimum"]
25403#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmin[_n_s16]_m)"]
25404#[inline]
25405#[target_feature(enable = "sve")]
25406#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
25407#[cfg_attr(test, assert_instr(smin))]
25408pub fn svmin_n_s16_m(pg: svbool_t, op1: svint16_t, op2: i16) -> svint16_t {
25409 svmin_s16_m(pg, op1, svdup_n_s16(op2))
25410}
25411#[doc = "Minimum"]
25412#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmin[_s16]_x)"]
25413#[inline]
25414#[target_feature(enable = "sve")]
25415#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
25416#[cfg_attr(test, assert_instr(smin))]
25417pub fn svmin_s16_x(pg: svbool_t, op1: svint16_t, op2: svint16_t) -> svint16_t {
25418 svmin_s16_m(pg, op1, op2)
25419}
25420#[doc = "Minimum"]
25421#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmin[_n_s16]_x)"]
25422#[inline]
25423#[target_feature(enable = "sve")]
25424#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
25425#[cfg_attr(test, assert_instr(smin))]
25426pub fn svmin_n_s16_x(pg: svbool_t, op1: svint16_t, op2: i16) -> svint16_t {
25427 svmin_s16_x(pg, op1, svdup_n_s16(op2))
25428}
25429#[doc = "Minimum"]
25430#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmin[_s16]_z)"]
25431#[inline]
25432#[target_feature(enable = "sve")]
25433#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
25434#[cfg_attr(test, assert_instr(smin))]
25435pub fn svmin_s16_z(pg: svbool_t, op1: svint16_t, op2: svint16_t) -> svint16_t {
25436 svmin_s16_m(pg, svsel_s16(pg, op1, svdup_n_s16(0)), op2)
25437}
25438#[doc = "Minimum"]
25439#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmin[_n_s16]_z)"]
25440#[inline]
25441#[target_feature(enable = "sve")]
25442#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
25443#[cfg_attr(test, assert_instr(smin))]
25444pub fn svmin_n_s16_z(pg: svbool_t, op1: svint16_t, op2: i16) -> svint16_t {
25445 svmin_s16_z(pg, op1, svdup_n_s16(op2))
25446}
25447#[doc = "Minimum"]
25448#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmin[_s32]_m)"]
25449#[inline]
25450#[target_feature(enable = "sve")]
25451#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
25452#[cfg_attr(test, assert_instr(smin))]
25453pub fn svmin_s32_m(pg: svbool_t, op1: svint32_t, op2: svint32_t) -> svint32_t {
25454 unsafe extern "unadjusted" {
25455 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.smin.nxv4i32")]
25456 fn _svmin_s32_m(pg: svbool4_t, op1: svint32_t, op2: svint32_t) -> svint32_t;
25457 }
25458 unsafe { _svmin_s32_m(pg.sve_into(), op1, op2) }
25459}
25460#[doc = "Minimum"]
25461#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmin[_n_s32]_m)"]
25462#[inline]
25463#[target_feature(enable = "sve")]
25464#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
25465#[cfg_attr(test, assert_instr(smin))]
25466pub fn svmin_n_s32_m(pg: svbool_t, op1: svint32_t, op2: i32) -> svint32_t {
25467 svmin_s32_m(pg, op1, svdup_n_s32(op2))
25468}
25469#[doc = "Minimum"]
25470#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmin[_s32]_x)"]
25471#[inline]
25472#[target_feature(enable = "sve")]
25473#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
25474#[cfg_attr(test, assert_instr(smin))]
25475pub fn svmin_s32_x(pg: svbool_t, op1: svint32_t, op2: svint32_t) -> svint32_t {
25476 svmin_s32_m(pg, op1, op2)
25477}
25478#[doc = "Minimum"]
25479#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmin[_n_s32]_x)"]
25480#[inline]
25481#[target_feature(enable = "sve")]
25482#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
25483#[cfg_attr(test, assert_instr(smin))]
25484pub fn svmin_n_s32_x(pg: svbool_t, op1: svint32_t, op2: i32) -> svint32_t {
25485 svmin_s32_x(pg, op1, svdup_n_s32(op2))
25486}
25487#[doc = "Minimum"]
25488#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmin[_s32]_z)"]
25489#[inline]
25490#[target_feature(enable = "sve")]
25491#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
25492#[cfg_attr(test, assert_instr(smin))]
25493pub fn svmin_s32_z(pg: svbool_t, op1: svint32_t, op2: svint32_t) -> svint32_t {
25494 svmin_s32_m(pg, svsel_s32(pg, op1, svdup_n_s32(0)), op2)
25495}
25496#[doc = "Minimum"]
25497#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmin[_n_s32]_z)"]
25498#[inline]
25499#[target_feature(enable = "sve")]
25500#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
25501#[cfg_attr(test, assert_instr(smin))]
25502pub fn svmin_n_s32_z(pg: svbool_t, op1: svint32_t, op2: i32) -> svint32_t {
25503 svmin_s32_z(pg, op1, svdup_n_s32(op2))
25504}
25505#[doc = "Minimum"]
25506#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmin[_s64]_m)"]
25507#[inline]
25508#[target_feature(enable = "sve")]
25509#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
25510#[cfg_attr(test, assert_instr(smin))]
25511pub fn svmin_s64_m(pg: svbool_t, op1: svint64_t, op2: svint64_t) -> svint64_t {
25512 unsafe extern "unadjusted" {
25513 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.smin.nxv2i64")]
25514 fn _svmin_s64_m(pg: svbool2_t, op1: svint64_t, op2: svint64_t) -> svint64_t;
25515 }
25516 unsafe { _svmin_s64_m(pg.sve_into(), op1, op2) }
25517}
25518#[doc = "Minimum"]
25519#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmin[_n_s64]_m)"]
25520#[inline]
25521#[target_feature(enable = "sve")]
25522#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
25523#[cfg_attr(test, assert_instr(smin))]
25524pub fn svmin_n_s64_m(pg: svbool_t, op1: svint64_t, op2: i64) -> svint64_t {
25525 svmin_s64_m(pg, op1, svdup_n_s64(op2))
25526}
25527#[doc = "Minimum"]
25528#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmin[_s64]_x)"]
25529#[inline]
25530#[target_feature(enable = "sve")]
25531#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
25532#[cfg_attr(test, assert_instr(smin))]
25533pub fn svmin_s64_x(pg: svbool_t, op1: svint64_t, op2: svint64_t) -> svint64_t {
25534 svmin_s64_m(pg, op1, op2)
25535}
25536#[doc = "Minimum"]
25537#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmin[_n_s64]_x)"]
25538#[inline]
25539#[target_feature(enable = "sve")]
25540#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
25541#[cfg_attr(test, assert_instr(smin))]
25542pub fn svmin_n_s64_x(pg: svbool_t, op1: svint64_t, op2: i64) -> svint64_t {
25543 svmin_s64_x(pg, op1, svdup_n_s64(op2))
25544}
25545#[doc = "Minimum"]
25546#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmin[_s64]_z)"]
25547#[inline]
25548#[target_feature(enable = "sve")]
25549#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
25550#[cfg_attr(test, assert_instr(smin))]
25551pub fn svmin_s64_z(pg: svbool_t, op1: svint64_t, op2: svint64_t) -> svint64_t {
25552 svmin_s64_m(pg, svsel_s64(pg, op1, svdup_n_s64(0)), op2)
25553}
25554#[doc = "Minimum"]
25555#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmin[_n_s64]_z)"]
25556#[inline]
25557#[target_feature(enable = "sve")]
25558#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
25559#[cfg_attr(test, assert_instr(smin))]
25560pub fn svmin_n_s64_z(pg: svbool_t, op1: svint64_t, op2: i64) -> svint64_t {
25561 svmin_s64_z(pg, op1, svdup_n_s64(op2))
25562}
25563#[doc = "Minimum"]
25564#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmin[_u8]_m)"]
25565#[inline]
25566#[target_feature(enable = "sve")]
25567#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
25568#[cfg_attr(test, assert_instr(umin))]
25569pub fn svmin_u8_m(pg: svbool_t, op1: svuint8_t, op2: svuint8_t) -> svuint8_t {
25570 unsafe extern "unadjusted" {
25571 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.umin.nxv16i8")]
25572 fn _svmin_u8_m(pg: svbool_t, op1: svint8_t, op2: svint8_t) -> svint8_t;
25573 }
25574 unsafe { _svmin_u8_m(pg, op1.as_signed(), op2.as_signed()).as_unsigned() }
25575}
25576#[doc = "Minimum"]
25577#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmin[_n_u8]_m)"]
25578#[inline]
25579#[target_feature(enable = "sve")]
25580#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
25581#[cfg_attr(test, assert_instr(umin))]
25582pub fn svmin_n_u8_m(pg: svbool_t, op1: svuint8_t, op2: u8) -> svuint8_t {
25583 svmin_u8_m(pg, op1, svdup_n_u8(op2))
25584}
25585#[doc = "Minimum"]
25586#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmin[_u8]_x)"]
25587#[inline]
25588#[target_feature(enable = "sve")]
25589#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
25590#[cfg_attr(test, assert_instr(umin))]
25591pub fn svmin_u8_x(pg: svbool_t, op1: svuint8_t, op2: svuint8_t) -> svuint8_t {
25592 svmin_u8_m(pg, op1, op2)
25593}
25594#[doc = "Minimum"]
25595#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmin[_n_u8]_x)"]
25596#[inline]
25597#[target_feature(enable = "sve")]
25598#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
25599#[cfg_attr(test, assert_instr(umin))]
25600pub fn svmin_n_u8_x(pg: svbool_t, op1: svuint8_t, op2: u8) -> svuint8_t {
25601 svmin_u8_x(pg, op1, svdup_n_u8(op2))
25602}
25603#[doc = "Minimum"]
25604#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmin[_u8]_z)"]
25605#[inline]
25606#[target_feature(enable = "sve")]
25607#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
25608#[cfg_attr(test, assert_instr(umin))]
25609pub fn svmin_u8_z(pg: svbool_t, op1: svuint8_t, op2: svuint8_t) -> svuint8_t {
25610 svmin_u8_m(pg, svsel_u8(pg, op1, svdup_n_u8(0)), op2)
25611}
25612#[doc = "Minimum"]
25613#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmin[_n_u8]_z)"]
25614#[inline]
25615#[target_feature(enable = "sve")]
25616#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
25617#[cfg_attr(test, assert_instr(umin))]
25618pub fn svmin_n_u8_z(pg: svbool_t, op1: svuint8_t, op2: u8) -> svuint8_t {
25619 svmin_u8_z(pg, op1, svdup_n_u8(op2))
25620}
25621#[doc = "Minimum"]
25622#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmin[_u16]_m)"]
25623#[inline]
25624#[target_feature(enable = "sve")]
25625#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
25626#[cfg_attr(test, assert_instr(umin))]
25627pub fn svmin_u16_m(pg: svbool_t, op1: svuint16_t, op2: svuint16_t) -> svuint16_t {
25628 unsafe extern "unadjusted" {
25629 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.umin.nxv8i16")]
25630 fn _svmin_u16_m(pg: svbool8_t, op1: svint16_t, op2: svint16_t) -> svint16_t;
25631 }
25632 unsafe { _svmin_u16_m(pg.sve_into(), op1.as_signed(), op2.as_signed()).as_unsigned() }
25633}
25634#[doc = "Minimum"]
25635#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmin[_n_u16]_m)"]
25636#[inline]
25637#[target_feature(enable = "sve")]
25638#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
25639#[cfg_attr(test, assert_instr(umin))]
25640pub fn svmin_n_u16_m(pg: svbool_t, op1: svuint16_t, op2: u16) -> svuint16_t {
25641 svmin_u16_m(pg, op1, svdup_n_u16(op2))
25642}
25643#[doc = "Minimum"]
25644#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmin[_u16]_x)"]
25645#[inline]
25646#[target_feature(enable = "sve")]
25647#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
25648#[cfg_attr(test, assert_instr(umin))]
25649pub fn svmin_u16_x(pg: svbool_t, op1: svuint16_t, op2: svuint16_t) -> svuint16_t {
25650 svmin_u16_m(pg, op1, op2)
25651}
25652#[doc = "Minimum"]
25653#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmin[_n_u16]_x)"]
25654#[inline]
25655#[target_feature(enable = "sve")]
25656#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
25657#[cfg_attr(test, assert_instr(umin))]
25658pub fn svmin_n_u16_x(pg: svbool_t, op1: svuint16_t, op2: u16) -> svuint16_t {
25659 svmin_u16_x(pg, op1, svdup_n_u16(op2))
25660}
25661#[doc = "Minimum"]
25662#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmin[_u16]_z)"]
25663#[inline]
25664#[target_feature(enable = "sve")]
25665#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
25666#[cfg_attr(test, assert_instr(umin))]
25667pub fn svmin_u16_z(pg: svbool_t, op1: svuint16_t, op2: svuint16_t) -> svuint16_t {
25668 svmin_u16_m(pg, svsel_u16(pg, op1, svdup_n_u16(0)), op2)
25669}
25670#[doc = "Minimum"]
25671#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmin[_n_u16]_z)"]
25672#[inline]
25673#[target_feature(enable = "sve")]
25674#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
25675#[cfg_attr(test, assert_instr(umin))]
25676pub fn svmin_n_u16_z(pg: svbool_t, op1: svuint16_t, op2: u16) -> svuint16_t {
25677 svmin_u16_z(pg, op1, svdup_n_u16(op2))
25678}
25679#[doc = "Minimum"]
25680#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmin[_u32]_m)"]
25681#[inline]
25682#[target_feature(enable = "sve")]
25683#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
25684#[cfg_attr(test, assert_instr(umin))]
25685pub fn svmin_u32_m(pg: svbool_t, op1: svuint32_t, op2: svuint32_t) -> svuint32_t {
25686 unsafe extern "unadjusted" {
25687 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.umin.nxv4i32")]
25688 fn _svmin_u32_m(pg: svbool4_t, op1: svint32_t, op2: svint32_t) -> svint32_t;
25689 }
25690 unsafe { _svmin_u32_m(pg.sve_into(), op1.as_signed(), op2.as_signed()).as_unsigned() }
25691}
25692#[doc = "Minimum"]
25693#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmin[_n_u32]_m)"]
25694#[inline]
25695#[target_feature(enable = "sve")]
25696#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
25697#[cfg_attr(test, assert_instr(umin))]
25698pub fn svmin_n_u32_m(pg: svbool_t, op1: svuint32_t, op2: u32) -> svuint32_t {
25699 svmin_u32_m(pg, op1, svdup_n_u32(op2))
25700}
25701#[doc = "Minimum"]
25702#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmin[_u32]_x)"]
25703#[inline]
25704#[target_feature(enable = "sve")]
25705#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
25706#[cfg_attr(test, assert_instr(umin))]
25707pub fn svmin_u32_x(pg: svbool_t, op1: svuint32_t, op2: svuint32_t) -> svuint32_t {
25708 svmin_u32_m(pg, op1, op2)
25709}
25710#[doc = "Minimum"]
25711#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmin[_n_u32]_x)"]
25712#[inline]
25713#[target_feature(enable = "sve")]
25714#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
25715#[cfg_attr(test, assert_instr(umin))]
25716pub fn svmin_n_u32_x(pg: svbool_t, op1: svuint32_t, op2: u32) -> svuint32_t {
25717 svmin_u32_x(pg, op1, svdup_n_u32(op2))
25718}
25719#[doc = "Minimum"]
25720#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmin[_u32]_z)"]
25721#[inline]
25722#[target_feature(enable = "sve")]
25723#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
25724#[cfg_attr(test, assert_instr(umin))]
25725pub fn svmin_u32_z(pg: svbool_t, op1: svuint32_t, op2: svuint32_t) -> svuint32_t {
25726 svmin_u32_m(pg, svsel_u32(pg, op1, svdup_n_u32(0)), op2)
25727}
25728#[doc = "Minimum"]
25729#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmin[_n_u32]_z)"]
25730#[inline]
25731#[target_feature(enable = "sve")]
25732#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
25733#[cfg_attr(test, assert_instr(umin))]
25734pub fn svmin_n_u32_z(pg: svbool_t, op1: svuint32_t, op2: u32) -> svuint32_t {
25735 svmin_u32_z(pg, op1, svdup_n_u32(op2))
25736}
25737#[doc = "Minimum"]
25738#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmin[_u64]_m)"]
25739#[inline]
25740#[target_feature(enable = "sve")]
25741#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
25742#[cfg_attr(test, assert_instr(umin))]
25743pub fn svmin_u64_m(pg: svbool_t, op1: svuint64_t, op2: svuint64_t) -> svuint64_t {
25744 unsafe extern "unadjusted" {
25745 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.umin.nxv2i64")]
25746 fn _svmin_u64_m(pg: svbool2_t, op1: svint64_t, op2: svint64_t) -> svint64_t;
25747 }
25748 unsafe { _svmin_u64_m(pg.sve_into(), op1.as_signed(), op2.as_signed()).as_unsigned() }
25749}
25750#[doc = "Minimum"]
25751#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmin[_n_u64]_m)"]
25752#[inline]
25753#[target_feature(enable = "sve")]
25754#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
25755#[cfg_attr(test, assert_instr(umin))]
25756pub fn svmin_n_u64_m(pg: svbool_t, op1: svuint64_t, op2: u64) -> svuint64_t {
25757 svmin_u64_m(pg, op1, svdup_n_u64(op2))
25758}
25759#[doc = "Minimum"]
25760#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmin[_u64]_x)"]
25761#[inline]
25762#[target_feature(enable = "sve")]
25763#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
25764#[cfg_attr(test, assert_instr(umin))]
25765pub fn svmin_u64_x(pg: svbool_t, op1: svuint64_t, op2: svuint64_t) -> svuint64_t {
25766 svmin_u64_m(pg, op1, op2)
25767}
25768#[doc = "Minimum"]
25769#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmin[_n_u64]_x)"]
25770#[inline]
25771#[target_feature(enable = "sve")]
25772#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
25773#[cfg_attr(test, assert_instr(umin))]
25774pub fn svmin_n_u64_x(pg: svbool_t, op1: svuint64_t, op2: u64) -> svuint64_t {
25775 svmin_u64_x(pg, op1, svdup_n_u64(op2))
25776}
25777#[doc = "Minimum"]
25778#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmin[_u64]_z)"]
25779#[inline]
25780#[target_feature(enable = "sve")]
25781#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
25782#[cfg_attr(test, assert_instr(umin))]
25783pub fn svmin_u64_z(pg: svbool_t, op1: svuint64_t, op2: svuint64_t) -> svuint64_t {
25784 svmin_u64_m(pg, svsel_u64(pg, op1, svdup_n_u64(0)), op2)
25785}
25786#[doc = "Minimum"]
25787#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmin[_n_u64]_z)"]
25788#[inline]
25789#[target_feature(enable = "sve")]
25790#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
25791#[cfg_attr(test, assert_instr(umin))]
25792pub fn svmin_n_u64_z(pg: svbool_t, op1: svuint64_t, op2: u64) -> svuint64_t {
25793 svmin_u64_z(pg, op1, svdup_n_u64(op2))
25794}
25795#[doc = "Minimum number"]
25796#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svminnm[_f32]_m)"]
25797#[inline]
25798#[target_feature(enable = "sve")]
25799#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
25800#[cfg_attr(test, assert_instr(fminnm))]
25801pub fn svminnm_f32_m(pg: svbool_t, op1: svfloat32_t, op2: svfloat32_t) -> svfloat32_t {
25802 unsafe extern "unadjusted" {
25803 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.fminnm.nxv4f32")]
25804 fn _svminnm_f32_m(pg: svbool4_t, op1: svfloat32_t, op2: svfloat32_t) -> svfloat32_t;
25805 }
25806 unsafe { _svminnm_f32_m(pg.sve_into(), op1, op2) }
25807}
25808#[doc = "Minimum number"]
25809#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svminnm[_n_f32]_m)"]
25810#[inline]
25811#[target_feature(enable = "sve")]
25812#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
25813#[cfg_attr(test, assert_instr(fminnm))]
25814pub fn svminnm_n_f32_m(pg: svbool_t, op1: svfloat32_t, op2: f32) -> svfloat32_t {
25815 svminnm_f32_m(pg, op1, svdup_n_f32(op2))
25816}
25817#[doc = "Minimum number"]
25818#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svminnm[_f32]_x)"]
25819#[inline]
25820#[target_feature(enable = "sve")]
25821#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
25822#[cfg_attr(test, assert_instr(fminnm))]
25823pub fn svminnm_f32_x(pg: svbool_t, op1: svfloat32_t, op2: svfloat32_t) -> svfloat32_t {
25824 svminnm_f32_m(pg, op1, op2)
25825}
25826#[doc = "Minimum number"]
25827#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svminnm[_n_f32]_x)"]
25828#[inline]
25829#[target_feature(enable = "sve")]
25830#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
25831#[cfg_attr(test, assert_instr(fminnm))]
25832pub fn svminnm_n_f32_x(pg: svbool_t, op1: svfloat32_t, op2: f32) -> svfloat32_t {
25833 svminnm_f32_x(pg, op1, svdup_n_f32(op2))
25834}
25835#[doc = "Minimum number"]
25836#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svminnm[_f32]_z)"]
25837#[inline]
25838#[target_feature(enable = "sve")]
25839#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
25840#[cfg_attr(test, assert_instr(fminnm))]
25841pub fn svminnm_f32_z(pg: svbool_t, op1: svfloat32_t, op2: svfloat32_t) -> svfloat32_t {
25842 svminnm_f32_m(pg, svsel_f32(pg, op1, svdup_n_f32(0.0)), op2)
25843}
25844#[doc = "Minimum number"]
25845#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svminnm[_n_f32]_z)"]
25846#[inline]
25847#[target_feature(enable = "sve")]
25848#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
25849#[cfg_attr(test, assert_instr(fminnm))]
25850pub fn svminnm_n_f32_z(pg: svbool_t, op1: svfloat32_t, op2: f32) -> svfloat32_t {
25851 svminnm_f32_z(pg, op1, svdup_n_f32(op2))
25852}
25853#[doc = "Minimum number"]
25854#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svminnm[_f64]_m)"]
25855#[inline]
25856#[target_feature(enable = "sve")]
25857#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
25858#[cfg_attr(test, assert_instr(fminnm))]
25859pub fn svminnm_f64_m(pg: svbool_t, op1: svfloat64_t, op2: svfloat64_t) -> svfloat64_t {
25860 unsafe extern "unadjusted" {
25861 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.fminnm.nxv2f64")]
25862 fn _svminnm_f64_m(pg: svbool2_t, op1: svfloat64_t, op2: svfloat64_t) -> svfloat64_t;
25863 }
25864 unsafe { _svminnm_f64_m(pg.sve_into(), op1, op2) }
25865}
25866#[doc = "Minimum number"]
25867#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svminnm[_n_f64]_m)"]
25868#[inline]
25869#[target_feature(enable = "sve")]
25870#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
25871#[cfg_attr(test, assert_instr(fminnm))]
25872pub fn svminnm_n_f64_m(pg: svbool_t, op1: svfloat64_t, op2: f64) -> svfloat64_t {
25873 svminnm_f64_m(pg, op1, svdup_n_f64(op2))
25874}
25875#[doc = "Minimum number"]
25876#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svminnm[_f64]_x)"]
25877#[inline]
25878#[target_feature(enable = "sve")]
25879#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
25880#[cfg_attr(test, assert_instr(fminnm))]
25881pub fn svminnm_f64_x(pg: svbool_t, op1: svfloat64_t, op2: svfloat64_t) -> svfloat64_t {
25882 svminnm_f64_m(pg, op1, op2)
25883}
25884#[doc = "Minimum number"]
25885#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svminnm[_n_f64]_x)"]
25886#[inline]
25887#[target_feature(enable = "sve")]
25888#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
25889#[cfg_attr(test, assert_instr(fminnm))]
25890pub fn svminnm_n_f64_x(pg: svbool_t, op1: svfloat64_t, op2: f64) -> svfloat64_t {
25891 svminnm_f64_x(pg, op1, svdup_n_f64(op2))
25892}
25893#[doc = "Minimum number"]
25894#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svminnm[_f64]_z)"]
25895#[inline]
25896#[target_feature(enable = "sve")]
25897#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
25898#[cfg_attr(test, assert_instr(fminnm))]
25899pub fn svminnm_f64_z(pg: svbool_t, op1: svfloat64_t, op2: svfloat64_t) -> svfloat64_t {
25900 svminnm_f64_m(pg, svsel_f64(pg, op1, svdup_n_f64(0.0)), op2)
25901}
25902#[doc = "Minimum number"]
25903#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svminnm[_n_f64]_z)"]
25904#[inline]
25905#[target_feature(enable = "sve")]
25906#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
25907#[cfg_attr(test, assert_instr(fminnm))]
25908pub fn svminnm_n_f64_z(pg: svbool_t, op1: svfloat64_t, op2: f64) -> svfloat64_t {
25909 svminnm_f64_z(pg, op1, svdup_n_f64(op2))
25910}
25911#[doc = "Minimum number reduction to scalar"]
25912#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svminnmv[_f32])"]
25913#[inline]
25914#[target_feature(enable = "sve")]
25915#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
25916#[cfg_attr(test, assert_instr(fminnmv))]
25917pub fn svminnmv_f32(pg: svbool_t, op: svfloat32_t) -> f32 {
25918 unsafe extern "unadjusted" {
25919 #[cfg_attr(
25920 target_arch = "aarch64",
25921 link_name = "llvm.aarch64.sve.fminnmv.nxv4f32"
25922 )]
25923 fn _svminnmv_f32(pg: svbool4_t, op: svfloat32_t) -> f32;
25924 }
25925 unsafe { _svminnmv_f32(pg.sve_into(), op) }
25926}
25927#[doc = "Minimum number reduction to scalar"]
25928#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svminnmv[_f64])"]
25929#[inline]
25930#[target_feature(enable = "sve")]
25931#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
25932#[cfg_attr(test, assert_instr(fminnmv))]
25933pub fn svminnmv_f64(pg: svbool_t, op: svfloat64_t) -> f64 {
25934 unsafe extern "unadjusted" {
25935 #[cfg_attr(
25936 target_arch = "aarch64",
25937 link_name = "llvm.aarch64.sve.fminnmv.nxv2f64"
25938 )]
25939 fn _svminnmv_f64(pg: svbool2_t, op: svfloat64_t) -> f64;
25940 }
25941 unsafe { _svminnmv_f64(pg.sve_into(), op) }
25942}
25943#[doc = "Minimum reduction to scalar"]
25944#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svminv[_f32])"]
25945#[inline]
25946#[target_feature(enable = "sve")]
25947#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
25948#[cfg_attr(test, assert_instr(fminv))]
25949pub fn svminv_f32(pg: svbool_t, op: svfloat32_t) -> f32 {
25950 unsafe extern "unadjusted" {
25951 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.fminv.nxv4f32")]
25952 fn _svminv_f32(pg: svbool4_t, op: svfloat32_t) -> f32;
25953 }
25954 unsafe { _svminv_f32(pg.sve_into(), op) }
25955}
25956#[doc = "Minimum reduction to scalar"]
25957#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svminv[_f64])"]
25958#[inline]
25959#[target_feature(enable = "sve")]
25960#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
25961#[cfg_attr(test, assert_instr(fminv))]
25962pub fn svminv_f64(pg: svbool_t, op: svfloat64_t) -> f64 {
25963 unsafe extern "unadjusted" {
25964 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.fminv.nxv2f64")]
25965 fn _svminv_f64(pg: svbool2_t, op: svfloat64_t) -> f64;
25966 }
25967 unsafe { _svminv_f64(pg.sve_into(), op) }
25968}
25969#[doc = "Minimum reduction to scalar"]
25970#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svminv[_s8])"]
25971#[inline]
25972#[target_feature(enable = "sve")]
25973#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
25974#[cfg_attr(test, assert_instr(sminv))]
25975pub fn svminv_s8(pg: svbool_t, op: svint8_t) -> i8 {
25976 unsafe extern "unadjusted" {
25977 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.sminv.nxv16i8")]
25978 fn _svminv_s8(pg: svbool_t, op: svint8_t) -> i8;
25979 }
25980 unsafe { _svminv_s8(pg, op) }
25981}
25982#[doc = "Minimum reduction to scalar"]
25983#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svminv[_s16])"]
25984#[inline]
25985#[target_feature(enable = "sve")]
25986#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
25987#[cfg_attr(test, assert_instr(sminv))]
25988pub fn svminv_s16(pg: svbool_t, op: svint16_t) -> i16 {
25989 unsafe extern "unadjusted" {
25990 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.sminv.nxv8i16")]
25991 fn _svminv_s16(pg: svbool8_t, op: svint16_t) -> i16;
25992 }
25993 unsafe { _svminv_s16(pg.sve_into(), op) }
25994}
25995#[doc = "Minimum reduction to scalar"]
25996#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svminv[_s32])"]
25997#[inline]
25998#[target_feature(enable = "sve")]
25999#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
26000#[cfg_attr(test, assert_instr(sminv))]
26001pub fn svminv_s32(pg: svbool_t, op: svint32_t) -> i32 {
26002 unsafe extern "unadjusted" {
26003 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.sminv.nxv4i32")]
26004 fn _svminv_s32(pg: svbool4_t, op: svint32_t) -> i32;
26005 }
26006 unsafe { _svminv_s32(pg.sve_into(), op) }
26007}
26008#[doc = "Minimum reduction to scalar"]
26009#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svminv[_s64])"]
26010#[inline]
26011#[target_feature(enable = "sve")]
26012#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
26013#[cfg_attr(test, assert_instr(sminv))]
26014pub fn svminv_s64(pg: svbool_t, op: svint64_t) -> i64 {
26015 unsafe extern "unadjusted" {
26016 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.sminv.nxv2i64")]
26017 fn _svminv_s64(pg: svbool2_t, op: svint64_t) -> i64;
26018 }
26019 unsafe { _svminv_s64(pg.sve_into(), op) }
26020}
26021#[doc = "Minimum reduction to scalar"]
26022#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svminv[_u8])"]
26023#[inline]
26024#[target_feature(enable = "sve")]
26025#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
26026#[cfg_attr(test, assert_instr(uminv))]
26027pub fn svminv_u8(pg: svbool_t, op: svuint8_t) -> u8 {
26028 unsafe extern "unadjusted" {
26029 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.uminv.nxv16i8")]
26030 fn _svminv_u8(pg: svbool_t, op: svint8_t) -> i8;
26031 }
26032 unsafe { _svminv_u8(pg, op.as_signed()).as_unsigned() }
26033}
26034#[doc = "Minimum reduction to scalar"]
26035#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svminv[_u16])"]
26036#[inline]
26037#[target_feature(enable = "sve")]
26038#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
26039#[cfg_attr(test, assert_instr(uminv))]
26040pub fn svminv_u16(pg: svbool_t, op: svuint16_t) -> u16 {
26041 unsafe extern "unadjusted" {
26042 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.uminv.nxv8i16")]
26043 fn _svminv_u16(pg: svbool8_t, op: svint16_t) -> i16;
26044 }
26045 unsafe { _svminv_u16(pg.sve_into(), op.as_signed()).as_unsigned() }
26046}
26047#[doc = "Minimum reduction to scalar"]
26048#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svminv[_u32])"]
26049#[inline]
26050#[target_feature(enable = "sve")]
26051#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
26052#[cfg_attr(test, assert_instr(uminv))]
26053pub fn svminv_u32(pg: svbool_t, op: svuint32_t) -> u32 {
26054 unsafe extern "unadjusted" {
26055 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.uminv.nxv4i32")]
26056 fn _svminv_u32(pg: svbool4_t, op: svint32_t) -> i32;
26057 }
26058 unsafe { _svminv_u32(pg.sve_into(), op.as_signed()).as_unsigned() }
26059}
26060#[doc = "Minimum reduction to scalar"]
26061#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svminv[_u64])"]
26062#[inline]
26063#[target_feature(enable = "sve")]
26064#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
26065#[cfg_attr(test, assert_instr(uminv))]
26066pub fn svminv_u64(pg: svbool_t, op: svuint64_t) -> u64 {
26067 unsafe extern "unadjusted" {
26068 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.uminv.nxv2i64")]
26069 fn _svminv_u64(pg: svbool2_t, op: svint64_t) -> i64;
26070 }
26071 unsafe { _svminv_u64(pg.sve_into(), op.as_signed()).as_unsigned() }
26072}
26073#[doc = "Multiply-add, addend first"]
26074#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmla[_f32]_m)"]
26075#[inline]
26076#[target_feature(enable = "sve")]
26077#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
26078#[cfg_attr(test, assert_instr(fmla))]
26079pub fn svmla_f32_m(
26080 pg: svbool_t,
26081 op1: svfloat32_t,
26082 op2: svfloat32_t,
26083 op3: svfloat32_t,
26084) -> svfloat32_t {
26085 unsafe extern "unadjusted" {
26086 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.fmla.nxv4f32")]
26087 fn _svmla_f32_m(
26088 pg: svbool4_t,
26089 op1: svfloat32_t,
26090 op2: svfloat32_t,
26091 op3: svfloat32_t,
26092 ) -> svfloat32_t;
26093 }
26094 unsafe { _svmla_f32_m(pg.sve_into(), op1, op2, op3) }
26095}
26096#[doc = "Multiply-add, addend first"]
26097#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmla[_n_f32]_m)"]
26098#[inline]
26099#[target_feature(enable = "sve")]
26100#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
26101#[cfg_attr(test, assert_instr(fmla))]
26102pub fn svmla_n_f32_m(pg: svbool_t, op1: svfloat32_t, op2: svfloat32_t, op3: f32) -> svfloat32_t {
26103 svmla_f32_m(pg, op1, op2, svdup_n_f32(op3))
26104}
26105#[doc = "Multiply-add, addend first"]
26106#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmla[_f32]_x)"]
26107#[inline]
26108#[target_feature(enable = "sve")]
26109#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
26110#[cfg_attr(test, assert_instr(fmla))]
26111pub fn svmla_f32_x(
26112 pg: svbool_t,
26113 op1: svfloat32_t,
26114 op2: svfloat32_t,
26115 op3: svfloat32_t,
26116) -> svfloat32_t {
26117 svmla_f32_m(pg, op1, op2, op3)
26118}
26119#[doc = "Multiply-add, addend first"]
26120#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmla[_n_f32]_x)"]
26121#[inline]
26122#[target_feature(enable = "sve")]
26123#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
26124#[cfg_attr(test, assert_instr(fmla))]
26125pub fn svmla_n_f32_x(pg: svbool_t, op1: svfloat32_t, op2: svfloat32_t, op3: f32) -> svfloat32_t {
26126 svmla_f32_x(pg, op1, op2, svdup_n_f32(op3))
26127}
26128#[doc = "Multiply-add, addend first"]
26129#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmla[_f32]_z)"]
26130#[inline]
26131#[target_feature(enable = "sve")]
26132#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
26133#[cfg_attr(test, assert_instr(fmla))]
26134pub fn svmla_f32_z(
26135 pg: svbool_t,
26136 op1: svfloat32_t,
26137 op2: svfloat32_t,
26138 op3: svfloat32_t,
26139) -> svfloat32_t {
26140 svmla_f32_m(pg, svsel_f32(pg, op1, svdup_n_f32(0.0)), op2, op3)
26141}
26142#[doc = "Multiply-add, addend first"]
26143#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmla[_n_f32]_z)"]
26144#[inline]
26145#[target_feature(enable = "sve")]
26146#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
26147#[cfg_attr(test, assert_instr(fmla))]
26148pub fn svmla_n_f32_z(pg: svbool_t, op1: svfloat32_t, op2: svfloat32_t, op3: f32) -> svfloat32_t {
26149 svmla_f32_z(pg, op1, op2, svdup_n_f32(op3))
26150}
26151#[doc = "Multiply-add, addend first"]
26152#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmla[_f64]_m)"]
26153#[inline]
26154#[target_feature(enable = "sve")]
26155#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
26156#[cfg_attr(test, assert_instr(fmla))]
26157pub fn svmla_f64_m(
26158 pg: svbool_t,
26159 op1: svfloat64_t,
26160 op2: svfloat64_t,
26161 op3: svfloat64_t,
26162) -> svfloat64_t {
26163 unsafe extern "unadjusted" {
26164 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.fmla.nxv2f64")]
26165 fn _svmla_f64_m(
26166 pg: svbool2_t,
26167 op1: svfloat64_t,
26168 op2: svfloat64_t,
26169 op3: svfloat64_t,
26170 ) -> svfloat64_t;
26171 }
26172 unsafe { _svmla_f64_m(pg.sve_into(), op1, op2, op3) }
26173}
26174#[doc = "Multiply-add, addend first"]
26175#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmla[_n_f64]_m)"]
26176#[inline]
26177#[target_feature(enable = "sve")]
26178#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
26179#[cfg_attr(test, assert_instr(fmla))]
26180pub fn svmla_n_f64_m(pg: svbool_t, op1: svfloat64_t, op2: svfloat64_t, op3: f64) -> svfloat64_t {
26181 svmla_f64_m(pg, op1, op2, svdup_n_f64(op3))
26182}
26183#[doc = "Multiply-add, addend first"]
26184#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmla[_f64]_x)"]
26185#[inline]
26186#[target_feature(enable = "sve")]
26187#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
26188#[cfg_attr(test, assert_instr(fmla))]
26189pub fn svmla_f64_x(
26190 pg: svbool_t,
26191 op1: svfloat64_t,
26192 op2: svfloat64_t,
26193 op3: svfloat64_t,
26194) -> svfloat64_t {
26195 svmla_f64_m(pg, op1, op2, op3)
26196}
26197#[doc = "Multiply-add, addend first"]
26198#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmla[_n_f64]_x)"]
26199#[inline]
26200#[target_feature(enable = "sve")]
26201#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
26202#[cfg_attr(test, assert_instr(fmla))]
26203pub fn svmla_n_f64_x(pg: svbool_t, op1: svfloat64_t, op2: svfloat64_t, op3: f64) -> svfloat64_t {
26204 svmla_f64_x(pg, op1, op2, svdup_n_f64(op3))
26205}
26206#[doc = "Multiply-add, addend first"]
26207#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmla[_f64]_z)"]
26208#[inline]
26209#[target_feature(enable = "sve")]
26210#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
26211#[cfg_attr(test, assert_instr(fmla))]
26212pub fn svmla_f64_z(
26213 pg: svbool_t,
26214 op1: svfloat64_t,
26215 op2: svfloat64_t,
26216 op3: svfloat64_t,
26217) -> svfloat64_t {
26218 svmla_f64_m(pg, svsel_f64(pg, op1, svdup_n_f64(0.0)), op2, op3)
26219}
26220#[doc = "Multiply-add, addend first"]
26221#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmla[_n_f64]_z)"]
26222#[inline]
26223#[target_feature(enable = "sve")]
26224#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
26225#[cfg_attr(test, assert_instr(fmla))]
26226pub fn svmla_n_f64_z(pg: svbool_t, op1: svfloat64_t, op2: svfloat64_t, op3: f64) -> svfloat64_t {
26227 svmla_f64_z(pg, op1, op2, svdup_n_f64(op3))
26228}
26229#[doc = "Multiply-add, addend first"]
26230#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmla[_s8]_m)"]
26231#[inline]
26232#[target_feature(enable = "sve")]
26233#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
26234#[cfg_attr(test, assert_instr(mla))]
26235pub fn svmla_s8_m(pg: svbool_t, op1: svint8_t, op2: svint8_t, op3: svint8_t) -> svint8_t {
26236 unsafe extern "unadjusted" {
26237 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.mla.nxv16i8")]
26238 fn _svmla_s8_m(pg: svbool_t, op1: svint8_t, op2: svint8_t, op3: svint8_t) -> svint8_t;
26239 }
26240 unsafe { _svmla_s8_m(pg, op1, op2, op3) }
26241}
26242#[doc = "Multiply-add, addend first"]
26243#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmla[_n_s8]_m)"]
26244#[inline]
26245#[target_feature(enable = "sve")]
26246#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
26247#[cfg_attr(test, assert_instr(mla))]
26248pub fn svmla_n_s8_m(pg: svbool_t, op1: svint8_t, op2: svint8_t, op3: i8) -> svint8_t {
26249 svmla_s8_m(pg, op1, op2, svdup_n_s8(op3))
26250}
26251#[doc = "Multiply-add, addend first"]
26252#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmla[_s8]_x)"]
26253#[inline]
26254#[target_feature(enable = "sve")]
26255#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
26256#[cfg_attr(test, assert_instr(mla))]
26257pub fn svmla_s8_x(pg: svbool_t, op1: svint8_t, op2: svint8_t, op3: svint8_t) -> svint8_t {
26258 svmla_s8_m(pg, op1, op2, op3)
26259}
26260#[doc = "Multiply-add, addend first"]
26261#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmla[_n_s8]_x)"]
26262#[inline]
26263#[target_feature(enable = "sve")]
26264#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
26265#[cfg_attr(test, assert_instr(mla))]
26266pub fn svmla_n_s8_x(pg: svbool_t, op1: svint8_t, op2: svint8_t, op3: i8) -> svint8_t {
26267 svmla_s8_x(pg, op1, op2, svdup_n_s8(op3))
26268}
26269#[doc = "Multiply-add, addend first"]
26270#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmla[_s8]_z)"]
26271#[inline]
26272#[target_feature(enable = "sve")]
26273#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
26274#[cfg_attr(test, assert_instr(mla))]
26275pub fn svmla_s8_z(pg: svbool_t, op1: svint8_t, op2: svint8_t, op3: svint8_t) -> svint8_t {
26276 svmla_s8_m(pg, svsel_s8(pg, op1, svdup_n_s8(0)), op2, op3)
26277}
26278#[doc = "Multiply-add, addend first"]
26279#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmla[_n_s8]_z)"]
26280#[inline]
26281#[target_feature(enable = "sve")]
26282#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
26283#[cfg_attr(test, assert_instr(mla))]
26284pub fn svmla_n_s8_z(pg: svbool_t, op1: svint8_t, op2: svint8_t, op3: i8) -> svint8_t {
26285 svmla_s8_z(pg, op1, op2, svdup_n_s8(op3))
26286}
26287#[doc = "Multiply-add, addend first"]
26288#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmla[_s16]_m)"]
26289#[inline]
26290#[target_feature(enable = "sve")]
26291#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
26292#[cfg_attr(test, assert_instr(mla))]
26293pub fn svmla_s16_m(pg: svbool_t, op1: svint16_t, op2: svint16_t, op3: svint16_t) -> svint16_t {
26294 unsafe extern "unadjusted" {
26295 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.mla.nxv8i16")]
26296 fn _svmla_s16_m(pg: svbool8_t, op1: svint16_t, op2: svint16_t, op3: svint16_t)
26297 -> svint16_t;
26298 }
26299 unsafe { _svmla_s16_m(pg.sve_into(), op1, op2, op3) }
26300}
26301#[doc = "Multiply-add, addend first"]
26302#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmla[_n_s16]_m)"]
26303#[inline]
26304#[target_feature(enable = "sve")]
26305#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
26306#[cfg_attr(test, assert_instr(mla))]
26307pub fn svmla_n_s16_m(pg: svbool_t, op1: svint16_t, op2: svint16_t, op3: i16) -> svint16_t {
26308 svmla_s16_m(pg, op1, op2, svdup_n_s16(op3))
26309}
26310#[doc = "Multiply-add, addend first"]
26311#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmla[_s16]_x)"]
26312#[inline]
26313#[target_feature(enable = "sve")]
26314#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
26315#[cfg_attr(test, assert_instr(mla))]
26316pub fn svmla_s16_x(pg: svbool_t, op1: svint16_t, op2: svint16_t, op3: svint16_t) -> svint16_t {
26317 svmla_s16_m(pg, op1, op2, op3)
26318}
26319#[doc = "Multiply-add, addend first"]
26320#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmla[_n_s16]_x)"]
26321#[inline]
26322#[target_feature(enable = "sve")]
26323#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
26324#[cfg_attr(test, assert_instr(mla))]
26325pub fn svmla_n_s16_x(pg: svbool_t, op1: svint16_t, op2: svint16_t, op3: i16) -> svint16_t {
26326 svmla_s16_x(pg, op1, op2, svdup_n_s16(op3))
26327}
26328#[doc = "Multiply-add, addend first"]
26329#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmla[_s16]_z)"]
26330#[inline]
26331#[target_feature(enable = "sve")]
26332#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
26333#[cfg_attr(test, assert_instr(mla))]
26334pub fn svmla_s16_z(pg: svbool_t, op1: svint16_t, op2: svint16_t, op3: svint16_t) -> svint16_t {
26335 svmla_s16_m(pg, svsel_s16(pg, op1, svdup_n_s16(0)), op2, op3)
26336}
26337#[doc = "Multiply-add, addend first"]
26338#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmla[_n_s16]_z)"]
26339#[inline]
26340#[target_feature(enable = "sve")]
26341#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
26342#[cfg_attr(test, assert_instr(mla))]
26343pub fn svmla_n_s16_z(pg: svbool_t, op1: svint16_t, op2: svint16_t, op3: i16) -> svint16_t {
26344 svmla_s16_z(pg, op1, op2, svdup_n_s16(op3))
26345}
26346#[doc = "Multiply-add, addend first"]
26347#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmla[_s32]_m)"]
26348#[inline]
26349#[target_feature(enable = "sve")]
26350#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
26351#[cfg_attr(test, assert_instr(mla))]
26352pub fn svmla_s32_m(pg: svbool_t, op1: svint32_t, op2: svint32_t, op3: svint32_t) -> svint32_t {
26353 unsafe extern "unadjusted" {
26354 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.mla.nxv4i32")]
26355 fn _svmla_s32_m(pg: svbool4_t, op1: svint32_t, op2: svint32_t, op3: svint32_t)
26356 -> svint32_t;
26357 }
26358 unsafe { _svmla_s32_m(pg.sve_into(), op1, op2, op3) }
26359}
26360#[doc = "Multiply-add, addend first"]
26361#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmla[_n_s32]_m)"]
26362#[inline]
26363#[target_feature(enable = "sve")]
26364#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
26365#[cfg_attr(test, assert_instr(mla))]
26366pub fn svmla_n_s32_m(pg: svbool_t, op1: svint32_t, op2: svint32_t, op3: i32) -> svint32_t {
26367 svmla_s32_m(pg, op1, op2, svdup_n_s32(op3))
26368}
26369#[doc = "Multiply-add, addend first"]
26370#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmla[_s32]_x)"]
26371#[inline]
26372#[target_feature(enable = "sve")]
26373#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
26374#[cfg_attr(test, assert_instr(mla))]
26375pub fn svmla_s32_x(pg: svbool_t, op1: svint32_t, op2: svint32_t, op3: svint32_t) -> svint32_t {
26376 svmla_s32_m(pg, op1, op2, op3)
26377}
26378#[doc = "Multiply-add, addend first"]
26379#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmla[_n_s32]_x)"]
26380#[inline]
26381#[target_feature(enable = "sve")]
26382#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
26383#[cfg_attr(test, assert_instr(mla))]
26384pub fn svmla_n_s32_x(pg: svbool_t, op1: svint32_t, op2: svint32_t, op3: i32) -> svint32_t {
26385 svmla_s32_x(pg, op1, op2, svdup_n_s32(op3))
26386}
26387#[doc = "Multiply-add, addend first"]
26388#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmla[_s32]_z)"]
26389#[inline]
26390#[target_feature(enable = "sve")]
26391#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
26392#[cfg_attr(test, assert_instr(mla))]
26393pub fn svmla_s32_z(pg: svbool_t, op1: svint32_t, op2: svint32_t, op3: svint32_t) -> svint32_t {
26394 svmla_s32_m(pg, svsel_s32(pg, op1, svdup_n_s32(0)), op2, op3)
26395}
26396#[doc = "Multiply-add, addend first"]
26397#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmla[_n_s32]_z)"]
26398#[inline]
26399#[target_feature(enable = "sve")]
26400#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
26401#[cfg_attr(test, assert_instr(mla))]
26402pub fn svmla_n_s32_z(pg: svbool_t, op1: svint32_t, op2: svint32_t, op3: i32) -> svint32_t {
26403 svmla_s32_z(pg, op1, op2, svdup_n_s32(op3))
26404}
26405#[doc = "Multiply-add, addend first"]
26406#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmla[_s64]_m)"]
26407#[inline]
26408#[target_feature(enable = "sve")]
26409#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
26410#[cfg_attr(test, assert_instr(mla))]
26411pub fn svmla_s64_m(pg: svbool_t, op1: svint64_t, op2: svint64_t, op3: svint64_t) -> svint64_t {
26412 unsafe extern "unadjusted" {
26413 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.mla.nxv2i64")]
26414 fn _svmla_s64_m(pg: svbool2_t, op1: svint64_t, op2: svint64_t, op3: svint64_t)
26415 -> svint64_t;
26416 }
26417 unsafe { _svmla_s64_m(pg.sve_into(), op1, op2, op3) }
26418}
26419#[doc = "Multiply-add, addend first"]
26420#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmla[_n_s64]_m)"]
26421#[inline]
26422#[target_feature(enable = "sve")]
26423#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
26424#[cfg_attr(test, assert_instr(mla))]
26425pub fn svmla_n_s64_m(pg: svbool_t, op1: svint64_t, op2: svint64_t, op3: i64) -> svint64_t {
26426 svmla_s64_m(pg, op1, op2, svdup_n_s64(op3))
26427}
26428#[doc = "Multiply-add, addend first"]
26429#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmla[_s64]_x)"]
26430#[inline]
26431#[target_feature(enable = "sve")]
26432#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
26433#[cfg_attr(test, assert_instr(mla))]
26434pub fn svmla_s64_x(pg: svbool_t, op1: svint64_t, op2: svint64_t, op3: svint64_t) -> svint64_t {
26435 svmla_s64_m(pg, op1, op2, op3)
26436}
26437#[doc = "Multiply-add, addend first"]
26438#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmla[_n_s64]_x)"]
26439#[inline]
26440#[target_feature(enable = "sve")]
26441#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
26442#[cfg_attr(test, assert_instr(mla))]
26443pub fn svmla_n_s64_x(pg: svbool_t, op1: svint64_t, op2: svint64_t, op3: i64) -> svint64_t {
26444 svmla_s64_x(pg, op1, op2, svdup_n_s64(op3))
26445}
26446#[doc = "Multiply-add, addend first"]
26447#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmla[_s64]_z)"]
26448#[inline]
26449#[target_feature(enable = "sve")]
26450#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
26451#[cfg_attr(test, assert_instr(mla))]
26452pub fn svmla_s64_z(pg: svbool_t, op1: svint64_t, op2: svint64_t, op3: svint64_t) -> svint64_t {
26453 svmla_s64_m(pg, svsel_s64(pg, op1, svdup_n_s64(0)), op2, op3)
26454}
26455#[doc = "Multiply-add, addend first"]
26456#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmla[_n_s64]_z)"]
26457#[inline]
26458#[target_feature(enable = "sve")]
26459#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
26460#[cfg_attr(test, assert_instr(mla))]
26461pub fn svmla_n_s64_z(pg: svbool_t, op1: svint64_t, op2: svint64_t, op3: i64) -> svint64_t {
26462 svmla_s64_z(pg, op1, op2, svdup_n_s64(op3))
26463}
26464#[doc = "Multiply-add, addend first"]
26465#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmla[_u8]_m)"]
26466#[inline]
26467#[target_feature(enable = "sve")]
26468#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
26469#[cfg_attr(test, assert_instr(mla))]
26470pub fn svmla_u8_m(pg: svbool_t, op1: svuint8_t, op2: svuint8_t, op3: svuint8_t) -> svuint8_t {
26471 unsafe { svmla_s8_m(pg, op1.as_signed(), op2.as_signed(), op3.as_signed()).as_unsigned() }
26472}
26473#[doc = "Multiply-add, addend first"]
26474#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmla[_n_u8]_m)"]
26475#[inline]
26476#[target_feature(enable = "sve")]
26477#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
26478#[cfg_attr(test, assert_instr(mla))]
26479pub fn svmla_n_u8_m(pg: svbool_t, op1: svuint8_t, op2: svuint8_t, op3: u8) -> svuint8_t {
26480 svmla_u8_m(pg, op1, op2, svdup_n_u8(op3))
26481}
26482#[doc = "Multiply-add, addend first"]
26483#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmla[_u8]_x)"]
26484#[inline]
26485#[target_feature(enable = "sve")]
26486#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
26487#[cfg_attr(test, assert_instr(mla))]
26488pub fn svmla_u8_x(pg: svbool_t, op1: svuint8_t, op2: svuint8_t, op3: svuint8_t) -> svuint8_t {
26489 svmla_u8_m(pg, op1, op2, op3)
26490}
26491#[doc = "Multiply-add, addend first"]
26492#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmla[_n_u8]_x)"]
26493#[inline]
26494#[target_feature(enable = "sve")]
26495#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
26496#[cfg_attr(test, assert_instr(mla))]
26497pub fn svmla_n_u8_x(pg: svbool_t, op1: svuint8_t, op2: svuint8_t, op3: u8) -> svuint8_t {
26498 svmla_u8_x(pg, op1, op2, svdup_n_u8(op3))
26499}
26500#[doc = "Multiply-add, addend first"]
26501#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmla[_u8]_z)"]
26502#[inline]
26503#[target_feature(enable = "sve")]
26504#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
26505#[cfg_attr(test, assert_instr(mla))]
26506pub fn svmla_u8_z(pg: svbool_t, op1: svuint8_t, op2: svuint8_t, op3: svuint8_t) -> svuint8_t {
26507 svmla_u8_m(pg, svsel_u8(pg, op1, svdup_n_u8(0)), op2, op3)
26508}
26509#[doc = "Multiply-add, addend first"]
26510#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmla[_n_u8]_z)"]
26511#[inline]
26512#[target_feature(enable = "sve")]
26513#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
26514#[cfg_attr(test, assert_instr(mla))]
26515pub fn svmla_n_u8_z(pg: svbool_t, op1: svuint8_t, op2: svuint8_t, op3: u8) -> svuint8_t {
26516 svmla_u8_z(pg, op1, op2, svdup_n_u8(op3))
26517}
26518#[doc = "Multiply-add, addend first"]
26519#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmla[_u16]_m)"]
26520#[inline]
26521#[target_feature(enable = "sve")]
26522#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
26523#[cfg_attr(test, assert_instr(mla))]
26524pub fn svmla_u16_m(pg: svbool_t, op1: svuint16_t, op2: svuint16_t, op3: svuint16_t) -> svuint16_t {
26525 unsafe { svmla_s16_m(pg, op1.as_signed(), op2.as_signed(), op3.as_signed()).as_unsigned() }
26526}
26527#[doc = "Multiply-add, addend first"]
26528#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmla[_n_u16]_m)"]
26529#[inline]
26530#[target_feature(enable = "sve")]
26531#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
26532#[cfg_attr(test, assert_instr(mla))]
26533pub fn svmla_n_u16_m(pg: svbool_t, op1: svuint16_t, op2: svuint16_t, op3: u16) -> svuint16_t {
26534 svmla_u16_m(pg, op1, op2, svdup_n_u16(op3))
26535}
26536#[doc = "Multiply-add, addend first"]
26537#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmla[_u16]_x)"]
26538#[inline]
26539#[target_feature(enable = "sve")]
26540#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
26541#[cfg_attr(test, assert_instr(mla))]
26542pub fn svmla_u16_x(pg: svbool_t, op1: svuint16_t, op2: svuint16_t, op3: svuint16_t) -> svuint16_t {
26543 svmla_u16_m(pg, op1, op2, op3)
26544}
26545#[doc = "Multiply-add, addend first"]
26546#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmla[_n_u16]_x)"]
26547#[inline]
26548#[target_feature(enable = "sve")]
26549#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
26550#[cfg_attr(test, assert_instr(mla))]
26551pub fn svmla_n_u16_x(pg: svbool_t, op1: svuint16_t, op2: svuint16_t, op3: u16) -> svuint16_t {
26552 svmla_u16_x(pg, op1, op2, svdup_n_u16(op3))
26553}
26554#[doc = "Multiply-add, addend first"]
26555#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmla[_u16]_z)"]
26556#[inline]
26557#[target_feature(enable = "sve")]
26558#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
26559#[cfg_attr(test, assert_instr(mla))]
26560pub fn svmla_u16_z(pg: svbool_t, op1: svuint16_t, op2: svuint16_t, op3: svuint16_t) -> svuint16_t {
26561 svmla_u16_m(pg, svsel_u16(pg, op1, svdup_n_u16(0)), op2, op3)
26562}
26563#[doc = "Multiply-add, addend first"]
26564#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmla[_n_u16]_z)"]
26565#[inline]
26566#[target_feature(enable = "sve")]
26567#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
26568#[cfg_attr(test, assert_instr(mla))]
26569pub fn svmla_n_u16_z(pg: svbool_t, op1: svuint16_t, op2: svuint16_t, op3: u16) -> svuint16_t {
26570 svmla_u16_z(pg, op1, op2, svdup_n_u16(op3))
26571}
26572#[doc = "Multiply-add, addend first"]
26573#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmla[_u32]_m)"]
26574#[inline]
26575#[target_feature(enable = "sve")]
26576#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
26577#[cfg_attr(test, assert_instr(mla))]
26578pub fn svmla_u32_m(pg: svbool_t, op1: svuint32_t, op2: svuint32_t, op3: svuint32_t) -> svuint32_t {
26579 unsafe { svmla_s32_m(pg, op1.as_signed(), op2.as_signed(), op3.as_signed()).as_unsigned() }
26580}
26581#[doc = "Multiply-add, addend first"]
26582#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmla[_n_u32]_m)"]
26583#[inline]
26584#[target_feature(enable = "sve")]
26585#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
26586#[cfg_attr(test, assert_instr(mla))]
26587pub fn svmla_n_u32_m(pg: svbool_t, op1: svuint32_t, op2: svuint32_t, op3: u32) -> svuint32_t {
26588 svmla_u32_m(pg, op1, op2, svdup_n_u32(op3))
26589}
26590#[doc = "Multiply-add, addend first"]
26591#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmla[_u32]_x)"]
26592#[inline]
26593#[target_feature(enable = "sve")]
26594#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
26595#[cfg_attr(test, assert_instr(mla))]
26596pub fn svmla_u32_x(pg: svbool_t, op1: svuint32_t, op2: svuint32_t, op3: svuint32_t) -> svuint32_t {
26597 svmla_u32_m(pg, op1, op2, op3)
26598}
26599#[doc = "Multiply-add, addend first"]
26600#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmla[_n_u32]_x)"]
26601#[inline]
26602#[target_feature(enable = "sve")]
26603#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
26604#[cfg_attr(test, assert_instr(mla))]
26605pub fn svmla_n_u32_x(pg: svbool_t, op1: svuint32_t, op2: svuint32_t, op3: u32) -> svuint32_t {
26606 svmla_u32_x(pg, op1, op2, svdup_n_u32(op3))
26607}
26608#[doc = "Multiply-add, addend first"]
26609#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmla[_u32]_z)"]
26610#[inline]
26611#[target_feature(enable = "sve")]
26612#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
26613#[cfg_attr(test, assert_instr(mla))]
26614pub fn svmla_u32_z(pg: svbool_t, op1: svuint32_t, op2: svuint32_t, op3: svuint32_t) -> svuint32_t {
26615 svmla_u32_m(pg, svsel_u32(pg, op1, svdup_n_u32(0)), op2, op3)
26616}
26617#[doc = "Multiply-add, addend first"]
26618#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmla[_n_u32]_z)"]
26619#[inline]
26620#[target_feature(enable = "sve")]
26621#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
26622#[cfg_attr(test, assert_instr(mla))]
26623pub fn svmla_n_u32_z(pg: svbool_t, op1: svuint32_t, op2: svuint32_t, op3: u32) -> svuint32_t {
26624 svmla_u32_z(pg, op1, op2, svdup_n_u32(op3))
26625}
26626#[doc = "Multiply-add, addend first"]
26627#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmla[_u64]_m)"]
26628#[inline]
26629#[target_feature(enable = "sve")]
26630#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
26631#[cfg_attr(test, assert_instr(mla))]
26632pub fn svmla_u64_m(pg: svbool_t, op1: svuint64_t, op2: svuint64_t, op3: svuint64_t) -> svuint64_t {
26633 unsafe { svmla_s64_m(pg, op1.as_signed(), op2.as_signed(), op3.as_signed()).as_unsigned() }
26634}
26635#[doc = "Multiply-add, addend first"]
26636#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmla[_n_u64]_m)"]
26637#[inline]
26638#[target_feature(enable = "sve")]
26639#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
26640#[cfg_attr(test, assert_instr(mla))]
26641pub fn svmla_n_u64_m(pg: svbool_t, op1: svuint64_t, op2: svuint64_t, op3: u64) -> svuint64_t {
26642 svmla_u64_m(pg, op1, op2, svdup_n_u64(op3))
26643}
26644#[doc = "Multiply-add, addend first"]
26645#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmla[_u64]_x)"]
26646#[inline]
26647#[target_feature(enable = "sve")]
26648#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
26649#[cfg_attr(test, assert_instr(mla))]
26650pub fn svmla_u64_x(pg: svbool_t, op1: svuint64_t, op2: svuint64_t, op3: svuint64_t) -> svuint64_t {
26651 svmla_u64_m(pg, op1, op2, op3)
26652}
26653#[doc = "Multiply-add, addend first"]
26654#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmla[_n_u64]_x)"]
26655#[inline]
26656#[target_feature(enable = "sve")]
26657#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
26658#[cfg_attr(test, assert_instr(mla))]
26659pub fn svmla_n_u64_x(pg: svbool_t, op1: svuint64_t, op2: svuint64_t, op3: u64) -> svuint64_t {
26660 svmla_u64_x(pg, op1, op2, svdup_n_u64(op3))
26661}
26662#[doc = "Multiply-add, addend first"]
26663#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmla[_u64]_z)"]
26664#[inline]
26665#[target_feature(enable = "sve")]
26666#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
26667#[cfg_attr(test, assert_instr(mla))]
26668pub fn svmla_u64_z(pg: svbool_t, op1: svuint64_t, op2: svuint64_t, op3: svuint64_t) -> svuint64_t {
26669 svmla_u64_m(pg, svsel_u64(pg, op1, svdup_n_u64(0)), op2, op3)
26670}
26671#[doc = "Multiply-add, addend first"]
26672#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmla[_n_u64]_z)"]
26673#[inline]
26674#[target_feature(enable = "sve")]
26675#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
26676#[cfg_attr(test, assert_instr(mla))]
26677pub fn svmla_n_u64_z(pg: svbool_t, op1: svuint64_t, op2: svuint64_t, op3: u64) -> svuint64_t {
26678 svmla_u64_z(pg, op1, op2, svdup_n_u64(op3))
26679}
26680#[doc = "Multiply-add, addend first"]
26681#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmla_lane[_f32])"]
26682#[inline]
26683#[target_feature(enable = "sve")]
26684#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
26685#[cfg_attr(test, assert_instr(fmla, IMM_INDEX = 0))]
26686pub fn svmla_lane_f32<const IMM_INDEX: i32>(
26687 op1: svfloat32_t,
26688 op2: svfloat32_t,
26689 op3: svfloat32_t,
26690) -> svfloat32_t {
26691 static_assert_range!(IMM_INDEX, 0..=3);
26692 unsafe extern "unadjusted" {
26693 #[cfg_attr(
26694 target_arch = "aarch64",
26695 link_name = "llvm.aarch64.sve.fmla.lane.nxv4f32"
26696 )]
26697 fn _svmla_lane_f32(
26698 op1: svfloat32_t,
26699 op2: svfloat32_t,
26700 op3: svfloat32_t,
26701 IMM_INDEX: i32,
26702 ) -> svfloat32_t;
26703 }
26704 unsafe { _svmla_lane_f32(op1, op2, op3, IMM_INDEX) }
26705}
26706#[doc = "Multiply-add, addend first"]
26707#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmla_lane[_f64])"]
26708#[inline]
26709#[target_feature(enable = "sve")]
26710#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
26711#[cfg_attr(test, assert_instr(fmla, IMM_INDEX = 0))]
26712pub fn svmla_lane_f64<const IMM_INDEX: i32>(
26713 op1: svfloat64_t,
26714 op2: svfloat64_t,
26715 op3: svfloat64_t,
26716) -> svfloat64_t {
26717 static_assert_range!(IMM_INDEX, 0..=1);
26718 unsafe extern "unadjusted" {
26719 #[cfg_attr(
26720 target_arch = "aarch64",
26721 link_name = "llvm.aarch64.sve.fmla.lane.nxv2f64"
26722 )]
26723 fn _svmla_lane_f64(
26724 op1: svfloat64_t,
26725 op2: svfloat64_t,
26726 op3: svfloat64_t,
26727 IMM_INDEX: i32,
26728 ) -> svfloat64_t;
26729 }
26730 unsafe { _svmla_lane_f64(op1, op2, op3, IMM_INDEX) }
26731}
26732#[doc = "Multiply-subtract, minuend first"]
26733#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmls[_f32]_m)"]
26734#[inline]
26735#[target_feature(enable = "sve")]
26736#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
26737#[cfg_attr(test, assert_instr(fmls))]
26738pub fn svmls_f32_m(
26739 pg: svbool_t,
26740 op1: svfloat32_t,
26741 op2: svfloat32_t,
26742 op3: svfloat32_t,
26743) -> svfloat32_t {
26744 unsafe extern "unadjusted" {
26745 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.fmls.nxv4f32")]
26746 fn _svmls_f32_m(
26747 pg: svbool4_t,
26748 op1: svfloat32_t,
26749 op2: svfloat32_t,
26750 op3: svfloat32_t,
26751 ) -> svfloat32_t;
26752 }
26753 unsafe { _svmls_f32_m(pg.sve_into(), op1, op2, op3) }
26754}
26755#[doc = "Multiply-subtract, minuend first"]
26756#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmls[_n_f32]_m)"]
26757#[inline]
26758#[target_feature(enable = "sve")]
26759#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
26760#[cfg_attr(test, assert_instr(fmls))]
26761pub fn svmls_n_f32_m(pg: svbool_t, op1: svfloat32_t, op2: svfloat32_t, op3: f32) -> svfloat32_t {
26762 svmls_f32_m(pg, op1, op2, svdup_n_f32(op3))
26763}
26764#[doc = "Multiply-subtract, minuend first"]
26765#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmls[_f32]_x)"]
26766#[inline]
26767#[target_feature(enable = "sve")]
26768#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
26769#[cfg_attr(test, assert_instr(fmls))]
26770pub fn svmls_f32_x(
26771 pg: svbool_t,
26772 op1: svfloat32_t,
26773 op2: svfloat32_t,
26774 op3: svfloat32_t,
26775) -> svfloat32_t {
26776 svmls_f32_m(pg, op1, op2, op3)
26777}
26778#[doc = "Multiply-subtract, minuend first"]
26779#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmls[_n_f32]_x)"]
26780#[inline]
26781#[target_feature(enable = "sve")]
26782#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
26783#[cfg_attr(test, assert_instr(fmls))]
26784pub fn svmls_n_f32_x(pg: svbool_t, op1: svfloat32_t, op2: svfloat32_t, op3: f32) -> svfloat32_t {
26785 svmls_f32_x(pg, op1, op2, svdup_n_f32(op3))
26786}
26787#[doc = "Multiply-subtract, minuend first"]
26788#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmls[_f32]_z)"]
26789#[inline]
26790#[target_feature(enable = "sve")]
26791#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
26792#[cfg_attr(test, assert_instr(fmls))]
26793pub fn svmls_f32_z(
26794 pg: svbool_t,
26795 op1: svfloat32_t,
26796 op2: svfloat32_t,
26797 op3: svfloat32_t,
26798) -> svfloat32_t {
26799 svmls_f32_m(pg, svsel_f32(pg, op1, svdup_n_f32(0.0)), op2, op3)
26800}
26801#[doc = "Multiply-subtract, minuend first"]
26802#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmls[_n_f32]_z)"]
26803#[inline]
26804#[target_feature(enable = "sve")]
26805#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
26806#[cfg_attr(test, assert_instr(fmls))]
26807pub fn svmls_n_f32_z(pg: svbool_t, op1: svfloat32_t, op2: svfloat32_t, op3: f32) -> svfloat32_t {
26808 svmls_f32_z(pg, op1, op2, svdup_n_f32(op3))
26809}
26810#[doc = "Multiply-subtract, minuend first"]
26811#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmls[_f64]_m)"]
26812#[inline]
26813#[target_feature(enable = "sve")]
26814#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
26815#[cfg_attr(test, assert_instr(fmls))]
26816pub fn svmls_f64_m(
26817 pg: svbool_t,
26818 op1: svfloat64_t,
26819 op2: svfloat64_t,
26820 op3: svfloat64_t,
26821) -> svfloat64_t {
26822 unsafe extern "unadjusted" {
26823 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.fmls.nxv2f64")]
26824 fn _svmls_f64_m(
26825 pg: svbool2_t,
26826 op1: svfloat64_t,
26827 op2: svfloat64_t,
26828 op3: svfloat64_t,
26829 ) -> svfloat64_t;
26830 }
26831 unsafe { _svmls_f64_m(pg.sve_into(), op1, op2, op3) }
26832}
26833#[doc = "Multiply-subtract, minuend first"]
26834#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmls[_n_f64]_m)"]
26835#[inline]
26836#[target_feature(enable = "sve")]
26837#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
26838#[cfg_attr(test, assert_instr(fmls))]
26839pub fn svmls_n_f64_m(pg: svbool_t, op1: svfloat64_t, op2: svfloat64_t, op3: f64) -> svfloat64_t {
26840 svmls_f64_m(pg, op1, op2, svdup_n_f64(op3))
26841}
26842#[doc = "Multiply-subtract, minuend first"]
26843#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmls[_f64]_x)"]
26844#[inline]
26845#[target_feature(enable = "sve")]
26846#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
26847#[cfg_attr(test, assert_instr(fmls))]
26848pub fn svmls_f64_x(
26849 pg: svbool_t,
26850 op1: svfloat64_t,
26851 op2: svfloat64_t,
26852 op3: svfloat64_t,
26853) -> svfloat64_t {
26854 svmls_f64_m(pg, op1, op2, op3)
26855}
26856#[doc = "Multiply-subtract, minuend first"]
26857#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmls[_n_f64]_x)"]
26858#[inline]
26859#[target_feature(enable = "sve")]
26860#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
26861#[cfg_attr(test, assert_instr(fmls))]
26862pub fn svmls_n_f64_x(pg: svbool_t, op1: svfloat64_t, op2: svfloat64_t, op3: f64) -> svfloat64_t {
26863 svmls_f64_x(pg, op1, op2, svdup_n_f64(op3))
26864}
26865#[doc = "Multiply-subtract, minuend first"]
26866#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmls[_f64]_z)"]
26867#[inline]
26868#[target_feature(enable = "sve")]
26869#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
26870#[cfg_attr(test, assert_instr(fmls))]
26871pub fn svmls_f64_z(
26872 pg: svbool_t,
26873 op1: svfloat64_t,
26874 op2: svfloat64_t,
26875 op3: svfloat64_t,
26876) -> svfloat64_t {
26877 svmls_f64_m(pg, svsel_f64(pg, op1, svdup_n_f64(0.0)), op2, op3)
26878}
26879#[doc = "Multiply-subtract, minuend first"]
26880#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmls[_n_f64]_z)"]
26881#[inline]
26882#[target_feature(enable = "sve")]
26883#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
26884#[cfg_attr(test, assert_instr(fmls))]
26885pub fn svmls_n_f64_z(pg: svbool_t, op1: svfloat64_t, op2: svfloat64_t, op3: f64) -> svfloat64_t {
26886 svmls_f64_z(pg, op1, op2, svdup_n_f64(op3))
26887}
26888#[doc = "Multiply-subtract, minuend first"]
26889#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmls[_s8]_m)"]
26890#[inline]
26891#[target_feature(enable = "sve")]
26892#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
26893#[cfg_attr(test, assert_instr(mls))]
26894pub fn svmls_s8_m(pg: svbool_t, op1: svint8_t, op2: svint8_t, op3: svint8_t) -> svint8_t {
26895 unsafe extern "unadjusted" {
26896 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.mls.nxv16i8")]
26897 fn _svmls_s8_m(pg: svbool_t, op1: svint8_t, op2: svint8_t, op3: svint8_t) -> svint8_t;
26898 }
26899 unsafe { _svmls_s8_m(pg, op1, op2, op3) }
26900}
26901#[doc = "Multiply-subtract, minuend first"]
26902#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmls[_n_s8]_m)"]
26903#[inline]
26904#[target_feature(enable = "sve")]
26905#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
26906#[cfg_attr(test, assert_instr(mls))]
26907pub fn svmls_n_s8_m(pg: svbool_t, op1: svint8_t, op2: svint8_t, op3: i8) -> svint8_t {
26908 svmls_s8_m(pg, op1, op2, svdup_n_s8(op3))
26909}
26910#[doc = "Multiply-subtract, minuend first"]
26911#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmls[_s8]_x)"]
26912#[inline]
26913#[target_feature(enable = "sve")]
26914#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
26915#[cfg_attr(test, assert_instr(mls))]
26916pub fn svmls_s8_x(pg: svbool_t, op1: svint8_t, op2: svint8_t, op3: svint8_t) -> svint8_t {
26917 svmls_s8_m(pg, op1, op2, op3)
26918}
26919#[doc = "Multiply-subtract, minuend first"]
26920#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmls[_n_s8]_x)"]
26921#[inline]
26922#[target_feature(enable = "sve")]
26923#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
26924#[cfg_attr(test, assert_instr(mls))]
26925pub fn svmls_n_s8_x(pg: svbool_t, op1: svint8_t, op2: svint8_t, op3: i8) -> svint8_t {
26926 svmls_s8_x(pg, op1, op2, svdup_n_s8(op3))
26927}
26928#[doc = "Multiply-subtract, minuend first"]
26929#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmls[_s8]_z)"]
26930#[inline]
26931#[target_feature(enable = "sve")]
26932#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
26933#[cfg_attr(test, assert_instr(mls))]
26934pub fn svmls_s8_z(pg: svbool_t, op1: svint8_t, op2: svint8_t, op3: svint8_t) -> svint8_t {
26935 svmls_s8_m(pg, svsel_s8(pg, op1, svdup_n_s8(0)), op2, op3)
26936}
26937#[doc = "Multiply-subtract, minuend first"]
26938#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmls[_n_s8]_z)"]
26939#[inline]
26940#[target_feature(enable = "sve")]
26941#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
26942#[cfg_attr(test, assert_instr(mls))]
26943pub fn svmls_n_s8_z(pg: svbool_t, op1: svint8_t, op2: svint8_t, op3: i8) -> svint8_t {
26944 svmls_s8_z(pg, op1, op2, svdup_n_s8(op3))
26945}
26946#[doc = "Multiply-subtract, minuend first"]
26947#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmls[_s16]_m)"]
26948#[inline]
26949#[target_feature(enable = "sve")]
26950#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
26951#[cfg_attr(test, assert_instr(mls))]
26952pub fn svmls_s16_m(pg: svbool_t, op1: svint16_t, op2: svint16_t, op3: svint16_t) -> svint16_t {
26953 unsafe extern "unadjusted" {
26954 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.mls.nxv8i16")]
26955 fn _svmls_s16_m(pg: svbool8_t, op1: svint16_t, op2: svint16_t, op3: svint16_t)
26956 -> svint16_t;
26957 }
26958 unsafe { _svmls_s16_m(pg.sve_into(), op1, op2, op3) }
26959}
26960#[doc = "Multiply-subtract, minuend first"]
26961#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmls[_n_s16]_m)"]
26962#[inline]
26963#[target_feature(enable = "sve")]
26964#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
26965#[cfg_attr(test, assert_instr(mls))]
26966pub fn svmls_n_s16_m(pg: svbool_t, op1: svint16_t, op2: svint16_t, op3: i16) -> svint16_t {
26967 svmls_s16_m(pg, op1, op2, svdup_n_s16(op3))
26968}
26969#[doc = "Multiply-subtract, minuend first"]
26970#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmls[_s16]_x)"]
26971#[inline]
26972#[target_feature(enable = "sve")]
26973#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
26974#[cfg_attr(test, assert_instr(mls))]
26975pub fn svmls_s16_x(pg: svbool_t, op1: svint16_t, op2: svint16_t, op3: svint16_t) -> svint16_t {
26976 svmls_s16_m(pg, op1, op2, op3)
26977}
26978#[doc = "Multiply-subtract, minuend first"]
26979#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmls[_n_s16]_x)"]
26980#[inline]
26981#[target_feature(enable = "sve")]
26982#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
26983#[cfg_attr(test, assert_instr(mls))]
26984pub fn svmls_n_s16_x(pg: svbool_t, op1: svint16_t, op2: svint16_t, op3: i16) -> svint16_t {
26985 svmls_s16_x(pg, op1, op2, svdup_n_s16(op3))
26986}
26987#[doc = "Multiply-subtract, minuend first"]
26988#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmls[_s16]_z)"]
26989#[inline]
26990#[target_feature(enable = "sve")]
26991#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
26992#[cfg_attr(test, assert_instr(mls))]
26993pub fn svmls_s16_z(pg: svbool_t, op1: svint16_t, op2: svint16_t, op3: svint16_t) -> svint16_t {
26994 svmls_s16_m(pg, svsel_s16(pg, op1, svdup_n_s16(0)), op2, op3)
26995}
26996#[doc = "Multiply-subtract, minuend first"]
26997#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmls[_n_s16]_z)"]
26998#[inline]
26999#[target_feature(enable = "sve")]
27000#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
27001#[cfg_attr(test, assert_instr(mls))]
27002pub fn svmls_n_s16_z(pg: svbool_t, op1: svint16_t, op2: svint16_t, op3: i16) -> svint16_t {
27003 svmls_s16_z(pg, op1, op2, svdup_n_s16(op3))
27004}
27005#[doc = "Multiply-subtract, minuend first"]
27006#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmls[_s32]_m)"]
27007#[inline]
27008#[target_feature(enable = "sve")]
27009#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
27010#[cfg_attr(test, assert_instr(mls))]
27011pub fn svmls_s32_m(pg: svbool_t, op1: svint32_t, op2: svint32_t, op3: svint32_t) -> svint32_t {
27012 unsafe extern "unadjusted" {
27013 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.mls.nxv4i32")]
27014 fn _svmls_s32_m(pg: svbool4_t, op1: svint32_t, op2: svint32_t, op3: svint32_t)
27015 -> svint32_t;
27016 }
27017 unsafe { _svmls_s32_m(pg.sve_into(), op1, op2, op3) }
27018}
27019#[doc = "Multiply-subtract, minuend first"]
27020#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmls[_n_s32]_m)"]
27021#[inline]
27022#[target_feature(enable = "sve")]
27023#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
27024#[cfg_attr(test, assert_instr(mls))]
27025pub fn svmls_n_s32_m(pg: svbool_t, op1: svint32_t, op2: svint32_t, op3: i32) -> svint32_t {
27026 svmls_s32_m(pg, op1, op2, svdup_n_s32(op3))
27027}
27028#[doc = "Multiply-subtract, minuend first"]
27029#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmls[_s32]_x)"]
27030#[inline]
27031#[target_feature(enable = "sve")]
27032#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
27033#[cfg_attr(test, assert_instr(mls))]
27034pub fn svmls_s32_x(pg: svbool_t, op1: svint32_t, op2: svint32_t, op3: svint32_t) -> svint32_t {
27035 svmls_s32_m(pg, op1, op2, op3)
27036}
27037#[doc = "Multiply-subtract, minuend first"]
27038#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmls[_n_s32]_x)"]
27039#[inline]
27040#[target_feature(enable = "sve")]
27041#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
27042#[cfg_attr(test, assert_instr(mls))]
27043pub fn svmls_n_s32_x(pg: svbool_t, op1: svint32_t, op2: svint32_t, op3: i32) -> svint32_t {
27044 svmls_s32_x(pg, op1, op2, svdup_n_s32(op3))
27045}
27046#[doc = "Multiply-subtract, minuend first"]
27047#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmls[_s32]_z)"]
27048#[inline]
27049#[target_feature(enable = "sve")]
27050#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
27051#[cfg_attr(test, assert_instr(mls))]
27052pub fn svmls_s32_z(pg: svbool_t, op1: svint32_t, op2: svint32_t, op3: svint32_t) -> svint32_t {
27053 svmls_s32_m(pg, svsel_s32(pg, op1, svdup_n_s32(0)), op2, op3)
27054}
27055#[doc = "Multiply-subtract, minuend first"]
27056#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmls[_n_s32]_z)"]
27057#[inline]
27058#[target_feature(enable = "sve")]
27059#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
27060#[cfg_attr(test, assert_instr(mls))]
27061pub fn svmls_n_s32_z(pg: svbool_t, op1: svint32_t, op2: svint32_t, op3: i32) -> svint32_t {
27062 svmls_s32_z(pg, op1, op2, svdup_n_s32(op3))
27063}
27064#[doc = "Multiply-subtract, minuend first"]
27065#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmls[_s64]_m)"]
27066#[inline]
27067#[target_feature(enable = "sve")]
27068#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
27069#[cfg_attr(test, assert_instr(mls))]
27070pub fn svmls_s64_m(pg: svbool_t, op1: svint64_t, op2: svint64_t, op3: svint64_t) -> svint64_t {
27071 unsafe extern "unadjusted" {
27072 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.mls.nxv2i64")]
27073 fn _svmls_s64_m(pg: svbool2_t, op1: svint64_t, op2: svint64_t, op3: svint64_t)
27074 -> svint64_t;
27075 }
27076 unsafe { _svmls_s64_m(pg.sve_into(), op1, op2, op3) }
27077}
27078#[doc = "Multiply-subtract, minuend first"]
27079#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmls[_n_s64]_m)"]
27080#[inline]
27081#[target_feature(enable = "sve")]
27082#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
27083#[cfg_attr(test, assert_instr(mls))]
27084pub fn svmls_n_s64_m(pg: svbool_t, op1: svint64_t, op2: svint64_t, op3: i64) -> svint64_t {
27085 svmls_s64_m(pg, op1, op2, svdup_n_s64(op3))
27086}
27087#[doc = "Multiply-subtract, minuend first"]
27088#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmls[_s64]_x)"]
27089#[inline]
27090#[target_feature(enable = "sve")]
27091#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
27092#[cfg_attr(test, assert_instr(mls))]
27093pub fn svmls_s64_x(pg: svbool_t, op1: svint64_t, op2: svint64_t, op3: svint64_t) -> svint64_t {
27094 svmls_s64_m(pg, op1, op2, op3)
27095}
27096#[doc = "Multiply-subtract, minuend first"]
27097#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmls[_n_s64]_x)"]
27098#[inline]
27099#[target_feature(enable = "sve")]
27100#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
27101#[cfg_attr(test, assert_instr(mls))]
27102pub fn svmls_n_s64_x(pg: svbool_t, op1: svint64_t, op2: svint64_t, op3: i64) -> svint64_t {
27103 svmls_s64_x(pg, op1, op2, svdup_n_s64(op3))
27104}
27105#[doc = "Multiply-subtract, minuend first"]
27106#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmls[_s64]_z)"]
27107#[inline]
27108#[target_feature(enable = "sve")]
27109#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
27110#[cfg_attr(test, assert_instr(mls))]
27111pub fn svmls_s64_z(pg: svbool_t, op1: svint64_t, op2: svint64_t, op3: svint64_t) -> svint64_t {
27112 svmls_s64_m(pg, svsel_s64(pg, op1, svdup_n_s64(0)), op2, op3)
27113}
27114#[doc = "Multiply-subtract, minuend first"]
27115#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmls[_n_s64]_z)"]
27116#[inline]
27117#[target_feature(enable = "sve")]
27118#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
27119#[cfg_attr(test, assert_instr(mls))]
27120pub fn svmls_n_s64_z(pg: svbool_t, op1: svint64_t, op2: svint64_t, op3: i64) -> svint64_t {
27121 svmls_s64_z(pg, op1, op2, svdup_n_s64(op3))
27122}
27123#[doc = "Multiply-subtract, minuend first"]
27124#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmls[_u8]_m)"]
27125#[inline]
27126#[target_feature(enable = "sve")]
27127#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
27128#[cfg_attr(test, assert_instr(mls))]
27129pub fn svmls_u8_m(pg: svbool_t, op1: svuint8_t, op2: svuint8_t, op3: svuint8_t) -> svuint8_t {
27130 unsafe { svmls_s8_m(pg, op1.as_signed(), op2.as_signed(), op3.as_signed()).as_unsigned() }
27131}
27132#[doc = "Multiply-subtract, minuend first"]
27133#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmls[_n_u8]_m)"]
27134#[inline]
27135#[target_feature(enable = "sve")]
27136#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
27137#[cfg_attr(test, assert_instr(mls))]
27138pub fn svmls_n_u8_m(pg: svbool_t, op1: svuint8_t, op2: svuint8_t, op3: u8) -> svuint8_t {
27139 svmls_u8_m(pg, op1, op2, svdup_n_u8(op3))
27140}
27141#[doc = "Multiply-subtract, minuend first"]
27142#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmls[_u8]_x)"]
27143#[inline]
27144#[target_feature(enable = "sve")]
27145#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
27146#[cfg_attr(test, assert_instr(mls))]
27147pub fn svmls_u8_x(pg: svbool_t, op1: svuint8_t, op2: svuint8_t, op3: svuint8_t) -> svuint8_t {
27148 svmls_u8_m(pg, op1, op2, op3)
27149}
27150#[doc = "Multiply-subtract, minuend first"]
27151#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmls[_n_u8]_x)"]
27152#[inline]
27153#[target_feature(enable = "sve")]
27154#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
27155#[cfg_attr(test, assert_instr(mls))]
27156pub fn svmls_n_u8_x(pg: svbool_t, op1: svuint8_t, op2: svuint8_t, op3: u8) -> svuint8_t {
27157 svmls_u8_x(pg, op1, op2, svdup_n_u8(op3))
27158}
27159#[doc = "Multiply-subtract, minuend first"]
27160#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmls[_u8]_z)"]
27161#[inline]
27162#[target_feature(enable = "sve")]
27163#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
27164#[cfg_attr(test, assert_instr(mls))]
27165pub fn svmls_u8_z(pg: svbool_t, op1: svuint8_t, op2: svuint8_t, op3: svuint8_t) -> svuint8_t {
27166 svmls_u8_m(pg, svsel_u8(pg, op1, svdup_n_u8(0)), op2, op3)
27167}
27168#[doc = "Multiply-subtract, minuend first"]
27169#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmls[_n_u8]_z)"]
27170#[inline]
27171#[target_feature(enable = "sve")]
27172#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
27173#[cfg_attr(test, assert_instr(mls))]
27174pub fn svmls_n_u8_z(pg: svbool_t, op1: svuint8_t, op2: svuint8_t, op3: u8) -> svuint8_t {
27175 svmls_u8_z(pg, op1, op2, svdup_n_u8(op3))
27176}
27177#[doc = "Multiply-subtract, minuend first"]
27178#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmls[_u16]_m)"]
27179#[inline]
27180#[target_feature(enable = "sve")]
27181#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
27182#[cfg_attr(test, assert_instr(mls))]
27183pub fn svmls_u16_m(pg: svbool_t, op1: svuint16_t, op2: svuint16_t, op3: svuint16_t) -> svuint16_t {
27184 unsafe { svmls_s16_m(pg, op1.as_signed(), op2.as_signed(), op3.as_signed()).as_unsigned() }
27185}
27186#[doc = "Multiply-subtract, minuend first"]
27187#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmls[_n_u16]_m)"]
27188#[inline]
27189#[target_feature(enable = "sve")]
27190#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
27191#[cfg_attr(test, assert_instr(mls))]
27192pub fn svmls_n_u16_m(pg: svbool_t, op1: svuint16_t, op2: svuint16_t, op3: u16) -> svuint16_t {
27193 svmls_u16_m(pg, op1, op2, svdup_n_u16(op3))
27194}
27195#[doc = "Multiply-subtract, minuend first"]
27196#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmls[_u16]_x)"]
27197#[inline]
27198#[target_feature(enable = "sve")]
27199#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
27200#[cfg_attr(test, assert_instr(mls))]
27201pub fn svmls_u16_x(pg: svbool_t, op1: svuint16_t, op2: svuint16_t, op3: svuint16_t) -> svuint16_t {
27202 svmls_u16_m(pg, op1, op2, op3)
27203}
27204#[doc = "Multiply-subtract, minuend first"]
27205#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmls[_n_u16]_x)"]
27206#[inline]
27207#[target_feature(enable = "sve")]
27208#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
27209#[cfg_attr(test, assert_instr(mls))]
27210pub fn svmls_n_u16_x(pg: svbool_t, op1: svuint16_t, op2: svuint16_t, op3: u16) -> svuint16_t {
27211 svmls_u16_x(pg, op1, op2, svdup_n_u16(op3))
27212}
27213#[doc = "Multiply-subtract, minuend first"]
27214#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmls[_u16]_z)"]
27215#[inline]
27216#[target_feature(enable = "sve")]
27217#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
27218#[cfg_attr(test, assert_instr(mls))]
27219pub fn svmls_u16_z(pg: svbool_t, op1: svuint16_t, op2: svuint16_t, op3: svuint16_t) -> svuint16_t {
27220 svmls_u16_m(pg, svsel_u16(pg, op1, svdup_n_u16(0)), op2, op3)
27221}
27222#[doc = "Multiply-subtract, minuend first"]
27223#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmls[_n_u16]_z)"]
27224#[inline]
27225#[target_feature(enable = "sve")]
27226#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
27227#[cfg_attr(test, assert_instr(mls))]
27228pub fn svmls_n_u16_z(pg: svbool_t, op1: svuint16_t, op2: svuint16_t, op3: u16) -> svuint16_t {
27229 svmls_u16_z(pg, op1, op2, svdup_n_u16(op3))
27230}
27231#[doc = "Multiply-subtract, minuend first"]
27232#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmls[_u32]_m)"]
27233#[inline]
27234#[target_feature(enable = "sve")]
27235#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
27236#[cfg_attr(test, assert_instr(mls))]
27237pub fn svmls_u32_m(pg: svbool_t, op1: svuint32_t, op2: svuint32_t, op3: svuint32_t) -> svuint32_t {
27238 unsafe { svmls_s32_m(pg, op1.as_signed(), op2.as_signed(), op3.as_signed()).as_unsigned() }
27239}
27240#[doc = "Multiply-subtract, minuend first"]
27241#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmls[_n_u32]_m)"]
27242#[inline]
27243#[target_feature(enable = "sve")]
27244#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
27245#[cfg_attr(test, assert_instr(mls))]
27246pub fn svmls_n_u32_m(pg: svbool_t, op1: svuint32_t, op2: svuint32_t, op3: u32) -> svuint32_t {
27247 svmls_u32_m(pg, op1, op2, svdup_n_u32(op3))
27248}
27249#[doc = "Multiply-subtract, minuend first"]
27250#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmls[_u32]_x)"]
27251#[inline]
27252#[target_feature(enable = "sve")]
27253#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
27254#[cfg_attr(test, assert_instr(mls))]
27255pub fn svmls_u32_x(pg: svbool_t, op1: svuint32_t, op2: svuint32_t, op3: svuint32_t) -> svuint32_t {
27256 svmls_u32_m(pg, op1, op2, op3)
27257}
27258#[doc = "Multiply-subtract, minuend first"]
27259#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmls[_n_u32]_x)"]
27260#[inline]
27261#[target_feature(enable = "sve")]
27262#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
27263#[cfg_attr(test, assert_instr(mls))]
27264pub fn svmls_n_u32_x(pg: svbool_t, op1: svuint32_t, op2: svuint32_t, op3: u32) -> svuint32_t {
27265 svmls_u32_x(pg, op1, op2, svdup_n_u32(op3))
27266}
27267#[doc = "Multiply-subtract, minuend first"]
27268#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmls[_u32]_z)"]
27269#[inline]
27270#[target_feature(enable = "sve")]
27271#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
27272#[cfg_attr(test, assert_instr(mls))]
27273pub fn svmls_u32_z(pg: svbool_t, op1: svuint32_t, op2: svuint32_t, op3: svuint32_t) -> svuint32_t {
27274 svmls_u32_m(pg, svsel_u32(pg, op1, svdup_n_u32(0)), op2, op3)
27275}
27276#[doc = "Multiply-subtract, minuend first"]
27277#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmls[_n_u32]_z)"]
27278#[inline]
27279#[target_feature(enable = "sve")]
27280#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
27281#[cfg_attr(test, assert_instr(mls))]
27282pub fn svmls_n_u32_z(pg: svbool_t, op1: svuint32_t, op2: svuint32_t, op3: u32) -> svuint32_t {
27283 svmls_u32_z(pg, op1, op2, svdup_n_u32(op3))
27284}
27285#[doc = "Multiply-subtract, minuend first"]
27286#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmls[_u64]_m)"]
27287#[inline]
27288#[target_feature(enable = "sve")]
27289#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
27290#[cfg_attr(test, assert_instr(mls))]
27291pub fn svmls_u64_m(pg: svbool_t, op1: svuint64_t, op2: svuint64_t, op3: svuint64_t) -> svuint64_t {
27292 unsafe { svmls_s64_m(pg, op1.as_signed(), op2.as_signed(), op3.as_signed()).as_unsigned() }
27293}
27294#[doc = "Multiply-subtract, minuend first"]
27295#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmls[_n_u64]_m)"]
27296#[inline]
27297#[target_feature(enable = "sve")]
27298#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
27299#[cfg_attr(test, assert_instr(mls))]
27300pub fn svmls_n_u64_m(pg: svbool_t, op1: svuint64_t, op2: svuint64_t, op3: u64) -> svuint64_t {
27301 svmls_u64_m(pg, op1, op2, svdup_n_u64(op3))
27302}
27303#[doc = "Multiply-subtract, minuend first"]
27304#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmls[_u64]_x)"]
27305#[inline]
27306#[target_feature(enable = "sve")]
27307#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
27308#[cfg_attr(test, assert_instr(mls))]
27309pub fn svmls_u64_x(pg: svbool_t, op1: svuint64_t, op2: svuint64_t, op3: svuint64_t) -> svuint64_t {
27310 svmls_u64_m(pg, op1, op2, op3)
27311}
27312#[doc = "Multiply-subtract, minuend first"]
27313#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmls[_n_u64]_x)"]
27314#[inline]
27315#[target_feature(enable = "sve")]
27316#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
27317#[cfg_attr(test, assert_instr(mls))]
27318pub fn svmls_n_u64_x(pg: svbool_t, op1: svuint64_t, op2: svuint64_t, op3: u64) -> svuint64_t {
27319 svmls_u64_x(pg, op1, op2, svdup_n_u64(op3))
27320}
27321#[doc = "Multiply-subtract, minuend first"]
27322#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmls[_u64]_z)"]
27323#[inline]
27324#[target_feature(enable = "sve")]
27325#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
27326#[cfg_attr(test, assert_instr(mls))]
27327pub fn svmls_u64_z(pg: svbool_t, op1: svuint64_t, op2: svuint64_t, op3: svuint64_t) -> svuint64_t {
27328 svmls_u64_m(pg, svsel_u64(pg, op1, svdup_n_u64(0)), op2, op3)
27329}
27330#[doc = "Multiply-subtract, minuend first"]
27331#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmls[_n_u64]_z)"]
27332#[inline]
27333#[target_feature(enable = "sve")]
27334#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
27335#[cfg_attr(test, assert_instr(mls))]
27336pub fn svmls_n_u64_z(pg: svbool_t, op1: svuint64_t, op2: svuint64_t, op3: u64) -> svuint64_t {
27337 svmls_u64_z(pg, op1, op2, svdup_n_u64(op3))
27338}
27339#[doc = "Multiply-subtract, minuend first"]
27340#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmls_lane[_f32])"]
27341#[inline]
27342#[target_feature(enable = "sve")]
27343#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
27344#[cfg_attr(test, assert_instr(fmls, IMM_INDEX = 0))]
27345pub fn svmls_lane_f32<const IMM_INDEX: i32>(
27346 op1: svfloat32_t,
27347 op2: svfloat32_t,
27348 op3: svfloat32_t,
27349) -> svfloat32_t {
27350 static_assert_range!(IMM_INDEX, 0..=3);
27351 unsafe extern "unadjusted" {
27352 #[cfg_attr(
27353 target_arch = "aarch64",
27354 link_name = "llvm.aarch64.sve.fmls.lane.nxv4f32"
27355 )]
27356 fn _svmls_lane_f32(
27357 op1: svfloat32_t,
27358 op2: svfloat32_t,
27359 op3: svfloat32_t,
27360 IMM_INDEX: i32,
27361 ) -> svfloat32_t;
27362 }
27363 unsafe { _svmls_lane_f32(op1, op2, op3, IMM_INDEX) }
27364}
27365#[doc = "Multiply-subtract, minuend first"]
27366#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmls_lane[_f64])"]
27367#[inline]
27368#[target_feature(enable = "sve")]
27369#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
27370#[cfg_attr(test, assert_instr(fmls, IMM_INDEX = 0))]
27371pub fn svmls_lane_f64<const IMM_INDEX: i32>(
27372 op1: svfloat64_t,
27373 op2: svfloat64_t,
27374 op3: svfloat64_t,
27375) -> svfloat64_t {
27376 static_assert_range!(IMM_INDEX, 0..=1);
27377 unsafe extern "unadjusted" {
27378 #[cfg_attr(
27379 target_arch = "aarch64",
27380 link_name = "llvm.aarch64.sve.fmls.lane.nxv2f64"
27381 )]
27382 fn _svmls_lane_f64(
27383 op1: svfloat64_t,
27384 op2: svfloat64_t,
27385 op3: svfloat64_t,
27386 IMM_INDEX: i32,
27387 ) -> svfloat64_t;
27388 }
27389 unsafe { _svmls_lane_f64(op1, op2, op3, IMM_INDEX) }
27390}
27391#[doc = "Matrix multiply-accumulate"]
27392#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmmla[_f32])"]
27393#[inline]
27394#[target_feature(enable = "sve,f32mm")]
27395#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
27396#[cfg_attr(test, assert_instr(fmmla))]
27397pub fn svmmla_f32(op1: svfloat32_t, op2: svfloat32_t, op3: svfloat32_t) -> svfloat32_t {
27398 unsafe extern "unadjusted" {
27399 #[cfg_attr(
27400 target_arch = "aarch64",
27401 link_name = "llvm.aarch64.sve.fmmla.nxv4f32.nxv4f32"
27402 )]
27403 fn _svmmla_f32(op1: svfloat32_t, op2: svfloat32_t, op3: svfloat32_t) -> svfloat32_t;
27404 }
27405 unsafe { _svmmla_f32(op1, op2, op3) }
27406}
27407#[doc = "Matrix multiply-accumulate"]
27408#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmmla[_f64])"]
27409#[inline]
27410#[target_feature(enable = "sve,f64mm")]
27411#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
27412#[cfg_attr(test, assert_instr(fmmla))]
27413pub fn svmmla_f64(op1: svfloat64_t, op2: svfloat64_t, op3: svfloat64_t) -> svfloat64_t {
27414 unsafe extern "unadjusted" {
27415 #[cfg_attr(
27416 target_arch = "aarch64",
27417 link_name = "llvm.aarch64.sve.fmmla.nxv2f64.nxv2f64"
27418 )]
27419 fn _svmmla_f64(op1: svfloat64_t, op2: svfloat64_t, op3: svfloat64_t) -> svfloat64_t;
27420 }
27421 unsafe { _svmmla_f64(op1, op2, op3) }
27422}
27423#[doc = "Matrix multiply-accumulate"]
27424#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmmla[_s32])"]
27425#[inline]
27426#[target_feature(enable = "sve,i8mm")]
27427#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
27428#[cfg_attr(test, assert_instr(smmla))]
27429pub fn svmmla_s32(op1: svint32_t, op2: svint8_t, op3: svint8_t) -> svint32_t {
27430 unsafe extern "unadjusted" {
27431 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.smmla.nxv4i32")]
27432 fn _svmmla_s32(op1: svint32_t, op2: svint8_t, op3: svint8_t) -> svint32_t;
27433 }
27434 unsafe { _svmmla_s32(op1, op2, op3) }
27435}
27436#[doc = "Matrix multiply-accumulate"]
27437#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmmla[_u32])"]
27438#[inline]
27439#[target_feature(enable = "sve,i8mm")]
27440#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
27441#[cfg_attr(test, assert_instr(ummla))]
27442pub fn svmmla_u32(op1: svuint32_t, op2: svuint8_t, op3: svuint8_t) -> svuint32_t {
27443 unsafe extern "unadjusted" {
27444 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.ummla.nxv4i32")]
27445 fn _svmmla_u32(op1: svint32_t, op2: svint8_t, op3: svint8_t) -> svint32_t;
27446 }
27447 unsafe { _svmmla_u32(op1.as_signed(), op2.as_signed(), op3.as_signed()).as_unsigned() }
27448}
27449#[doc = "Move"]
27450#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmov[_b]_z)"]
27451#[inline]
27452#[target_feature(enable = "sve")]
27453#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
27454#[cfg_attr(test, assert_instr(mov))]
27455pub fn svmov_b_z(pg: svbool_t, op: svbool_t) -> svbool_t {
27456 svand_b_z(pg, op, op)
27457}
27458#[doc = "Multiply-subtract, multiplicand first"]
27459#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmsb[_f32]_m)"]
27460#[inline]
27461#[target_feature(enable = "sve")]
27462#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
27463#[cfg_attr(test, assert_instr(fmsb))]
27464pub fn svmsb_f32_m(
27465 pg: svbool_t,
27466 op1: svfloat32_t,
27467 op2: svfloat32_t,
27468 op3: svfloat32_t,
27469) -> svfloat32_t {
27470 unsafe extern "unadjusted" {
27471 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.fmsb.nxv4f32")]
27472 fn _svmsb_f32_m(
27473 pg: svbool4_t,
27474 op1: svfloat32_t,
27475 op2: svfloat32_t,
27476 op3: svfloat32_t,
27477 ) -> svfloat32_t;
27478 }
27479 unsafe { _svmsb_f32_m(pg.sve_into(), op1, op2, op3) }
27480}
27481#[doc = "Multiply-subtract, multiplicand first"]
27482#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmsb[_n_f32]_m)"]
27483#[inline]
27484#[target_feature(enable = "sve")]
27485#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
27486#[cfg_attr(test, assert_instr(fmsb))]
27487pub fn svmsb_n_f32_m(pg: svbool_t, op1: svfloat32_t, op2: svfloat32_t, op3: f32) -> svfloat32_t {
27488 svmsb_f32_m(pg, op1, op2, svdup_n_f32(op3))
27489}
27490#[doc = "Multiply-subtract, multiplicand first"]
27491#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmsb[_f32]_x)"]
27492#[inline]
27493#[target_feature(enable = "sve")]
27494#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
27495#[cfg_attr(test, assert_instr(fmsb))]
27496pub fn svmsb_f32_x(
27497 pg: svbool_t,
27498 op1: svfloat32_t,
27499 op2: svfloat32_t,
27500 op3: svfloat32_t,
27501) -> svfloat32_t {
27502 svmsb_f32_m(pg, op1, op2, op3)
27503}
27504#[doc = "Multiply-subtract, multiplicand first"]
27505#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmsb[_n_f32]_x)"]
27506#[inline]
27507#[target_feature(enable = "sve")]
27508#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
27509#[cfg_attr(test, assert_instr(fmsb))]
27510pub fn svmsb_n_f32_x(pg: svbool_t, op1: svfloat32_t, op2: svfloat32_t, op3: f32) -> svfloat32_t {
27511 svmsb_f32_x(pg, op1, op2, svdup_n_f32(op3))
27512}
27513#[doc = "Multiply-subtract, multiplicand first"]
27514#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmsb[_f32]_z)"]
27515#[inline]
27516#[target_feature(enable = "sve")]
27517#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
27518#[cfg_attr(test, assert_instr(fmsb))]
27519pub fn svmsb_f32_z(
27520 pg: svbool_t,
27521 op1: svfloat32_t,
27522 op2: svfloat32_t,
27523 op3: svfloat32_t,
27524) -> svfloat32_t {
27525 svmsb_f32_m(pg, svsel_f32(pg, op1, svdup_n_f32(0.0)), op2, op3)
27526}
27527#[doc = "Multiply-subtract, multiplicand first"]
27528#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmsb[_n_f32]_z)"]
27529#[inline]
27530#[target_feature(enable = "sve")]
27531#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
27532#[cfg_attr(test, assert_instr(fmsb))]
27533pub fn svmsb_n_f32_z(pg: svbool_t, op1: svfloat32_t, op2: svfloat32_t, op3: f32) -> svfloat32_t {
27534 svmsb_f32_z(pg, op1, op2, svdup_n_f32(op3))
27535}
27536#[doc = "Multiply-subtract, multiplicand first"]
27537#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmsb[_f64]_m)"]
27538#[inline]
27539#[target_feature(enable = "sve")]
27540#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
27541#[cfg_attr(test, assert_instr(fmsb))]
27542pub fn svmsb_f64_m(
27543 pg: svbool_t,
27544 op1: svfloat64_t,
27545 op2: svfloat64_t,
27546 op3: svfloat64_t,
27547) -> svfloat64_t {
27548 unsafe extern "unadjusted" {
27549 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.fmsb.nxv2f64")]
27550 fn _svmsb_f64_m(
27551 pg: svbool2_t,
27552 op1: svfloat64_t,
27553 op2: svfloat64_t,
27554 op3: svfloat64_t,
27555 ) -> svfloat64_t;
27556 }
27557 unsafe { _svmsb_f64_m(pg.sve_into(), op1, op2, op3) }
27558}
27559#[doc = "Multiply-subtract, multiplicand first"]
27560#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmsb[_n_f64]_m)"]
27561#[inline]
27562#[target_feature(enable = "sve")]
27563#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
27564#[cfg_attr(test, assert_instr(fmsb))]
27565pub fn svmsb_n_f64_m(pg: svbool_t, op1: svfloat64_t, op2: svfloat64_t, op3: f64) -> svfloat64_t {
27566 svmsb_f64_m(pg, op1, op2, svdup_n_f64(op3))
27567}
27568#[doc = "Multiply-subtract, multiplicand first"]
27569#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmsb[_f64]_x)"]
27570#[inline]
27571#[target_feature(enable = "sve")]
27572#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
27573#[cfg_attr(test, assert_instr(fmsb))]
27574pub fn svmsb_f64_x(
27575 pg: svbool_t,
27576 op1: svfloat64_t,
27577 op2: svfloat64_t,
27578 op3: svfloat64_t,
27579) -> svfloat64_t {
27580 svmsb_f64_m(pg, op1, op2, op3)
27581}
27582#[doc = "Multiply-subtract, multiplicand first"]
27583#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmsb[_n_f64]_x)"]
27584#[inline]
27585#[target_feature(enable = "sve")]
27586#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
27587#[cfg_attr(test, assert_instr(fmsb))]
27588pub fn svmsb_n_f64_x(pg: svbool_t, op1: svfloat64_t, op2: svfloat64_t, op3: f64) -> svfloat64_t {
27589 svmsb_f64_x(pg, op1, op2, svdup_n_f64(op3))
27590}
27591#[doc = "Multiply-subtract, multiplicand first"]
27592#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmsb[_f64]_z)"]
27593#[inline]
27594#[target_feature(enable = "sve")]
27595#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
27596#[cfg_attr(test, assert_instr(fmsb))]
27597pub fn svmsb_f64_z(
27598 pg: svbool_t,
27599 op1: svfloat64_t,
27600 op2: svfloat64_t,
27601 op3: svfloat64_t,
27602) -> svfloat64_t {
27603 svmsb_f64_m(pg, svsel_f64(pg, op1, svdup_n_f64(0.0)), op2, op3)
27604}
27605#[doc = "Multiply-subtract, multiplicand first"]
27606#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmsb[_n_f64]_z)"]
27607#[inline]
27608#[target_feature(enable = "sve")]
27609#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
27610#[cfg_attr(test, assert_instr(fmsb))]
27611pub fn svmsb_n_f64_z(pg: svbool_t, op1: svfloat64_t, op2: svfloat64_t, op3: f64) -> svfloat64_t {
27612 svmsb_f64_z(pg, op1, op2, svdup_n_f64(op3))
27613}
27614#[doc = "Multiply-subtract, multiplicand first"]
27615#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmsb[_s8]_m)"]
27616#[inline]
27617#[target_feature(enable = "sve")]
27618#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
27619#[cfg_attr(test, assert_instr(msb))]
27620pub fn svmsb_s8_m(pg: svbool_t, op1: svint8_t, op2: svint8_t, op3: svint8_t) -> svint8_t {
27621 unsafe extern "unadjusted" {
27622 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.msb.nxv16i8")]
27623 fn _svmsb_s8_m(pg: svbool_t, op1: svint8_t, op2: svint8_t, op3: svint8_t) -> svint8_t;
27624 }
27625 unsafe { _svmsb_s8_m(pg, op1, op2, op3) }
27626}
27627#[doc = "Multiply-subtract, multiplicand first"]
27628#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmsb[_n_s8]_m)"]
27629#[inline]
27630#[target_feature(enable = "sve")]
27631#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
27632#[cfg_attr(test, assert_instr(msb))]
27633pub fn svmsb_n_s8_m(pg: svbool_t, op1: svint8_t, op2: svint8_t, op3: i8) -> svint8_t {
27634 svmsb_s8_m(pg, op1, op2, svdup_n_s8(op3))
27635}
27636#[doc = "Multiply-subtract, multiplicand first"]
27637#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmsb[_s8]_x)"]
27638#[inline]
27639#[target_feature(enable = "sve")]
27640#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
27641#[cfg_attr(test, assert_instr(msb))]
27642pub fn svmsb_s8_x(pg: svbool_t, op1: svint8_t, op2: svint8_t, op3: svint8_t) -> svint8_t {
27643 svmsb_s8_m(pg, op1, op2, op3)
27644}
27645#[doc = "Multiply-subtract, multiplicand first"]
27646#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmsb[_n_s8]_x)"]
27647#[inline]
27648#[target_feature(enable = "sve")]
27649#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
27650#[cfg_attr(test, assert_instr(msb))]
27651pub fn svmsb_n_s8_x(pg: svbool_t, op1: svint8_t, op2: svint8_t, op3: i8) -> svint8_t {
27652 svmsb_s8_x(pg, op1, op2, svdup_n_s8(op3))
27653}
27654#[doc = "Multiply-subtract, multiplicand first"]
27655#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmsb[_s8]_z)"]
27656#[inline]
27657#[target_feature(enable = "sve")]
27658#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
27659#[cfg_attr(test, assert_instr(msb))]
27660pub fn svmsb_s8_z(pg: svbool_t, op1: svint8_t, op2: svint8_t, op3: svint8_t) -> svint8_t {
27661 svmsb_s8_m(pg, svsel_s8(pg, op1, svdup_n_s8(0)), op2, op3)
27662}
27663#[doc = "Multiply-subtract, multiplicand first"]
27664#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmsb[_n_s8]_z)"]
27665#[inline]
27666#[target_feature(enable = "sve")]
27667#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
27668#[cfg_attr(test, assert_instr(msb))]
27669pub fn svmsb_n_s8_z(pg: svbool_t, op1: svint8_t, op2: svint8_t, op3: i8) -> svint8_t {
27670 svmsb_s8_z(pg, op1, op2, svdup_n_s8(op3))
27671}
27672#[doc = "Multiply-subtract, multiplicand first"]
27673#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmsb[_s16]_m)"]
27674#[inline]
27675#[target_feature(enable = "sve")]
27676#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
27677#[cfg_attr(test, assert_instr(msb))]
27678pub fn svmsb_s16_m(pg: svbool_t, op1: svint16_t, op2: svint16_t, op3: svint16_t) -> svint16_t {
27679 unsafe extern "unadjusted" {
27680 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.msb.nxv8i16")]
27681 fn _svmsb_s16_m(pg: svbool8_t, op1: svint16_t, op2: svint16_t, op3: svint16_t)
27682 -> svint16_t;
27683 }
27684 unsafe { _svmsb_s16_m(pg.sve_into(), op1, op2, op3) }
27685}
27686#[doc = "Multiply-subtract, multiplicand first"]
27687#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmsb[_n_s16]_m)"]
27688#[inline]
27689#[target_feature(enable = "sve")]
27690#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
27691#[cfg_attr(test, assert_instr(msb))]
27692pub fn svmsb_n_s16_m(pg: svbool_t, op1: svint16_t, op2: svint16_t, op3: i16) -> svint16_t {
27693 svmsb_s16_m(pg, op1, op2, svdup_n_s16(op3))
27694}
27695#[doc = "Multiply-subtract, multiplicand first"]
27696#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmsb[_s16]_x)"]
27697#[inline]
27698#[target_feature(enable = "sve")]
27699#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
27700#[cfg_attr(test, assert_instr(msb))]
27701pub fn svmsb_s16_x(pg: svbool_t, op1: svint16_t, op2: svint16_t, op3: svint16_t) -> svint16_t {
27702 svmsb_s16_m(pg, op1, op2, op3)
27703}
27704#[doc = "Multiply-subtract, multiplicand first"]
27705#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmsb[_n_s16]_x)"]
27706#[inline]
27707#[target_feature(enable = "sve")]
27708#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
27709#[cfg_attr(test, assert_instr(msb))]
27710pub fn svmsb_n_s16_x(pg: svbool_t, op1: svint16_t, op2: svint16_t, op3: i16) -> svint16_t {
27711 svmsb_s16_x(pg, op1, op2, svdup_n_s16(op3))
27712}
27713#[doc = "Multiply-subtract, multiplicand first"]
27714#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmsb[_s16]_z)"]
27715#[inline]
27716#[target_feature(enable = "sve")]
27717#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
27718#[cfg_attr(test, assert_instr(msb))]
27719pub fn svmsb_s16_z(pg: svbool_t, op1: svint16_t, op2: svint16_t, op3: svint16_t) -> svint16_t {
27720 svmsb_s16_m(pg, svsel_s16(pg, op1, svdup_n_s16(0)), op2, op3)
27721}
27722#[doc = "Multiply-subtract, multiplicand first"]
27723#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmsb[_n_s16]_z)"]
27724#[inline]
27725#[target_feature(enable = "sve")]
27726#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
27727#[cfg_attr(test, assert_instr(msb))]
27728pub fn svmsb_n_s16_z(pg: svbool_t, op1: svint16_t, op2: svint16_t, op3: i16) -> svint16_t {
27729 svmsb_s16_z(pg, op1, op2, svdup_n_s16(op3))
27730}
27731#[doc = "Multiply-subtract, multiplicand first"]
27732#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmsb[_s32]_m)"]
27733#[inline]
27734#[target_feature(enable = "sve")]
27735#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
27736#[cfg_attr(test, assert_instr(msb))]
27737pub fn svmsb_s32_m(pg: svbool_t, op1: svint32_t, op2: svint32_t, op3: svint32_t) -> svint32_t {
27738 unsafe extern "unadjusted" {
27739 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.msb.nxv4i32")]
27740 fn _svmsb_s32_m(pg: svbool4_t, op1: svint32_t, op2: svint32_t, op3: svint32_t)
27741 -> svint32_t;
27742 }
27743 unsafe { _svmsb_s32_m(pg.sve_into(), op1, op2, op3) }
27744}
27745#[doc = "Multiply-subtract, multiplicand first"]
27746#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmsb[_n_s32]_m)"]
27747#[inline]
27748#[target_feature(enable = "sve")]
27749#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
27750#[cfg_attr(test, assert_instr(msb))]
27751pub fn svmsb_n_s32_m(pg: svbool_t, op1: svint32_t, op2: svint32_t, op3: i32) -> svint32_t {
27752 svmsb_s32_m(pg, op1, op2, svdup_n_s32(op3))
27753}
27754#[doc = "Multiply-subtract, multiplicand first"]
27755#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmsb[_s32]_x)"]
27756#[inline]
27757#[target_feature(enable = "sve")]
27758#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
27759#[cfg_attr(test, assert_instr(msb))]
27760pub fn svmsb_s32_x(pg: svbool_t, op1: svint32_t, op2: svint32_t, op3: svint32_t) -> svint32_t {
27761 svmsb_s32_m(pg, op1, op2, op3)
27762}
27763#[doc = "Multiply-subtract, multiplicand first"]
27764#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmsb[_n_s32]_x)"]
27765#[inline]
27766#[target_feature(enable = "sve")]
27767#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
27768#[cfg_attr(test, assert_instr(msb))]
27769pub fn svmsb_n_s32_x(pg: svbool_t, op1: svint32_t, op2: svint32_t, op3: i32) -> svint32_t {
27770 svmsb_s32_x(pg, op1, op2, svdup_n_s32(op3))
27771}
27772#[doc = "Multiply-subtract, multiplicand first"]
27773#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmsb[_s32]_z)"]
27774#[inline]
27775#[target_feature(enable = "sve")]
27776#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
27777#[cfg_attr(test, assert_instr(msb))]
27778pub fn svmsb_s32_z(pg: svbool_t, op1: svint32_t, op2: svint32_t, op3: svint32_t) -> svint32_t {
27779 svmsb_s32_m(pg, svsel_s32(pg, op1, svdup_n_s32(0)), op2, op3)
27780}
27781#[doc = "Multiply-subtract, multiplicand first"]
27782#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmsb[_n_s32]_z)"]
27783#[inline]
27784#[target_feature(enable = "sve")]
27785#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
27786#[cfg_attr(test, assert_instr(msb))]
27787pub fn svmsb_n_s32_z(pg: svbool_t, op1: svint32_t, op2: svint32_t, op3: i32) -> svint32_t {
27788 svmsb_s32_z(pg, op1, op2, svdup_n_s32(op3))
27789}
27790#[doc = "Multiply-subtract, multiplicand first"]
27791#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmsb[_s64]_m)"]
27792#[inline]
27793#[target_feature(enable = "sve")]
27794#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
27795#[cfg_attr(test, assert_instr(msb))]
27796pub fn svmsb_s64_m(pg: svbool_t, op1: svint64_t, op2: svint64_t, op3: svint64_t) -> svint64_t {
27797 unsafe extern "unadjusted" {
27798 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.msb.nxv2i64")]
27799 fn _svmsb_s64_m(pg: svbool2_t, op1: svint64_t, op2: svint64_t, op3: svint64_t)
27800 -> svint64_t;
27801 }
27802 unsafe { _svmsb_s64_m(pg.sve_into(), op1, op2, op3) }
27803}
27804#[doc = "Multiply-subtract, multiplicand first"]
27805#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmsb[_n_s64]_m)"]
27806#[inline]
27807#[target_feature(enable = "sve")]
27808#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
27809#[cfg_attr(test, assert_instr(msb))]
27810pub fn svmsb_n_s64_m(pg: svbool_t, op1: svint64_t, op2: svint64_t, op3: i64) -> svint64_t {
27811 svmsb_s64_m(pg, op1, op2, svdup_n_s64(op3))
27812}
27813#[doc = "Multiply-subtract, multiplicand first"]
27814#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmsb[_s64]_x)"]
27815#[inline]
27816#[target_feature(enable = "sve")]
27817#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
27818#[cfg_attr(test, assert_instr(msb))]
27819pub fn svmsb_s64_x(pg: svbool_t, op1: svint64_t, op2: svint64_t, op3: svint64_t) -> svint64_t {
27820 svmsb_s64_m(pg, op1, op2, op3)
27821}
27822#[doc = "Multiply-subtract, multiplicand first"]
27823#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmsb[_n_s64]_x)"]
27824#[inline]
27825#[target_feature(enable = "sve")]
27826#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
27827#[cfg_attr(test, assert_instr(msb))]
27828pub fn svmsb_n_s64_x(pg: svbool_t, op1: svint64_t, op2: svint64_t, op3: i64) -> svint64_t {
27829 svmsb_s64_x(pg, op1, op2, svdup_n_s64(op3))
27830}
27831#[doc = "Multiply-subtract, multiplicand first"]
27832#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmsb[_s64]_z)"]
27833#[inline]
27834#[target_feature(enable = "sve")]
27835#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
27836#[cfg_attr(test, assert_instr(msb))]
27837pub fn svmsb_s64_z(pg: svbool_t, op1: svint64_t, op2: svint64_t, op3: svint64_t) -> svint64_t {
27838 svmsb_s64_m(pg, svsel_s64(pg, op1, svdup_n_s64(0)), op2, op3)
27839}
27840#[doc = "Multiply-subtract, multiplicand first"]
27841#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmsb[_n_s64]_z)"]
27842#[inline]
27843#[target_feature(enable = "sve")]
27844#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
27845#[cfg_attr(test, assert_instr(msb))]
27846pub fn svmsb_n_s64_z(pg: svbool_t, op1: svint64_t, op2: svint64_t, op3: i64) -> svint64_t {
27847 svmsb_s64_z(pg, op1, op2, svdup_n_s64(op3))
27848}
27849#[doc = "Multiply-subtract, multiplicand first"]
27850#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmsb[_u8]_m)"]
27851#[inline]
27852#[target_feature(enable = "sve")]
27853#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
27854#[cfg_attr(test, assert_instr(msb))]
27855pub fn svmsb_u8_m(pg: svbool_t, op1: svuint8_t, op2: svuint8_t, op3: svuint8_t) -> svuint8_t {
27856 unsafe { svmsb_s8_m(pg, op1.as_signed(), op2.as_signed(), op3.as_signed()).as_unsigned() }
27857}
27858#[doc = "Multiply-subtract, multiplicand first"]
27859#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmsb[_n_u8]_m)"]
27860#[inline]
27861#[target_feature(enable = "sve")]
27862#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
27863#[cfg_attr(test, assert_instr(msb))]
27864pub fn svmsb_n_u8_m(pg: svbool_t, op1: svuint8_t, op2: svuint8_t, op3: u8) -> svuint8_t {
27865 svmsb_u8_m(pg, op1, op2, svdup_n_u8(op3))
27866}
27867#[doc = "Multiply-subtract, multiplicand first"]
27868#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmsb[_u8]_x)"]
27869#[inline]
27870#[target_feature(enable = "sve")]
27871#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
27872#[cfg_attr(test, assert_instr(msb))]
27873pub fn svmsb_u8_x(pg: svbool_t, op1: svuint8_t, op2: svuint8_t, op3: svuint8_t) -> svuint8_t {
27874 svmsb_u8_m(pg, op1, op2, op3)
27875}
27876#[doc = "Multiply-subtract, multiplicand first"]
27877#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmsb[_n_u8]_x)"]
27878#[inline]
27879#[target_feature(enable = "sve")]
27880#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
27881#[cfg_attr(test, assert_instr(msb))]
27882pub fn svmsb_n_u8_x(pg: svbool_t, op1: svuint8_t, op2: svuint8_t, op3: u8) -> svuint8_t {
27883 svmsb_u8_x(pg, op1, op2, svdup_n_u8(op3))
27884}
27885#[doc = "Multiply-subtract, multiplicand first"]
27886#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmsb[_u8]_z)"]
27887#[inline]
27888#[target_feature(enable = "sve")]
27889#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
27890#[cfg_attr(test, assert_instr(msb))]
27891pub fn svmsb_u8_z(pg: svbool_t, op1: svuint8_t, op2: svuint8_t, op3: svuint8_t) -> svuint8_t {
27892 svmsb_u8_m(pg, svsel_u8(pg, op1, svdup_n_u8(0)), op2, op3)
27893}
27894#[doc = "Multiply-subtract, multiplicand first"]
27895#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmsb[_n_u8]_z)"]
27896#[inline]
27897#[target_feature(enable = "sve")]
27898#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
27899#[cfg_attr(test, assert_instr(msb))]
27900pub fn svmsb_n_u8_z(pg: svbool_t, op1: svuint8_t, op2: svuint8_t, op3: u8) -> svuint8_t {
27901 svmsb_u8_z(pg, op1, op2, svdup_n_u8(op3))
27902}
27903#[doc = "Multiply-subtract, multiplicand first"]
27904#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmsb[_u16]_m)"]
27905#[inline]
27906#[target_feature(enable = "sve")]
27907#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
27908#[cfg_attr(test, assert_instr(msb))]
27909pub fn svmsb_u16_m(pg: svbool_t, op1: svuint16_t, op2: svuint16_t, op3: svuint16_t) -> svuint16_t {
27910 unsafe { svmsb_s16_m(pg, op1.as_signed(), op2.as_signed(), op3.as_signed()).as_unsigned() }
27911}
27912#[doc = "Multiply-subtract, multiplicand first"]
27913#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmsb[_n_u16]_m)"]
27914#[inline]
27915#[target_feature(enable = "sve")]
27916#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
27917#[cfg_attr(test, assert_instr(msb))]
27918pub fn svmsb_n_u16_m(pg: svbool_t, op1: svuint16_t, op2: svuint16_t, op3: u16) -> svuint16_t {
27919 svmsb_u16_m(pg, op1, op2, svdup_n_u16(op3))
27920}
27921#[doc = "Multiply-subtract, multiplicand first"]
27922#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmsb[_u16]_x)"]
27923#[inline]
27924#[target_feature(enable = "sve")]
27925#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
27926#[cfg_attr(test, assert_instr(msb))]
27927pub fn svmsb_u16_x(pg: svbool_t, op1: svuint16_t, op2: svuint16_t, op3: svuint16_t) -> svuint16_t {
27928 svmsb_u16_m(pg, op1, op2, op3)
27929}
27930#[doc = "Multiply-subtract, multiplicand first"]
27931#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmsb[_n_u16]_x)"]
27932#[inline]
27933#[target_feature(enable = "sve")]
27934#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
27935#[cfg_attr(test, assert_instr(msb))]
27936pub fn svmsb_n_u16_x(pg: svbool_t, op1: svuint16_t, op2: svuint16_t, op3: u16) -> svuint16_t {
27937 svmsb_u16_x(pg, op1, op2, svdup_n_u16(op3))
27938}
27939#[doc = "Multiply-subtract, multiplicand first"]
27940#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmsb[_u16]_z)"]
27941#[inline]
27942#[target_feature(enable = "sve")]
27943#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
27944#[cfg_attr(test, assert_instr(msb))]
27945pub fn svmsb_u16_z(pg: svbool_t, op1: svuint16_t, op2: svuint16_t, op3: svuint16_t) -> svuint16_t {
27946 svmsb_u16_m(pg, svsel_u16(pg, op1, svdup_n_u16(0)), op2, op3)
27947}
27948#[doc = "Multiply-subtract, multiplicand first"]
27949#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmsb[_n_u16]_z)"]
27950#[inline]
27951#[target_feature(enable = "sve")]
27952#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
27953#[cfg_attr(test, assert_instr(msb))]
27954pub fn svmsb_n_u16_z(pg: svbool_t, op1: svuint16_t, op2: svuint16_t, op3: u16) -> svuint16_t {
27955 svmsb_u16_z(pg, op1, op2, svdup_n_u16(op3))
27956}
27957#[doc = "Multiply-subtract, multiplicand first"]
27958#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmsb[_u32]_m)"]
27959#[inline]
27960#[target_feature(enable = "sve")]
27961#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
27962#[cfg_attr(test, assert_instr(msb))]
27963pub fn svmsb_u32_m(pg: svbool_t, op1: svuint32_t, op2: svuint32_t, op3: svuint32_t) -> svuint32_t {
27964 unsafe { svmsb_s32_m(pg, op1.as_signed(), op2.as_signed(), op3.as_signed()).as_unsigned() }
27965}
27966#[doc = "Multiply-subtract, multiplicand first"]
27967#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmsb[_n_u32]_m)"]
27968#[inline]
27969#[target_feature(enable = "sve")]
27970#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
27971#[cfg_attr(test, assert_instr(msb))]
27972pub fn svmsb_n_u32_m(pg: svbool_t, op1: svuint32_t, op2: svuint32_t, op3: u32) -> svuint32_t {
27973 svmsb_u32_m(pg, op1, op2, svdup_n_u32(op3))
27974}
27975#[doc = "Multiply-subtract, multiplicand first"]
27976#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmsb[_u32]_x)"]
27977#[inline]
27978#[target_feature(enable = "sve")]
27979#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
27980#[cfg_attr(test, assert_instr(msb))]
27981pub fn svmsb_u32_x(pg: svbool_t, op1: svuint32_t, op2: svuint32_t, op3: svuint32_t) -> svuint32_t {
27982 svmsb_u32_m(pg, op1, op2, op3)
27983}
27984#[doc = "Multiply-subtract, multiplicand first"]
27985#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmsb[_n_u32]_x)"]
27986#[inline]
27987#[target_feature(enable = "sve")]
27988#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
27989#[cfg_attr(test, assert_instr(msb))]
27990pub fn svmsb_n_u32_x(pg: svbool_t, op1: svuint32_t, op2: svuint32_t, op3: u32) -> svuint32_t {
27991 svmsb_u32_x(pg, op1, op2, svdup_n_u32(op3))
27992}
27993#[doc = "Multiply-subtract, multiplicand first"]
27994#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmsb[_u32]_z)"]
27995#[inline]
27996#[target_feature(enable = "sve")]
27997#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
27998#[cfg_attr(test, assert_instr(msb))]
27999pub fn svmsb_u32_z(pg: svbool_t, op1: svuint32_t, op2: svuint32_t, op3: svuint32_t) -> svuint32_t {
28000 svmsb_u32_m(pg, svsel_u32(pg, op1, svdup_n_u32(0)), op2, op3)
28001}
28002#[doc = "Multiply-subtract, multiplicand first"]
28003#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmsb[_n_u32]_z)"]
28004#[inline]
28005#[target_feature(enable = "sve")]
28006#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
28007#[cfg_attr(test, assert_instr(msb))]
28008pub fn svmsb_n_u32_z(pg: svbool_t, op1: svuint32_t, op2: svuint32_t, op3: u32) -> svuint32_t {
28009 svmsb_u32_z(pg, op1, op2, svdup_n_u32(op3))
28010}
28011#[doc = "Multiply-subtract, multiplicand first"]
28012#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmsb[_u64]_m)"]
28013#[inline]
28014#[target_feature(enable = "sve")]
28015#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
28016#[cfg_attr(test, assert_instr(msb))]
28017pub fn svmsb_u64_m(pg: svbool_t, op1: svuint64_t, op2: svuint64_t, op3: svuint64_t) -> svuint64_t {
28018 unsafe { svmsb_s64_m(pg, op1.as_signed(), op2.as_signed(), op3.as_signed()).as_unsigned() }
28019}
28020#[doc = "Multiply-subtract, multiplicand first"]
28021#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmsb[_n_u64]_m)"]
28022#[inline]
28023#[target_feature(enable = "sve")]
28024#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
28025#[cfg_attr(test, assert_instr(msb))]
28026pub fn svmsb_n_u64_m(pg: svbool_t, op1: svuint64_t, op2: svuint64_t, op3: u64) -> svuint64_t {
28027 svmsb_u64_m(pg, op1, op2, svdup_n_u64(op3))
28028}
28029#[doc = "Multiply-subtract, multiplicand first"]
28030#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmsb[_u64]_x)"]
28031#[inline]
28032#[target_feature(enable = "sve")]
28033#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
28034#[cfg_attr(test, assert_instr(msb))]
28035pub fn svmsb_u64_x(pg: svbool_t, op1: svuint64_t, op2: svuint64_t, op3: svuint64_t) -> svuint64_t {
28036 svmsb_u64_m(pg, op1, op2, op3)
28037}
28038#[doc = "Multiply-subtract, multiplicand first"]
28039#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmsb[_n_u64]_x)"]
28040#[inline]
28041#[target_feature(enable = "sve")]
28042#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
28043#[cfg_attr(test, assert_instr(msb))]
28044pub fn svmsb_n_u64_x(pg: svbool_t, op1: svuint64_t, op2: svuint64_t, op3: u64) -> svuint64_t {
28045 svmsb_u64_x(pg, op1, op2, svdup_n_u64(op3))
28046}
28047#[doc = "Multiply-subtract, multiplicand first"]
28048#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmsb[_u64]_z)"]
28049#[inline]
28050#[target_feature(enable = "sve")]
28051#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
28052#[cfg_attr(test, assert_instr(msb))]
28053pub fn svmsb_u64_z(pg: svbool_t, op1: svuint64_t, op2: svuint64_t, op3: svuint64_t) -> svuint64_t {
28054 svmsb_u64_m(pg, svsel_u64(pg, op1, svdup_n_u64(0)), op2, op3)
28055}
28056#[doc = "Multiply-subtract, multiplicand first"]
28057#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmsb[_n_u64]_z)"]
28058#[inline]
28059#[target_feature(enable = "sve")]
28060#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
28061#[cfg_attr(test, assert_instr(msb))]
28062pub fn svmsb_n_u64_z(pg: svbool_t, op1: svuint64_t, op2: svuint64_t, op3: u64) -> svuint64_t {
28063 svmsb_u64_z(pg, op1, op2, svdup_n_u64(op3))
28064}
28065#[doc = "Multiply"]
28066#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmul[_f32]_m)"]
28067#[inline]
28068#[target_feature(enable = "sve")]
28069#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
28070#[cfg_attr(test, assert_instr(fmul))]
28071pub fn svmul_f32_m(pg: svbool_t, op1: svfloat32_t, op2: svfloat32_t) -> svfloat32_t {
28072 unsafe extern "unadjusted" {
28073 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.fmul.nxv4f32")]
28074 fn _svmul_f32_m(pg: svbool4_t, op1: svfloat32_t, op2: svfloat32_t) -> svfloat32_t;
28075 }
28076 unsafe { _svmul_f32_m(pg.sve_into(), op1, op2) }
28077}
28078#[doc = "Multiply"]
28079#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmul[_n_f32]_m)"]
28080#[inline]
28081#[target_feature(enable = "sve")]
28082#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
28083#[cfg_attr(test, assert_instr(fmul))]
28084pub fn svmul_n_f32_m(pg: svbool_t, op1: svfloat32_t, op2: f32) -> svfloat32_t {
28085 svmul_f32_m(pg, op1, svdup_n_f32(op2))
28086}
28087#[doc = "Multiply"]
28088#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmul[_f32]_x)"]
28089#[inline]
28090#[target_feature(enable = "sve")]
28091#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
28092#[cfg_attr(test, assert_instr(fmul))]
28093pub fn svmul_f32_x(pg: svbool_t, op1: svfloat32_t, op2: svfloat32_t) -> svfloat32_t {
28094 svmul_f32_m(pg, op1, op2)
28095}
28096#[doc = "Multiply"]
28097#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmul[_n_f32]_x)"]
28098#[inline]
28099#[target_feature(enable = "sve")]
28100#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
28101#[cfg_attr(test, assert_instr(fmul))]
28102pub fn svmul_n_f32_x(pg: svbool_t, op1: svfloat32_t, op2: f32) -> svfloat32_t {
28103 svmul_f32_x(pg, op1, svdup_n_f32(op2))
28104}
28105#[doc = "Multiply"]
28106#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmul[_f32]_z)"]
28107#[inline]
28108#[target_feature(enable = "sve")]
28109#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
28110#[cfg_attr(test, assert_instr(fmul))]
28111pub fn svmul_f32_z(pg: svbool_t, op1: svfloat32_t, op2: svfloat32_t) -> svfloat32_t {
28112 svmul_f32_m(pg, svsel_f32(pg, op1, svdup_n_f32(0.0)), op2)
28113}
28114#[doc = "Multiply"]
28115#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmul[_n_f32]_z)"]
28116#[inline]
28117#[target_feature(enable = "sve")]
28118#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
28119#[cfg_attr(test, assert_instr(fmul))]
28120pub fn svmul_n_f32_z(pg: svbool_t, op1: svfloat32_t, op2: f32) -> svfloat32_t {
28121 svmul_f32_z(pg, op1, svdup_n_f32(op2))
28122}
28123#[doc = "Multiply"]
28124#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmul[_f64]_m)"]
28125#[inline]
28126#[target_feature(enable = "sve")]
28127#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
28128#[cfg_attr(test, assert_instr(fmul))]
28129pub fn svmul_f64_m(pg: svbool_t, op1: svfloat64_t, op2: svfloat64_t) -> svfloat64_t {
28130 unsafe extern "unadjusted" {
28131 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.fmul.nxv2f64")]
28132 fn _svmul_f64_m(pg: svbool2_t, op1: svfloat64_t, op2: svfloat64_t) -> svfloat64_t;
28133 }
28134 unsafe { _svmul_f64_m(pg.sve_into(), op1, op2) }
28135}
28136#[doc = "Multiply"]
28137#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmul[_n_f64]_m)"]
28138#[inline]
28139#[target_feature(enable = "sve")]
28140#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
28141#[cfg_attr(test, assert_instr(fmul))]
28142pub fn svmul_n_f64_m(pg: svbool_t, op1: svfloat64_t, op2: f64) -> svfloat64_t {
28143 svmul_f64_m(pg, op1, svdup_n_f64(op2))
28144}
28145#[doc = "Multiply"]
28146#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmul[_f64]_x)"]
28147#[inline]
28148#[target_feature(enable = "sve")]
28149#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
28150#[cfg_attr(test, assert_instr(fmul))]
28151pub fn svmul_f64_x(pg: svbool_t, op1: svfloat64_t, op2: svfloat64_t) -> svfloat64_t {
28152 svmul_f64_m(pg, op1, op2)
28153}
28154#[doc = "Multiply"]
28155#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmul[_n_f64]_x)"]
28156#[inline]
28157#[target_feature(enable = "sve")]
28158#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
28159#[cfg_attr(test, assert_instr(fmul))]
28160pub fn svmul_n_f64_x(pg: svbool_t, op1: svfloat64_t, op2: f64) -> svfloat64_t {
28161 svmul_f64_x(pg, op1, svdup_n_f64(op2))
28162}
28163#[doc = "Multiply"]
28164#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmul[_f64]_z)"]
28165#[inline]
28166#[target_feature(enable = "sve")]
28167#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
28168#[cfg_attr(test, assert_instr(fmul))]
28169pub fn svmul_f64_z(pg: svbool_t, op1: svfloat64_t, op2: svfloat64_t) -> svfloat64_t {
28170 svmul_f64_m(pg, svsel_f64(pg, op1, svdup_n_f64(0.0)), op2)
28171}
28172#[doc = "Multiply"]
28173#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmul[_n_f64]_z)"]
28174#[inline]
28175#[target_feature(enable = "sve")]
28176#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
28177#[cfg_attr(test, assert_instr(fmul))]
28178pub fn svmul_n_f64_z(pg: svbool_t, op1: svfloat64_t, op2: f64) -> svfloat64_t {
28179 svmul_f64_z(pg, op1, svdup_n_f64(op2))
28180}
28181#[doc = "Multiply"]
28182#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmul[_s8]_m)"]
28183#[inline]
28184#[target_feature(enable = "sve")]
28185#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
28186#[cfg_attr(test, assert_instr(mul))]
28187pub fn svmul_s8_m(pg: svbool_t, op1: svint8_t, op2: svint8_t) -> svint8_t {
28188 unsafe extern "unadjusted" {
28189 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.mul.nxv16i8")]
28190 fn _svmul_s8_m(pg: svbool_t, op1: svint8_t, op2: svint8_t) -> svint8_t;
28191 }
28192 unsafe { _svmul_s8_m(pg, op1, op2) }
28193}
28194#[doc = "Multiply"]
28195#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmul[_n_s8]_m)"]
28196#[inline]
28197#[target_feature(enable = "sve")]
28198#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
28199#[cfg_attr(test, assert_instr(mul))]
28200pub fn svmul_n_s8_m(pg: svbool_t, op1: svint8_t, op2: i8) -> svint8_t {
28201 svmul_s8_m(pg, op1, svdup_n_s8(op2))
28202}
28203#[doc = "Multiply"]
28204#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmul[_s8]_x)"]
28205#[inline]
28206#[target_feature(enable = "sve")]
28207#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
28208#[cfg_attr(test, assert_instr(mul))]
28209pub fn svmul_s8_x(pg: svbool_t, op1: svint8_t, op2: svint8_t) -> svint8_t {
28210 svmul_s8_m(pg, op1, op2)
28211}
28212#[doc = "Multiply"]
28213#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmul[_n_s8]_x)"]
28214#[inline]
28215#[target_feature(enable = "sve")]
28216#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
28217#[cfg_attr(test, assert_instr(mul))]
28218pub fn svmul_n_s8_x(pg: svbool_t, op1: svint8_t, op2: i8) -> svint8_t {
28219 svmul_s8_x(pg, op1, svdup_n_s8(op2))
28220}
28221#[doc = "Multiply"]
28222#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmul[_s8]_z)"]
28223#[inline]
28224#[target_feature(enable = "sve")]
28225#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
28226#[cfg_attr(test, assert_instr(mul))]
28227pub fn svmul_s8_z(pg: svbool_t, op1: svint8_t, op2: svint8_t) -> svint8_t {
28228 svmul_s8_m(pg, svsel_s8(pg, op1, svdup_n_s8(0)), op2)
28229}
28230#[doc = "Multiply"]
28231#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmul[_n_s8]_z)"]
28232#[inline]
28233#[target_feature(enable = "sve")]
28234#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
28235#[cfg_attr(test, assert_instr(mul))]
28236pub fn svmul_n_s8_z(pg: svbool_t, op1: svint8_t, op2: i8) -> svint8_t {
28237 svmul_s8_z(pg, op1, svdup_n_s8(op2))
28238}
28239#[doc = "Multiply"]
28240#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmul[_s16]_m)"]
28241#[inline]
28242#[target_feature(enable = "sve")]
28243#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
28244#[cfg_attr(test, assert_instr(mul))]
28245pub fn svmul_s16_m(pg: svbool_t, op1: svint16_t, op2: svint16_t) -> svint16_t {
28246 unsafe extern "unadjusted" {
28247 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.mul.nxv8i16")]
28248 fn _svmul_s16_m(pg: svbool8_t, op1: svint16_t, op2: svint16_t) -> svint16_t;
28249 }
28250 unsafe { _svmul_s16_m(pg.sve_into(), op1, op2) }
28251}
28252#[doc = "Multiply"]
28253#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmul[_n_s16]_m)"]
28254#[inline]
28255#[target_feature(enable = "sve")]
28256#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
28257#[cfg_attr(test, assert_instr(mul))]
28258pub fn svmul_n_s16_m(pg: svbool_t, op1: svint16_t, op2: i16) -> svint16_t {
28259 svmul_s16_m(pg, op1, svdup_n_s16(op2))
28260}
28261#[doc = "Multiply"]
28262#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmul[_s16]_x)"]
28263#[inline]
28264#[target_feature(enable = "sve")]
28265#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
28266#[cfg_attr(test, assert_instr(mul))]
28267pub fn svmul_s16_x(pg: svbool_t, op1: svint16_t, op2: svint16_t) -> svint16_t {
28268 svmul_s16_m(pg, op1, op2)
28269}
28270#[doc = "Multiply"]
28271#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmul[_n_s16]_x)"]
28272#[inline]
28273#[target_feature(enable = "sve")]
28274#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
28275#[cfg_attr(test, assert_instr(mul))]
28276pub fn svmul_n_s16_x(pg: svbool_t, op1: svint16_t, op2: i16) -> svint16_t {
28277 svmul_s16_x(pg, op1, svdup_n_s16(op2))
28278}
28279#[doc = "Multiply"]
28280#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmul[_s16]_z)"]
28281#[inline]
28282#[target_feature(enable = "sve")]
28283#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
28284#[cfg_attr(test, assert_instr(mul))]
28285pub fn svmul_s16_z(pg: svbool_t, op1: svint16_t, op2: svint16_t) -> svint16_t {
28286 svmul_s16_m(pg, svsel_s16(pg, op1, svdup_n_s16(0)), op2)
28287}
28288#[doc = "Multiply"]
28289#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmul[_n_s16]_z)"]
28290#[inline]
28291#[target_feature(enable = "sve")]
28292#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
28293#[cfg_attr(test, assert_instr(mul))]
28294pub fn svmul_n_s16_z(pg: svbool_t, op1: svint16_t, op2: i16) -> svint16_t {
28295 svmul_s16_z(pg, op1, svdup_n_s16(op2))
28296}
28297#[doc = "Multiply"]
28298#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmul[_s32]_m)"]
28299#[inline]
28300#[target_feature(enable = "sve")]
28301#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
28302#[cfg_attr(test, assert_instr(mul))]
28303pub fn svmul_s32_m(pg: svbool_t, op1: svint32_t, op2: svint32_t) -> svint32_t {
28304 unsafe extern "unadjusted" {
28305 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.mul.nxv4i32")]
28306 fn _svmul_s32_m(pg: svbool4_t, op1: svint32_t, op2: svint32_t) -> svint32_t;
28307 }
28308 unsafe { _svmul_s32_m(pg.sve_into(), op1, op2) }
28309}
28310#[doc = "Multiply"]
28311#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmul[_n_s32]_m)"]
28312#[inline]
28313#[target_feature(enable = "sve")]
28314#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
28315#[cfg_attr(test, assert_instr(mul))]
28316pub fn svmul_n_s32_m(pg: svbool_t, op1: svint32_t, op2: i32) -> svint32_t {
28317 svmul_s32_m(pg, op1, svdup_n_s32(op2))
28318}
28319#[doc = "Multiply"]
28320#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmul[_s32]_x)"]
28321#[inline]
28322#[target_feature(enable = "sve")]
28323#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
28324#[cfg_attr(test, assert_instr(mul))]
28325pub fn svmul_s32_x(pg: svbool_t, op1: svint32_t, op2: svint32_t) -> svint32_t {
28326 svmul_s32_m(pg, op1, op2)
28327}
28328#[doc = "Multiply"]
28329#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmul[_n_s32]_x)"]
28330#[inline]
28331#[target_feature(enable = "sve")]
28332#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
28333#[cfg_attr(test, assert_instr(mul))]
28334pub fn svmul_n_s32_x(pg: svbool_t, op1: svint32_t, op2: i32) -> svint32_t {
28335 svmul_s32_x(pg, op1, svdup_n_s32(op2))
28336}
28337#[doc = "Multiply"]
28338#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmul[_s32]_z)"]
28339#[inline]
28340#[target_feature(enable = "sve")]
28341#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
28342#[cfg_attr(test, assert_instr(mul))]
28343pub fn svmul_s32_z(pg: svbool_t, op1: svint32_t, op2: svint32_t) -> svint32_t {
28344 svmul_s32_m(pg, svsel_s32(pg, op1, svdup_n_s32(0)), op2)
28345}
28346#[doc = "Multiply"]
28347#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmul[_n_s32]_z)"]
28348#[inline]
28349#[target_feature(enable = "sve")]
28350#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
28351#[cfg_attr(test, assert_instr(mul))]
28352pub fn svmul_n_s32_z(pg: svbool_t, op1: svint32_t, op2: i32) -> svint32_t {
28353 svmul_s32_z(pg, op1, svdup_n_s32(op2))
28354}
28355#[doc = "Multiply"]
28356#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmul[_s64]_m)"]
28357#[inline]
28358#[target_feature(enable = "sve")]
28359#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
28360#[cfg_attr(test, assert_instr(mul))]
28361pub fn svmul_s64_m(pg: svbool_t, op1: svint64_t, op2: svint64_t) -> svint64_t {
28362 unsafe extern "unadjusted" {
28363 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.mul.nxv2i64")]
28364 fn _svmul_s64_m(pg: svbool2_t, op1: svint64_t, op2: svint64_t) -> svint64_t;
28365 }
28366 unsafe { _svmul_s64_m(pg.sve_into(), op1, op2) }
28367}
28368#[doc = "Multiply"]
28369#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmul[_n_s64]_m)"]
28370#[inline]
28371#[target_feature(enable = "sve")]
28372#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
28373#[cfg_attr(test, assert_instr(mul))]
28374pub fn svmul_n_s64_m(pg: svbool_t, op1: svint64_t, op2: i64) -> svint64_t {
28375 svmul_s64_m(pg, op1, svdup_n_s64(op2))
28376}
28377#[doc = "Multiply"]
28378#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmul[_s64]_x)"]
28379#[inline]
28380#[target_feature(enable = "sve")]
28381#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
28382#[cfg_attr(test, assert_instr(mul))]
28383pub fn svmul_s64_x(pg: svbool_t, op1: svint64_t, op2: svint64_t) -> svint64_t {
28384 svmul_s64_m(pg, op1, op2)
28385}
28386#[doc = "Multiply"]
28387#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmul[_n_s64]_x)"]
28388#[inline]
28389#[target_feature(enable = "sve")]
28390#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
28391#[cfg_attr(test, assert_instr(mul))]
28392pub fn svmul_n_s64_x(pg: svbool_t, op1: svint64_t, op2: i64) -> svint64_t {
28393 svmul_s64_x(pg, op1, svdup_n_s64(op2))
28394}
28395#[doc = "Multiply"]
28396#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmul[_s64]_z)"]
28397#[inline]
28398#[target_feature(enable = "sve")]
28399#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
28400#[cfg_attr(test, assert_instr(mul))]
28401pub fn svmul_s64_z(pg: svbool_t, op1: svint64_t, op2: svint64_t) -> svint64_t {
28402 svmul_s64_m(pg, svsel_s64(pg, op1, svdup_n_s64(0)), op2)
28403}
28404#[doc = "Multiply"]
28405#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmul[_n_s64]_z)"]
28406#[inline]
28407#[target_feature(enable = "sve")]
28408#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
28409#[cfg_attr(test, assert_instr(mul))]
28410pub fn svmul_n_s64_z(pg: svbool_t, op1: svint64_t, op2: i64) -> svint64_t {
28411 svmul_s64_z(pg, op1, svdup_n_s64(op2))
28412}
28413#[doc = "Multiply"]
28414#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmul[_u8]_m)"]
28415#[inline]
28416#[target_feature(enable = "sve")]
28417#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
28418#[cfg_attr(test, assert_instr(mul))]
28419pub fn svmul_u8_m(pg: svbool_t, op1: svuint8_t, op2: svuint8_t) -> svuint8_t {
28420 unsafe { svmul_s8_m(pg, op1.as_signed(), op2.as_signed()).as_unsigned() }
28421}
28422#[doc = "Multiply"]
28423#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmul[_n_u8]_m)"]
28424#[inline]
28425#[target_feature(enable = "sve")]
28426#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
28427#[cfg_attr(test, assert_instr(mul))]
28428pub fn svmul_n_u8_m(pg: svbool_t, op1: svuint8_t, op2: u8) -> svuint8_t {
28429 svmul_u8_m(pg, op1, svdup_n_u8(op2))
28430}
28431#[doc = "Multiply"]
28432#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmul[_u8]_x)"]
28433#[inline]
28434#[target_feature(enable = "sve")]
28435#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
28436#[cfg_attr(test, assert_instr(mul))]
28437pub fn svmul_u8_x(pg: svbool_t, op1: svuint8_t, op2: svuint8_t) -> svuint8_t {
28438 svmul_u8_m(pg, op1, op2)
28439}
28440#[doc = "Multiply"]
28441#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmul[_n_u8]_x)"]
28442#[inline]
28443#[target_feature(enable = "sve")]
28444#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
28445#[cfg_attr(test, assert_instr(mul))]
28446pub fn svmul_n_u8_x(pg: svbool_t, op1: svuint8_t, op2: u8) -> svuint8_t {
28447 svmul_u8_x(pg, op1, svdup_n_u8(op2))
28448}
28449#[doc = "Multiply"]
28450#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmul[_u8]_z)"]
28451#[inline]
28452#[target_feature(enable = "sve")]
28453#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
28454#[cfg_attr(test, assert_instr(mul))]
28455pub fn svmul_u8_z(pg: svbool_t, op1: svuint8_t, op2: svuint8_t) -> svuint8_t {
28456 svmul_u8_m(pg, svsel_u8(pg, op1, svdup_n_u8(0)), op2)
28457}
28458#[doc = "Multiply"]
28459#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmul[_n_u8]_z)"]
28460#[inline]
28461#[target_feature(enable = "sve")]
28462#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
28463#[cfg_attr(test, assert_instr(mul))]
28464pub fn svmul_n_u8_z(pg: svbool_t, op1: svuint8_t, op2: u8) -> svuint8_t {
28465 svmul_u8_z(pg, op1, svdup_n_u8(op2))
28466}
28467#[doc = "Multiply"]
28468#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmul[_u16]_m)"]
28469#[inline]
28470#[target_feature(enable = "sve")]
28471#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
28472#[cfg_attr(test, assert_instr(mul))]
28473pub fn svmul_u16_m(pg: svbool_t, op1: svuint16_t, op2: svuint16_t) -> svuint16_t {
28474 unsafe { svmul_s16_m(pg, op1.as_signed(), op2.as_signed()).as_unsigned() }
28475}
28476#[doc = "Multiply"]
28477#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmul[_n_u16]_m)"]
28478#[inline]
28479#[target_feature(enable = "sve")]
28480#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
28481#[cfg_attr(test, assert_instr(mul))]
28482pub fn svmul_n_u16_m(pg: svbool_t, op1: svuint16_t, op2: u16) -> svuint16_t {
28483 svmul_u16_m(pg, op1, svdup_n_u16(op2))
28484}
28485#[doc = "Multiply"]
28486#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmul[_u16]_x)"]
28487#[inline]
28488#[target_feature(enable = "sve")]
28489#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
28490#[cfg_attr(test, assert_instr(mul))]
28491pub fn svmul_u16_x(pg: svbool_t, op1: svuint16_t, op2: svuint16_t) -> svuint16_t {
28492 svmul_u16_m(pg, op1, op2)
28493}
28494#[doc = "Multiply"]
28495#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmul[_n_u16]_x)"]
28496#[inline]
28497#[target_feature(enable = "sve")]
28498#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
28499#[cfg_attr(test, assert_instr(mul))]
28500pub fn svmul_n_u16_x(pg: svbool_t, op1: svuint16_t, op2: u16) -> svuint16_t {
28501 svmul_u16_x(pg, op1, svdup_n_u16(op2))
28502}
28503#[doc = "Multiply"]
28504#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmul[_u16]_z)"]
28505#[inline]
28506#[target_feature(enable = "sve")]
28507#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
28508#[cfg_attr(test, assert_instr(mul))]
28509pub fn svmul_u16_z(pg: svbool_t, op1: svuint16_t, op2: svuint16_t) -> svuint16_t {
28510 svmul_u16_m(pg, svsel_u16(pg, op1, svdup_n_u16(0)), op2)
28511}
28512#[doc = "Multiply"]
28513#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmul[_n_u16]_z)"]
28514#[inline]
28515#[target_feature(enable = "sve")]
28516#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
28517#[cfg_attr(test, assert_instr(mul))]
28518pub fn svmul_n_u16_z(pg: svbool_t, op1: svuint16_t, op2: u16) -> svuint16_t {
28519 svmul_u16_z(pg, op1, svdup_n_u16(op2))
28520}
28521#[doc = "Multiply"]
28522#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmul[_u32]_m)"]
28523#[inline]
28524#[target_feature(enable = "sve")]
28525#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
28526#[cfg_attr(test, assert_instr(mul))]
28527pub fn svmul_u32_m(pg: svbool_t, op1: svuint32_t, op2: svuint32_t) -> svuint32_t {
28528 unsafe { svmul_s32_m(pg, op1.as_signed(), op2.as_signed()).as_unsigned() }
28529}
28530#[doc = "Multiply"]
28531#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmul[_n_u32]_m)"]
28532#[inline]
28533#[target_feature(enable = "sve")]
28534#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
28535#[cfg_attr(test, assert_instr(mul))]
28536pub fn svmul_n_u32_m(pg: svbool_t, op1: svuint32_t, op2: u32) -> svuint32_t {
28537 svmul_u32_m(pg, op1, svdup_n_u32(op2))
28538}
28539#[doc = "Multiply"]
28540#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmul[_u32]_x)"]
28541#[inline]
28542#[target_feature(enable = "sve")]
28543#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
28544#[cfg_attr(test, assert_instr(mul))]
28545pub fn svmul_u32_x(pg: svbool_t, op1: svuint32_t, op2: svuint32_t) -> svuint32_t {
28546 svmul_u32_m(pg, op1, op2)
28547}
28548#[doc = "Multiply"]
28549#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmul[_n_u32]_x)"]
28550#[inline]
28551#[target_feature(enable = "sve")]
28552#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
28553#[cfg_attr(test, assert_instr(mul))]
28554pub fn svmul_n_u32_x(pg: svbool_t, op1: svuint32_t, op2: u32) -> svuint32_t {
28555 svmul_u32_x(pg, op1, svdup_n_u32(op2))
28556}
28557#[doc = "Multiply"]
28558#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmul[_u32]_z)"]
28559#[inline]
28560#[target_feature(enable = "sve")]
28561#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
28562#[cfg_attr(test, assert_instr(mul))]
28563pub fn svmul_u32_z(pg: svbool_t, op1: svuint32_t, op2: svuint32_t) -> svuint32_t {
28564 svmul_u32_m(pg, svsel_u32(pg, op1, svdup_n_u32(0)), op2)
28565}
28566#[doc = "Multiply"]
28567#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmul[_n_u32]_z)"]
28568#[inline]
28569#[target_feature(enable = "sve")]
28570#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
28571#[cfg_attr(test, assert_instr(mul))]
28572pub fn svmul_n_u32_z(pg: svbool_t, op1: svuint32_t, op2: u32) -> svuint32_t {
28573 svmul_u32_z(pg, op1, svdup_n_u32(op2))
28574}
28575#[doc = "Multiply"]
28576#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmul[_u64]_m)"]
28577#[inline]
28578#[target_feature(enable = "sve")]
28579#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
28580#[cfg_attr(test, assert_instr(mul))]
28581pub fn svmul_u64_m(pg: svbool_t, op1: svuint64_t, op2: svuint64_t) -> svuint64_t {
28582 unsafe { svmul_s64_m(pg, op1.as_signed(), op2.as_signed()).as_unsigned() }
28583}
28584#[doc = "Multiply"]
28585#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmul[_n_u64]_m)"]
28586#[inline]
28587#[target_feature(enable = "sve")]
28588#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
28589#[cfg_attr(test, assert_instr(mul))]
28590pub fn svmul_n_u64_m(pg: svbool_t, op1: svuint64_t, op2: u64) -> svuint64_t {
28591 svmul_u64_m(pg, op1, svdup_n_u64(op2))
28592}
28593#[doc = "Multiply"]
28594#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmul[_u64]_x)"]
28595#[inline]
28596#[target_feature(enable = "sve")]
28597#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
28598#[cfg_attr(test, assert_instr(mul))]
28599pub fn svmul_u64_x(pg: svbool_t, op1: svuint64_t, op2: svuint64_t) -> svuint64_t {
28600 svmul_u64_m(pg, op1, op2)
28601}
28602#[doc = "Multiply"]
28603#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmul[_n_u64]_x)"]
28604#[inline]
28605#[target_feature(enable = "sve")]
28606#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
28607#[cfg_attr(test, assert_instr(mul))]
28608pub fn svmul_n_u64_x(pg: svbool_t, op1: svuint64_t, op2: u64) -> svuint64_t {
28609 svmul_u64_x(pg, op1, svdup_n_u64(op2))
28610}
28611#[doc = "Multiply"]
28612#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmul[_u64]_z)"]
28613#[inline]
28614#[target_feature(enable = "sve")]
28615#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
28616#[cfg_attr(test, assert_instr(mul))]
28617pub fn svmul_u64_z(pg: svbool_t, op1: svuint64_t, op2: svuint64_t) -> svuint64_t {
28618 svmul_u64_m(pg, svsel_u64(pg, op1, svdup_n_u64(0)), op2)
28619}
28620#[doc = "Multiply"]
28621#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmul[_n_u64]_z)"]
28622#[inline]
28623#[target_feature(enable = "sve")]
28624#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
28625#[cfg_attr(test, assert_instr(mul))]
28626pub fn svmul_n_u64_z(pg: svbool_t, op1: svuint64_t, op2: u64) -> svuint64_t {
28627 svmul_u64_z(pg, op1, svdup_n_u64(op2))
28628}
28629#[doc = "Multiply, returning high-half"]
28630#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmulh[_s8]_m)"]
28631#[inline]
28632#[target_feature(enable = "sve")]
28633#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
28634#[cfg_attr(test, assert_instr(smulh))]
28635pub fn svmulh_s8_m(pg: svbool_t, op1: svint8_t, op2: svint8_t) -> svint8_t {
28636 unsafe extern "unadjusted" {
28637 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.smulh.nxv16i8")]
28638 fn _svmulh_s8_m(pg: svbool_t, op1: svint8_t, op2: svint8_t) -> svint8_t;
28639 }
28640 unsafe { _svmulh_s8_m(pg, op1, op2) }
28641}
28642#[doc = "Multiply, returning high-half"]
28643#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmulh[_n_s8]_m)"]
28644#[inline]
28645#[target_feature(enable = "sve")]
28646#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
28647#[cfg_attr(test, assert_instr(smulh))]
28648pub fn svmulh_n_s8_m(pg: svbool_t, op1: svint8_t, op2: i8) -> svint8_t {
28649 svmulh_s8_m(pg, op1, svdup_n_s8(op2))
28650}
28651#[doc = "Multiply, returning high-half"]
28652#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmulh[_s8]_x)"]
28653#[inline]
28654#[target_feature(enable = "sve")]
28655#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
28656#[cfg_attr(test, assert_instr(smulh))]
28657pub fn svmulh_s8_x(pg: svbool_t, op1: svint8_t, op2: svint8_t) -> svint8_t {
28658 svmulh_s8_m(pg, op1, op2)
28659}
28660#[doc = "Multiply, returning high-half"]
28661#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmulh[_n_s8]_x)"]
28662#[inline]
28663#[target_feature(enable = "sve")]
28664#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
28665#[cfg_attr(test, assert_instr(smulh))]
28666pub fn svmulh_n_s8_x(pg: svbool_t, op1: svint8_t, op2: i8) -> svint8_t {
28667 svmulh_s8_x(pg, op1, svdup_n_s8(op2))
28668}
28669#[doc = "Multiply, returning high-half"]
28670#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmulh[_s8]_z)"]
28671#[inline]
28672#[target_feature(enable = "sve")]
28673#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
28674#[cfg_attr(test, assert_instr(smulh))]
28675pub fn svmulh_s8_z(pg: svbool_t, op1: svint8_t, op2: svint8_t) -> svint8_t {
28676 svmulh_s8_m(pg, svsel_s8(pg, op1, svdup_n_s8(0)), op2)
28677}
28678#[doc = "Multiply, returning high-half"]
28679#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmulh[_n_s8]_z)"]
28680#[inline]
28681#[target_feature(enable = "sve")]
28682#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
28683#[cfg_attr(test, assert_instr(smulh))]
28684pub fn svmulh_n_s8_z(pg: svbool_t, op1: svint8_t, op2: i8) -> svint8_t {
28685 svmulh_s8_z(pg, op1, svdup_n_s8(op2))
28686}
28687#[doc = "Multiply, returning high-half"]
28688#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmulh[_s16]_m)"]
28689#[inline]
28690#[target_feature(enable = "sve")]
28691#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
28692#[cfg_attr(test, assert_instr(smulh))]
28693pub fn svmulh_s16_m(pg: svbool_t, op1: svint16_t, op2: svint16_t) -> svint16_t {
28694 unsafe extern "unadjusted" {
28695 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.smulh.nxv8i16")]
28696 fn _svmulh_s16_m(pg: svbool8_t, op1: svint16_t, op2: svint16_t) -> svint16_t;
28697 }
28698 unsafe { _svmulh_s16_m(pg.sve_into(), op1, op2) }
28699}
28700#[doc = "Multiply, returning high-half"]
28701#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmulh[_n_s16]_m)"]
28702#[inline]
28703#[target_feature(enable = "sve")]
28704#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
28705#[cfg_attr(test, assert_instr(smulh))]
28706pub fn svmulh_n_s16_m(pg: svbool_t, op1: svint16_t, op2: i16) -> svint16_t {
28707 svmulh_s16_m(pg, op1, svdup_n_s16(op2))
28708}
28709#[doc = "Multiply, returning high-half"]
28710#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmulh[_s16]_x)"]
28711#[inline]
28712#[target_feature(enable = "sve")]
28713#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
28714#[cfg_attr(test, assert_instr(smulh))]
28715pub fn svmulh_s16_x(pg: svbool_t, op1: svint16_t, op2: svint16_t) -> svint16_t {
28716 svmulh_s16_m(pg, op1, op2)
28717}
28718#[doc = "Multiply, returning high-half"]
28719#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmulh[_n_s16]_x)"]
28720#[inline]
28721#[target_feature(enable = "sve")]
28722#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
28723#[cfg_attr(test, assert_instr(smulh))]
28724pub fn svmulh_n_s16_x(pg: svbool_t, op1: svint16_t, op2: i16) -> svint16_t {
28725 svmulh_s16_x(pg, op1, svdup_n_s16(op2))
28726}
28727#[doc = "Multiply, returning high-half"]
28728#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmulh[_s16]_z)"]
28729#[inline]
28730#[target_feature(enable = "sve")]
28731#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
28732#[cfg_attr(test, assert_instr(smulh))]
28733pub fn svmulh_s16_z(pg: svbool_t, op1: svint16_t, op2: svint16_t) -> svint16_t {
28734 svmulh_s16_m(pg, svsel_s16(pg, op1, svdup_n_s16(0)), op2)
28735}
28736#[doc = "Multiply, returning high-half"]
28737#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmulh[_n_s16]_z)"]
28738#[inline]
28739#[target_feature(enable = "sve")]
28740#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
28741#[cfg_attr(test, assert_instr(smulh))]
28742pub fn svmulh_n_s16_z(pg: svbool_t, op1: svint16_t, op2: i16) -> svint16_t {
28743 svmulh_s16_z(pg, op1, svdup_n_s16(op2))
28744}
28745#[doc = "Multiply, returning high-half"]
28746#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmulh[_s32]_m)"]
28747#[inline]
28748#[target_feature(enable = "sve")]
28749#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
28750#[cfg_attr(test, assert_instr(smulh))]
28751pub fn svmulh_s32_m(pg: svbool_t, op1: svint32_t, op2: svint32_t) -> svint32_t {
28752 unsafe extern "unadjusted" {
28753 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.smulh.nxv4i32")]
28754 fn _svmulh_s32_m(pg: svbool4_t, op1: svint32_t, op2: svint32_t) -> svint32_t;
28755 }
28756 unsafe { _svmulh_s32_m(pg.sve_into(), op1, op2) }
28757}
28758#[doc = "Multiply, returning high-half"]
28759#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmulh[_n_s32]_m)"]
28760#[inline]
28761#[target_feature(enable = "sve")]
28762#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
28763#[cfg_attr(test, assert_instr(smulh))]
28764pub fn svmulh_n_s32_m(pg: svbool_t, op1: svint32_t, op2: i32) -> svint32_t {
28765 svmulh_s32_m(pg, op1, svdup_n_s32(op2))
28766}
28767#[doc = "Multiply, returning high-half"]
28768#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmulh[_s32]_x)"]
28769#[inline]
28770#[target_feature(enable = "sve")]
28771#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
28772#[cfg_attr(test, assert_instr(smulh))]
28773pub fn svmulh_s32_x(pg: svbool_t, op1: svint32_t, op2: svint32_t) -> svint32_t {
28774 svmulh_s32_m(pg, op1, op2)
28775}
28776#[doc = "Multiply, returning high-half"]
28777#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmulh[_n_s32]_x)"]
28778#[inline]
28779#[target_feature(enable = "sve")]
28780#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
28781#[cfg_attr(test, assert_instr(smulh))]
28782pub fn svmulh_n_s32_x(pg: svbool_t, op1: svint32_t, op2: i32) -> svint32_t {
28783 svmulh_s32_x(pg, op1, svdup_n_s32(op2))
28784}
28785#[doc = "Multiply, returning high-half"]
28786#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmulh[_s32]_z)"]
28787#[inline]
28788#[target_feature(enable = "sve")]
28789#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
28790#[cfg_attr(test, assert_instr(smulh))]
28791pub fn svmulh_s32_z(pg: svbool_t, op1: svint32_t, op2: svint32_t) -> svint32_t {
28792 svmulh_s32_m(pg, svsel_s32(pg, op1, svdup_n_s32(0)), op2)
28793}
28794#[doc = "Multiply, returning high-half"]
28795#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmulh[_n_s32]_z)"]
28796#[inline]
28797#[target_feature(enable = "sve")]
28798#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
28799#[cfg_attr(test, assert_instr(smulh))]
28800pub fn svmulh_n_s32_z(pg: svbool_t, op1: svint32_t, op2: i32) -> svint32_t {
28801 svmulh_s32_z(pg, op1, svdup_n_s32(op2))
28802}
28803#[doc = "Multiply, returning high-half"]
28804#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmulh[_s64]_m)"]
28805#[inline]
28806#[target_feature(enable = "sve")]
28807#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
28808#[cfg_attr(test, assert_instr(smulh))]
28809pub fn svmulh_s64_m(pg: svbool_t, op1: svint64_t, op2: svint64_t) -> svint64_t {
28810 unsafe extern "unadjusted" {
28811 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.smulh.nxv2i64")]
28812 fn _svmulh_s64_m(pg: svbool2_t, op1: svint64_t, op2: svint64_t) -> svint64_t;
28813 }
28814 unsafe { _svmulh_s64_m(pg.sve_into(), op1, op2) }
28815}
28816#[doc = "Multiply, returning high-half"]
28817#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmulh[_n_s64]_m)"]
28818#[inline]
28819#[target_feature(enable = "sve")]
28820#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
28821#[cfg_attr(test, assert_instr(smulh))]
28822pub fn svmulh_n_s64_m(pg: svbool_t, op1: svint64_t, op2: i64) -> svint64_t {
28823 svmulh_s64_m(pg, op1, svdup_n_s64(op2))
28824}
28825#[doc = "Multiply, returning high-half"]
28826#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmulh[_s64]_x)"]
28827#[inline]
28828#[target_feature(enable = "sve")]
28829#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
28830#[cfg_attr(test, assert_instr(smulh))]
28831pub fn svmulh_s64_x(pg: svbool_t, op1: svint64_t, op2: svint64_t) -> svint64_t {
28832 svmulh_s64_m(pg, op1, op2)
28833}
28834#[doc = "Multiply, returning high-half"]
28835#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmulh[_n_s64]_x)"]
28836#[inline]
28837#[target_feature(enable = "sve")]
28838#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
28839#[cfg_attr(test, assert_instr(smulh))]
28840pub fn svmulh_n_s64_x(pg: svbool_t, op1: svint64_t, op2: i64) -> svint64_t {
28841 svmulh_s64_x(pg, op1, svdup_n_s64(op2))
28842}
28843#[doc = "Multiply, returning high-half"]
28844#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmulh[_s64]_z)"]
28845#[inline]
28846#[target_feature(enable = "sve")]
28847#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
28848#[cfg_attr(test, assert_instr(smulh))]
28849pub fn svmulh_s64_z(pg: svbool_t, op1: svint64_t, op2: svint64_t) -> svint64_t {
28850 svmulh_s64_m(pg, svsel_s64(pg, op1, svdup_n_s64(0)), op2)
28851}
28852#[doc = "Multiply, returning high-half"]
28853#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmulh[_n_s64]_z)"]
28854#[inline]
28855#[target_feature(enable = "sve")]
28856#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
28857#[cfg_attr(test, assert_instr(smulh))]
28858pub fn svmulh_n_s64_z(pg: svbool_t, op1: svint64_t, op2: i64) -> svint64_t {
28859 svmulh_s64_z(pg, op1, svdup_n_s64(op2))
28860}
28861#[doc = "Multiply, returning high-half"]
28862#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmulh[_u8]_m)"]
28863#[inline]
28864#[target_feature(enable = "sve")]
28865#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
28866#[cfg_attr(test, assert_instr(umulh))]
28867pub fn svmulh_u8_m(pg: svbool_t, op1: svuint8_t, op2: svuint8_t) -> svuint8_t {
28868 unsafe extern "unadjusted" {
28869 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.umulh.nxv16i8")]
28870 fn _svmulh_u8_m(pg: svbool_t, op1: svint8_t, op2: svint8_t) -> svint8_t;
28871 }
28872 unsafe { _svmulh_u8_m(pg, op1.as_signed(), op2.as_signed()).as_unsigned() }
28873}
28874#[doc = "Multiply, returning high-half"]
28875#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmulh[_n_u8]_m)"]
28876#[inline]
28877#[target_feature(enable = "sve")]
28878#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
28879#[cfg_attr(test, assert_instr(umulh))]
28880pub fn svmulh_n_u8_m(pg: svbool_t, op1: svuint8_t, op2: u8) -> svuint8_t {
28881 svmulh_u8_m(pg, op1, svdup_n_u8(op2))
28882}
28883#[doc = "Multiply, returning high-half"]
28884#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmulh[_u8]_x)"]
28885#[inline]
28886#[target_feature(enable = "sve")]
28887#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
28888#[cfg_attr(test, assert_instr(umulh))]
28889pub fn svmulh_u8_x(pg: svbool_t, op1: svuint8_t, op2: svuint8_t) -> svuint8_t {
28890 svmulh_u8_m(pg, op1, op2)
28891}
28892#[doc = "Multiply, returning high-half"]
28893#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmulh[_n_u8]_x)"]
28894#[inline]
28895#[target_feature(enable = "sve")]
28896#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
28897#[cfg_attr(test, assert_instr(umulh))]
28898pub fn svmulh_n_u8_x(pg: svbool_t, op1: svuint8_t, op2: u8) -> svuint8_t {
28899 svmulh_u8_x(pg, op1, svdup_n_u8(op2))
28900}
28901#[doc = "Multiply, returning high-half"]
28902#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmulh[_u8]_z)"]
28903#[inline]
28904#[target_feature(enable = "sve")]
28905#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
28906#[cfg_attr(test, assert_instr(umulh))]
28907pub fn svmulh_u8_z(pg: svbool_t, op1: svuint8_t, op2: svuint8_t) -> svuint8_t {
28908 svmulh_u8_m(pg, svsel_u8(pg, op1, svdup_n_u8(0)), op2)
28909}
28910#[doc = "Multiply, returning high-half"]
28911#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmulh[_n_u8]_z)"]
28912#[inline]
28913#[target_feature(enable = "sve")]
28914#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
28915#[cfg_attr(test, assert_instr(umulh))]
28916pub fn svmulh_n_u8_z(pg: svbool_t, op1: svuint8_t, op2: u8) -> svuint8_t {
28917 svmulh_u8_z(pg, op1, svdup_n_u8(op2))
28918}
28919#[doc = "Multiply, returning high-half"]
28920#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmulh[_u16]_m)"]
28921#[inline]
28922#[target_feature(enable = "sve")]
28923#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
28924#[cfg_attr(test, assert_instr(umulh))]
28925pub fn svmulh_u16_m(pg: svbool_t, op1: svuint16_t, op2: svuint16_t) -> svuint16_t {
28926 unsafe extern "unadjusted" {
28927 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.umulh.nxv8i16")]
28928 fn _svmulh_u16_m(pg: svbool8_t, op1: svint16_t, op2: svint16_t) -> svint16_t;
28929 }
28930 unsafe { _svmulh_u16_m(pg.sve_into(), op1.as_signed(), op2.as_signed()).as_unsigned() }
28931}
28932#[doc = "Multiply, returning high-half"]
28933#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmulh[_n_u16]_m)"]
28934#[inline]
28935#[target_feature(enable = "sve")]
28936#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
28937#[cfg_attr(test, assert_instr(umulh))]
28938pub fn svmulh_n_u16_m(pg: svbool_t, op1: svuint16_t, op2: u16) -> svuint16_t {
28939 svmulh_u16_m(pg, op1, svdup_n_u16(op2))
28940}
28941#[doc = "Multiply, returning high-half"]
28942#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmulh[_u16]_x)"]
28943#[inline]
28944#[target_feature(enable = "sve")]
28945#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
28946#[cfg_attr(test, assert_instr(umulh))]
28947pub fn svmulh_u16_x(pg: svbool_t, op1: svuint16_t, op2: svuint16_t) -> svuint16_t {
28948 svmulh_u16_m(pg, op1, op2)
28949}
28950#[doc = "Multiply, returning high-half"]
28951#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmulh[_n_u16]_x)"]
28952#[inline]
28953#[target_feature(enable = "sve")]
28954#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
28955#[cfg_attr(test, assert_instr(umulh))]
28956pub fn svmulh_n_u16_x(pg: svbool_t, op1: svuint16_t, op2: u16) -> svuint16_t {
28957 svmulh_u16_x(pg, op1, svdup_n_u16(op2))
28958}
28959#[doc = "Multiply, returning high-half"]
28960#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmulh[_u16]_z)"]
28961#[inline]
28962#[target_feature(enable = "sve")]
28963#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
28964#[cfg_attr(test, assert_instr(umulh))]
28965pub fn svmulh_u16_z(pg: svbool_t, op1: svuint16_t, op2: svuint16_t) -> svuint16_t {
28966 svmulh_u16_m(pg, svsel_u16(pg, op1, svdup_n_u16(0)), op2)
28967}
28968#[doc = "Multiply, returning high-half"]
28969#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmulh[_n_u16]_z)"]
28970#[inline]
28971#[target_feature(enable = "sve")]
28972#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
28973#[cfg_attr(test, assert_instr(umulh))]
28974pub fn svmulh_n_u16_z(pg: svbool_t, op1: svuint16_t, op2: u16) -> svuint16_t {
28975 svmulh_u16_z(pg, op1, svdup_n_u16(op2))
28976}
28977#[doc = "Multiply, returning high-half"]
28978#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmulh[_u32]_m)"]
28979#[inline]
28980#[target_feature(enable = "sve")]
28981#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
28982#[cfg_attr(test, assert_instr(umulh))]
28983pub fn svmulh_u32_m(pg: svbool_t, op1: svuint32_t, op2: svuint32_t) -> svuint32_t {
28984 unsafe extern "unadjusted" {
28985 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.umulh.nxv4i32")]
28986 fn _svmulh_u32_m(pg: svbool4_t, op1: svint32_t, op2: svint32_t) -> svint32_t;
28987 }
28988 unsafe { _svmulh_u32_m(pg.sve_into(), op1.as_signed(), op2.as_signed()).as_unsigned() }
28989}
28990#[doc = "Multiply, returning high-half"]
28991#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmulh[_n_u32]_m)"]
28992#[inline]
28993#[target_feature(enable = "sve")]
28994#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
28995#[cfg_attr(test, assert_instr(umulh))]
28996pub fn svmulh_n_u32_m(pg: svbool_t, op1: svuint32_t, op2: u32) -> svuint32_t {
28997 svmulh_u32_m(pg, op1, svdup_n_u32(op2))
28998}
28999#[doc = "Multiply, returning high-half"]
29000#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmulh[_u32]_x)"]
29001#[inline]
29002#[target_feature(enable = "sve")]
29003#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
29004#[cfg_attr(test, assert_instr(umulh))]
29005pub fn svmulh_u32_x(pg: svbool_t, op1: svuint32_t, op2: svuint32_t) -> svuint32_t {
29006 svmulh_u32_m(pg, op1, op2)
29007}
29008#[doc = "Multiply, returning high-half"]
29009#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmulh[_n_u32]_x)"]
29010#[inline]
29011#[target_feature(enable = "sve")]
29012#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
29013#[cfg_attr(test, assert_instr(umulh))]
29014pub fn svmulh_n_u32_x(pg: svbool_t, op1: svuint32_t, op2: u32) -> svuint32_t {
29015 svmulh_u32_x(pg, op1, svdup_n_u32(op2))
29016}
29017#[doc = "Multiply, returning high-half"]
29018#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmulh[_u32]_z)"]
29019#[inline]
29020#[target_feature(enable = "sve")]
29021#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
29022#[cfg_attr(test, assert_instr(umulh))]
29023pub fn svmulh_u32_z(pg: svbool_t, op1: svuint32_t, op2: svuint32_t) -> svuint32_t {
29024 svmulh_u32_m(pg, svsel_u32(pg, op1, svdup_n_u32(0)), op2)
29025}
29026#[doc = "Multiply, returning high-half"]
29027#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmulh[_n_u32]_z)"]
29028#[inline]
29029#[target_feature(enable = "sve")]
29030#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
29031#[cfg_attr(test, assert_instr(umulh))]
29032pub fn svmulh_n_u32_z(pg: svbool_t, op1: svuint32_t, op2: u32) -> svuint32_t {
29033 svmulh_u32_z(pg, op1, svdup_n_u32(op2))
29034}
29035#[doc = "Multiply, returning high-half"]
29036#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmulh[_u64]_m)"]
29037#[inline]
29038#[target_feature(enable = "sve")]
29039#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
29040#[cfg_attr(test, assert_instr(umulh))]
29041pub fn svmulh_u64_m(pg: svbool_t, op1: svuint64_t, op2: svuint64_t) -> svuint64_t {
29042 unsafe extern "unadjusted" {
29043 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.umulh.nxv2i64")]
29044 fn _svmulh_u64_m(pg: svbool2_t, op1: svint64_t, op2: svint64_t) -> svint64_t;
29045 }
29046 unsafe { _svmulh_u64_m(pg.sve_into(), op1.as_signed(), op2.as_signed()).as_unsigned() }
29047}
29048#[doc = "Multiply, returning high-half"]
29049#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmulh[_n_u64]_m)"]
29050#[inline]
29051#[target_feature(enable = "sve")]
29052#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
29053#[cfg_attr(test, assert_instr(umulh))]
29054pub fn svmulh_n_u64_m(pg: svbool_t, op1: svuint64_t, op2: u64) -> svuint64_t {
29055 svmulh_u64_m(pg, op1, svdup_n_u64(op2))
29056}
29057#[doc = "Multiply, returning high-half"]
29058#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmulh[_u64]_x)"]
29059#[inline]
29060#[target_feature(enable = "sve")]
29061#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
29062#[cfg_attr(test, assert_instr(umulh))]
29063pub fn svmulh_u64_x(pg: svbool_t, op1: svuint64_t, op2: svuint64_t) -> svuint64_t {
29064 svmulh_u64_m(pg, op1, op2)
29065}
29066#[doc = "Multiply, returning high-half"]
29067#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmulh[_n_u64]_x)"]
29068#[inline]
29069#[target_feature(enable = "sve")]
29070#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
29071#[cfg_attr(test, assert_instr(umulh))]
29072pub fn svmulh_n_u64_x(pg: svbool_t, op1: svuint64_t, op2: u64) -> svuint64_t {
29073 svmulh_u64_x(pg, op1, svdup_n_u64(op2))
29074}
29075#[doc = "Multiply, returning high-half"]
29076#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmulh[_u64]_z)"]
29077#[inline]
29078#[target_feature(enable = "sve")]
29079#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
29080#[cfg_attr(test, assert_instr(umulh))]
29081pub fn svmulh_u64_z(pg: svbool_t, op1: svuint64_t, op2: svuint64_t) -> svuint64_t {
29082 svmulh_u64_m(pg, svsel_u64(pg, op1, svdup_n_u64(0)), op2)
29083}
29084#[doc = "Multiply, returning high-half"]
29085#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmulh[_n_u64]_z)"]
29086#[inline]
29087#[target_feature(enable = "sve")]
29088#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
29089#[cfg_attr(test, assert_instr(umulh))]
29090pub fn svmulh_n_u64_z(pg: svbool_t, op1: svuint64_t, op2: u64) -> svuint64_t {
29091 svmulh_u64_z(pg, op1, svdup_n_u64(op2))
29092}
29093#[doc = "Multiply extended (∞×0=2)"]
29094#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmulx[_f32]_m)"]
29095#[inline]
29096#[target_feature(enable = "sve")]
29097#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
29098#[cfg_attr(test, assert_instr(fmulx))]
29099pub fn svmulx_f32_m(pg: svbool_t, op1: svfloat32_t, op2: svfloat32_t) -> svfloat32_t {
29100 unsafe extern "unadjusted" {
29101 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.fmulx.nxv4f32")]
29102 fn _svmulx_f32_m(pg: svbool4_t, op1: svfloat32_t, op2: svfloat32_t) -> svfloat32_t;
29103 }
29104 unsafe { _svmulx_f32_m(pg.sve_into(), op1, op2) }
29105}
29106#[doc = "Multiply extended (∞×0=2)"]
29107#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmulx[_n_f32]_m)"]
29108#[inline]
29109#[target_feature(enable = "sve")]
29110#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
29111#[cfg_attr(test, assert_instr(fmulx))]
29112pub fn svmulx_n_f32_m(pg: svbool_t, op1: svfloat32_t, op2: f32) -> svfloat32_t {
29113 svmulx_f32_m(pg, op1, svdup_n_f32(op2))
29114}
29115#[doc = "Multiply extended (∞×0=2)"]
29116#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmulx[_f32]_x)"]
29117#[inline]
29118#[target_feature(enable = "sve")]
29119#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
29120#[cfg_attr(test, assert_instr(fmulx))]
29121pub fn svmulx_f32_x(pg: svbool_t, op1: svfloat32_t, op2: svfloat32_t) -> svfloat32_t {
29122 svmulx_f32_m(pg, op1, op2)
29123}
29124#[doc = "Multiply extended (∞×0=2)"]
29125#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmulx[_n_f32]_x)"]
29126#[inline]
29127#[target_feature(enable = "sve")]
29128#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
29129#[cfg_attr(test, assert_instr(fmulx))]
29130pub fn svmulx_n_f32_x(pg: svbool_t, op1: svfloat32_t, op2: f32) -> svfloat32_t {
29131 svmulx_f32_x(pg, op1, svdup_n_f32(op2))
29132}
29133#[doc = "Multiply extended (∞×0=2)"]
29134#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmulx[_f32]_z)"]
29135#[inline]
29136#[target_feature(enable = "sve")]
29137#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
29138#[cfg_attr(test, assert_instr(fmulx))]
29139pub fn svmulx_f32_z(pg: svbool_t, op1: svfloat32_t, op2: svfloat32_t) -> svfloat32_t {
29140 svmulx_f32_m(pg, svsel_f32(pg, op1, svdup_n_f32(0.0)), op2)
29141}
29142#[doc = "Multiply extended (∞×0=2)"]
29143#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmulx[_n_f32]_z)"]
29144#[inline]
29145#[target_feature(enable = "sve")]
29146#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
29147#[cfg_attr(test, assert_instr(fmulx))]
29148pub fn svmulx_n_f32_z(pg: svbool_t, op1: svfloat32_t, op2: f32) -> svfloat32_t {
29149 svmulx_f32_z(pg, op1, svdup_n_f32(op2))
29150}
29151#[doc = "Multiply extended (∞×0=2)"]
29152#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmulx[_f64]_m)"]
29153#[inline]
29154#[target_feature(enable = "sve")]
29155#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
29156#[cfg_attr(test, assert_instr(fmulx))]
29157pub fn svmulx_f64_m(pg: svbool_t, op1: svfloat64_t, op2: svfloat64_t) -> svfloat64_t {
29158 unsafe extern "unadjusted" {
29159 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.fmulx.nxv2f64")]
29160 fn _svmulx_f64_m(pg: svbool2_t, op1: svfloat64_t, op2: svfloat64_t) -> svfloat64_t;
29161 }
29162 unsafe { _svmulx_f64_m(pg.sve_into(), op1, op2) }
29163}
29164#[doc = "Multiply extended (∞×0=2)"]
29165#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmulx[_n_f64]_m)"]
29166#[inline]
29167#[target_feature(enable = "sve")]
29168#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
29169#[cfg_attr(test, assert_instr(fmulx))]
29170pub fn svmulx_n_f64_m(pg: svbool_t, op1: svfloat64_t, op2: f64) -> svfloat64_t {
29171 svmulx_f64_m(pg, op1, svdup_n_f64(op2))
29172}
29173#[doc = "Multiply extended (∞×0=2)"]
29174#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmulx[_f64]_x)"]
29175#[inline]
29176#[target_feature(enable = "sve")]
29177#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
29178#[cfg_attr(test, assert_instr(fmulx))]
29179pub fn svmulx_f64_x(pg: svbool_t, op1: svfloat64_t, op2: svfloat64_t) -> svfloat64_t {
29180 svmulx_f64_m(pg, op1, op2)
29181}
29182#[doc = "Multiply extended (∞×0=2)"]
29183#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmulx[_n_f64]_x)"]
29184#[inline]
29185#[target_feature(enable = "sve")]
29186#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
29187#[cfg_attr(test, assert_instr(fmulx))]
29188pub fn svmulx_n_f64_x(pg: svbool_t, op1: svfloat64_t, op2: f64) -> svfloat64_t {
29189 svmulx_f64_x(pg, op1, svdup_n_f64(op2))
29190}
29191#[doc = "Multiply extended (∞×0=2)"]
29192#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmulx[_f64]_z)"]
29193#[inline]
29194#[target_feature(enable = "sve")]
29195#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
29196#[cfg_attr(test, assert_instr(fmulx))]
29197pub fn svmulx_f64_z(pg: svbool_t, op1: svfloat64_t, op2: svfloat64_t) -> svfloat64_t {
29198 svmulx_f64_m(pg, svsel_f64(pg, op1, svdup_n_f64(0.0)), op2)
29199}
29200#[doc = "Multiply extended (∞×0=2)"]
29201#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svmulx[_n_f64]_z)"]
29202#[inline]
29203#[target_feature(enable = "sve")]
29204#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
29205#[cfg_attr(test, assert_instr(fmulx))]
29206pub fn svmulx_n_f64_z(pg: svbool_t, op1: svfloat64_t, op2: f64) -> svfloat64_t {
29207 svmulx_f64_z(pg, op1, svdup_n_f64(op2))
29208}
29209#[doc = "Bitwise NAND"]
29210#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svnand[_b]_z)"]
29211#[inline]
29212#[target_feature(enable = "sve")]
29213#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
29214#[cfg_attr(test, assert_instr(nand))]
29215pub fn svnand_b_z(pg: svbool_t, op1: svbool_t, op2: svbool_t) -> svbool_t {
29216 unsafe extern "unadjusted" {
29217 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.nand.z.nxv16i1")]
29218 fn _svnand_b_z(pg: svbool_t, op1: svbool_t, op2: svbool_t) -> svbool_t;
29219 }
29220 unsafe { _svnand_b_z(pg, op1, op2) }
29221}
29222#[doc = "Negate"]
29223#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svneg[_f32]_m)"]
29224#[inline]
29225#[target_feature(enable = "sve")]
29226#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
29227#[cfg_attr(test, assert_instr(fneg))]
29228pub fn svneg_f32_m(inactive: svfloat32_t, pg: svbool_t, op: svfloat32_t) -> svfloat32_t {
29229 unsafe extern "unadjusted" {
29230 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.fneg.nxv4f32")]
29231 fn _svneg_f32_m(inactive: svfloat32_t, pg: svbool4_t, op: svfloat32_t) -> svfloat32_t;
29232 }
29233 unsafe { _svneg_f32_m(inactive, pg.sve_into(), op) }
29234}
29235#[doc = "Negate"]
29236#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svneg[_f32]_x)"]
29237#[inline]
29238#[target_feature(enable = "sve")]
29239#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
29240#[cfg_attr(test, assert_instr(fneg))]
29241pub fn svneg_f32_x(pg: svbool_t, op: svfloat32_t) -> svfloat32_t {
29242 svneg_f32_m(op, pg, op)
29243}
29244#[doc = "Negate"]
29245#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svneg[_f32]_z)"]
29246#[inline]
29247#[target_feature(enable = "sve")]
29248#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
29249#[cfg_attr(test, assert_instr(fneg))]
29250pub fn svneg_f32_z(pg: svbool_t, op: svfloat32_t) -> svfloat32_t {
29251 svneg_f32_m(svdup_n_f32(0.0), pg, op)
29252}
29253#[doc = "Negate"]
29254#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svneg[_f64]_m)"]
29255#[inline]
29256#[target_feature(enable = "sve")]
29257#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
29258#[cfg_attr(test, assert_instr(fneg))]
29259pub fn svneg_f64_m(inactive: svfloat64_t, pg: svbool_t, op: svfloat64_t) -> svfloat64_t {
29260 unsafe extern "unadjusted" {
29261 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.fneg.nxv2f64")]
29262 fn _svneg_f64_m(inactive: svfloat64_t, pg: svbool2_t, op: svfloat64_t) -> svfloat64_t;
29263 }
29264 unsafe { _svneg_f64_m(inactive, pg.sve_into(), op) }
29265}
29266#[doc = "Negate"]
29267#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svneg[_f64]_x)"]
29268#[inline]
29269#[target_feature(enable = "sve")]
29270#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
29271#[cfg_attr(test, assert_instr(fneg))]
29272pub fn svneg_f64_x(pg: svbool_t, op: svfloat64_t) -> svfloat64_t {
29273 svneg_f64_m(op, pg, op)
29274}
29275#[doc = "Negate"]
29276#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svneg[_f64]_z)"]
29277#[inline]
29278#[target_feature(enable = "sve")]
29279#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
29280#[cfg_attr(test, assert_instr(fneg))]
29281pub fn svneg_f64_z(pg: svbool_t, op: svfloat64_t) -> svfloat64_t {
29282 svneg_f64_m(svdup_n_f64(0.0), pg, op)
29283}
29284#[doc = "Negate"]
29285#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svneg[_s8]_m)"]
29286#[inline]
29287#[target_feature(enable = "sve")]
29288#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
29289#[cfg_attr(test, assert_instr(neg))]
29290pub fn svneg_s8_m(inactive: svint8_t, pg: svbool_t, op: svint8_t) -> svint8_t {
29291 unsafe extern "unadjusted" {
29292 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.neg.nxv16i8")]
29293 fn _svneg_s8_m(inactive: svint8_t, pg: svbool_t, op: svint8_t) -> svint8_t;
29294 }
29295 unsafe { _svneg_s8_m(inactive, pg, op) }
29296}
29297#[doc = "Negate"]
29298#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svneg[_s8]_x)"]
29299#[inline]
29300#[target_feature(enable = "sve")]
29301#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
29302#[cfg_attr(test, assert_instr(neg))]
29303pub fn svneg_s8_x(pg: svbool_t, op: svint8_t) -> svint8_t {
29304 svneg_s8_m(op, pg, op)
29305}
29306#[doc = "Negate"]
29307#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svneg[_s8]_z)"]
29308#[inline]
29309#[target_feature(enable = "sve")]
29310#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
29311#[cfg_attr(test, assert_instr(neg))]
29312pub fn svneg_s8_z(pg: svbool_t, op: svint8_t) -> svint8_t {
29313 svneg_s8_m(svdup_n_s8(0), pg, op)
29314}
29315#[doc = "Negate"]
29316#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svneg[_s16]_m)"]
29317#[inline]
29318#[target_feature(enable = "sve")]
29319#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
29320#[cfg_attr(test, assert_instr(neg))]
29321pub fn svneg_s16_m(inactive: svint16_t, pg: svbool_t, op: svint16_t) -> svint16_t {
29322 unsafe extern "unadjusted" {
29323 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.neg.nxv8i16")]
29324 fn _svneg_s16_m(inactive: svint16_t, pg: svbool8_t, op: svint16_t) -> svint16_t;
29325 }
29326 unsafe { _svneg_s16_m(inactive, pg.sve_into(), op) }
29327}
29328#[doc = "Negate"]
29329#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svneg[_s16]_x)"]
29330#[inline]
29331#[target_feature(enable = "sve")]
29332#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
29333#[cfg_attr(test, assert_instr(neg))]
29334pub fn svneg_s16_x(pg: svbool_t, op: svint16_t) -> svint16_t {
29335 svneg_s16_m(op, pg, op)
29336}
29337#[doc = "Negate"]
29338#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svneg[_s16]_z)"]
29339#[inline]
29340#[target_feature(enable = "sve")]
29341#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
29342#[cfg_attr(test, assert_instr(neg))]
29343pub fn svneg_s16_z(pg: svbool_t, op: svint16_t) -> svint16_t {
29344 svneg_s16_m(svdup_n_s16(0), pg, op)
29345}
29346#[doc = "Negate"]
29347#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svneg[_s32]_m)"]
29348#[inline]
29349#[target_feature(enable = "sve")]
29350#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
29351#[cfg_attr(test, assert_instr(neg))]
29352pub fn svneg_s32_m(inactive: svint32_t, pg: svbool_t, op: svint32_t) -> svint32_t {
29353 unsafe extern "unadjusted" {
29354 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.neg.nxv4i32")]
29355 fn _svneg_s32_m(inactive: svint32_t, pg: svbool4_t, op: svint32_t) -> svint32_t;
29356 }
29357 unsafe { _svneg_s32_m(inactive, pg.sve_into(), op) }
29358}
29359#[doc = "Negate"]
29360#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svneg[_s32]_x)"]
29361#[inline]
29362#[target_feature(enable = "sve")]
29363#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
29364#[cfg_attr(test, assert_instr(neg))]
29365pub fn svneg_s32_x(pg: svbool_t, op: svint32_t) -> svint32_t {
29366 svneg_s32_m(op, pg, op)
29367}
29368#[doc = "Negate"]
29369#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svneg[_s32]_z)"]
29370#[inline]
29371#[target_feature(enable = "sve")]
29372#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
29373#[cfg_attr(test, assert_instr(neg))]
29374pub fn svneg_s32_z(pg: svbool_t, op: svint32_t) -> svint32_t {
29375 svneg_s32_m(svdup_n_s32(0), pg, op)
29376}
29377#[doc = "Negate"]
29378#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svneg[_s64]_m)"]
29379#[inline]
29380#[target_feature(enable = "sve")]
29381#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
29382#[cfg_attr(test, assert_instr(neg))]
29383pub fn svneg_s64_m(inactive: svint64_t, pg: svbool_t, op: svint64_t) -> svint64_t {
29384 unsafe extern "unadjusted" {
29385 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.neg.nxv2i64")]
29386 fn _svneg_s64_m(inactive: svint64_t, pg: svbool2_t, op: svint64_t) -> svint64_t;
29387 }
29388 unsafe { _svneg_s64_m(inactive, pg.sve_into(), op) }
29389}
29390#[doc = "Negate"]
29391#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svneg[_s64]_x)"]
29392#[inline]
29393#[target_feature(enable = "sve")]
29394#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
29395#[cfg_attr(test, assert_instr(neg))]
29396pub fn svneg_s64_x(pg: svbool_t, op: svint64_t) -> svint64_t {
29397 svneg_s64_m(op, pg, op)
29398}
29399#[doc = "Negate"]
29400#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svneg[_s64]_z)"]
29401#[inline]
29402#[target_feature(enable = "sve")]
29403#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
29404#[cfg_attr(test, assert_instr(neg))]
29405pub fn svneg_s64_z(pg: svbool_t, op: svint64_t) -> svint64_t {
29406 svneg_s64_m(svdup_n_s64(0), pg, op)
29407}
29408#[doc = "Negated multiply-add, multiplicand first"]
29409#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svnmad[_f32]_m)"]
29410#[inline]
29411#[target_feature(enable = "sve")]
29412#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
29413#[cfg_attr(test, assert_instr(fnmad))]
29414pub fn svnmad_f32_m(
29415 pg: svbool_t,
29416 op1: svfloat32_t,
29417 op2: svfloat32_t,
29418 op3: svfloat32_t,
29419) -> svfloat32_t {
29420 unsafe extern "unadjusted" {
29421 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.fnmad.nxv4f32")]
29422 fn _svnmad_f32_m(
29423 pg: svbool4_t,
29424 op1: svfloat32_t,
29425 op2: svfloat32_t,
29426 op3: svfloat32_t,
29427 ) -> svfloat32_t;
29428 }
29429 unsafe { _svnmad_f32_m(pg.sve_into(), op1, op2, op3) }
29430}
29431#[doc = "Negated multiply-add, multiplicand first"]
29432#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svnmad[_n_f32]_m)"]
29433#[inline]
29434#[target_feature(enable = "sve")]
29435#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
29436#[cfg_attr(test, assert_instr(fnmad))]
29437pub fn svnmad_n_f32_m(pg: svbool_t, op1: svfloat32_t, op2: svfloat32_t, op3: f32) -> svfloat32_t {
29438 svnmad_f32_m(pg, op1, op2, svdup_n_f32(op3))
29439}
29440#[doc = "Negated multiply-add, multiplicand first"]
29441#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svnmad[_f32]_x)"]
29442#[inline]
29443#[target_feature(enable = "sve")]
29444#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
29445#[cfg_attr(test, assert_instr(fnmad))]
29446pub fn svnmad_f32_x(
29447 pg: svbool_t,
29448 op1: svfloat32_t,
29449 op2: svfloat32_t,
29450 op3: svfloat32_t,
29451) -> svfloat32_t {
29452 svnmad_f32_m(pg, op1, op2, op3)
29453}
29454#[doc = "Negated multiply-add, multiplicand first"]
29455#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svnmad[_n_f32]_x)"]
29456#[inline]
29457#[target_feature(enable = "sve")]
29458#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
29459#[cfg_attr(test, assert_instr(fnmad))]
29460pub fn svnmad_n_f32_x(pg: svbool_t, op1: svfloat32_t, op2: svfloat32_t, op3: f32) -> svfloat32_t {
29461 svnmad_f32_x(pg, op1, op2, svdup_n_f32(op3))
29462}
29463#[doc = "Negated multiply-add, multiplicand first"]
29464#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svnmad[_f32]_z)"]
29465#[inline]
29466#[target_feature(enable = "sve")]
29467#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
29468#[cfg_attr(test, assert_instr(fnmad))]
29469pub fn svnmad_f32_z(
29470 pg: svbool_t,
29471 op1: svfloat32_t,
29472 op2: svfloat32_t,
29473 op3: svfloat32_t,
29474) -> svfloat32_t {
29475 svnmad_f32_m(pg, svsel_f32(pg, op1, svdup_n_f32(0.0)), op2, op3)
29476}
29477#[doc = "Negated multiply-add, multiplicand first"]
29478#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svnmad[_n_f32]_z)"]
29479#[inline]
29480#[target_feature(enable = "sve")]
29481#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
29482#[cfg_attr(test, assert_instr(fnmad))]
29483pub fn svnmad_n_f32_z(pg: svbool_t, op1: svfloat32_t, op2: svfloat32_t, op3: f32) -> svfloat32_t {
29484 svnmad_f32_z(pg, op1, op2, svdup_n_f32(op3))
29485}
29486#[doc = "Negated multiply-add, multiplicand first"]
29487#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svnmad[_f64]_m)"]
29488#[inline]
29489#[target_feature(enable = "sve")]
29490#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
29491#[cfg_attr(test, assert_instr(fnmad))]
29492pub fn svnmad_f64_m(
29493 pg: svbool_t,
29494 op1: svfloat64_t,
29495 op2: svfloat64_t,
29496 op3: svfloat64_t,
29497) -> svfloat64_t {
29498 unsafe extern "unadjusted" {
29499 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.fnmad.nxv2f64")]
29500 fn _svnmad_f64_m(
29501 pg: svbool2_t,
29502 op1: svfloat64_t,
29503 op2: svfloat64_t,
29504 op3: svfloat64_t,
29505 ) -> svfloat64_t;
29506 }
29507 unsafe { _svnmad_f64_m(pg.sve_into(), op1, op2, op3) }
29508}
29509#[doc = "Negated multiply-add, multiplicand first"]
29510#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svnmad[_n_f64]_m)"]
29511#[inline]
29512#[target_feature(enable = "sve")]
29513#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
29514#[cfg_attr(test, assert_instr(fnmad))]
29515pub fn svnmad_n_f64_m(pg: svbool_t, op1: svfloat64_t, op2: svfloat64_t, op3: f64) -> svfloat64_t {
29516 svnmad_f64_m(pg, op1, op2, svdup_n_f64(op3))
29517}
29518#[doc = "Negated multiply-add, multiplicand first"]
29519#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svnmad[_f64]_x)"]
29520#[inline]
29521#[target_feature(enable = "sve")]
29522#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
29523#[cfg_attr(test, assert_instr(fnmad))]
29524pub fn svnmad_f64_x(
29525 pg: svbool_t,
29526 op1: svfloat64_t,
29527 op2: svfloat64_t,
29528 op3: svfloat64_t,
29529) -> svfloat64_t {
29530 svnmad_f64_m(pg, op1, op2, op3)
29531}
29532#[doc = "Negated multiply-add, multiplicand first"]
29533#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svnmad[_n_f64]_x)"]
29534#[inline]
29535#[target_feature(enable = "sve")]
29536#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
29537#[cfg_attr(test, assert_instr(fnmad))]
29538pub fn svnmad_n_f64_x(pg: svbool_t, op1: svfloat64_t, op2: svfloat64_t, op3: f64) -> svfloat64_t {
29539 svnmad_f64_x(pg, op1, op2, svdup_n_f64(op3))
29540}
29541#[doc = "Negated multiply-add, multiplicand first"]
29542#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svnmad[_f64]_z)"]
29543#[inline]
29544#[target_feature(enable = "sve")]
29545#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
29546#[cfg_attr(test, assert_instr(fnmad))]
29547pub fn svnmad_f64_z(
29548 pg: svbool_t,
29549 op1: svfloat64_t,
29550 op2: svfloat64_t,
29551 op3: svfloat64_t,
29552) -> svfloat64_t {
29553 svnmad_f64_m(pg, svsel_f64(pg, op1, svdup_n_f64(0.0)), op2, op3)
29554}
29555#[doc = "Negated multiply-add, multiplicand first"]
29556#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svnmad[_n_f64]_z)"]
29557#[inline]
29558#[target_feature(enable = "sve")]
29559#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
29560#[cfg_attr(test, assert_instr(fnmad))]
29561pub fn svnmad_n_f64_z(pg: svbool_t, op1: svfloat64_t, op2: svfloat64_t, op3: f64) -> svfloat64_t {
29562 svnmad_f64_z(pg, op1, op2, svdup_n_f64(op3))
29563}
29564#[doc = "Negated multiply-add, addend first"]
29565#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svnmla[_f32]_m)"]
29566#[inline]
29567#[target_feature(enable = "sve")]
29568#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
29569#[cfg_attr(test, assert_instr(fnmla))]
29570pub fn svnmla_f32_m(
29571 pg: svbool_t,
29572 op1: svfloat32_t,
29573 op2: svfloat32_t,
29574 op3: svfloat32_t,
29575) -> svfloat32_t {
29576 unsafe extern "unadjusted" {
29577 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.fnmla.nxv4f32")]
29578 fn _svnmla_f32_m(
29579 pg: svbool4_t,
29580 op1: svfloat32_t,
29581 op2: svfloat32_t,
29582 op3: svfloat32_t,
29583 ) -> svfloat32_t;
29584 }
29585 unsafe { _svnmla_f32_m(pg.sve_into(), op1, op2, op3) }
29586}
29587#[doc = "Negated multiply-add, addend first"]
29588#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svnmla[_n_f32]_m)"]
29589#[inline]
29590#[target_feature(enable = "sve")]
29591#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
29592#[cfg_attr(test, assert_instr(fnmla))]
29593pub fn svnmla_n_f32_m(pg: svbool_t, op1: svfloat32_t, op2: svfloat32_t, op3: f32) -> svfloat32_t {
29594 svnmla_f32_m(pg, op1, op2, svdup_n_f32(op3))
29595}
29596#[doc = "Negated multiply-add, addend first"]
29597#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svnmla[_f32]_x)"]
29598#[inline]
29599#[target_feature(enable = "sve")]
29600#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
29601#[cfg_attr(test, assert_instr(fnmla))]
29602pub fn svnmla_f32_x(
29603 pg: svbool_t,
29604 op1: svfloat32_t,
29605 op2: svfloat32_t,
29606 op3: svfloat32_t,
29607) -> svfloat32_t {
29608 svnmla_f32_m(pg, op1, op2, op3)
29609}
29610#[doc = "Negated multiply-add, addend first"]
29611#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svnmla[_n_f32]_x)"]
29612#[inline]
29613#[target_feature(enable = "sve")]
29614#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
29615#[cfg_attr(test, assert_instr(fnmla))]
29616pub fn svnmla_n_f32_x(pg: svbool_t, op1: svfloat32_t, op2: svfloat32_t, op3: f32) -> svfloat32_t {
29617 svnmla_f32_x(pg, op1, op2, svdup_n_f32(op3))
29618}
29619#[doc = "Negated multiply-add, addend first"]
29620#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svnmla[_f32]_z)"]
29621#[inline]
29622#[target_feature(enable = "sve")]
29623#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
29624#[cfg_attr(test, assert_instr(fnmla))]
29625pub fn svnmla_f32_z(
29626 pg: svbool_t,
29627 op1: svfloat32_t,
29628 op2: svfloat32_t,
29629 op3: svfloat32_t,
29630) -> svfloat32_t {
29631 svnmla_f32_m(pg, svsel_f32(pg, op1, svdup_n_f32(0.0)), op2, op3)
29632}
29633#[doc = "Negated multiply-add, addend first"]
29634#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svnmla[_n_f32]_z)"]
29635#[inline]
29636#[target_feature(enable = "sve")]
29637#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
29638#[cfg_attr(test, assert_instr(fnmla))]
29639pub fn svnmla_n_f32_z(pg: svbool_t, op1: svfloat32_t, op2: svfloat32_t, op3: f32) -> svfloat32_t {
29640 svnmla_f32_z(pg, op1, op2, svdup_n_f32(op3))
29641}
29642#[doc = "Negated multiply-add, addend first"]
29643#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svnmla[_f64]_m)"]
29644#[inline]
29645#[target_feature(enable = "sve")]
29646#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
29647#[cfg_attr(test, assert_instr(fnmla))]
29648pub fn svnmla_f64_m(
29649 pg: svbool_t,
29650 op1: svfloat64_t,
29651 op2: svfloat64_t,
29652 op3: svfloat64_t,
29653) -> svfloat64_t {
29654 unsafe extern "unadjusted" {
29655 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.fnmla.nxv2f64")]
29656 fn _svnmla_f64_m(
29657 pg: svbool2_t,
29658 op1: svfloat64_t,
29659 op2: svfloat64_t,
29660 op3: svfloat64_t,
29661 ) -> svfloat64_t;
29662 }
29663 unsafe { _svnmla_f64_m(pg.sve_into(), op1, op2, op3) }
29664}
29665#[doc = "Negated multiply-add, addend first"]
29666#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svnmla[_n_f64]_m)"]
29667#[inline]
29668#[target_feature(enable = "sve")]
29669#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
29670#[cfg_attr(test, assert_instr(fnmla))]
29671pub fn svnmla_n_f64_m(pg: svbool_t, op1: svfloat64_t, op2: svfloat64_t, op3: f64) -> svfloat64_t {
29672 svnmla_f64_m(pg, op1, op2, svdup_n_f64(op3))
29673}
29674#[doc = "Negated multiply-add, addend first"]
29675#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svnmla[_f64]_x)"]
29676#[inline]
29677#[target_feature(enable = "sve")]
29678#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
29679#[cfg_attr(test, assert_instr(fnmla))]
29680pub fn svnmla_f64_x(
29681 pg: svbool_t,
29682 op1: svfloat64_t,
29683 op2: svfloat64_t,
29684 op3: svfloat64_t,
29685) -> svfloat64_t {
29686 svnmla_f64_m(pg, op1, op2, op3)
29687}
29688#[doc = "Negated multiply-add, addend first"]
29689#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svnmla[_n_f64]_x)"]
29690#[inline]
29691#[target_feature(enable = "sve")]
29692#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
29693#[cfg_attr(test, assert_instr(fnmla))]
29694pub fn svnmla_n_f64_x(pg: svbool_t, op1: svfloat64_t, op2: svfloat64_t, op3: f64) -> svfloat64_t {
29695 svnmla_f64_x(pg, op1, op2, svdup_n_f64(op3))
29696}
29697#[doc = "Negated multiply-add, addend first"]
29698#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svnmla[_f64]_z)"]
29699#[inline]
29700#[target_feature(enable = "sve")]
29701#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
29702#[cfg_attr(test, assert_instr(fnmla))]
29703pub fn svnmla_f64_z(
29704 pg: svbool_t,
29705 op1: svfloat64_t,
29706 op2: svfloat64_t,
29707 op3: svfloat64_t,
29708) -> svfloat64_t {
29709 svnmla_f64_m(pg, svsel_f64(pg, op1, svdup_n_f64(0.0)), op2, op3)
29710}
29711#[doc = "Negated multiply-add, addend first"]
29712#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svnmla[_n_f64]_z)"]
29713#[inline]
29714#[target_feature(enable = "sve")]
29715#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
29716#[cfg_attr(test, assert_instr(fnmla))]
29717pub fn svnmla_n_f64_z(pg: svbool_t, op1: svfloat64_t, op2: svfloat64_t, op3: f64) -> svfloat64_t {
29718 svnmla_f64_z(pg, op1, op2, svdup_n_f64(op3))
29719}
29720#[doc = "Negated multiply-subtract, minuend first"]
29721#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svnmls[_f32]_m)"]
29722#[inline]
29723#[target_feature(enable = "sve")]
29724#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
29725#[cfg_attr(test, assert_instr(fnmls))]
29726pub fn svnmls_f32_m(
29727 pg: svbool_t,
29728 op1: svfloat32_t,
29729 op2: svfloat32_t,
29730 op3: svfloat32_t,
29731) -> svfloat32_t {
29732 unsafe extern "unadjusted" {
29733 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.fnmls.nxv4f32")]
29734 fn _svnmls_f32_m(
29735 pg: svbool4_t,
29736 op1: svfloat32_t,
29737 op2: svfloat32_t,
29738 op3: svfloat32_t,
29739 ) -> svfloat32_t;
29740 }
29741 unsafe { _svnmls_f32_m(pg.sve_into(), op1, op2, op3) }
29742}
29743#[doc = "Negated multiply-subtract, minuend first"]
29744#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svnmls[_n_f32]_m)"]
29745#[inline]
29746#[target_feature(enable = "sve")]
29747#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
29748#[cfg_attr(test, assert_instr(fnmls))]
29749pub fn svnmls_n_f32_m(pg: svbool_t, op1: svfloat32_t, op2: svfloat32_t, op3: f32) -> svfloat32_t {
29750 svnmls_f32_m(pg, op1, op2, svdup_n_f32(op3))
29751}
29752#[doc = "Negated multiply-subtract, minuend first"]
29753#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svnmls[_f32]_x)"]
29754#[inline]
29755#[target_feature(enable = "sve")]
29756#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
29757#[cfg_attr(test, assert_instr(fnmls))]
29758pub fn svnmls_f32_x(
29759 pg: svbool_t,
29760 op1: svfloat32_t,
29761 op2: svfloat32_t,
29762 op3: svfloat32_t,
29763) -> svfloat32_t {
29764 svnmls_f32_m(pg, op1, op2, op3)
29765}
29766#[doc = "Negated multiply-subtract, minuend first"]
29767#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svnmls[_n_f32]_x)"]
29768#[inline]
29769#[target_feature(enable = "sve")]
29770#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
29771#[cfg_attr(test, assert_instr(fnmls))]
29772pub fn svnmls_n_f32_x(pg: svbool_t, op1: svfloat32_t, op2: svfloat32_t, op3: f32) -> svfloat32_t {
29773 svnmls_f32_x(pg, op1, op2, svdup_n_f32(op3))
29774}
29775#[doc = "Negated multiply-subtract, minuend first"]
29776#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svnmls[_f32]_z)"]
29777#[inline]
29778#[target_feature(enable = "sve")]
29779#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
29780#[cfg_attr(test, assert_instr(fnmls))]
29781pub fn svnmls_f32_z(
29782 pg: svbool_t,
29783 op1: svfloat32_t,
29784 op2: svfloat32_t,
29785 op3: svfloat32_t,
29786) -> svfloat32_t {
29787 svnmls_f32_m(pg, svsel_f32(pg, op1, svdup_n_f32(0.0)), op2, op3)
29788}
29789#[doc = "Negated multiply-subtract, minuend first"]
29790#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svnmls[_n_f32]_z)"]
29791#[inline]
29792#[target_feature(enable = "sve")]
29793#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
29794#[cfg_attr(test, assert_instr(fnmls))]
29795pub fn svnmls_n_f32_z(pg: svbool_t, op1: svfloat32_t, op2: svfloat32_t, op3: f32) -> svfloat32_t {
29796 svnmls_f32_z(pg, op1, op2, svdup_n_f32(op3))
29797}
29798#[doc = "Negated multiply-subtract, minuend first"]
29799#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svnmls[_f64]_m)"]
29800#[inline]
29801#[target_feature(enable = "sve")]
29802#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
29803#[cfg_attr(test, assert_instr(fnmls))]
29804pub fn svnmls_f64_m(
29805 pg: svbool_t,
29806 op1: svfloat64_t,
29807 op2: svfloat64_t,
29808 op3: svfloat64_t,
29809) -> svfloat64_t {
29810 unsafe extern "unadjusted" {
29811 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.fnmls.nxv2f64")]
29812 fn _svnmls_f64_m(
29813 pg: svbool2_t,
29814 op1: svfloat64_t,
29815 op2: svfloat64_t,
29816 op3: svfloat64_t,
29817 ) -> svfloat64_t;
29818 }
29819 unsafe { _svnmls_f64_m(pg.sve_into(), op1, op2, op3) }
29820}
29821#[doc = "Negated multiply-subtract, minuend first"]
29822#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svnmls[_n_f64]_m)"]
29823#[inline]
29824#[target_feature(enable = "sve")]
29825#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
29826#[cfg_attr(test, assert_instr(fnmls))]
29827pub fn svnmls_n_f64_m(pg: svbool_t, op1: svfloat64_t, op2: svfloat64_t, op3: f64) -> svfloat64_t {
29828 svnmls_f64_m(pg, op1, op2, svdup_n_f64(op3))
29829}
29830#[doc = "Negated multiply-subtract, minuend first"]
29831#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svnmls[_f64]_x)"]
29832#[inline]
29833#[target_feature(enable = "sve")]
29834#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
29835#[cfg_attr(test, assert_instr(fnmls))]
29836pub fn svnmls_f64_x(
29837 pg: svbool_t,
29838 op1: svfloat64_t,
29839 op2: svfloat64_t,
29840 op3: svfloat64_t,
29841) -> svfloat64_t {
29842 svnmls_f64_m(pg, op1, op2, op3)
29843}
29844#[doc = "Negated multiply-subtract, minuend first"]
29845#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svnmls[_n_f64]_x)"]
29846#[inline]
29847#[target_feature(enable = "sve")]
29848#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
29849#[cfg_attr(test, assert_instr(fnmls))]
29850pub fn svnmls_n_f64_x(pg: svbool_t, op1: svfloat64_t, op2: svfloat64_t, op3: f64) -> svfloat64_t {
29851 svnmls_f64_x(pg, op1, op2, svdup_n_f64(op3))
29852}
29853#[doc = "Negated multiply-subtract, minuend first"]
29854#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svnmls[_f64]_z)"]
29855#[inline]
29856#[target_feature(enable = "sve")]
29857#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
29858#[cfg_attr(test, assert_instr(fnmls))]
29859pub fn svnmls_f64_z(
29860 pg: svbool_t,
29861 op1: svfloat64_t,
29862 op2: svfloat64_t,
29863 op3: svfloat64_t,
29864) -> svfloat64_t {
29865 svnmls_f64_m(pg, svsel_f64(pg, op1, svdup_n_f64(0.0)), op2, op3)
29866}
29867#[doc = "Negated multiply-subtract, minuend first"]
29868#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svnmls[_n_f64]_z)"]
29869#[inline]
29870#[target_feature(enable = "sve")]
29871#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
29872#[cfg_attr(test, assert_instr(fnmls))]
29873pub fn svnmls_n_f64_z(pg: svbool_t, op1: svfloat64_t, op2: svfloat64_t, op3: f64) -> svfloat64_t {
29874 svnmls_f64_z(pg, op1, op2, svdup_n_f64(op3))
29875}
29876#[doc = "Negated multiply-subtract, multiplicand first"]
29877#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svnmsb[_f32]_m)"]
29878#[inline]
29879#[target_feature(enable = "sve")]
29880#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
29881#[cfg_attr(test, assert_instr(fnmsb))]
29882pub fn svnmsb_f32_m(
29883 pg: svbool_t,
29884 op1: svfloat32_t,
29885 op2: svfloat32_t,
29886 op3: svfloat32_t,
29887) -> svfloat32_t {
29888 unsafe extern "unadjusted" {
29889 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.fnmsb.nxv4f32")]
29890 fn _svnmsb_f32_m(
29891 pg: svbool4_t,
29892 op1: svfloat32_t,
29893 op2: svfloat32_t,
29894 op3: svfloat32_t,
29895 ) -> svfloat32_t;
29896 }
29897 unsafe { _svnmsb_f32_m(pg.sve_into(), op1, op2, op3) }
29898}
29899#[doc = "Negated multiply-subtract, multiplicand first"]
29900#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svnmsb[_n_f32]_m)"]
29901#[inline]
29902#[target_feature(enable = "sve")]
29903#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
29904#[cfg_attr(test, assert_instr(fnmsb))]
29905pub fn svnmsb_n_f32_m(pg: svbool_t, op1: svfloat32_t, op2: svfloat32_t, op3: f32) -> svfloat32_t {
29906 svnmsb_f32_m(pg, op1, op2, svdup_n_f32(op3))
29907}
29908#[doc = "Negated multiply-subtract, multiplicand first"]
29909#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svnmsb[_f32]_x)"]
29910#[inline]
29911#[target_feature(enable = "sve")]
29912#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
29913#[cfg_attr(test, assert_instr(fnmsb))]
29914pub fn svnmsb_f32_x(
29915 pg: svbool_t,
29916 op1: svfloat32_t,
29917 op2: svfloat32_t,
29918 op3: svfloat32_t,
29919) -> svfloat32_t {
29920 svnmsb_f32_m(pg, op1, op2, op3)
29921}
29922#[doc = "Negated multiply-subtract, multiplicand first"]
29923#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svnmsb[_n_f32]_x)"]
29924#[inline]
29925#[target_feature(enable = "sve")]
29926#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
29927#[cfg_attr(test, assert_instr(fnmsb))]
29928pub fn svnmsb_n_f32_x(pg: svbool_t, op1: svfloat32_t, op2: svfloat32_t, op3: f32) -> svfloat32_t {
29929 svnmsb_f32_x(pg, op1, op2, svdup_n_f32(op3))
29930}
29931#[doc = "Negated multiply-subtract, multiplicand first"]
29932#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svnmsb[_f32]_z)"]
29933#[inline]
29934#[target_feature(enable = "sve")]
29935#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
29936#[cfg_attr(test, assert_instr(fnmsb))]
29937pub fn svnmsb_f32_z(
29938 pg: svbool_t,
29939 op1: svfloat32_t,
29940 op2: svfloat32_t,
29941 op3: svfloat32_t,
29942) -> svfloat32_t {
29943 svnmsb_f32_m(pg, svsel_f32(pg, op1, svdup_n_f32(0.0)), op2, op3)
29944}
29945#[doc = "Negated multiply-subtract, multiplicand first"]
29946#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svnmsb[_n_f32]_z)"]
29947#[inline]
29948#[target_feature(enable = "sve")]
29949#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
29950#[cfg_attr(test, assert_instr(fnmsb))]
29951pub fn svnmsb_n_f32_z(pg: svbool_t, op1: svfloat32_t, op2: svfloat32_t, op3: f32) -> svfloat32_t {
29952 svnmsb_f32_z(pg, op1, op2, svdup_n_f32(op3))
29953}
29954#[doc = "Negated multiply-subtract, multiplicand first"]
29955#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svnmsb[_f64]_m)"]
29956#[inline]
29957#[target_feature(enable = "sve")]
29958#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
29959#[cfg_attr(test, assert_instr(fnmsb))]
29960pub fn svnmsb_f64_m(
29961 pg: svbool_t,
29962 op1: svfloat64_t,
29963 op2: svfloat64_t,
29964 op3: svfloat64_t,
29965) -> svfloat64_t {
29966 unsafe extern "unadjusted" {
29967 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.fnmsb.nxv2f64")]
29968 fn _svnmsb_f64_m(
29969 pg: svbool2_t,
29970 op1: svfloat64_t,
29971 op2: svfloat64_t,
29972 op3: svfloat64_t,
29973 ) -> svfloat64_t;
29974 }
29975 unsafe { _svnmsb_f64_m(pg.sve_into(), op1, op2, op3) }
29976}
29977#[doc = "Negated multiply-subtract, multiplicand first"]
29978#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svnmsb[_n_f64]_m)"]
29979#[inline]
29980#[target_feature(enable = "sve")]
29981#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
29982#[cfg_attr(test, assert_instr(fnmsb))]
29983pub fn svnmsb_n_f64_m(pg: svbool_t, op1: svfloat64_t, op2: svfloat64_t, op3: f64) -> svfloat64_t {
29984 svnmsb_f64_m(pg, op1, op2, svdup_n_f64(op3))
29985}
29986#[doc = "Negated multiply-subtract, multiplicand first"]
29987#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svnmsb[_f64]_x)"]
29988#[inline]
29989#[target_feature(enable = "sve")]
29990#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
29991#[cfg_attr(test, assert_instr(fnmsb))]
29992pub fn svnmsb_f64_x(
29993 pg: svbool_t,
29994 op1: svfloat64_t,
29995 op2: svfloat64_t,
29996 op3: svfloat64_t,
29997) -> svfloat64_t {
29998 svnmsb_f64_m(pg, op1, op2, op3)
29999}
30000#[doc = "Negated multiply-subtract, multiplicand first"]
30001#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svnmsb[_n_f64]_x)"]
30002#[inline]
30003#[target_feature(enable = "sve")]
30004#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
30005#[cfg_attr(test, assert_instr(fnmsb))]
30006pub fn svnmsb_n_f64_x(pg: svbool_t, op1: svfloat64_t, op2: svfloat64_t, op3: f64) -> svfloat64_t {
30007 svnmsb_f64_x(pg, op1, op2, svdup_n_f64(op3))
30008}
30009#[doc = "Negated multiply-subtract, multiplicand first"]
30010#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svnmsb[_f64]_z)"]
30011#[inline]
30012#[target_feature(enable = "sve")]
30013#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
30014#[cfg_attr(test, assert_instr(fnmsb))]
30015pub fn svnmsb_f64_z(
30016 pg: svbool_t,
30017 op1: svfloat64_t,
30018 op2: svfloat64_t,
30019 op3: svfloat64_t,
30020) -> svfloat64_t {
30021 svnmsb_f64_m(pg, svsel_f64(pg, op1, svdup_n_f64(0.0)), op2, op3)
30022}
30023#[doc = "Negated multiply-subtract, multiplicand first"]
30024#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svnmsb[_n_f64]_z)"]
30025#[inline]
30026#[target_feature(enable = "sve")]
30027#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
30028#[cfg_attr(test, assert_instr(fnmsb))]
30029pub fn svnmsb_n_f64_z(pg: svbool_t, op1: svfloat64_t, op2: svfloat64_t, op3: f64) -> svfloat64_t {
30030 svnmsb_f64_z(pg, op1, op2, svdup_n_f64(op3))
30031}
30032#[doc = "Bitwise NOR"]
30033#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svnor[_b]_z)"]
30034#[inline]
30035#[target_feature(enable = "sve")]
30036#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
30037#[cfg_attr(test, assert_instr(nor))]
30038pub fn svnor_b_z(pg: svbool_t, op1: svbool_t, op2: svbool_t) -> svbool_t {
30039 unsafe extern "unadjusted" {
30040 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.nor.z.nxv16i1")]
30041 fn _svnor_b_z(pg: svbool_t, op1: svbool_t, op2: svbool_t) -> svbool_t;
30042 }
30043 unsafe { _svnor_b_z(pg, op1, op2) }
30044}
30045#[doc = "Bitwise invert"]
30046#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svnot[_b]_z)"]
30047#[inline]
30048#[target_feature(enable = "sve")]
30049#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
30050#[cfg_attr(test, assert_instr(not))]
30051pub fn svnot_b_z(pg: svbool_t, op: svbool_t) -> svbool_t {
30052 sveor_b_z(pg, op, pg)
30053}
30054#[doc = "Bitwise invert"]
30055#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svnot[_s8]_m)"]
30056#[inline]
30057#[target_feature(enable = "sve")]
30058#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
30059#[cfg_attr(test, assert_instr(not))]
30060pub fn svnot_s8_m(inactive: svint8_t, pg: svbool_t, op: svint8_t) -> svint8_t {
30061 unsafe extern "unadjusted" {
30062 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.not.nxv16i8")]
30063 fn _svnot_s8_m(inactive: svint8_t, pg: svbool_t, op: svint8_t) -> svint8_t;
30064 }
30065 unsafe { _svnot_s8_m(inactive, pg, op) }
30066}
30067#[doc = "Bitwise invert"]
30068#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svnot[_s8]_x)"]
30069#[inline]
30070#[target_feature(enable = "sve")]
30071#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
30072#[cfg_attr(test, assert_instr(not))]
30073pub fn svnot_s8_x(pg: svbool_t, op: svint8_t) -> svint8_t {
30074 svnot_s8_m(op, pg, op)
30075}
30076#[doc = "Bitwise invert"]
30077#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svnot[_s8]_z)"]
30078#[inline]
30079#[target_feature(enable = "sve")]
30080#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
30081#[cfg_attr(test, assert_instr(not))]
30082pub fn svnot_s8_z(pg: svbool_t, op: svint8_t) -> svint8_t {
30083 svnot_s8_m(svdup_n_s8(0), pg, op)
30084}
30085#[doc = "Bitwise invert"]
30086#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svnot[_s16]_m)"]
30087#[inline]
30088#[target_feature(enable = "sve")]
30089#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
30090#[cfg_attr(test, assert_instr(not))]
30091pub fn svnot_s16_m(inactive: svint16_t, pg: svbool_t, op: svint16_t) -> svint16_t {
30092 unsafe extern "unadjusted" {
30093 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.not.nxv8i16")]
30094 fn _svnot_s16_m(inactive: svint16_t, pg: svbool8_t, op: svint16_t) -> svint16_t;
30095 }
30096 unsafe { _svnot_s16_m(inactive, pg.sve_into(), op) }
30097}
30098#[doc = "Bitwise invert"]
30099#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svnot[_s16]_x)"]
30100#[inline]
30101#[target_feature(enable = "sve")]
30102#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
30103#[cfg_attr(test, assert_instr(not))]
30104pub fn svnot_s16_x(pg: svbool_t, op: svint16_t) -> svint16_t {
30105 svnot_s16_m(op, pg, op)
30106}
30107#[doc = "Bitwise invert"]
30108#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svnot[_s16]_z)"]
30109#[inline]
30110#[target_feature(enable = "sve")]
30111#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
30112#[cfg_attr(test, assert_instr(not))]
30113pub fn svnot_s16_z(pg: svbool_t, op: svint16_t) -> svint16_t {
30114 svnot_s16_m(svdup_n_s16(0), pg, op)
30115}
30116#[doc = "Bitwise invert"]
30117#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svnot[_s32]_m)"]
30118#[inline]
30119#[target_feature(enable = "sve")]
30120#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
30121#[cfg_attr(test, assert_instr(not))]
30122pub fn svnot_s32_m(inactive: svint32_t, pg: svbool_t, op: svint32_t) -> svint32_t {
30123 unsafe extern "unadjusted" {
30124 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.not.nxv4i32")]
30125 fn _svnot_s32_m(inactive: svint32_t, pg: svbool4_t, op: svint32_t) -> svint32_t;
30126 }
30127 unsafe { _svnot_s32_m(inactive, pg.sve_into(), op) }
30128}
30129#[doc = "Bitwise invert"]
30130#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svnot[_s32]_x)"]
30131#[inline]
30132#[target_feature(enable = "sve")]
30133#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
30134#[cfg_attr(test, assert_instr(not))]
30135pub fn svnot_s32_x(pg: svbool_t, op: svint32_t) -> svint32_t {
30136 svnot_s32_m(op, pg, op)
30137}
30138#[doc = "Bitwise invert"]
30139#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svnot[_s32]_z)"]
30140#[inline]
30141#[target_feature(enable = "sve")]
30142#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
30143#[cfg_attr(test, assert_instr(not))]
30144pub fn svnot_s32_z(pg: svbool_t, op: svint32_t) -> svint32_t {
30145 svnot_s32_m(svdup_n_s32(0), pg, op)
30146}
30147#[doc = "Bitwise invert"]
30148#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svnot[_s64]_m)"]
30149#[inline]
30150#[target_feature(enable = "sve")]
30151#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
30152#[cfg_attr(test, assert_instr(not))]
30153pub fn svnot_s64_m(inactive: svint64_t, pg: svbool_t, op: svint64_t) -> svint64_t {
30154 unsafe extern "unadjusted" {
30155 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.not.nxv2i64")]
30156 fn _svnot_s64_m(inactive: svint64_t, pg: svbool2_t, op: svint64_t) -> svint64_t;
30157 }
30158 unsafe { _svnot_s64_m(inactive, pg.sve_into(), op) }
30159}
30160#[doc = "Bitwise invert"]
30161#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svnot[_s64]_x)"]
30162#[inline]
30163#[target_feature(enable = "sve")]
30164#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
30165#[cfg_attr(test, assert_instr(not))]
30166pub fn svnot_s64_x(pg: svbool_t, op: svint64_t) -> svint64_t {
30167 svnot_s64_m(op, pg, op)
30168}
30169#[doc = "Bitwise invert"]
30170#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svnot[_s64]_z)"]
30171#[inline]
30172#[target_feature(enable = "sve")]
30173#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
30174#[cfg_attr(test, assert_instr(not))]
30175pub fn svnot_s64_z(pg: svbool_t, op: svint64_t) -> svint64_t {
30176 svnot_s64_m(svdup_n_s64(0), pg, op)
30177}
30178#[doc = "Bitwise invert"]
30179#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svnot[_u8]_m)"]
30180#[inline]
30181#[target_feature(enable = "sve")]
30182#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
30183#[cfg_attr(test, assert_instr(not))]
30184pub fn svnot_u8_m(inactive: svuint8_t, pg: svbool_t, op: svuint8_t) -> svuint8_t {
30185 unsafe { svnot_s8_m(inactive.as_signed(), pg, op.as_signed()).as_unsigned() }
30186}
30187#[doc = "Bitwise invert"]
30188#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svnot[_u8]_x)"]
30189#[inline]
30190#[target_feature(enable = "sve")]
30191#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
30192#[cfg_attr(test, assert_instr(not))]
30193pub fn svnot_u8_x(pg: svbool_t, op: svuint8_t) -> svuint8_t {
30194 svnot_u8_m(op, pg, op)
30195}
30196#[doc = "Bitwise invert"]
30197#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svnot[_u8]_z)"]
30198#[inline]
30199#[target_feature(enable = "sve")]
30200#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
30201#[cfg_attr(test, assert_instr(not))]
30202pub fn svnot_u8_z(pg: svbool_t, op: svuint8_t) -> svuint8_t {
30203 svnot_u8_m(svdup_n_u8(0), pg, op)
30204}
30205#[doc = "Bitwise invert"]
30206#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svnot[_u16]_m)"]
30207#[inline]
30208#[target_feature(enable = "sve")]
30209#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
30210#[cfg_attr(test, assert_instr(not))]
30211pub fn svnot_u16_m(inactive: svuint16_t, pg: svbool_t, op: svuint16_t) -> svuint16_t {
30212 unsafe { svnot_s16_m(inactive.as_signed(), pg, op.as_signed()).as_unsigned() }
30213}
30214#[doc = "Bitwise invert"]
30215#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svnot[_u16]_x)"]
30216#[inline]
30217#[target_feature(enable = "sve")]
30218#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
30219#[cfg_attr(test, assert_instr(not))]
30220pub fn svnot_u16_x(pg: svbool_t, op: svuint16_t) -> svuint16_t {
30221 svnot_u16_m(op, pg, op)
30222}
30223#[doc = "Bitwise invert"]
30224#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svnot[_u16]_z)"]
30225#[inline]
30226#[target_feature(enable = "sve")]
30227#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
30228#[cfg_attr(test, assert_instr(not))]
30229pub fn svnot_u16_z(pg: svbool_t, op: svuint16_t) -> svuint16_t {
30230 svnot_u16_m(svdup_n_u16(0), pg, op)
30231}
30232#[doc = "Bitwise invert"]
30233#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svnot[_u32]_m)"]
30234#[inline]
30235#[target_feature(enable = "sve")]
30236#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
30237#[cfg_attr(test, assert_instr(not))]
30238pub fn svnot_u32_m(inactive: svuint32_t, pg: svbool_t, op: svuint32_t) -> svuint32_t {
30239 unsafe { svnot_s32_m(inactive.as_signed(), pg, op.as_signed()).as_unsigned() }
30240}
30241#[doc = "Bitwise invert"]
30242#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svnot[_u32]_x)"]
30243#[inline]
30244#[target_feature(enable = "sve")]
30245#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
30246#[cfg_attr(test, assert_instr(not))]
30247pub fn svnot_u32_x(pg: svbool_t, op: svuint32_t) -> svuint32_t {
30248 svnot_u32_m(op, pg, op)
30249}
30250#[doc = "Bitwise invert"]
30251#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svnot[_u32]_z)"]
30252#[inline]
30253#[target_feature(enable = "sve")]
30254#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
30255#[cfg_attr(test, assert_instr(not))]
30256pub fn svnot_u32_z(pg: svbool_t, op: svuint32_t) -> svuint32_t {
30257 svnot_u32_m(svdup_n_u32(0), pg, op)
30258}
30259#[doc = "Bitwise invert"]
30260#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svnot[_u64]_m)"]
30261#[inline]
30262#[target_feature(enable = "sve")]
30263#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
30264#[cfg_attr(test, assert_instr(not))]
30265pub fn svnot_u64_m(inactive: svuint64_t, pg: svbool_t, op: svuint64_t) -> svuint64_t {
30266 unsafe { svnot_s64_m(inactive.as_signed(), pg, op.as_signed()).as_unsigned() }
30267}
30268#[doc = "Bitwise invert"]
30269#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svnot[_u64]_x)"]
30270#[inline]
30271#[target_feature(enable = "sve")]
30272#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
30273#[cfg_attr(test, assert_instr(not))]
30274pub fn svnot_u64_x(pg: svbool_t, op: svuint64_t) -> svuint64_t {
30275 svnot_u64_m(op, pg, op)
30276}
30277#[doc = "Bitwise invert"]
30278#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svnot[_u64]_z)"]
30279#[inline]
30280#[target_feature(enable = "sve")]
30281#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
30282#[cfg_attr(test, assert_instr(not))]
30283pub fn svnot_u64_z(pg: svbool_t, op: svuint64_t) -> svuint64_t {
30284 svnot_u64_m(svdup_n_u64(0), pg, op)
30285}
30286#[doc = "Bitwise inclusive OR, inverting second argument"]
30287#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svorn[_b]_z)"]
30288#[inline]
30289#[target_feature(enable = "sve")]
30290#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
30291#[cfg_attr(test, assert_instr(orn))]
30292pub fn svorn_b_z(pg: svbool_t, op1: svbool_t, op2: svbool_t) -> svbool_t {
30293 unsafe extern "unadjusted" {
30294 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.orn.z.nxv16i1")]
30295 fn _svorn_b_z(pg: svbool_t, op1: svbool_t, op2: svbool_t) -> svbool_t;
30296 }
30297 unsafe { _svorn_b_z(pg, op1, op2) }
30298}
30299#[doc = "Bitwise inclusive OR"]
30300#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svorr[_b]_z)"]
30301#[inline]
30302#[target_feature(enable = "sve")]
30303#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
30304#[cfg_attr(test, assert_instr(orr))]
30305pub fn svorr_b_z(pg: svbool_t, op1: svbool_t, op2: svbool_t) -> svbool_t {
30306 unsafe extern "unadjusted" {
30307 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.orr.z.nxv16i1")]
30308 fn _svorr_b_z(pg: svbool_t, op1: svbool_t, op2: svbool_t) -> svbool_t;
30309 }
30310 unsafe { _svorr_b_z(pg, op1, op2) }
30311}
30312#[doc = "Bitwise inclusive OR"]
30313#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svorr[_s8]_m)"]
30314#[inline]
30315#[target_feature(enable = "sve")]
30316#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
30317#[cfg_attr(test, assert_instr(orr))]
30318pub fn svorr_s8_m(pg: svbool_t, op1: svint8_t, op2: svint8_t) -> svint8_t {
30319 unsafe extern "unadjusted" {
30320 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.orr.nxv16i8")]
30321 fn _svorr_s8_m(pg: svbool_t, op1: svint8_t, op2: svint8_t) -> svint8_t;
30322 }
30323 unsafe { _svorr_s8_m(pg, op1, op2) }
30324}
30325#[doc = "Bitwise inclusive OR"]
30326#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svorr[_n_s8]_m)"]
30327#[inline]
30328#[target_feature(enable = "sve")]
30329#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
30330#[cfg_attr(test, assert_instr(orr))]
30331pub fn svorr_n_s8_m(pg: svbool_t, op1: svint8_t, op2: i8) -> svint8_t {
30332 svorr_s8_m(pg, op1, svdup_n_s8(op2))
30333}
30334#[doc = "Bitwise inclusive OR"]
30335#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svorr[_s8]_x)"]
30336#[inline]
30337#[target_feature(enable = "sve")]
30338#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
30339#[cfg_attr(test, assert_instr(orr))]
30340pub fn svorr_s8_x(pg: svbool_t, op1: svint8_t, op2: svint8_t) -> svint8_t {
30341 svorr_s8_m(pg, op1, op2)
30342}
30343#[doc = "Bitwise inclusive OR"]
30344#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svorr[_n_s8]_x)"]
30345#[inline]
30346#[target_feature(enable = "sve")]
30347#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
30348#[cfg_attr(test, assert_instr(orr))]
30349pub fn svorr_n_s8_x(pg: svbool_t, op1: svint8_t, op2: i8) -> svint8_t {
30350 svorr_s8_x(pg, op1, svdup_n_s8(op2))
30351}
30352#[doc = "Bitwise inclusive OR"]
30353#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svorr[_s8]_z)"]
30354#[inline]
30355#[target_feature(enable = "sve")]
30356#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
30357#[cfg_attr(test, assert_instr(orr))]
30358pub fn svorr_s8_z(pg: svbool_t, op1: svint8_t, op2: svint8_t) -> svint8_t {
30359 svorr_s8_m(pg, svsel_s8(pg, op1, svdup_n_s8(0)), op2)
30360}
30361#[doc = "Bitwise inclusive OR"]
30362#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svorr[_n_s8]_z)"]
30363#[inline]
30364#[target_feature(enable = "sve")]
30365#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
30366#[cfg_attr(test, assert_instr(orr))]
30367pub fn svorr_n_s8_z(pg: svbool_t, op1: svint8_t, op2: i8) -> svint8_t {
30368 svorr_s8_z(pg, op1, svdup_n_s8(op2))
30369}
30370#[doc = "Bitwise inclusive OR"]
30371#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svorr[_s16]_m)"]
30372#[inline]
30373#[target_feature(enable = "sve")]
30374#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
30375#[cfg_attr(test, assert_instr(orr))]
30376pub fn svorr_s16_m(pg: svbool_t, op1: svint16_t, op2: svint16_t) -> svint16_t {
30377 unsafe extern "unadjusted" {
30378 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.orr.nxv8i16")]
30379 fn _svorr_s16_m(pg: svbool8_t, op1: svint16_t, op2: svint16_t) -> svint16_t;
30380 }
30381 unsafe { _svorr_s16_m(pg.sve_into(), op1, op2) }
30382}
30383#[doc = "Bitwise inclusive OR"]
30384#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svorr[_n_s16]_m)"]
30385#[inline]
30386#[target_feature(enable = "sve")]
30387#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
30388#[cfg_attr(test, assert_instr(orr))]
30389pub fn svorr_n_s16_m(pg: svbool_t, op1: svint16_t, op2: i16) -> svint16_t {
30390 svorr_s16_m(pg, op1, svdup_n_s16(op2))
30391}
30392#[doc = "Bitwise inclusive OR"]
30393#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svorr[_s16]_x)"]
30394#[inline]
30395#[target_feature(enable = "sve")]
30396#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
30397#[cfg_attr(test, assert_instr(orr))]
30398pub fn svorr_s16_x(pg: svbool_t, op1: svint16_t, op2: svint16_t) -> svint16_t {
30399 svorr_s16_m(pg, op1, op2)
30400}
30401#[doc = "Bitwise inclusive OR"]
30402#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svorr[_n_s16]_x)"]
30403#[inline]
30404#[target_feature(enable = "sve")]
30405#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
30406#[cfg_attr(test, assert_instr(orr))]
30407pub fn svorr_n_s16_x(pg: svbool_t, op1: svint16_t, op2: i16) -> svint16_t {
30408 svorr_s16_x(pg, op1, svdup_n_s16(op2))
30409}
30410#[doc = "Bitwise inclusive OR"]
30411#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svorr[_s16]_z)"]
30412#[inline]
30413#[target_feature(enable = "sve")]
30414#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
30415#[cfg_attr(test, assert_instr(orr))]
30416pub fn svorr_s16_z(pg: svbool_t, op1: svint16_t, op2: svint16_t) -> svint16_t {
30417 svorr_s16_m(pg, svsel_s16(pg, op1, svdup_n_s16(0)), op2)
30418}
30419#[doc = "Bitwise inclusive OR"]
30420#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svorr[_n_s16]_z)"]
30421#[inline]
30422#[target_feature(enable = "sve")]
30423#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
30424#[cfg_attr(test, assert_instr(orr))]
30425pub fn svorr_n_s16_z(pg: svbool_t, op1: svint16_t, op2: i16) -> svint16_t {
30426 svorr_s16_z(pg, op1, svdup_n_s16(op2))
30427}
30428#[doc = "Bitwise inclusive OR"]
30429#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svorr[_s32]_m)"]
30430#[inline]
30431#[target_feature(enable = "sve")]
30432#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
30433#[cfg_attr(test, assert_instr(orr))]
30434pub fn svorr_s32_m(pg: svbool_t, op1: svint32_t, op2: svint32_t) -> svint32_t {
30435 unsafe extern "unadjusted" {
30436 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.orr.nxv4i32")]
30437 fn _svorr_s32_m(pg: svbool4_t, op1: svint32_t, op2: svint32_t) -> svint32_t;
30438 }
30439 unsafe { _svorr_s32_m(pg.sve_into(), op1, op2) }
30440}
30441#[doc = "Bitwise inclusive OR"]
30442#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svorr[_n_s32]_m)"]
30443#[inline]
30444#[target_feature(enable = "sve")]
30445#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
30446#[cfg_attr(test, assert_instr(orr))]
30447pub fn svorr_n_s32_m(pg: svbool_t, op1: svint32_t, op2: i32) -> svint32_t {
30448 svorr_s32_m(pg, op1, svdup_n_s32(op2))
30449}
30450#[doc = "Bitwise inclusive OR"]
30451#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svorr[_s32]_x)"]
30452#[inline]
30453#[target_feature(enable = "sve")]
30454#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
30455#[cfg_attr(test, assert_instr(orr))]
30456pub fn svorr_s32_x(pg: svbool_t, op1: svint32_t, op2: svint32_t) -> svint32_t {
30457 svorr_s32_m(pg, op1, op2)
30458}
30459#[doc = "Bitwise inclusive OR"]
30460#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svorr[_n_s32]_x)"]
30461#[inline]
30462#[target_feature(enable = "sve")]
30463#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
30464#[cfg_attr(test, assert_instr(orr))]
30465pub fn svorr_n_s32_x(pg: svbool_t, op1: svint32_t, op2: i32) -> svint32_t {
30466 svorr_s32_x(pg, op1, svdup_n_s32(op2))
30467}
30468#[doc = "Bitwise inclusive OR"]
30469#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svorr[_s32]_z)"]
30470#[inline]
30471#[target_feature(enable = "sve")]
30472#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
30473#[cfg_attr(test, assert_instr(orr))]
30474pub fn svorr_s32_z(pg: svbool_t, op1: svint32_t, op2: svint32_t) -> svint32_t {
30475 svorr_s32_m(pg, svsel_s32(pg, op1, svdup_n_s32(0)), op2)
30476}
30477#[doc = "Bitwise inclusive OR"]
30478#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svorr[_n_s32]_z)"]
30479#[inline]
30480#[target_feature(enable = "sve")]
30481#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
30482#[cfg_attr(test, assert_instr(orr))]
30483pub fn svorr_n_s32_z(pg: svbool_t, op1: svint32_t, op2: i32) -> svint32_t {
30484 svorr_s32_z(pg, op1, svdup_n_s32(op2))
30485}
30486#[doc = "Bitwise inclusive OR"]
30487#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svorr[_s64]_m)"]
30488#[inline]
30489#[target_feature(enable = "sve")]
30490#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
30491#[cfg_attr(test, assert_instr(orr))]
30492pub fn svorr_s64_m(pg: svbool_t, op1: svint64_t, op2: svint64_t) -> svint64_t {
30493 unsafe extern "unadjusted" {
30494 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.orr.nxv2i64")]
30495 fn _svorr_s64_m(pg: svbool2_t, op1: svint64_t, op2: svint64_t) -> svint64_t;
30496 }
30497 unsafe { _svorr_s64_m(pg.sve_into(), op1, op2) }
30498}
30499#[doc = "Bitwise inclusive OR"]
30500#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svorr[_n_s64]_m)"]
30501#[inline]
30502#[target_feature(enable = "sve")]
30503#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
30504#[cfg_attr(test, assert_instr(orr))]
30505pub fn svorr_n_s64_m(pg: svbool_t, op1: svint64_t, op2: i64) -> svint64_t {
30506 svorr_s64_m(pg, op1, svdup_n_s64(op2))
30507}
30508#[doc = "Bitwise inclusive OR"]
30509#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svorr[_s64]_x)"]
30510#[inline]
30511#[target_feature(enable = "sve")]
30512#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
30513#[cfg_attr(test, assert_instr(orr))]
30514pub fn svorr_s64_x(pg: svbool_t, op1: svint64_t, op2: svint64_t) -> svint64_t {
30515 svorr_s64_m(pg, op1, op2)
30516}
30517#[doc = "Bitwise inclusive OR"]
30518#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svorr[_n_s64]_x)"]
30519#[inline]
30520#[target_feature(enable = "sve")]
30521#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
30522#[cfg_attr(test, assert_instr(orr))]
30523pub fn svorr_n_s64_x(pg: svbool_t, op1: svint64_t, op2: i64) -> svint64_t {
30524 svorr_s64_x(pg, op1, svdup_n_s64(op2))
30525}
30526#[doc = "Bitwise inclusive OR"]
30527#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svorr[_s64]_z)"]
30528#[inline]
30529#[target_feature(enable = "sve")]
30530#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
30531#[cfg_attr(test, assert_instr(orr))]
30532pub fn svorr_s64_z(pg: svbool_t, op1: svint64_t, op2: svint64_t) -> svint64_t {
30533 svorr_s64_m(pg, svsel_s64(pg, op1, svdup_n_s64(0)), op2)
30534}
30535#[doc = "Bitwise inclusive OR"]
30536#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svorr[_n_s64]_z)"]
30537#[inline]
30538#[target_feature(enable = "sve")]
30539#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
30540#[cfg_attr(test, assert_instr(orr))]
30541pub fn svorr_n_s64_z(pg: svbool_t, op1: svint64_t, op2: i64) -> svint64_t {
30542 svorr_s64_z(pg, op1, svdup_n_s64(op2))
30543}
30544#[doc = "Bitwise inclusive OR"]
30545#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svorr[_u8]_m)"]
30546#[inline]
30547#[target_feature(enable = "sve")]
30548#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
30549#[cfg_attr(test, assert_instr(orr))]
30550pub fn svorr_u8_m(pg: svbool_t, op1: svuint8_t, op2: svuint8_t) -> svuint8_t {
30551 unsafe { svorr_s8_m(pg, op1.as_signed(), op2.as_signed()).as_unsigned() }
30552}
30553#[doc = "Bitwise inclusive OR"]
30554#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svorr[_n_u8]_m)"]
30555#[inline]
30556#[target_feature(enable = "sve")]
30557#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
30558#[cfg_attr(test, assert_instr(orr))]
30559pub fn svorr_n_u8_m(pg: svbool_t, op1: svuint8_t, op2: u8) -> svuint8_t {
30560 svorr_u8_m(pg, op1, svdup_n_u8(op2))
30561}
30562#[doc = "Bitwise inclusive OR"]
30563#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svorr[_u8]_x)"]
30564#[inline]
30565#[target_feature(enable = "sve")]
30566#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
30567#[cfg_attr(test, assert_instr(orr))]
30568pub fn svorr_u8_x(pg: svbool_t, op1: svuint8_t, op2: svuint8_t) -> svuint8_t {
30569 svorr_u8_m(pg, op1, op2)
30570}
30571#[doc = "Bitwise inclusive OR"]
30572#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svorr[_n_u8]_x)"]
30573#[inline]
30574#[target_feature(enable = "sve")]
30575#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
30576#[cfg_attr(test, assert_instr(orr))]
30577pub fn svorr_n_u8_x(pg: svbool_t, op1: svuint8_t, op2: u8) -> svuint8_t {
30578 svorr_u8_x(pg, op1, svdup_n_u8(op2))
30579}
30580#[doc = "Bitwise inclusive OR"]
30581#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svorr[_u8]_z)"]
30582#[inline]
30583#[target_feature(enable = "sve")]
30584#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
30585#[cfg_attr(test, assert_instr(orr))]
30586pub fn svorr_u8_z(pg: svbool_t, op1: svuint8_t, op2: svuint8_t) -> svuint8_t {
30587 svorr_u8_m(pg, svsel_u8(pg, op1, svdup_n_u8(0)), op2)
30588}
30589#[doc = "Bitwise inclusive OR"]
30590#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svorr[_n_u8]_z)"]
30591#[inline]
30592#[target_feature(enable = "sve")]
30593#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
30594#[cfg_attr(test, assert_instr(orr))]
30595pub fn svorr_n_u8_z(pg: svbool_t, op1: svuint8_t, op2: u8) -> svuint8_t {
30596 svorr_u8_z(pg, op1, svdup_n_u8(op2))
30597}
30598#[doc = "Bitwise inclusive OR"]
30599#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svorr[_u16]_m)"]
30600#[inline]
30601#[target_feature(enable = "sve")]
30602#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
30603#[cfg_attr(test, assert_instr(orr))]
30604pub fn svorr_u16_m(pg: svbool_t, op1: svuint16_t, op2: svuint16_t) -> svuint16_t {
30605 unsafe { svorr_s16_m(pg, op1.as_signed(), op2.as_signed()).as_unsigned() }
30606}
30607#[doc = "Bitwise inclusive OR"]
30608#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svorr[_n_u16]_m)"]
30609#[inline]
30610#[target_feature(enable = "sve")]
30611#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
30612#[cfg_attr(test, assert_instr(orr))]
30613pub fn svorr_n_u16_m(pg: svbool_t, op1: svuint16_t, op2: u16) -> svuint16_t {
30614 svorr_u16_m(pg, op1, svdup_n_u16(op2))
30615}
30616#[doc = "Bitwise inclusive OR"]
30617#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svorr[_u16]_x)"]
30618#[inline]
30619#[target_feature(enable = "sve")]
30620#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
30621#[cfg_attr(test, assert_instr(orr))]
30622pub fn svorr_u16_x(pg: svbool_t, op1: svuint16_t, op2: svuint16_t) -> svuint16_t {
30623 svorr_u16_m(pg, op1, op2)
30624}
30625#[doc = "Bitwise inclusive OR"]
30626#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svorr[_n_u16]_x)"]
30627#[inline]
30628#[target_feature(enable = "sve")]
30629#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
30630#[cfg_attr(test, assert_instr(orr))]
30631pub fn svorr_n_u16_x(pg: svbool_t, op1: svuint16_t, op2: u16) -> svuint16_t {
30632 svorr_u16_x(pg, op1, svdup_n_u16(op2))
30633}
30634#[doc = "Bitwise inclusive OR"]
30635#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svorr[_u16]_z)"]
30636#[inline]
30637#[target_feature(enable = "sve")]
30638#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
30639#[cfg_attr(test, assert_instr(orr))]
30640pub fn svorr_u16_z(pg: svbool_t, op1: svuint16_t, op2: svuint16_t) -> svuint16_t {
30641 svorr_u16_m(pg, svsel_u16(pg, op1, svdup_n_u16(0)), op2)
30642}
30643#[doc = "Bitwise inclusive OR"]
30644#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svorr[_n_u16]_z)"]
30645#[inline]
30646#[target_feature(enable = "sve")]
30647#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
30648#[cfg_attr(test, assert_instr(orr))]
30649pub fn svorr_n_u16_z(pg: svbool_t, op1: svuint16_t, op2: u16) -> svuint16_t {
30650 svorr_u16_z(pg, op1, svdup_n_u16(op2))
30651}
30652#[doc = "Bitwise inclusive OR"]
30653#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svorr[_u32]_m)"]
30654#[inline]
30655#[target_feature(enable = "sve")]
30656#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
30657#[cfg_attr(test, assert_instr(orr))]
30658pub fn svorr_u32_m(pg: svbool_t, op1: svuint32_t, op2: svuint32_t) -> svuint32_t {
30659 unsafe { svorr_s32_m(pg, op1.as_signed(), op2.as_signed()).as_unsigned() }
30660}
30661#[doc = "Bitwise inclusive OR"]
30662#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svorr[_n_u32]_m)"]
30663#[inline]
30664#[target_feature(enable = "sve")]
30665#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
30666#[cfg_attr(test, assert_instr(orr))]
30667pub fn svorr_n_u32_m(pg: svbool_t, op1: svuint32_t, op2: u32) -> svuint32_t {
30668 svorr_u32_m(pg, op1, svdup_n_u32(op2))
30669}
30670#[doc = "Bitwise inclusive OR"]
30671#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svorr[_u32]_x)"]
30672#[inline]
30673#[target_feature(enable = "sve")]
30674#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
30675#[cfg_attr(test, assert_instr(orr))]
30676pub fn svorr_u32_x(pg: svbool_t, op1: svuint32_t, op2: svuint32_t) -> svuint32_t {
30677 svorr_u32_m(pg, op1, op2)
30678}
30679#[doc = "Bitwise inclusive OR"]
30680#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svorr[_n_u32]_x)"]
30681#[inline]
30682#[target_feature(enable = "sve")]
30683#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
30684#[cfg_attr(test, assert_instr(orr))]
30685pub fn svorr_n_u32_x(pg: svbool_t, op1: svuint32_t, op2: u32) -> svuint32_t {
30686 svorr_u32_x(pg, op1, svdup_n_u32(op2))
30687}
30688#[doc = "Bitwise inclusive OR"]
30689#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svorr[_u32]_z)"]
30690#[inline]
30691#[target_feature(enable = "sve")]
30692#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
30693#[cfg_attr(test, assert_instr(orr))]
30694pub fn svorr_u32_z(pg: svbool_t, op1: svuint32_t, op2: svuint32_t) -> svuint32_t {
30695 svorr_u32_m(pg, svsel_u32(pg, op1, svdup_n_u32(0)), op2)
30696}
30697#[doc = "Bitwise inclusive OR"]
30698#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svorr[_n_u32]_z)"]
30699#[inline]
30700#[target_feature(enable = "sve")]
30701#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
30702#[cfg_attr(test, assert_instr(orr))]
30703pub fn svorr_n_u32_z(pg: svbool_t, op1: svuint32_t, op2: u32) -> svuint32_t {
30704 svorr_u32_z(pg, op1, svdup_n_u32(op2))
30705}
30706#[doc = "Bitwise inclusive OR"]
30707#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svorr[_u64]_m)"]
30708#[inline]
30709#[target_feature(enable = "sve")]
30710#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
30711#[cfg_attr(test, assert_instr(orr))]
30712pub fn svorr_u64_m(pg: svbool_t, op1: svuint64_t, op2: svuint64_t) -> svuint64_t {
30713 unsafe { svorr_s64_m(pg, op1.as_signed(), op2.as_signed()).as_unsigned() }
30714}
30715#[doc = "Bitwise inclusive OR"]
30716#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svorr[_n_u64]_m)"]
30717#[inline]
30718#[target_feature(enable = "sve")]
30719#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
30720#[cfg_attr(test, assert_instr(orr))]
30721pub fn svorr_n_u64_m(pg: svbool_t, op1: svuint64_t, op2: u64) -> svuint64_t {
30722 svorr_u64_m(pg, op1, svdup_n_u64(op2))
30723}
30724#[doc = "Bitwise inclusive OR"]
30725#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svorr[_u64]_x)"]
30726#[inline]
30727#[target_feature(enable = "sve")]
30728#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
30729#[cfg_attr(test, assert_instr(orr))]
30730pub fn svorr_u64_x(pg: svbool_t, op1: svuint64_t, op2: svuint64_t) -> svuint64_t {
30731 svorr_u64_m(pg, op1, op2)
30732}
30733#[doc = "Bitwise inclusive OR"]
30734#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svorr[_n_u64]_x)"]
30735#[inline]
30736#[target_feature(enable = "sve")]
30737#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
30738#[cfg_attr(test, assert_instr(orr))]
30739pub fn svorr_n_u64_x(pg: svbool_t, op1: svuint64_t, op2: u64) -> svuint64_t {
30740 svorr_u64_x(pg, op1, svdup_n_u64(op2))
30741}
30742#[doc = "Bitwise inclusive OR"]
30743#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svorr[_u64]_z)"]
30744#[inline]
30745#[target_feature(enable = "sve")]
30746#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
30747#[cfg_attr(test, assert_instr(orr))]
30748pub fn svorr_u64_z(pg: svbool_t, op1: svuint64_t, op2: svuint64_t) -> svuint64_t {
30749 svorr_u64_m(pg, svsel_u64(pg, op1, svdup_n_u64(0)), op2)
30750}
30751#[doc = "Bitwise inclusive OR"]
30752#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svorr[_n_u64]_z)"]
30753#[inline]
30754#[target_feature(enable = "sve")]
30755#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
30756#[cfg_attr(test, assert_instr(orr))]
30757pub fn svorr_n_u64_z(pg: svbool_t, op1: svuint64_t, op2: u64) -> svuint64_t {
30758 svorr_u64_z(pg, op1, svdup_n_u64(op2))
30759}
30760#[doc = "Bitwise inclusive OR reduction to scalar"]
30761#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svorv[_s8])"]
30762#[inline]
30763#[target_feature(enable = "sve")]
30764#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
30765#[cfg_attr(test, assert_instr(orv))]
30766pub fn svorv_s8(pg: svbool_t, op: svint8_t) -> i8 {
30767 unsafe extern "unadjusted" {
30768 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.orv.nxv16i8")]
30769 fn _svorv_s8(pg: svbool_t, op: svint8_t) -> i8;
30770 }
30771 unsafe { _svorv_s8(pg, op) }
30772}
30773#[doc = "Bitwise inclusive OR reduction to scalar"]
30774#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svorv[_s16])"]
30775#[inline]
30776#[target_feature(enable = "sve")]
30777#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
30778#[cfg_attr(test, assert_instr(orv))]
30779pub fn svorv_s16(pg: svbool_t, op: svint16_t) -> i16 {
30780 unsafe extern "unadjusted" {
30781 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.orv.nxv8i16")]
30782 fn _svorv_s16(pg: svbool8_t, op: svint16_t) -> i16;
30783 }
30784 unsafe { _svorv_s16(pg.sve_into(), op) }
30785}
30786#[doc = "Bitwise inclusive OR reduction to scalar"]
30787#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svorv[_s32])"]
30788#[inline]
30789#[target_feature(enable = "sve")]
30790#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
30791#[cfg_attr(test, assert_instr(orv))]
30792pub fn svorv_s32(pg: svbool_t, op: svint32_t) -> i32 {
30793 unsafe extern "unadjusted" {
30794 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.orv.nxv4i32")]
30795 fn _svorv_s32(pg: svbool4_t, op: svint32_t) -> i32;
30796 }
30797 unsafe { _svorv_s32(pg.sve_into(), op) }
30798}
30799#[doc = "Bitwise inclusive OR reduction to scalar"]
30800#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svorv[_s64])"]
30801#[inline]
30802#[target_feature(enable = "sve")]
30803#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
30804#[cfg_attr(test, assert_instr(orv))]
30805pub fn svorv_s64(pg: svbool_t, op: svint64_t) -> i64 {
30806 unsafe extern "unadjusted" {
30807 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.orv.nxv2i64")]
30808 fn _svorv_s64(pg: svbool2_t, op: svint64_t) -> i64;
30809 }
30810 unsafe { _svorv_s64(pg.sve_into(), op) }
30811}
30812#[doc = "Bitwise inclusive OR reduction to scalar"]
30813#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svorv[_u8])"]
30814#[inline]
30815#[target_feature(enable = "sve")]
30816#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
30817#[cfg_attr(test, assert_instr(orv))]
30818pub fn svorv_u8(pg: svbool_t, op: svuint8_t) -> u8 {
30819 unsafe { svorv_s8(pg, op.as_signed()).as_unsigned() }
30820}
30821#[doc = "Bitwise inclusive OR reduction to scalar"]
30822#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svorv[_u16])"]
30823#[inline]
30824#[target_feature(enable = "sve")]
30825#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
30826#[cfg_attr(test, assert_instr(orv))]
30827pub fn svorv_u16(pg: svbool_t, op: svuint16_t) -> u16 {
30828 unsafe { svorv_s16(pg, op.as_signed()).as_unsigned() }
30829}
30830#[doc = "Bitwise inclusive OR reduction to scalar"]
30831#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svorv[_u32])"]
30832#[inline]
30833#[target_feature(enable = "sve")]
30834#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
30835#[cfg_attr(test, assert_instr(orv))]
30836pub fn svorv_u32(pg: svbool_t, op: svuint32_t) -> u32 {
30837 unsafe { svorv_s32(pg, op.as_signed()).as_unsigned() }
30838}
30839#[doc = "Bitwise inclusive OR reduction to scalar"]
30840#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svorv[_u64])"]
30841#[inline]
30842#[target_feature(enable = "sve")]
30843#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
30844#[cfg_attr(test, assert_instr(orv))]
30845pub fn svorv_u64(pg: svbool_t, op: svuint64_t) -> u64 {
30846 unsafe { svorv_s64(pg, op.as_signed()).as_unsigned() }
30847}
30848#[doc = "Set all predicate elements to false"]
30849#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svpfalse[_b])"]
30850#[inline]
30851#[target_feature(enable = "sve")]
30852#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
30853pub fn svpfalse_b() -> svbool_t {
30854 svdupq_n_b8(
30855 false, false, false, false, false, false, false, false, false, false, false, false, false,
30856 false, false, false,
30857 )
30858}
30859#[doc = "Set the first active predicate element to true"]
30860#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svpfirst[_b])"]
30861#[inline]
30862#[target_feature(enable = "sve")]
30863#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
30864#[cfg_attr(test, assert_instr(pfirst))]
30865pub fn svpfirst_b(pg: svbool_t, op: svbool_t) -> svbool_t {
30866 unsafe extern "unadjusted" {
30867 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.pfirst.nxv16i1")]
30868 fn _svpfirst_b(pg: svbool_t, op: svbool_t) -> svbool_t;
30869 }
30870 unsafe { _svpfirst_b(pg, op) }
30871}
30872#[doc = "Find next active predicate"]
30873#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svpnext_b8)"]
30874#[inline]
30875#[target_feature(enable = "sve")]
30876#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
30877#[cfg_attr(test, assert_instr(pnext))]
30878pub fn svpnext_b8(pg: svbool_t, op: svbool_t) -> svbool_t {
30879 unsafe extern "unadjusted" {
30880 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.pnext.nxv16i1")]
30881 fn _svpnext_b8(pg: svbool_t, op: svbool_t) -> svbool_t;
30882 }
30883 unsafe { _svpnext_b8(pg, op) }
30884}
30885#[doc = "Find next active predicate"]
30886#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svpnext_b16)"]
30887#[inline]
30888#[target_feature(enable = "sve")]
30889#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
30890#[cfg_attr(test, assert_instr(pnext))]
30891pub fn svpnext_b16(pg: svbool_t, op: svbool_t) -> svbool_t {
30892 unsafe extern "unadjusted" {
30893 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.pnext.nxv8i1")]
30894 fn _svpnext_b16(pg: svbool8_t, op: svbool8_t) -> svbool8_t;
30895 }
30896 unsafe { _svpnext_b16(pg.sve_into(), op.sve_into()).sve_into() }
30897}
30898#[doc = "Find next active predicate"]
30899#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svpnext_b32)"]
30900#[inline]
30901#[target_feature(enable = "sve")]
30902#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
30903#[cfg_attr(test, assert_instr(pnext))]
30904pub fn svpnext_b32(pg: svbool_t, op: svbool_t) -> svbool_t {
30905 unsafe extern "unadjusted" {
30906 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.pnext.nxv4i1")]
30907 fn _svpnext_b32(pg: svbool4_t, op: svbool4_t) -> svbool4_t;
30908 }
30909 unsafe { _svpnext_b32(pg.sve_into(), op.sve_into()).sve_into() }
30910}
30911#[doc = "Find next active predicate"]
30912#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svpnext_b64)"]
30913#[inline]
30914#[target_feature(enable = "sve")]
30915#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
30916#[cfg_attr(test, assert_instr(pnext))]
30917pub fn svpnext_b64(pg: svbool_t, op: svbool_t) -> svbool_t {
30918 unsafe extern "unadjusted" {
30919 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.pnext.nxv2i1")]
30920 fn _svpnext_b64(pg: svbool2_t, op: svbool2_t) -> svbool2_t;
30921 }
30922 unsafe { _svpnext_b64(pg.sve_into(), op.sve_into()).sve_into() }
30923}
30924#[doc = "Prefetch bytes"]
30925#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svprfb)"]
30926#[doc = "## Safety"]
30927#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
30928#[inline]
30929#[target_feature(enable = "sve")]
30930#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
30931# [cfg_attr (test , assert_instr (prfb , OP = { svprfop :: SV_PLDL1KEEP } , T = i64))]
30932pub unsafe fn svprfb<const OP: svprfop, T>(pg: svbool_t, base: *const T) {
30933 unsafe extern "unadjusted" {
30934 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.prf.nxv16i1")]
30935 fn _svprfb(pg: svbool_t, base: *const crate::ffi::c_void, op: svprfop);
30936 }
30937 _svprfb(pg, base as *const crate::ffi::c_void, OP)
30938}
30939#[doc = "Prefetch halfwords"]
30940#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svprfh)"]
30941#[doc = "## Safety"]
30942#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
30943#[inline]
30944#[target_feature(enable = "sve")]
30945#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
30946# [cfg_attr (test , assert_instr (prfh , OP = { svprfop :: SV_PLDL1KEEP } , T = i64))]
30947pub unsafe fn svprfh<const OP: svprfop, T>(pg: svbool_t, base: *const T) {
30948 unsafe extern "unadjusted" {
30949 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.prf.nxv8i1")]
30950 fn _svprfh(pg: svbool8_t, base: *const crate::ffi::c_void, op: svprfop);
30951 }
30952 _svprfh(pg.sve_into(), base as *const crate::ffi::c_void, OP)
30953}
30954#[doc = "Prefetch words"]
30955#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svprfw)"]
30956#[doc = "## Safety"]
30957#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
30958#[inline]
30959#[target_feature(enable = "sve")]
30960#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
30961# [cfg_attr (test , assert_instr (prfw , OP = { svprfop :: SV_PLDL1KEEP } , T = i64))]
30962pub unsafe fn svprfw<const OP: svprfop, T>(pg: svbool_t, base: *const T) {
30963 unsafe extern "unadjusted" {
30964 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.prf.nxv4i1")]
30965 fn _svprfw(pg: svbool4_t, base: *const crate::ffi::c_void, op: svprfop);
30966 }
30967 _svprfw(pg.sve_into(), base as *const crate::ffi::c_void, OP)
30968}
30969#[doc = "Prefetch doublewords"]
30970#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svprfd)"]
30971#[doc = "## Safety"]
30972#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
30973#[inline]
30974#[target_feature(enable = "sve")]
30975#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
30976# [cfg_attr (test , assert_instr (prfd , OP = { svprfop :: SV_PLDL1KEEP } , T = i64))]
30977pub unsafe fn svprfd<const OP: svprfop, T>(pg: svbool_t, base: *const T) {
30978 unsafe extern "unadjusted" {
30979 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.prf.nxv2i1")]
30980 fn _svprfd(pg: svbool2_t, base: *const crate::ffi::c_void, op: svprfop);
30981 }
30982 _svprfd(pg.sve_into(), base as *const crate::ffi::c_void, OP)
30983}
30984#[doc = "Prefetch bytes"]
30985#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svprfb_gather_[s32]offset)"]
30986#[doc = "## Safety"]
30987#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
30988#[inline]
30989#[target_feature(enable = "sve")]
30990#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
30991# [cfg_attr (test , assert_instr (prfb , OP = { svprfop :: SV_PLDL1KEEP } , T = i64))]
30992pub unsafe fn svprfb_gather_s32offset<const OP: svprfop, T>(
30993 pg: svbool_t,
30994 base: *const T,
30995 offsets: svint32_t,
30996) {
30997 unsafe extern "unadjusted" {
30998 #[cfg_attr(
30999 target_arch = "aarch64",
31000 link_name = "llvm.aarch64.sve.prfb.gather.sxtw.index.nxv4i32"
31001 )]
31002 fn _svprfb_gather_s32offset(
31003 pg: svbool4_t,
31004 base: *const crate::ffi::c_void,
31005 offsets: svint32_t,
31006 op: svprfop,
31007 );
31008 }
31009 _svprfb_gather_s32offset(
31010 pg.sve_into(),
31011 base as *const crate::ffi::c_void,
31012 offsets,
31013 OP,
31014 )
31015}
31016#[doc = "Prefetch halfwords"]
31017#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svprfh_gather_[s32]index)"]
31018#[doc = "## Safety"]
31019#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
31020#[inline]
31021#[target_feature(enable = "sve")]
31022#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
31023# [cfg_attr (test , assert_instr (prfh , OP = { svprfop :: SV_PLDL1KEEP } , T = i64))]
31024pub unsafe fn svprfh_gather_s32index<const OP: svprfop, T>(
31025 pg: svbool_t,
31026 base: *const T,
31027 indices: svint32_t,
31028) {
31029 unsafe extern "unadjusted" {
31030 #[cfg_attr(
31031 target_arch = "aarch64",
31032 link_name = "llvm.aarch64.sve.prfh.gather.sxtw.index.nxv4i32"
31033 )]
31034 fn _svprfh_gather_s32index(
31035 pg: svbool4_t,
31036 base: *const crate::ffi::c_void,
31037 indices: svint32_t,
31038 op: svprfop,
31039 );
31040 }
31041 _svprfh_gather_s32index(
31042 pg.sve_into(),
31043 base as *const crate::ffi::c_void,
31044 indices,
31045 OP,
31046 )
31047}
31048#[doc = "Prefetch words"]
31049#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svprfw_gather_[s32]index)"]
31050#[doc = "## Safety"]
31051#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
31052#[inline]
31053#[target_feature(enable = "sve")]
31054#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
31055# [cfg_attr (test , assert_instr (prfw , OP = { svprfop :: SV_PLDL1KEEP } , T = i64))]
31056pub unsafe fn svprfw_gather_s32index<const OP: svprfop, T>(
31057 pg: svbool_t,
31058 base: *const T,
31059 indices: svint32_t,
31060) {
31061 unsafe extern "unadjusted" {
31062 #[cfg_attr(
31063 target_arch = "aarch64",
31064 link_name = "llvm.aarch64.sve.prfw.gather.sxtw.index.nxv4i32"
31065 )]
31066 fn _svprfw_gather_s32index(
31067 pg: svbool4_t,
31068 base: *const crate::ffi::c_void,
31069 indices: svint32_t,
31070 op: svprfop,
31071 );
31072 }
31073 _svprfw_gather_s32index(
31074 pg.sve_into(),
31075 base as *const crate::ffi::c_void,
31076 indices,
31077 OP,
31078 )
31079}
31080#[doc = "Prefetch doublewords"]
31081#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svprfd_gather_[s32]index)"]
31082#[doc = "## Safety"]
31083#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
31084#[inline]
31085#[target_feature(enable = "sve")]
31086#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
31087# [cfg_attr (test , assert_instr (prfd , OP = { svprfop :: SV_PLDL1KEEP } , T = i64))]
31088pub unsafe fn svprfd_gather_s32index<const OP: svprfop, T>(
31089 pg: svbool_t,
31090 base: *const T,
31091 indices: svint32_t,
31092) {
31093 unsafe extern "unadjusted" {
31094 #[cfg_attr(
31095 target_arch = "aarch64",
31096 link_name = "llvm.aarch64.sve.prfd.gather.sxtw.index.nxv4i32"
31097 )]
31098 fn _svprfd_gather_s32index(
31099 pg: svbool4_t,
31100 base: *const crate::ffi::c_void,
31101 indices: svint32_t,
31102 op: svprfop,
31103 );
31104 }
31105 _svprfd_gather_s32index(
31106 pg.sve_into(),
31107 base as *const crate::ffi::c_void,
31108 indices,
31109 OP,
31110 )
31111}
31112#[doc = "Prefetch bytes"]
31113#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svprfb_gather_[s64]offset)"]
31114#[doc = "## Safety"]
31115#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
31116#[inline]
31117#[target_feature(enable = "sve")]
31118#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
31119# [cfg_attr (test , assert_instr (prfb , OP = { svprfop :: SV_PLDL1KEEP } , T = i64))]
31120pub unsafe fn svprfb_gather_s64offset<const OP: svprfop, T>(
31121 pg: svbool_t,
31122 base: *const T,
31123 offsets: svint64_t,
31124) {
31125 unsafe extern "unadjusted" {
31126 #[cfg_attr(
31127 target_arch = "aarch64",
31128 link_name = "llvm.aarch64.sve.prfb.gather.index.nxv2i64"
31129 )]
31130 fn _svprfb_gather_s64offset(
31131 pg: svbool2_t,
31132 base: *const crate::ffi::c_void,
31133 offsets: svint64_t,
31134 op: svprfop,
31135 );
31136 }
31137 _svprfb_gather_s64offset(
31138 pg.sve_into(),
31139 base as *const crate::ffi::c_void,
31140 offsets,
31141 OP,
31142 )
31143}
31144#[doc = "Prefetch halfwords"]
31145#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svprfh_gather_[s64]index)"]
31146#[doc = "## Safety"]
31147#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
31148#[inline]
31149#[target_feature(enable = "sve")]
31150#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
31151# [cfg_attr (test , assert_instr (prfh , OP = { svprfop :: SV_PLDL1KEEP } , T = i64))]
31152pub unsafe fn svprfh_gather_s64index<const OP: svprfop, T>(
31153 pg: svbool_t,
31154 base: *const T,
31155 indices: svint64_t,
31156) {
31157 unsafe extern "unadjusted" {
31158 #[cfg_attr(
31159 target_arch = "aarch64",
31160 link_name = "llvm.aarch64.sve.prfh.gather.index.nxv2i64"
31161 )]
31162 fn _svprfh_gather_s64index(
31163 pg: svbool2_t,
31164 base: *const crate::ffi::c_void,
31165 indices: svint64_t,
31166 op: svprfop,
31167 );
31168 }
31169 _svprfh_gather_s64index(
31170 pg.sve_into(),
31171 base as *const crate::ffi::c_void,
31172 indices,
31173 OP,
31174 )
31175}
31176#[doc = "Prefetch words"]
31177#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svprfw_gather_[s64]index)"]
31178#[doc = "## Safety"]
31179#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
31180#[inline]
31181#[target_feature(enable = "sve")]
31182#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
31183# [cfg_attr (test , assert_instr (prfw , OP = { svprfop :: SV_PLDL1KEEP } , T = i64))]
31184pub unsafe fn svprfw_gather_s64index<const OP: svprfop, T>(
31185 pg: svbool_t,
31186 base: *const T,
31187 indices: svint64_t,
31188) {
31189 unsafe extern "unadjusted" {
31190 #[cfg_attr(
31191 target_arch = "aarch64",
31192 link_name = "llvm.aarch64.sve.prfw.gather.index.nxv2i64"
31193 )]
31194 fn _svprfw_gather_s64index(
31195 pg: svbool2_t,
31196 base: *const crate::ffi::c_void,
31197 indices: svint64_t,
31198 op: svprfop,
31199 );
31200 }
31201 _svprfw_gather_s64index(
31202 pg.sve_into(),
31203 base as *const crate::ffi::c_void,
31204 indices,
31205 OP,
31206 )
31207}
31208#[doc = "Prefetch doublewords"]
31209#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svprfd_gather_[s64]index)"]
31210#[doc = "## Safety"]
31211#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
31212#[inline]
31213#[target_feature(enable = "sve")]
31214#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
31215# [cfg_attr (test , assert_instr (prfd , OP = { svprfop :: SV_PLDL1KEEP } , T = i64))]
31216pub unsafe fn svprfd_gather_s64index<const OP: svprfop, T>(
31217 pg: svbool_t,
31218 base: *const T,
31219 indices: svint64_t,
31220) {
31221 unsafe extern "unadjusted" {
31222 #[cfg_attr(
31223 target_arch = "aarch64",
31224 link_name = "llvm.aarch64.sve.prfd.gather.index.nxv2i64"
31225 )]
31226 fn _svprfd_gather_s64index(
31227 pg: svbool2_t,
31228 base: *const crate::ffi::c_void,
31229 indices: svint64_t,
31230 op: svprfop,
31231 );
31232 }
31233 _svprfd_gather_s64index(
31234 pg.sve_into(),
31235 base as *const crate::ffi::c_void,
31236 indices,
31237 OP,
31238 )
31239}
31240#[doc = "Prefetch bytes"]
31241#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svprfb_gather_[u32]offset)"]
31242#[doc = "## Safety"]
31243#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
31244#[inline]
31245#[target_feature(enable = "sve")]
31246#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
31247# [cfg_attr (test , assert_instr (prfb , OP = { svprfop :: SV_PLDL1KEEP } , T = i64))]
31248pub unsafe fn svprfb_gather_u32offset<const OP: svprfop, T>(
31249 pg: svbool_t,
31250 base: *const T,
31251 offsets: svuint32_t,
31252) {
31253 unsafe extern "unadjusted" {
31254 #[cfg_attr(
31255 target_arch = "aarch64",
31256 link_name = "llvm.aarch64.sve.prfb.gather.uxtw.index.nxv4i32"
31257 )]
31258 fn _svprfb_gather_u32offset(
31259 pg: svbool4_t,
31260 base: *const crate::ffi::c_void,
31261 offsets: svint32_t,
31262 op: svprfop,
31263 );
31264 }
31265 _svprfb_gather_u32offset(
31266 pg.sve_into(),
31267 base as *const crate::ffi::c_void,
31268 offsets.as_signed(),
31269 OP,
31270 )
31271}
31272#[doc = "Prefetch halfwords"]
31273#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svprfh_gather_[u32]index)"]
31274#[doc = "## Safety"]
31275#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
31276#[inline]
31277#[target_feature(enable = "sve")]
31278#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
31279# [cfg_attr (test , assert_instr (prfh , OP = { svprfop :: SV_PLDL1KEEP } , T = i64))]
31280pub unsafe fn svprfh_gather_u32index<const OP: svprfop, T>(
31281 pg: svbool_t,
31282 base: *const T,
31283 indices: svuint32_t,
31284) {
31285 unsafe extern "unadjusted" {
31286 #[cfg_attr(
31287 target_arch = "aarch64",
31288 link_name = "llvm.aarch64.sve.prfh.gather.uxtw.index.nxv4i32"
31289 )]
31290 fn _svprfh_gather_u32index(
31291 pg: svbool4_t,
31292 base: *const crate::ffi::c_void,
31293 indices: svint32_t,
31294 op: svprfop,
31295 );
31296 }
31297 _svprfh_gather_u32index(
31298 pg.sve_into(),
31299 base as *const crate::ffi::c_void,
31300 indices.as_signed(),
31301 OP,
31302 )
31303}
31304#[doc = "Prefetch words"]
31305#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svprfw_gather_[u32]index)"]
31306#[doc = "## Safety"]
31307#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
31308#[inline]
31309#[target_feature(enable = "sve")]
31310#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
31311# [cfg_attr (test , assert_instr (prfw , OP = { svprfop :: SV_PLDL1KEEP } , T = i64))]
31312pub unsafe fn svprfw_gather_u32index<const OP: svprfop, T>(
31313 pg: svbool_t,
31314 base: *const T,
31315 indices: svuint32_t,
31316) {
31317 unsafe extern "unadjusted" {
31318 #[cfg_attr(
31319 target_arch = "aarch64",
31320 link_name = "llvm.aarch64.sve.prfw.gather.uxtw.index.nxv4i32"
31321 )]
31322 fn _svprfw_gather_u32index(
31323 pg: svbool4_t,
31324 base: *const crate::ffi::c_void,
31325 indices: svint32_t,
31326 op: svprfop,
31327 );
31328 }
31329 _svprfw_gather_u32index(
31330 pg.sve_into(),
31331 base as *const crate::ffi::c_void,
31332 indices.as_signed(),
31333 OP,
31334 )
31335}
31336#[doc = "Prefetch doublewords"]
31337#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svprfd_gather_[u32]index)"]
31338#[doc = "## Safety"]
31339#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
31340#[inline]
31341#[target_feature(enable = "sve")]
31342#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
31343# [cfg_attr (test , assert_instr (prfd , OP = { svprfop :: SV_PLDL1KEEP } , T = i64))]
31344pub unsafe fn svprfd_gather_u32index<const OP: svprfop, T>(
31345 pg: svbool_t,
31346 base: *const T,
31347 indices: svuint32_t,
31348) {
31349 unsafe extern "unadjusted" {
31350 #[cfg_attr(
31351 target_arch = "aarch64",
31352 link_name = "llvm.aarch64.sve.prfd.gather.uxtw.index.nxv4i32"
31353 )]
31354 fn _svprfd_gather_u32index(
31355 pg: svbool4_t,
31356 base: *const crate::ffi::c_void,
31357 indices: svint32_t,
31358 op: svprfop,
31359 );
31360 }
31361 _svprfd_gather_u32index(
31362 pg.sve_into(),
31363 base as *const crate::ffi::c_void,
31364 indices.as_signed(),
31365 OP,
31366 )
31367}
31368#[doc = "Prefetch bytes"]
31369#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svprfb_gather_[u64]offset)"]
31370#[doc = "## Safety"]
31371#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
31372#[inline]
31373#[target_feature(enable = "sve")]
31374#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
31375# [cfg_attr (test , assert_instr (prfb , OP = { svprfop :: SV_PLDL1KEEP } , T = i64))]
31376pub unsafe fn svprfb_gather_u64offset<const OP: svprfop, T>(
31377 pg: svbool_t,
31378 base: *const T,
31379 offsets: svuint64_t,
31380) {
31381 svprfb_gather_s64offset::<OP, T>(pg, base, offsets.as_signed())
31382}
31383#[doc = "Prefetch halfwords"]
31384#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svprfh_gather_[u64]index)"]
31385#[doc = "## Safety"]
31386#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
31387#[inline]
31388#[target_feature(enable = "sve")]
31389#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
31390# [cfg_attr (test , assert_instr (prfh , OP = { svprfop :: SV_PLDL1KEEP } , T = i64))]
31391pub unsafe fn svprfh_gather_u64index<const OP: svprfop, T>(
31392 pg: svbool_t,
31393 base: *const T,
31394 indices: svuint64_t,
31395) {
31396 svprfh_gather_s64index::<OP, T>(pg, base, indices.as_signed())
31397}
31398#[doc = "Prefetch words"]
31399#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svprfw_gather_[u64]index)"]
31400#[doc = "## Safety"]
31401#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
31402#[inline]
31403#[target_feature(enable = "sve")]
31404#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
31405# [cfg_attr (test , assert_instr (prfw , OP = { svprfop :: SV_PLDL1KEEP } , T = i64))]
31406pub unsafe fn svprfw_gather_u64index<const OP: svprfop, T>(
31407 pg: svbool_t,
31408 base: *const T,
31409 indices: svuint64_t,
31410) {
31411 svprfw_gather_s64index::<OP, T>(pg, base, indices.as_signed())
31412}
31413#[doc = "Prefetch doublewords"]
31414#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svprfd_gather_[u64]index)"]
31415#[doc = "## Safety"]
31416#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
31417#[inline]
31418#[target_feature(enable = "sve")]
31419#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
31420# [cfg_attr (test , assert_instr (prfd , OP = { svprfop :: SV_PLDL1KEEP } , T = i64))]
31421pub unsafe fn svprfd_gather_u64index<const OP: svprfop, T>(
31422 pg: svbool_t,
31423 base: *const T,
31424 indices: svuint64_t,
31425) {
31426 svprfd_gather_s64index::<OP, T>(pg, base, indices.as_signed())
31427}
31428#[doc = "Prefetch bytes"]
31429#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svprfb_gather[_u32base])"]
31430#[doc = "## Safety"]
31431#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
31432#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
31433#[inline]
31434#[target_feature(enable = "sve")]
31435#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
31436# [cfg_attr (test , assert_instr (prfb , OP = { svprfop :: SV_PLDL1KEEP }))]
31437pub unsafe fn svprfb_gather_u32base<const OP: svprfop>(pg: svbool_t, bases: svuint32_t) {
31438 unsafe extern "unadjusted" {
31439 #[cfg_attr(
31440 target_arch = "aarch64",
31441 link_name = "llvm.aarch64.sve.prfb.gather.scalar.offset.nxv4i32"
31442 )]
31443 fn _svprfb_gather_u32base(pg: svbool4_t, bases: svint32_t, index: i64, op: svprfop);
31444 }
31445 _svprfb_gather_u32base(pg.sve_into(), bases.as_signed(), 0, OP)
31446}
31447#[doc = "Prefetch halfwords"]
31448#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svprfh_gather[_u32base])"]
31449#[doc = "## Safety"]
31450#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
31451#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
31452#[inline]
31453#[target_feature(enable = "sve")]
31454#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
31455# [cfg_attr (test , assert_instr (prfh , OP = { svprfop :: SV_PLDL1KEEP }))]
31456pub unsafe fn svprfh_gather_u32base<const OP: svprfop>(pg: svbool_t, bases: svuint32_t) {
31457 unsafe extern "unadjusted" {
31458 #[cfg_attr(
31459 target_arch = "aarch64",
31460 link_name = "llvm.aarch64.sve.prfh.gather.scalar.offset.nxv4i32"
31461 )]
31462 fn _svprfh_gather_u32base(pg: svbool4_t, bases: svint32_t, index: i64, op: svprfop);
31463 }
31464 _svprfh_gather_u32base(pg.sve_into(), bases.as_signed(), 0, OP)
31465}
31466#[doc = "Prefetch words"]
31467#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svprfw_gather[_u32base])"]
31468#[doc = "## Safety"]
31469#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
31470#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
31471#[inline]
31472#[target_feature(enable = "sve")]
31473#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
31474# [cfg_attr (test , assert_instr (prfw , OP = { svprfop :: SV_PLDL1KEEP }))]
31475pub unsafe fn svprfw_gather_u32base<const OP: svprfop>(pg: svbool_t, bases: svuint32_t) {
31476 unsafe extern "unadjusted" {
31477 #[cfg_attr(
31478 target_arch = "aarch64",
31479 link_name = "llvm.aarch64.sve.prfw.gather.scalar.offset.nxv4i32"
31480 )]
31481 fn _svprfw_gather_u32base(pg: svbool4_t, bases: svint32_t, index: i64, op: svprfop);
31482 }
31483 _svprfw_gather_u32base(pg.sve_into(), bases.as_signed(), 0, OP)
31484}
31485#[doc = "Prefetch doublewords"]
31486#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svprfd_gather[_u32base])"]
31487#[doc = "## Safety"]
31488#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
31489#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
31490#[inline]
31491#[target_feature(enable = "sve")]
31492#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
31493# [cfg_attr (test , assert_instr (prfd , OP = { svprfop :: SV_PLDL1KEEP }))]
31494pub unsafe fn svprfd_gather_u32base<const OP: svprfop>(pg: svbool_t, bases: svuint32_t) {
31495 unsafe extern "unadjusted" {
31496 #[cfg_attr(
31497 target_arch = "aarch64",
31498 link_name = "llvm.aarch64.sve.prfd.gather.scalar.offset.nxv4i32"
31499 )]
31500 fn _svprfd_gather_u32base(pg: svbool4_t, bases: svint32_t, index: i64, op: svprfop);
31501 }
31502 _svprfd_gather_u32base(pg.sve_into(), bases.as_signed(), 0, OP)
31503}
31504#[doc = "Prefetch bytes"]
31505#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svprfb_gather[_u64base])"]
31506#[doc = "## Safety"]
31507#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
31508#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
31509#[inline]
31510#[target_feature(enable = "sve")]
31511#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
31512# [cfg_attr (test , assert_instr (prfb , OP = { svprfop :: SV_PLDL1KEEP }))]
31513pub unsafe fn svprfb_gather_u64base<const OP: svprfop>(pg: svbool_t, bases: svuint64_t) {
31514 unsafe extern "unadjusted" {
31515 #[cfg_attr(
31516 target_arch = "aarch64",
31517 link_name = "llvm.aarch64.sve.prfb.gather.scalar.offset.nxv2i64"
31518 )]
31519 fn _svprfb_gather_u64base(pg: svbool2_t, bases: svint64_t, index: i64, op: svprfop);
31520 }
31521 _svprfb_gather_u64base(pg.sve_into(), bases.as_signed(), 0, OP)
31522}
31523#[doc = "Prefetch halfwords"]
31524#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svprfh_gather[_u64base])"]
31525#[doc = "## Safety"]
31526#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
31527#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
31528#[inline]
31529#[target_feature(enable = "sve")]
31530#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
31531# [cfg_attr (test , assert_instr (prfh , OP = { svprfop :: SV_PLDL1KEEP }))]
31532pub unsafe fn svprfh_gather_u64base<const OP: svprfop>(pg: svbool_t, bases: svuint64_t) {
31533 unsafe extern "unadjusted" {
31534 #[cfg_attr(
31535 target_arch = "aarch64",
31536 link_name = "llvm.aarch64.sve.prfh.gather.scalar.offset.nxv2i64"
31537 )]
31538 fn _svprfh_gather_u64base(pg: svbool2_t, bases: svint64_t, index: i64, op: svprfop);
31539 }
31540 _svprfh_gather_u64base(pg.sve_into(), bases.as_signed(), 0, OP)
31541}
31542#[doc = "Prefetch words"]
31543#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svprfw_gather[_u64base])"]
31544#[doc = "## Safety"]
31545#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
31546#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
31547#[inline]
31548#[target_feature(enable = "sve")]
31549#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
31550# [cfg_attr (test , assert_instr (prfw , OP = { svprfop :: SV_PLDL1KEEP }))]
31551pub unsafe fn svprfw_gather_u64base<const OP: svprfop>(pg: svbool_t, bases: svuint64_t) {
31552 unsafe extern "unadjusted" {
31553 #[cfg_attr(
31554 target_arch = "aarch64",
31555 link_name = "llvm.aarch64.sve.prfw.gather.scalar.offset.nxv2i64"
31556 )]
31557 fn _svprfw_gather_u64base(pg: svbool2_t, bases: svint64_t, index: i64, op: svprfop);
31558 }
31559 _svprfw_gather_u64base(pg.sve_into(), bases.as_signed(), 0, OP)
31560}
31561#[doc = "Prefetch doublewords"]
31562#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svprfd_gather[_u64base])"]
31563#[doc = "## Safety"]
31564#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
31565#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
31566#[inline]
31567#[target_feature(enable = "sve")]
31568#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
31569# [cfg_attr (test , assert_instr (prfd , OP = { svprfop :: SV_PLDL1KEEP }))]
31570pub unsafe fn svprfd_gather_u64base<const OP: svprfop>(pg: svbool_t, bases: svuint64_t) {
31571 unsafe extern "unadjusted" {
31572 #[cfg_attr(
31573 target_arch = "aarch64",
31574 link_name = "llvm.aarch64.sve.prfd.gather.scalar.offset.nxv2i64"
31575 )]
31576 fn _svprfd_gather_u64base(pg: svbool2_t, bases: svint64_t, index: i64, op: svprfop);
31577 }
31578 _svprfd_gather_u64base(pg.sve_into(), bases.as_signed(), 0, OP)
31579}
31580#[doc = "Prefetch bytes"]
31581#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svprfb_gather[_u32base]_offset)"]
31582#[doc = "## Safety"]
31583#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
31584#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
31585#[inline]
31586#[target_feature(enable = "sve")]
31587#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
31588# [cfg_attr (test , assert_instr (prfb , OP = { svprfop :: SV_PLDL1KEEP }))]
31589pub unsafe fn svprfb_gather_u32base_offset<const OP: svprfop>(
31590 pg: svbool_t,
31591 bases: svuint32_t,
31592 offset: i64,
31593) {
31594 unsafe extern "unadjusted" {
31595 #[cfg_attr(
31596 target_arch = "aarch64",
31597 link_name = "llvm.aarch64.sve.prfb.gather.scalar.offset.nxv4i32"
31598 )]
31599 fn _svprfb_gather_u32base_offset(pg: svbool4_t, bases: svint32_t, offset: i64, op: svprfop);
31600 }
31601 _svprfb_gather_u32base_offset(pg.sve_into(), bases.as_signed(), offset, OP)
31602}
31603#[doc = "Prefetch halfwords"]
31604#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svprfh_gather[_u32base]_index)"]
31605#[doc = "## Safety"]
31606#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
31607#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
31608#[inline]
31609#[target_feature(enable = "sve")]
31610#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
31611# [cfg_attr (test , assert_instr (prfb , OP = { svprfop :: SV_PLDL1KEEP }))]
31612pub unsafe fn svprfh_gather_u32base_index<const OP: svprfop>(
31613 pg: svbool_t,
31614 bases: svuint32_t,
31615 index: i64,
31616) {
31617 unsafe extern "unadjusted" {
31618 #[cfg_attr(
31619 target_arch = "aarch64",
31620 link_name = "llvm.aarch64.sve.prfh.gather.scalar.offset.nxv4i32"
31621 )]
31622 fn _svprfh_gather_u32base_index(pg: svbool4_t, bases: svint32_t, index: i64, op: svprfop);
31623 }
31624 _svprfh_gather_u32base_index(pg.sve_into(), bases.as_signed(), index.unchecked_shl(1), OP)
31625}
31626#[doc = "Prefetch words"]
31627#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svprfw_gather[_u32base]_index)"]
31628#[doc = "## Safety"]
31629#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
31630#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
31631#[inline]
31632#[target_feature(enable = "sve")]
31633#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
31634# [cfg_attr (test , assert_instr (prfb , OP = { svprfop :: SV_PLDL1KEEP }))]
31635pub unsafe fn svprfw_gather_u32base_index<const OP: svprfop>(
31636 pg: svbool_t,
31637 bases: svuint32_t,
31638 index: i64,
31639) {
31640 unsafe extern "unadjusted" {
31641 #[cfg_attr(
31642 target_arch = "aarch64",
31643 link_name = "llvm.aarch64.sve.prfw.gather.scalar.offset.nxv4i32"
31644 )]
31645 fn _svprfw_gather_u32base_index(pg: svbool4_t, bases: svint32_t, index: i64, op: svprfop);
31646 }
31647 _svprfw_gather_u32base_index(pg.sve_into(), bases.as_signed(), index.unchecked_shl(2), OP)
31648}
31649#[doc = "Prefetch doublewords"]
31650#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svprfd_gather[_u32base]_index)"]
31651#[doc = "## Safety"]
31652#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
31653#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
31654#[inline]
31655#[target_feature(enable = "sve")]
31656#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
31657# [cfg_attr (test , assert_instr (prfb , OP = { svprfop :: SV_PLDL1KEEP }))]
31658pub unsafe fn svprfd_gather_u32base_index<const OP: svprfop>(
31659 pg: svbool_t,
31660 bases: svuint32_t,
31661 index: i64,
31662) {
31663 unsafe extern "unadjusted" {
31664 #[cfg_attr(
31665 target_arch = "aarch64",
31666 link_name = "llvm.aarch64.sve.prfd.gather.scalar.offset.nxv4i32"
31667 )]
31668 fn _svprfd_gather_u32base_index(pg: svbool4_t, bases: svint32_t, index: i64, op: svprfop);
31669 }
31670 _svprfd_gather_u32base_index(pg.sve_into(), bases.as_signed(), index.unchecked_shl(3), OP)
31671}
31672#[doc = "Prefetch bytes"]
31673#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svprfb_gather[_u64base]_offset)"]
31674#[doc = "## Safety"]
31675#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
31676#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
31677#[inline]
31678#[target_feature(enable = "sve")]
31679#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
31680# [cfg_attr (test , assert_instr (prfb , OP = { svprfop :: SV_PLDL1KEEP }))]
31681pub unsafe fn svprfb_gather_u64base_offset<const OP: svprfop>(
31682 pg: svbool_t,
31683 bases: svuint64_t,
31684 offset: i64,
31685) {
31686 unsafe extern "unadjusted" {
31687 #[cfg_attr(
31688 target_arch = "aarch64",
31689 link_name = "llvm.aarch64.sve.prfb.gather.scalar.offset.nxv2i64"
31690 )]
31691 fn _svprfb_gather_u64base_offset(pg: svbool2_t, bases: svint64_t, offset: i64, op: svprfop);
31692 }
31693 _svprfb_gather_u64base_offset(pg.sve_into(), bases.as_signed(), offset, OP)
31694}
31695#[doc = "Prefetch halfwords"]
31696#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svprfh_gather[_u64base]_index)"]
31697#[doc = "## Safety"]
31698#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
31699#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
31700#[inline]
31701#[target_feature(enable = "sve")]
31702#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
31703# [cfg_attr (test , assert_instr (prfb , OP = { svprfop :: SV_PLDL1KEEP }))]
31704pub unsafe fn svprfh_gather_u64base_index<const OP: svprfop>(
31705 pg: svbool_t,
31706 bases: svuint64_t,
31707 index: i64,
31708) {
31709 unsafe extern "unadjusted" {
31710 #[cfg_attr(
31711 target_arch = "aarch64",
31712 link_name = "llvm.aarch64.sve.prfh.gather.scalar.offset.nxv2i64"
31713 )]
31714 fn _svprfh_gather_u64base_index(pg: svbool2_t, bases: svint64_t, index: i64, op: svprfop);
31715 }
31716 _svprfh_gather_u64base_index(pg.sve_into(), bases.as_signed(), index.unchecked_shl(1), OP)
31717}
31718#[doc = "Prefetch words"]
31719#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svprfw_gather[_u64base]_index)"]
31720#[doc = "## Safety"]
31721#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
31722#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
31723#[inline]
31724#[target_feature(enable = "sve")]
31725#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
31726# [cfg_attr (test , assert_instr (prfb , OP = { svprfop :: SV_PLDL1KEEP }))]
31727pub unsafe fn svprfw_gather_u64base_index<const OP: svprfop>(
31728 pg: svbool_t,
31729 bases: svuint64_t,
31730 index: i64,
31731) {
31732 unsafe extern "unadjusted" {
31733 #[cfg_attr(
31734 target_arch = "aarch64",
31735 link_name = "llvm.aarch64.sve.prfw.gather.scalar.offset.nxv2i64"
31736 )]
31737 fn _svprfw_gather_u64base_index(pg: svbool2_t, bases: svint64_t, index: i64, op: svprfop);
31738 }
31739 _svprfw_gather_u64base_index(pg.sve_into(), bases.as_signed(), index.unchecked_shl(2), OP)
31740}
31741#[doc = "Prefetch doublewords"]
31742#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svprfd_gather[_u64base]_index)"]
31743#[doc = "## Safety"]
31744#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
31745#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
31746#[inline]
31747#[target_feature(enable = "sve")]
31748#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
31749# [cfg_attr (test , assert_instr (prfb , OP = { svprfop :: SV_PLDL1KEEP }))]
31750pub unsafe fn svprfd_gather_u64base_index<const OP: svprfop>(
31751 pg: svbool_t,
31752 bases: svuint64_t,
31753 index: i64,
31754) {
31755 unsafe extern "unadjusted" {
31756 #[cfg_attr(
31757 target_arch = "aarch64",
31758 link_name = "llvm.aarch64.sve.prfd.gather.scalar.offset.nxv2i64"
31759 )]
31760 fn _svprfd_gather_u64base_index(pg: svbool2_t, bases: svint64_t, index: i64, op: svprfop);
31761 }
31762 _svprfd_gather_u64base_index(pg.sve_into(), bases.as_signed(), index.unchecked_shl(3), OP)
31763}
31764#[doc = "Prefetch bytes"]
31765#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svprfb_vnum)"]
31766#[doc = "## Safety"]
31767#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`). In particular, note that `vnum` is scaled by the vector length, `VL`, which is not known at compile time."]
31768#[inline]
31769#[target_feature(enable = "sve")]
31770#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
31771# [cfg_attr (test , assert_instr (prfb , OP = { svprfop :: SV_PLDL1KEEP } , T = i64))]
31772pub unsafe fn svprfb_vnum<const OP: svprfop, T>(pg: svbool_t, base: *const T, vnum: i64) {
31773 svprfb::<OP, _>(pg, base.offset(svcntb() as isize * vnum as isize))
31774}
31775#[doc = "Prefetch halfwords"]
31776#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svprfh_vnum)"]
31777#[doc = "## Safety"]
31778#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`). In particular, note that `vnum` is scaled by the vector length, `VL`, which is not known at compile time."]
31779#[inline]
31780#[target_feature(enable = "sve")]
31781#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
31782# [cfg_attr (test , assert_instr (prfh , OP = { svprfop :: SV_PLDL1KEEP } , T = i64))]
31783pub unsafe fn svprfh_vnum<const OP: svprfop, T>(pg: svbool_t, base: *const T, vnum: i64) {
31784 svprfh::<OP, _>(pg, base.offset(svcnth() as isize * vnum as isize))
31785}
31786#[doc = "Prefetch words"]
31787#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svprfw_vnum)"]
31788#[doc = "## Safety"]
31789#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`). In particular, note that `vnum` is scaled by the vector length, `VL`, which is not known at compile time."]
31790#[inline]
31791#[target_feature(enable = "sve")]
31792#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
31793# [cfg_attr (test , assert_instr (prfw , OP = { svprfop :: SV_PLDL1KEEP } , T = i64))]
31794pub unsafe fn svprfw_vnum<const OP: svprfop, T>(pg: svbool_t, base: *const T, vnum: i64) {
31795 svprfw::<OP, _>(pg, base.offset(svcntw() as isize * vnum as isize))
31796}
31797#[doc = "Prefetch doublewords"]
31798#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svprfd_vnum)"]
31799#[doc = "## Safety"]
31800#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`). In particular, note that `vnum` is scaled by the vector length, `VL`, which is not known at compile time."]
31801#[inline]
31802#[target_feature(enable = "sve")]
31803#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
31804# [cfg_attr (test , assert_instr (prfd , OP = { svprfop :: SV_PLDL1KEEP } , T = i64))]
31805pub unsafe fn svprfd_vnum<const OP: svprfop, T>(pg: svbool_t, base: *const T, vnum: i64) {
31806 svprfd::<OP, _>(pg, base.offset(svcntd() as isize * vnum as isize))
31807}
31808#[doc = "Test whether any active element is true"]
31809#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svptest_any)"]
31810#[inline]
31811#[target_feature(enable = "sve")]
31812#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
31813#[cfg_attr(test, assert_instr(ptest))]
31814pub fn svptest_any(pg: svbool_t, op: svbool_t) -> bool {
31815 unsafe extern "unadjusted" {
31816 #[cfg_attr(
31817 target_arch = "aarch64",
31818 link_name = "llvm.aarch64.sve.ptest.any.nxv16i1"
31819 )]
31820 fn _svptest_any(pg: svbool_t, op: svbool_t) -> bool;
31821 }
31822 unsafe { _svptest_any(pg, op) }
31823}
31824#[doc = "Test whether first active element is true"]
31825#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svptest_first)"]
31826#[inline]
31827#[target_feature(enable = "sve")]
31828#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
31829#[cfg_attr(test, assert_instr(ptest))]
31830pub fn svptest_first(pg: svbool_t, op: svbool_t) -> bool {
31831 unsafe extern "unadjusted" {
31832 #[cfg_attr(
31833 target_arch = "aarch64",
31834 link_name = "llvm.aarch64.sve.ptest.first.nxv16i1"
31835 )]
31836 fn _svptest_first(pg: svbool_t, op: svbool_t) -> bool;
31837 }
31838 unsafe { _svptest_first(pg, op) }
31839}
31840#[doc = "Test whether last active element is true"]
31841#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svptest_last)"]
31842#[inline]
31843#[target_feature(enable = "sve")]
31844#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
31845#[cfg_attr(test, assert_instr(ptest))]
31846pub fn svptest_last(pg: svbool_t, op: svbool_t) -> bool {
31847 unsafe extern "unadjusted" {
31848 #[cfg_attr(
31849 target_arch = "aarch64",
31850 link_name = "llvm.aarch64.sve.ptest.last.nxv16i1"
31851 )]
31852 fn _svptest_last(pg: svbool_t, op: svbool_t) -> bool;
31853 }
31854 unsafe { _svptest_last(pg, op) }
31855}
31856#[doc = "Set predicate elements to true"]
31857#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svptrue_b8)"]
31858#[inline]
31859#[target_feature(enable = "sve")]
31860#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
31861#[cfg_attr(test, assert_instr(ptrue))]
31862pub fn svptrue_b8() -> svbool_t {
31863 svptrue_pat_b8::<{ svpattern::SV_ALL }>()
31864}
31865#[doc = "Set predicate elements to true"]
31866#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svptrue_b16)"]
31867#[inline]
31868#[target_feature(enable = "sve")]
31869#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
31870#[cfg_attr(test, assert_instr(ptrue))]
31871pub fn svptrue_b16() -> svbool_t {
31872 svptrue_pat_b16::<{ svpattern::SV_ALL }>()
31873}
31874#[doc = "Set predicate elements to true"]
31875#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svptrue_b32)"]
31876#[inline]
31877#[target_feature(enable = "sve")]
31878#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
31879#[cfg_attr(test, assert_instr(ptrue))]
31880pub fn svptrue_b32() -> svbool_t {
31881 svptrue_pat_b32::<{ svpattern::SV_ALL }>()
31882}
31883#[doc = "Set predicate elements to true"]
31884#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svptrue_b64)"]
31885#[inline]
31886#[target_feature(enable = "sve")]
31887#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
31888#[cfg_attr(test, assert_instr(ptrue))]
31889pub fn svptrue_b64() -> svbool_t {
31890 svptrue_pat_b64::<{ svpattern::SV_ALL }>()
31891}
31892#[doc = "Set predicate elements to true"]
31893#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svptrue_pat_b8)"]
31894#[inline]
31895#[target_feature(enable = "sve")]
31896#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
31897# [cfg_attr (test , assert_instr (ptrue , PATTERN = { svpattern :: SV_ALL }))]
31898pub fn svptrue_pat_b8<const PATTERN: svpattern>() -> svbool_t {
31899 unsafe extern "unadjusted" {
31900 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.ptrue.nxv16i1")]
31901 fn _svptrue_pat_b8(pattern: svpattern) -> svbool_t;
31902 }
31903 unsafe { _svptrue_pat_b8(PATTERN) }
31904}
31905#[doc = "Set predicate elements to true"]
31906#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svptrue_pat_b16)"]
31907#[inline]
31908#[target_feature(enable = "sve")]
31909#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
31910# [cfg_attr (test , assert_instr (ptrue , PATTERN = { svpattern :: SV_ALL }))]
31911pub fn svptrue_pat_b16<const PATTERN: svpattern>() -> svbool_t {
31912 unsafe extern "unadjusted" {
31913 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.ptrue.nxv8i1")]
31914 fn _svptrue_pat_b16(pattern: svpattern) -> svbool8_t;
31915 }
31916 unsafe { _svptrue_pat_b16(PATTERN).sve_into() }
31917}
31918#[doc = "Set predicate elements to true"]
31919#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svptrue_pat_b32)"]
31920#[inline]
31921#[target_feature(enable = "sve")]
31922#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
31923# [cfg_attr (test , assert_instr (ptrue , PATTERN = { svpattern :: SV_ALL }))]
31924pub fn svptrue_pat_b32<const PATTERN: svpattern>() -> svbool_t {
31925 unsafe extern "unadjusted" {
31926 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.ptrue.nxv4i1")]
31927 fn _svptrue_pat_b32(pattern: svpattern) -> svbool4_t;
31928 }
31929 unsafe { _svptrue_pat_b32(PATTERN).sve_into() }
31930}
31931#[doc = "Set predicate elements to true"]
31932#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svptrue_pat_b64)"]
31933#[inline]
31934#[target_feature(enable = "sve")]
31935#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
31936# [cfg_attr (test , assert_instr (ptrue , PATTERN = { svpattern :: SV_ALL }))]
31937pub fn svptrue_pat_b64<const PATTERN: svpattern>() -> svbool_t {
31938 unsafe extern "unadjusted" {
31939 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.ptrue.nxv2i1")]
31940 fn _svptrue_pat_b64(pattern: svpattern) -> svbool2_t;
31941 }
31942 unsafe { _svptrue_pat_b64(PATTERN).sve_into() }
31943}
31944#[doc = "Saturating add"]
31945#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svqadd[_s8])"]
31946#[inline]
31947#[target_feature(enable = "sve")]
31948#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
31949#[cfg_attr(test, assert_instr(sqadd))]
31950pub fn svqadd_s8(op1: svint8_t, op2: svint8_t) -> svint8_t {
31951 unsafe extern "unadjusted" {
31952 #[cfg_attr(
31953 target_arch = "aarch64",
31954 link_name = "llvm.aarch64.sve.sqadd.x.nxv16i8"
31955 )]
31956 fn _svqadd_s8(op1: svint8_t, op2: svint8_t) -> svint8_t;
31957 }
31958 unsafe { _svqadd_s8(op1, op2) }
31959}
31960#[doc = "Saturating add"]
31961#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svqadd[_n_s8])"]
31962#[inline]
31963#[target_feature(enable = "sve")]
31964#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
31965#[cfg_attr(test, assert_instr(sqadd))]
31966pub fn svqadd_n_s8(op1: svint8_t, op2: i8) -> svint8_t {
31967 svqadd_s8(op1, svdup_n_s8(op2))
31968}
31969#[doc = "Saturating add"]
31970#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svqadd[_s16])"]
31971#[inline]
31972#[target_feature(enable = "sve")]
31973#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
31974#[cfg_attr(test, assert_instr(sqadd))]
31975pub fn svqadd_s16(op1: svint16_t, op2: svint16_t) -> svint16_t {
31976 unsafe extern "unadjusted" {
31977 #[cfg_attr(
31978 target_arch = "aarch64",
31979 link_name = "llvm.aarch64.sve.sqadd.x.nxv8i16"
31980 )]
31981 fn _svqadd_s16(op1: svint16_t, op2: svint16_t) -> svint16_t;
31982 }
31983 unsafe { _svqadd_s16(op1, op2) }
31984}
31985#[doc = "Saturating add"]
31986#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svqadd[_n_s16])"]
31987#[inline]
31988#[target_feature(enable = "sve")]
31989#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
31990#[cfg_attr(test, assert_instr(sqadd))]
31991pub fn svqadd_n_s16(op1: svint16_t, op2: i16) -> svint16_t {
31992 svqadd_s16(op1, svdup_n_s16(op2))
31993}
31994#[doc = "Saturating add"]
31995#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svqadd[_s32])"]
31996#[inline]
31997#[target_feature(enable = "sve")]
31998#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
31999#[cfg_attr(test, assert_instr(sqadd))]
32000pub fn svqadd_s32(op1: svint32_t, op2: svint32_t) -> svint32_t {
32001 unsafe extern "unadjusted" {
32002 #[cfg_attr(
32003 target_arch = "aarch64",
32004 link_name = "llvm.aarch64.sve.sqadd.x.nxv4i32"
32005 )]
32006 fn _svqadd_s32(op1: svint32_t, op2: svint32_t) -> svint32_t;
32007 }
32008 unsafe { _svqadd_s32(op1, op2) }
32009}
32010#[doc = "Saturating add"]
32011#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svqadd[_n_s32])"]
32012#[inline]
32013#[target_feature(enable = "sve")]
32014#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
32015#[cfg_attr(test, assert_instr(sqadd))]
32016pub fn svqadd_n_s32(op1: svint32_t, op2: i32) -> svint32_t {
32017 svqadd_s32(op1, svdup_n_s32(op2))
32018}
32019#[doc = "Saturating add"]
32020#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svqadd[_s64])"]
32021#[inline]
32022#[target_feature(enable = "sve")]
32023#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
32024#[cfg_attr(test, assert_instr(sqadd))]
32025pub fn svqadd_s64(op1: svint64_t, op2: svint64_t) -> svint64_t {
32026 unsafe extern "unadjusted" {
32027 #[cfg_attr(
32028 target_arch = "aarch64",
32029 link_name = "llvm.aarch64.sve.sqadd.x.nxv2i64"
32030 )]
32031 fn _svqadd_s64(op1: svint64_t, op2: svint64_t) -> svint64_t;
32032 }
32033 unsafe { _svqadd_s64(op1, op2) }
32034}
32035#[doc = "Saturating add"]
32036#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svqadd[_n_s64])"]
32037#[inline]
32038#[target_feature(enable = "sve")]
32039#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
32040#[cfg_attr(test, assert_instr(sqadd))]
32041pub fn svqadd_n_s64(op1: svint64_t, op2: i64) -> svint64_t {
32042 svqadd_s64(op1, svdup_n_s64(op2))
32043}
32044#[doc = "Saturating add"]
32045#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svqadd[_u8])"]
32046#[inline]
32047#[target_feature(enable = "sve")]
32048#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
32049#[cfg_attr(test, assert_instr(uqadd))]
32050pub fn svqadd_u8(op1: svuint8_t, op2: svuint8_t) -> svuint8_t {
32051 unsafe extern "unadjusted" {
32052 #[cfg_attr(
32053 target_arch = "aarch64",
32054 link_name = "llvm.aarch64.sve.uqadd.x.nxv16i8"
32055 )]
32056 fn _svqadd_u8(op1: svint8_t, op2: svint8_t) -> svint8_t;
32057 }
32058 unsafe { _svqadd_u8(op1.as_signed(), op2.as_signed()).as_unsigned() }
32059}
32060#[doc = "Saturating add"]
32061#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svqadd[_n_u8])"]
32062#[inline]
32063#[target_feature(enable = "sve")]
32064#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
32065#[cfg_attr(test, assert_instr(uqadd))]
32066pub fn svqadd_n_u8(op1: svuint8_t, op2: u8) -> svuint8_t {
32067 svqadd_u8(op1, svdup_n_u8(op2))
32068}
32069#[doc = "Saturating add"]
32070#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svqadd[_u16])"]
32071#[inline]
32072#[target_feature(enable = "sve")]
32073#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
32074#[cfg_attr(test, assert_instr(uqadd))]
32075pub fn svqadd_u16(op1: svuint16_t, op2: svuint16_t) -> svuint16_t {
32076 unsafe extern "unadjusted" {
32077 #[cfg_attr(
32078 target_arch = "aarch64",
32079 link_name = "llvm.aarch64.sve.uqadd.x.nxv8i16"
32080 )]
32081 fn _svqadd_u16(op1: svint16_t, op2: svint16_t) -> svint16_t;
32082 }
32083 unsafe { _svqadd_u16(op1.as_signed(), op2.as_signed()).as_unsigned() }
32084}
32085#[doc = "Saturating add"]
32086#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svqadd[_n_u16])"]
32087#[inline]
32088#[target_feature(enable = "sve")]
32089#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
32090#[cfg_attr(test, assert_instr(uqadd))]
32091pub fn svqadd_n_u16(op1: svuint16_t, op2: u16) -> svuint16_t {
32092 svqadd_u16(op1, svdup_n_u16(op2))
32093}
32094#[doc = "Saturating add"]
32095#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svqadd[_u32])"]
32096#[inline]
32097#[target_feature(enable = "sve")]
32098#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
32099#[cfg_attr(test, assert_instr(uqadd))]
32100pub fn svqadd_u32(op1: svuint32_t, op2: svuint32_t) -> svuint32_t {
32101 unsafe extern "unadjusted" {
32102 #[cfg_attr(
32103 target_arch = "aarch64",
32104 link_name = "llvm.aarch64.sve.uqadd.x.nxv4i32"
32105 )]
32106 fn _svqadd_u32(op1: svint32_t, op2: svint32_t) -> svint32_t;
32107 }
32108 unsafe { _svqadd_u32(op1.as_signed(), op2.as_signed()).as_unsigned() }
32109}
32110#[doc = "Saturating add"]
32111#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svqadd[_n_u32])"]
32112#[inline]
32113#[target_feature(enable = "sve")]
32114#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
32115#[cfg_attr(test, assert_instr(uqadd))]
32116pub fn svqadd_n_u32(op1: svuint32_t, op2: u32) -> svuint32_t {
32117 svqadd_u32(op1, svdup_n_u32(op2))
32118}
32119#[doc = "Saturating add"]
32120#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svqadd[_u64])"]
32121#[inline]
32122#[target_feature(enable = "sve")]
32123#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
32124#[cfg_attr(test, assert_instr(uqadd))]
32125pub fn svqadd_u64(op1: svuint64_t, op2: svuint64_t) -> svuint64_t {
32126 unsafe extern "unadjusted" {
32127 #[cfg_attr(
32128 target_arch = "aarch64",
32129 link_name = "llvm.aarch64.sve.uqadd.x.nxv2i64"
32130 )]
32131 fn _svqadd_u64(op1: svint64_t, op2: svint64_t) -> svint64_t;
32132 }
32133 unsafe { _svqadd_u64(op1.as_signed(), op2.as_signed()).as_unsigned() }
32134}
32135#[doc = "Saturating add"]
32136#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svqadd[_n_u64])"]
32137#[inline]
32138#[target_feature(enable = "sve")]
32139#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
32140#[cfg_attr(test, assert_instr(uqadd))]
32141pub fn svqadd_n_u64(op1: svuint64_t, op2: u64) -> svuint64_t {
32142 svqadd_u64(op1, svdup_n_u64(op2))
32143}
32144#[doc = "Saturating decrement by number of byte elements"]
32145#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svqdecb[_n_s32])"]
32146#[inline]
32147#[target_feature(enable = "sve")]
32148#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
32149#[cfg_attr(test, assert_instr(sqdecb, IMM_FACTOR = 1))]
32150pub fn svqdecb_n_s32<const IMM_FACTOR: i32>(op: i32) -> i32 {
32151 svqdecb_pat_n_s32::<{ svpattern::SV_ALL }, IMM_FACTOR>(op)
32152}
32153#[doc = "Saturating decrement by number of halfword elements"]
32154#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svqdech[_n_s32])"]
32155#[inline]
32156#[target_feature(enable = "sve")]
32157#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
32158#[cfg_attr(test, assert_instr(sqdech, IMM_FACTOR = 1))]
32159pub fn svqdech_n_s32<const IMM_FACTOR: i32>(op: i32) -> i32 {
32160 svqdech_pat_n_s32::<{ svpattern::SV_ALL }, IMM_FACTOR>(op)
32161}
32162#[doc = "Saturating decrement by number of word elements"]
32163#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svqdecw[_n_s32])"]
32164#[inline]
32165#[target_feature(enable = "sve")]
32166#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
32167#[cfg_attr(test, assert_instr(sqdecw, IMM_FACTOR = 1))]
32168pub fn svqdecw_n_s32<const IMM_FACTOR: i32>(op: i32) -> i32 {
32169 svqdecw_pat_n_s32::<{ svpattern::SV_ALL }, IMM_FACTOR>(op)
32170}
32171#[doc = "Saturating decrement by number of doubleword elements"]
32172#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svqdecd[_n_s32])"]
32173#[inline]
32174#[target_feature(enable = "sve")]
32175#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
32176#[cfg_attr(test, assert_instr(sqdecd, IMM_FACTOR = 1))]
32177pub fn svqdecd_n_s32<const IMM_FACTOR: i32>(op: i32) -> i32 {
32178 svqdecd_pat_n_s32::<{ svpattern::SV_ALL }, IMM_FACTOR>(op)
32179}
32180#[doc = "Saturating decrement by number of byte elements"]
32181#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svqdecb[_n_s64])"]
32182#[inline]
32183#[target_feature(enable = "sve")]
32184#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
32185#[cfg_attr(test, assert_instr(sqdecb, IMM_FACTOR = 1))]
32186pub fn svqdecb_n_s64<const IMM_FACTOR: i32>(op: i64) -> i64 {
32187 svqdecb_pat_n_s64::<{ svpattern::SV_ALL }, IMM_FACTOR>(op)
32188}
32189#[doc = "Saturating decrement by number of halfword elements"]
32190#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svqdech[_n_s64])"]
32191#[inline]
32192#[target_feature(enable = "sve")]
32193#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
32194#[cfg_attr(test, assert_instr(sqdech, IMM_FACTOR = 1))]
32195pub fn svqdech_n_s64<const IMM_FACTOR: i32>(op: i64) -> i64 {
32196 svqdech_pat_n_s64::<{ svpattern::SV_ALL }, IMM_FACTOR>(op)
32197}
32198#[doc = "Saturating decrement by number of word elements"]
32199#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svqdecw[_n_s64])"]
32200#[inline]
32201#[target_feature(enable = "sve")]
32202#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
32203#[cfg_attr(test, assert_instr(sqdecw, IMM_FACTOR = 1))]
32204pub fn svqdecw_n_s64<const IMM_FACTOR: i32>(op: i64) -> i64 {
32205 svqdecw_pat_n_s64::<{ svpattern::SV_ALL }, IMM_FACTOR>(op)
32206}
32207#[doc = "Saturating decrement by number of doubleword elements"]
32208#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svqdecd[_n_s64])"]
32209#[inline]
32210#[target_feature(enable = "sve")]
32211#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
32212#[cfg_attr(test, assert_instr(sqdecd, IMM_FACTOR = 1))]
32213pub fn svqdecd_n_s64<const IMM_FACTOR: i32>(op: i64) -> i64 {
32214 svqdecd_pat_n_s64::<{ svpattern::SV_ALL }, IMM_FACTOR>(op)
32215}
32216#[doc = "Saturating decrement by number of byte elements"]
32217#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svqdecb[_n_u32])"]
32218#[inline]
32219#[target_feature(enable = "sve")]
32220#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
32221#[cfg_attr(test, assert_instr(uqdecb, IMM_FACTOR = 1))]
32222pub fn svqdecb_n_u32<const IMM_FACTOR: i32>(op: u32) -> u32 {
32223 svqdecb_pat_n_u32::<{ svpattern::SV_ALL }, IMM_FACTOR>(op)
32224}
32225#[doc = "Saturating decrement by number of halfword elements"]
32226#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svqdech[_n_u32])"]
32227#[inline]
32228#[target_feature(enable = "sve")]
32229#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
32230#[cfg_attr(test, assert_instr(uqdech, IMM_FACTOR = 1))]
32231pub fn svqdech_n_u32<const IMM_FACTOR: i32>(op: u32) -> u32 {
32232 svqdech_pat_n_u32::<{ svpattern::SV_ALL }, IMM_FACTOR>(op)
32233}
32234#[doc = "Saturating decrement by number of word elements"]
32235#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svqdecw[_n_u32])"]
32236#[inline]
32237#[target_feature(enable = "sve")]
32238#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
32239#[cfg_attr(test, assert_instr(uqdecw, IMM_FACTOR = 1))]
32240pub fn svqdecw_n_u32<const IMM_FACTOR: i32>(op: u32) -> u32 {
32241 svqdecw_pat_n_u32::<{ svpattern::SV_ALL }, IMM_FACTOR>(op)
32242}
32243#[doc = "Saturating decrement by number of doubleword elements"]
32244#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svqdecd[_n_u32])"]
32245#[inline]
32246#[target_feature(enable = "sve")]
32247#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
32248#[cfg_attr(test, assert_instr(uqdecd, IMM_FACTOR = 1))]
32249pub fn svqdecd_n_u32<const IMM_FACTOR: i32>(op: u32) -> u32 {
32250 svqdecd_pat_n_u32::<{ svpattern::SV_ALL }, IMM_FACTOR>(op)
32251}
32252#[doc = "Saturating decrement by number of byte elements"]
32253#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svqdecb[_n_u64])"]
32254#[inline]
32255#[target_feature(enable = "sve")]
32256#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
32257#[cfg_attr(test, assert_instr(uqdecb, IMM_FACTOR = 1))]
32258pub fn svqdecb_n_u64<const IMM_FACTOR: i32>(op: u64) -> u64 {
32259 svqdecb_pat_n_u64::<{ svpattern::SV_ALL }, IMM_FACTOR>(op)
32260}
32261#[doc = "Saturating decrement by number of halfword elements"]
32262#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svqdech[_n_u64])"]
32263#[inline]
32264#[target_feature(enable = "sve")]
32265#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
32266#[cfg_attr(test, assert_instr(uqdech, IMM_FACTOR = 1))]
32267pub fn svqdech_n_u64<const IMM_FACTOR: i32>(op: u64) -> u64 {
32268 svqdech_pat_n_u64::<{ svpattern::SV_ALL }, IMM_FACTOR>(op)
32269}
32270#[doc = "Saturating decrement by number of word elements"]
32271#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svqdecw[_n_u64])"]
32272#[inline]
32273#[target_feature(enable = "sve")]
32274#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
32275#[cfg_attr(test, assert_instr(uqdecw, IMM_FACTOR = 1))]
32276pub fn svqdecw_n_u64<const IMM_FACTOR: i32>(op: u64) -> u64 {
32277 svqdecw_pat_n_u64::<{ svpattern::SV_ALL }, IMM_FACTOR>(op)
32278}
32279#[doc = "Saturating decrement by number of doubleword elements"]
32280#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svqdecd[_n_u64])"]
32281#[inline]
32282#[target_feature(enable = "sve")]
32283#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
32284#[cfg_attr(test, assert_instr(uqdecd, IMM_FACTOR = 1))]
32285pub fn svqdecd_n_u64<const IMM_FACTOR: i32>(op: u64) -> u64 {
32286 svqdecd_pat_n_u64::<{ svpattern::SV_ALL }, IMM_FACTOR>(op)
32287}
32288#[doc = "Saturating decrement by number of byte elements"]
32289#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svqdecb_pat[_n_s32])"]
32290#[inline]
32291#[target_feature(enable = "sve")]
32292#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
32293# [cfg_attr (test , assert_instr (sqdecb , PATTERN = { svpattern :: SV_ALL } , IMM_FACTOR = 1))]
32294pub fn svqdecb_pat_n_s32<const PATTERN: svpattern, const IMM_FACTOR: i32>(op: i32) -> i32 {
32295 static_assert_range!(IMM_FACTOR, 1..=16);
32296 unsafe extern "unadjusted" {
32297 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.sqdecb.n32")]
32298 fn _svqdecb_pat_n_s32(op: i32, pattern: svpattern, imm_factor: i32) -> i32;
32299 }
32300 unsafe { _svqdecb_pat_n_s32(op, PATTERN, IMM_FACTOR) }
32301}
32302#[doc = "Saturating decrement by number of halfword elements"]
32303#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svqdech_pat[_n_s32])"]
32304#[inline]
32305#[target_feature(enable = "sve")]
32306#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
32307# [cfg_attr (test , assert_instr (sqdech , PATTERN = { svpattern :: SV_ALL } , IMM_FACTOR = 1))]
32308pub fn svqdech_pat_n_s32<const PATTERN: svpattern, const IMM_FACTOR: i32>(op: i32) -> i32 {
32309 static_assert_range!(IMM_FACTOR, 1..=16);
32310 unsafe extern "unadjusted" {
32311 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.sqdech.n32")]
32312 fn _svqdech_pat_n_s32(op: i32, pattern: svpattern, imm_factor: i32) -> i32;
32313 }
32314 unsafe { _svqdech_pat_n_s32(op, PATTERN, IMM_FACTOR) }
32315}
32316#[doc = "Saturating decrement by number of word elements"]
32317#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svqdecw_pat[_n_s32])"]
32318#[inline]
32319#[target_feature(enable = "sve")]
32320#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
32321# [cfg_attr (test , assert_instr (sqdecw , PATTERN = { svpattern :: SV_ALL } , IMM_FACTOR = 1))]
32322pub fn svqdecw_pat_n_s32<const PATTERN: svpattern, const IMM_FACTOR: i32>(op: i32) -> i32 {
32323 static_assert_range!(IMM_FACTOR, 1..=16);
32324 unsafe extern "unadjusted" {
32325 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.sqdecw.n32")]
32326 fn _svqdecw_pat_n_s32(op: i32, pattern: svpattern, imm_factor: i32) -> i32;
32327 }
32328 unsafe { _svqdecw_pat_n_s32(op, PATTERN, IMM_FACTOR) }
32329}
32330#[doc = "Saturating decrement by number of doubleword elements"]
32331#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svqdecd_pat[_n_s32])"]
32332#[inline]
32333#[target_feature(enable = "sve")]
32334#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
32335# [cfg_attr (test , assert_instr (sqdecd , PATTERN = { svpattern :: SV_ALL } , IMM_FACTOR = 1))]
32336pub fn svqdecd_pat_n_s32<const PATTERN: svpattern, const IMM_FACTOR: i32>(op: i32) -> i32 {
32337 static_assert_range!(IMM_FACTOR, 1..=16);
32338 unsafe extern "unadjusted" {
32339 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.sqdecd.n32")]
32340 fn _svqdecd_pat_n_s32(op: i32, pattern: svpattern, imm_factor: i32) -> i32;
32341 }
32342 unsafe { _svqdecd_pat_n_s32(op, PATTERN, IMM_FACTOR) }
32343}
32344#[doc = "Saturating decrement by number of byte elements"]
32345#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svqdecb_pat[_n_s64])"]
32346#[inline]
32347#[target_feature(enable = "sve")]
32348#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
32349# [cfg_attr (test , assert_instr (sqdecb , PATTERN = { svpattern :: SV_ALL } , IMM_FACTOR = 1))]
32350pub fn svqdecb_pat_n_s64<const PATTERN: svpattern, const IMM_FACTOR: i32>(op: i64) -> i64 {
32351 static_assert_range!(IMM_FACTOR, 1..=16);
32352 unsafe extern "unadjusted" {
32353 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.sqdecb.n64")]
32354 fn _svqdecb_pat_n_s64(op: i64, pattern: svpattern, imm_factor: i32) -> i64;
32355 }
32356 unsafe { _svqdecb_pat_n_s64(op, PATTERN, IMM_FACTOR) }
32357}
32358#[doc = "Saturating decrement by number of halfword elements"]
32359#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svqdech_pat[_n_s64])"]
32360#[inline]
32361#[target_feature(enable = "sve")]
32362#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
32363# [cfg_attr (test , assert_instr (sqdech , PATTERN = { svpattern :: SV_ALL } , IMM_FACTOR = 1))]
32364pub fn svqdech_pat_n_s64<const PATTERN: svpattern, const IMM_FACTOR: i32>(op: i64) -> i64 {
32365 static_assert_range!(IMM_FACTOR, 1..=16);
32366 unsafe extern "unadjusted" {
32367 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.sqdech.n64")]
32368 fn _svqdech_pat_n_s64(op: i64, pattern: svpattern, imm_factor: i32) -> i64;
32369 }
32370 unsafe { _svqdech_pat_n_s64(op, PATTERN, IMM_FACTOR) }
32371}
32372#[doc = "Saturating decrement by number of word elements"]
32373#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svqdecw_pat[_n_s64])"]
32374#[inline]
32375#[target_feature(enable = "sve")]
32376#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
32377# [cfg_attr (test , assert_instr (sqdecw , PATTERN = { svpattern :: SV_ALL } , IMM_FACTOR = 1))]
32378pub fn svqdecw_pat_n_s64<const PATTERN: svpattern, const IMM_FACTOR: i32>(op: i64) -> i64 {
32379 static_assert_range!(IMM_FACTOR, 1..=16);
32380 unsafe extern "unadjusted" {
32381 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.sqdecw.n64")]
32382 fn _svqdecw_pat_n_s64(op: i64, pattern: svpattern, imm_factor: i32) -> i64;
32383 }
32384 unsafe { _svqdecw_pat_n_s64(op, PATTERN, IMM_FACTOR) }
32385}
32386#[doc = "Saturating decrement by number of doubleword elements"]
32387#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svqdecd_pat[_n_s64])"]
32388#[inline]
32389#[target_feature(enable = "sve")]
32390#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
32391# [cfg_attr (test , assert_instr (sqdecd , PATTERN = { svpattern :: SV_ALL } , IMM_FACTOR = 1))]
32392pub fn svqdecd_pat_n_s64<const PATTERN: svpattern, const IMM_FACTOR: i32>(op: i64) -> i64 {
32393 static_assert_range!(IMM_FACTOR, 1..=16);
32394 unsafe extern "unadjusted" {
32395 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.sqdecd.n64")]
32396 fn _svqdecd_pat_n_s64(op: i64, pattern: svpattern, imm_factor: i32) -> i64;
32397 }
32398 unsafe { _svqdecd_pat_n_s64(op, PATTERN, IMM_FACTOR) }
32399}
32400#[doc = "Saturating decrement by number of byte elements"]
32401#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svqdecb_pat[_n_u32])"]
32402#[inline]
32403#[target_feature(enable = "sve")]
32404#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
32405# [cfg_attr (test , assert_instr (uqdecb , PATTERN = { svpattern :: SV_ALL } , IMM_FACTOR = 1))]
32406pub fn svqdecb_pat_n_u32<const PATTERN: svpattern, const IMM_FACTOR: i32>(op: u32) -> u32 {
32407 static_assert_range!(IMM_FACTOR, 1..=16);
32408 unsafe extern "unadjusted" {
32409 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.uqdecb.n32")]
32410 fn _svqdecb_pat_n_u32(op: i32, pattern: svpattern, imm_factor: i32) -> i32;
32411 }
32412 unsafe { _svqdecb_pat_n_u32(op.as_signed(), PATTERN, IMM_FACTOR).as_unsigned() }
32413}
32414#[doc = "Saturating decrement by number of halfword elements"]
32415#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svqdech_pat[_n_u32])"]
32416#[inline]
32417#[target_feature(enable = "sve")]
32418#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
32419# [cfg_attr (test , assert_instr (uqdech , PATTERN = { svpattern :: SV_ALL } , IMM_FACTOR = 1))]
32420pub fn svqdech_pat_n_u32<const PATTERN: svpattern, const IMM_FACTOR: i32>(op: u32) -> u32 {
32421 static_assert_range!(IMM_FACTOR, 1..=16);
32422 unsafe extern "unadjusted" {
32423 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.uqdech.n32")]
32424 fn _svqdech_pat_n_u32(op: i32, pattern: svpattern, imm_factor: i32) -> i32;
32425 }
32426 unsafe { _svqdech_pat_n_u32(op.as_signed(), PATTERN, IMM_FACTOR).as_unsigned() }
32427}
32428#[doc = "Saturating decrement by number of word elements"]
32429#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svqdecw_pat[_n_u32])"]
32430#[inline]
32431#[target_feature(enable = "sve")]
32432#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
32433# [cfg_attr (test , assert_instr (uqdecw , PATTERN = { svpattern :: SV_ALL } , IMM_FACTOR = 1))]
32434pub fn svqdecw_pat_n_u32<const PATTERN: svpattern, const IMM_FACTOR: i32>(op: u32) -> u32 {
32435 static_assert_range!(IMM_FACTOR, 1..=16);
32436 unsafe extern "unadjusted" {
32437 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.uqdecw.n32")]
32438 fn _svqdecw_pat_n_u32(op: i32, pattern: svpattern, imm_factor: i32) -> i32;
32439 }
32440 unsafe { _svqdecw_pat_n_u32(op.as_signed(), PATTERN, IMM_FACTOR).as_unsigned() }
32441}
32442#[doc = "Saturating decrement by number of doubleword elements"]
32443#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svqdecd_pat[_n_u32])"]
32444#[inline]
32445#[target_feature(enable = "sve")]
32446#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
32447# [cfg_attr (test , assert_instr (uqdecd , PATTERN = { svpattern :: SV_ALL } , IMM_FACTOR = 1))]
32448pub fn svqdecd_pat_n_u32<const PATTERN: svpattern, const IMM_FACTOR: i32>(op: u32) -> u32 {
32449 static_assert_range!(IMM_FACTOR, 1..=16);
32450 unsafe extern "unadjusted" {
32451 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.uqdecd.n32")]
32452 fn _svqdecd_pat_n_u32(op: i32, pattern: svpattern, imm_factor: i32) -> i32;
32453 }
32454 unsafe { _svqdecd_pat_n_u32(op.as_signed(), PATTERN, IMM_FACTOR).as_unsigned() }
32455}
32456#[doc = "Saturating decrement by number of byte elements"]
32457#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svqdecb_pat[_n_u64])"]
32458#[inline]
32459#[target_feature(enable = "sve")]
32460#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
32461# [cfg_attr (test , assert_instr (uqdecb , PATTERN = { svpattern :: SV_ALL } , IMM_FACTOR = 1))]
32462pub fn svqdecb_pat_n_u64<const PATTERN: svpattern, const IMM_FACTOR: i32>(op: u64) -> u64 {
32463 static_assert_range!(IMM_FACTOR, 1..=16);
32464 unsafe extern "unadjusted" {
32465 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.uqdecb.n64")]
32466 fn _svqdecb_pat_n_u64(op: i64, pattern: svpattern, imm_factor: i32) -> i64;
32467 }
32468 unsafe { _svqdecb_pat_n_u64(op.as_signed(), PATTERN, IMM_FACTOR).as_unsigned() }
32469}
32470#[doc = "Saturating decrement by number of halfword elements"]
32471#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svqdech_pat[_n_u64])"]
32472#[inline]
32473#[target_feature(enable = "sve")]
32474#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
32475# [cfg_attr (test , assert_instr (uqdech , PATTERN = { svpattern :: SV_ALL } , IMM_FACTOR = 1))]
32476pub fn svqdech_pat_n_u64<const PATTERN: svpattern, const IMM_FACTOR: i32>(op: u64) -> u64 {
32477 static_assert_range!(IMM_FACTOR, 1..=16);
32478 unsafe extern "unadjusted" {
32479 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.uqdech.n64")]
32480 fn _svqdech_pat_n_u64(op: i64, pattern: svpattern, imm_factor: i32) -> i64;
32481 }
32482 unsafe { _svqdech_pat_n_u64(op.as_signed(), PATTERN, IMM_FACTOR).as_unsigned() }
32483}
32484#[doc = "Saturating decrement by number of word elements"]
32485#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svqdecw_pat[_n_u64])"]
32486#[inline]
32487#[target_feature(enable = "sve")]
32488#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
32489# [cfg_attr (test , assert_instr (uqdecw , PATTERN = { svpattern :: SV_ALL } , IMM_FACTOR = 1))]
32490pub fn svqdecw_pat_n_u64<const PATTERN: svpattern, const IMM_FACTOR: i32>(op: u64) -> u64 {
32491 static_assert_range!(IMM_FACTOR, 1..=16);
32492 unsafe extern "unadjusted" {
32493 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.uqdecw.n64")]
32494 fn _svqdecw_pat_n_u64(op: i64, pattern: svpattern, imm_factor: i32) -> i64;
32495 }
32496 unsafe { _svqdecw_pat_n_u64(op.as_signed(), PATTERN, IMM_FACTOR).as_unsigned() }
32497}
32498#[doc = "Saturating decrement by number of doubleword elements"]
32499#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svqdecd_pat[_n_u64])"]
32500#[inline]
32501#[target_feature(enable = "sve")]
32502#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
32503# [cfg_attr (test , assert_instr (uqdecd , PATTERN = { svpattern :: SV_ALL } , IMM_FACTOR = 1))]
32504pub fn svqdecd_pat_n_u64<const PATTERN: svpattern, const IMM_FACTOR: i32>(op: u64) -> u64 {
32505 static_assert_range!(IMM_FACTOR, 1..=16);
32506 unsafe extern "unadjusted" {
32507 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.uqdecd.n64")]
32508 fn _svqdecd_pat_n_u64(op: i64, pattern: svpattern, imm_factor: i32) -> i64;
32509 }
32510 unsafe { _svqdecd_pat_n_u64(op.as_signed(), PATTERN, IMM_FACTOR).as_unsigned() }
32511}
32512#[doc = "Saturating decrement by number of halfword elements"]
32513#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svqdech_pat[_s16])"]
32514#[inline]
32515#[target_feature(enable = "sve")]
32516#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
32517# [cfg_attr (test , assert_instr (sqdech , PATTERN = { svpattern :: SV_ALL } , IMM_FACTOR = 1))]
32518pub fn svqdech_pat_s16<const PATTERN: svpattern, const IMM_FACTOR: i32>(
32519 op: svint16_t,
32520) -> svint16_t {
32521 static_assert_range!(IMM_FACTOR, 1..=16);
32522 unsafe extern "unadjusted" {
32523 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.sqdech.nxv8i16")]
32524 fn _svqdech_pat_s16(op: svint16_t, pattern: svpattern, imm_factor: i32) -> svint16_t;
32525 }
32526 unsafe { _svqdech_pat_s16(op, PATTERN, IMM_FACTOR) }
32527}
32528#[doc = "Saturating decrement by number of word elements"]
32529#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svqdecw_pat[_s32])"]
32530#[inline]
32531#[target_feature(enable = "sve")]
32532#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
32533# [cfg_attr (test , assert_instr (sqdecw , PATTERN = { svpattern :: SV_ALL } , IMM_FACTOR = 1))]
32534pub fn svqdecw_pat_s32<const PATTERN: svpattern, const IMM_FACTOR: i32>(
32535 op: svint32_t,
32536) -> svint32_t {
32537 static_assert_range!(IMM_FACTOR, 1..=16);
32538 unsafe extern "unadjusted" {
32539 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.sqdecw.nxv4i32")]
32540 fn _svqdecw_pat_s32(op: svint32_t, pattern: svpattern, imm_factor: i32) -> svint32_t;
32541 }
32542 unsafe { _svqdecw_pat_s32(op, PATTERN, IMM_FACTOR) }
32543}
32544#[doc = "Saturating decrement by number of doubleword elements"]
32545#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svqdecd_pat[_s64])"]
32546#[inline]
32547#[target_feature(enable = "sve")]
32548#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
32549# [cfg_attr (test , assert_instr (sqdecd , PATTERN = { svpattern :: SV_ALL } , IMM_FACTOR = 1))]
32550pub fn svqdecd_pat_s64<const PATTERN: svpattern, const IMM_FACTOR: i32>(
32551 op: svint64_t,
32552) -> svint64_t {
32553 static_assert_range!(IMM_FACTOR, 1..=16);
32554 unsafe extern "unadjusted" {
32555 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.sqdecd.nxv2i64")]
32556 fn _svqdecd_pat_s64(op: svint64_t, pattern: svpattern, imm_factor: i32) -> svint64_t;
32557 }
32558 unsafe { _svqdecd_pat_s64(op, PATTERN, IMM_FACTOR) }
32559}
32560#[doc = "Saturating decrement by number of halfword elements"]
32561#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svqdech_pat[_u16])"]
32562#[inline]
32563#[target_feature(enable = "sve")]
32564#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
32565# [cfg_attr (test , assert_instr (uqdech , PATTERN = { svpattern :: SV_ALL } , IMM_FACTOR = 1))]
32566pub fn svqdech_pat_u16<const PATTERN: svpattern, const IMM_FACTOR: i32>(
32567 op: svuint16_t,
32568) -> svuint16_t {
32569 static_assert_range!(IMM_FACTOR, 1..=16);
32570 unsafe extern "unadjusted" {
32571 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.uqdech.nxv8i16")]
32572 fn _svqdech_pat_u16(op: svint16_t, pattern: svpattern, imm_factor: i32) -> svint16_t;
32573 }
32574 unsafe { _svqdech_pat_u16(op.as_signed(), PATTERN, IMM_FACTOR).as_unsigned() }
32575}
32576#[doc = "Saturating decrement by number of word elements"]
32577#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svqdecw_pat[_u32])"]
32578#[inline]
32579#[target_feature(enable = "sve")]
32580#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
32581# [cfg_attr (test , assert_instr (uqdecw , PATTERN = { svpattern :: SV_ALL } , IMM_FACTOR = 1))]
32582pub fn svqdecw_pat_u32<const PATTERN: svpattern, const IMM_FACTOR: i32>(
32583 op: svuint32_t,
32584) -> svuint32_t {
32585 static_assert_range!(IMM_FACTOR, 1..=16);
32586 unsafe extern "unadjusted" {
32587 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.uqdecw.nxv4i32")]
32588 fn _svqdecw_pat_u32(op: svint32_t, pattern: svpattern, imm_factor: i32) -> svint32_t;
32589 }
32590 unsafe { _svqdecw_pat_u32(op.as_signed(), PATTERN, IMM_FACTOR).as_unsigned() }
32591}
32592#[doc = "Saturating decrement by number of doubleword elements"]
32593#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svqdecd_pat[_u64])"]
32594#[inline]
32595#[target_feature(enable = "sve")]
32596#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
32597# [cfg_attr (test , assert_instr (uqdecd , PATTERN = { svpattern :: SV_ALL } , IMM_FACTOR = 1))]
32598pub fn svqdecd_pat_u64<const PATTERN: svpattern, const IMM_FACTOR: i32>(
32599 op: svuint64_t,
32600) -> svuint64_t {
32601 static_assert_range!(IMM_FACTOR, 1..=16);
32602 unsafe extern "unadjusted" {
32603 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.uqdecd.nxv2i64")]
32604 fn _svqdecd_pat_u64(op: svint64_t, pattern: svpattern, imm_factor: i32) -> svint64_t;
32605 }
32606 unsafe { _svqdecd_pat_u64(op.as_signed(), PATTERN, IMM_FACTOR).as_unsigned() }
32607}
32608#[doc = "Saturating decrement by number of halfword elements"]
32609#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svqdech[_s16])"]
32610#[inline]
32611#[target_feature(enable = "sve")]
32612#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
32613#[cfg_attr(test, assert_instr(sqdech, IMM_FACTOR = 1))]
32614pub fn svqdech_s16<const IMM_FACTOR: i32>(op: svint16_t) -> svint16_t {
32615 svqdech_pat_s16::<{ svpattern::SV_ALL }, IMM_FACTOR>(op)
32616}
32617#[doc = "Saturating decrement by number of word elements"]
32618#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svqdecw[_s32])"]
32619#[inline]
32620#[target_feature(enable = "sve")]
32621#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
32622#[cfg_attr(test, assert_instr(sqdecw, IMM_FACTOR = 1))]
32623pub fn svqdecw_s32<const IMM_FACTOR: i32>(op: svint32_t) -> svint32_t {
32624 svqdecw_pat_s32::<{ svpattern::SV_ALL }, IMM_FACTOR>(op)
32625}
32626#[doc = "Saturating decrement by number of doubleword elements"]
32627#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svqdecd[_s64])"]
32628#[inline]
32629#[target_feature(enable = "sve")]
32630#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
32631#[cfg_attr(test, assert_instr(sqdecd, IMM_FACTOR = 1))]
32632pub fn svqdecd_s64<const IMM_FACTOR: i32>(op: svint64_t) -> svint64_t {
32633 svqdecd_pat_s64::<{ svpattern::SV_ALL }, IMM_FACTOR>(op)
32634}
32635#[doc = "Saturating decrement by number of halfword elements"]
32636#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svqdech[_u16])"]
32637#[inline]
32638#[target_feature(enable = "sve")]
32639#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
32640#[cfg_attr(test, assert_instr(uqdech, IMM_FACTOR = 1))]
32641pub fn svqdech_u16<const IMM_FACTOR: i32>(op: svuint16_t) -> svuint16_t {
32642 svqdech_pat_u16::<{ svpattern::SV_ALL }, IMM_FACTOR>(op)
32643}
32644#[doc = "Saturating decrement by number of word elements"]
32645#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svqdecw[_u32])"]
32646#[inline]
32647#[target_feature(enable = "sve")]
32648#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
32649#[cfg_attr(test, assert_instr(uqdecw, IMM_FACTOR = 1))]
32650pub fn svqdecw_u32<const IMM_FACTOR: i32>(op: svuint32_t) -> svuint32_t {
32651 svqdecw_pat_u32::<{ svpattern::SV_ALL }, IMM_FACTOR>(op)
32652}
32653#[doc = "Saturating decrement by number of doubleword elements"]
32654#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svqdecd[_u64])"]
32655#[inline]
32656#[target_feature(enable = "sve")]
32657#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
32658#[cfg_attr(test, assert_instr(uqdecd, IMM_FACTOR = 1))]
32659pub fn svqdecd_u64<const IMM_FACTOR: i32>(op: svuint64_t) -> svuint64_t {
32660 svqdecd_pat_u64::<{ svpattern::SV_ALL }, IMM_FACTOR>(op)
32661}
32662#[doc = "Saturating decrement by active element count"]
32663#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svqdecp[_n_s32]_b8)"]
32664#[inline]
32665#[target_feature(enable = "sve")]
32666#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
32667#[cfg_attr(test, assert_instr(sqdecp))]
32668pub fn svqdecp_n_s32_b8(op: i32, pg: svbool_t) -> i32 {
32669 unsafe extern "unadjusted" {
32670 #[cfg_attr(
32671 target_arch = "aarch64",
32672 link_name = "llvm.aarch64.sve.sqdecp.n32.nxv16i1"
32673 )]
32674 fn _svqdecp_n_s32_b8(op: i32, pg: svbool_t) -> i32;
32675 }
32676 unsafe { _svqdecp_n_s32_b8(op, pg) }
32677}
32678#[doc = "Saturating decrement by active element count"]
32679#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svqdecp[_n_s32]_b16)"]
32680#[inline]
32681#[target_feature(enable = "sve")]
32682#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
32683#[cfg_attr(test, assert_instr(sqdecp))]
32684pub fn svqdecp_n_s32_b16(op: i32, pg: svbool_t) -> i32 {
32685 unsafe extern "unadjusted" {
32686 #[cfg_attr(
32687 target_arch = "aarch64",
32688 link_name = "llvm.aarch64.sve.sqdecp.n32.nxv8i1"
32689 )]
32690 fn _svqdecp_n_s32_b16(op: i32, pg: svbool8_t) -> i32;
32691 }
32692 unsafe { _svqdecp_n_s32_b16(op, pg.sve_into()) }
32693}
32694#[doc = "Saturating decrement by active element count"]
32695#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svqdecp[_n_s32]_b32)"]
32696#[inline]
32697#[target_feature(enable = "sve")]
32698#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
32699#[cfg_attr(test, assert_instr(sqdecp))]
32700pub fn svqdecp_n_s32_b32(op: i32, pg: svbool_t) -> i32 {
32701 unsafe extern "unadjusted" {
32702 #[cfg_attr(
32703 target_arch = "aarch64",
32704 link_name = "llvm.aarch64.sve.sqdecp.n32.nxv4i1"
32705 )]
32706 fn _svqdecp_n_s32_b32(op: i32, pg: svbool4_t) -> i32;
32707 }
32708 unsafe { _svqdecp_n_s32_b32(op, pg.sve_into()) }
32709}
32710#[doc = "Saturating decrement by active element count"]
32711#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svqdecp[_n_s32]_b64)"]
32712#[inline]
32713#[target_feature(enable = "sve")]
32714#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
32715#[cfg_attr(test, assert_instr(sqdecp))]
32716pub fn svqdecp_n_s32_b64(op: i32, pg: svbool_t) -> i32 {
32717 unsafe extern "unadjusted" {
32718 #[cfg_attr(
32719 target_arch = "aarch64",
32720 link_name = "llvm.aarch64.sve.sqdecp.n32.nxv2i1"
32721 )]
32722 fn _svqdecp_n_s32_b64(op: i32, pg: svbool2_t) -> i32;
32723 }
32724 unsafe { _svqdecp_n_s32_b64(op, pg.sve_into()) }
32725}
32726#[doc = "Saturating decrement by active element count"]
32727#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svqdecp[_n_s64]_b8)"]
32728#[inline]
32729#[target_feature(enable = "sve")]
32730#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
32731#[cfg_attr(test, assert_instr(sqdecp))]
32732pub fn svqdecp_n_s64_b8(op: i64, pg: svbool_t) -> i64 {
32733 unsafe extern "unadjusted" {
32734 #[cfg_attr(
32735 target_arch = "aarch64",
32736 link_name = "llvm.aarch64.sve.sqdecp.n64.nxv16i1"
32737 )]
32738 fn _svqdecp_n_s64_b8(op: i64, pg: svbool_t) -> i64;
32739 }
32740 unsafe { _svqdecp_n_s64_b8(op, pg) }
32741}
32742#[doc = "Saturating decrement by active element count"]
32743#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svqdecp[_n_s64]_b16)"]
32744#[inline]
32745#[target_feature(enable = "sve")]
32746#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
32747#[cfg_attr(test, assert_instr(sqdecp))]
32748pub fn svqdecp_n_s64_b16(op: i64, pg: svbool_t) -> i64 {
32749 unsafe extern "unadjusted" {
32750 #[cfg_attr(
32751 target_arch = "aarch64",
32752 link_name = "llvm.aarch64.sve.sqdecp.n64.nxv8i1"
32753 )]
32754 fn _svqdecp_n_s64_b16(op: i64, pg: svbool8_t) -> i64;
32755 }
32756 unsafe { _svqdecp_n_s64_b16(op, pg.sve_into()) }
32757}
32758#[doc = "Saturating decrement by active element count"]
32759#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svqdecp[_n_s64]_b32)"]
32760#[inline]
32761#[target_feature(enable = "sve")]
32762#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
32763#[cfg_attr(test, assert_instr(sqdecp))]
32764pub fn svqdecp_n_s64_b32(op: i64, pg: svbool_t) -> i64 {
32765 unsafe extern "unadjusted" {
32766 #[cfg_attr(
32767 target_arch = "aarch64",
32768 link_name = "llvm.aarch64.sve.sqdecp.n64.nxv4i1"
32769 )]
32770 fn _svqdecp_n_s64_b32(op: i64, pg: svbool4_t) -> i64;
32771 }
32772 unsafe { _svqdecp_n_s64_b32(op, pg.sve_into()) }
32773}
32774#[doc = "Saturating decrement by active element count"]
32775#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svqdecp[_n_s64]_b64)"]
32776#[inline]
32777#[target_feature(enable = "sve")]
32778#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
32779#[cfg_attr(test, assert_instr(sqdecp))]
32780pub fn svqdecp_n_s64_b64(op: i64, pg: svbool_t) -> i64 {
32781 unsafe extern "unadjusted" {
32782 #[cfg_attr(
32783 target_arch = "aarch64",
32784 link_name = "llvm.aarch64.sve.sqdecp.n64.nxv2i1"
32785 )]
32786 fn _svqdecp_n_s64_b64(op: i64, pg: svbool2_t) -> i64;
32787 }
32788 unsafe { _svqdecp_n_s64_b64(op, pg.sve_into()) }
32789}
32790#[doc = "Saturating decrement by active element count"]
32791#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svqdecp[_n_u32]_b8)"]
32792#[inline]
32793#[target_feature(enable = "sve")]
32794#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
32795#[cfg_attr(test, assert_instr(uqdecp))]
32796pub fn svqdecp_n_u32_b8(op: u32, pg: svbool_t) -> u32 {
32797 unsafe extern "unadjusted" {
32798 #[cfg_attr(
32799 target_arch = "aarch64",
32800 link_name = "llvm.aarch64.sve.uqdecp.n32.nxv16i1"
32801 )]
32802 fn _svqdecp_n_u32_b8(op: i32, pg: svbool_t) -> i32;
32803 }
32804 unsafe { _svqdecp_n_u32_b8(op.as_signed(), pg).as_unsigned() }
32805}
32806#[doc = "Saturating decrement by active element count"]
32807#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svqdecp[_n_u32]_b16)"]
32808#[inline]
32809#[target_feature(enable = "sve")]
32810#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
32811#[cfg_attr(test, assert_instr(uqdecp))]
32812pub fn svqdecp_n_u32_b16(op: u32, pg: svbool_t) -> u32 {
32813 unsafe extern "unadjusted" {
32814 #[cfg_attr(
32815 target_arch = "aarch64",
32816 link_name = "llvm.aarch64.sve.uqdecp.n32.nxv8i1"
32817 )]
32818 fn _svqdecp_n_u32_b16(op: i32, pg: svbool8_t) -> i32;
32819 }
32820 unsafe { _svqdecp_n_u32_b16(op.as_signed(), pg.sve_into()).as_unsigned() }
32821}
32822#[doc = "Saturating decrement by active element count"]
32823#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svqdecp[_n_u32]_b32)"]
32824#[inline]
32825#[target_feature(enable = "sve")]
32826#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
32827#[cfg_attr(test, assert_instr(uqdecp))]
32828pub fn svqdecp_n_u32_b32(op: u32, pg: svbool_t) -> u32 {
32829 unsafe extern "unadjusted" {
32830 #[cfg_attr(
32831 target_arch = "aarch64",
32832 link_name = "llvm.aarch64.sve.uqdecp.n32.nxv4i1"
32833 )]
32834 fn _svqdecp_n_u32_b32(op: i32, pg: svbool4_t) -> i32;
32835 }
32836 unsafe { _svqdecp_n_u32_b32(op.as_signed(), pg.sve_into()).as_unsigned() }
32837}
32838#[doc = "Saturating decrement by active element count"]
32839#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svqdecp[_n_u32]_b64)"]
32840#[inline]
32841#[target_feature(enable = "sve")]
32842#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
32843#[cfg_attr(test, assert_instr(uqdecp))]
32844pub fn svqdecp_n_u32_b64(op: u32, pg: svbool_t) -> u32 {
32845 unsafe extern "unadjusted" {
32846 #[cfg_attr(
32847 target_arch = "aarch64",
32848 link_name = "llvm.aarch64.sve.uqdecp.n32.nxv2i1"
32849 )]
32850 fn _svqdecp_n_u32_b64(op: i32, pg: svbool2_t) -> i32;
32851 }
32852 unsafe { _svqdecp_n_u32_b64(op.as_signed(), pg.sve_into()).as_unsigned() }
32853}
32854#[doc = "Saturating decrement by active element count"]
32855#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svqdecp[_n_u64]_b8)"]
32856#[inline]
32857#[target_feature(enable = "sve")]
32858#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
32859#[cfg_attr(test, assert_instr(uqdecp))]
32860pub fn svqdecp_n_u64_b8(op: u64, pg: svbool_t) -> u64 {
32861 unsafe extern "unadjusted" {
32862 #[cfg_attr(
32863 target_arch = "aarch64",
32864 link_name = "llvm.aarch64.sve.uqdecp.n64.nxv16i1"
32865 )]
32866 fn _svqdecp_n_u64_b8(op: i64, pg: svbool_t) -> i64;
32867 }
32868 unsafe { _svqdecp_n_u64_b8(op.as_signed(), pg).as_unsigned() }
32869}
32870#[doc = "Saturating decrement by active element count"]
32871#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svqdecp[_n_u64]_b16)"]
32872#[inline]
32873#[target_feature(enable = "sve")]
32874#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
32875#[cfg_attr(test, assert_instr(uqdecp))]
32876pub fn svqdecp_n_u64_b16(op: u64, pg: svbool_t) -> u64 {
32877 unsafe extern "unadjusted" {
32878 #[cfg_attr(
32879 target_arch = "aarch64",
32880 link_name = "llvm.aarch64.sve.uqdecp.n64.nxv8i1"
32881 )]
32882 fn _svqdecp_n_u64_b16(op: i64, pg: svbool8_t) -> i64;
32883 }
32884 unsafe { _svqdecp_n_u64_b16(op.as_signed(), pg.sve_into()).as_unsigned() }
32885}
32886#[doc = "Saturating decrement by active element count"]
32887#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svqdecp[_n_u64]_b32)"]
32888#[inline]
32889#[target_feature(enable = "sve")]
32890#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
32891#[cfg_attr(test, assert_instr(uqdecp))]
32892pub fn svqdecp_n_u64_b32(op: u64, pg: svbool_t) -> u64 {
32893 unsafe extern "unadjusted" {
32894 #[cfg_attr(
32895 target_arch = "aarch64",
32896 link_name = "llvm.aarch64.sve.uqdecp.n64.nxv4i1"
32897 )]
32898 fn _svqdecp_n_u64_b32(op: i64, pg: svbool4_t) -> i64;
32899 }
32900 unsafe { _svqdecp_n_u64_b32(op.as_signed(), pg.sve_into()).as_unsigned() }
32901}
32902#[doc = "Saturating decrement by active element count"]
32903#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svqdecp[_n_u64]_b64)"]
32904#[inline]
32905#[target_feature(enable = "sve")]
32906#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
32907#[cfg_attr(test, assert_instr(uqdecp))]
32908pub fn svqdecp_n_u64_b64(op: u64, pg: svbool_t) -> u64 {
32909 unsafe extern "unadjusted" {
32910 #[cfg_attr(
32911 target_arch = "aarch64",
32912 link_name = "llvm.aarch64.sve.uqdecp.n64.nxv2i1"
32913 )]
32914 fn _svqdecp_n_u64_b64(op: i64, pg: svbool2_t) -> i64;
32915 }
32916 unsafe { _svqdecp_n_u64_b64(op.as_signed(), pg.sve_into()).as_unsigned() }
32917}
32918#[doc = "Saturating decrement by active element count"]
32919#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svqdecp[_s16])"]
32920#[inline]
32921#[target_feature(enable = "sve")]
32922#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
32923#[cfg_attr(test, assert_instr(sqdecp))]
32924pub fn svqdecp_s16(op: svint16_t, pg: svbool_t) -> svint16_t {
32925 unsafe extern "unadjusted" {
32926 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.sqdecp.nxv8i16")]
32927 fn _svqdecp_s16(op: svint16_t, pg: svbool8_t) -> svint16_t;
32928 }
32929 unsafe { _svqdecp_s16(op, pg.sve_into()) }
32930}
32931#[doc = "Saturating decrement by active element count"]
32932#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svqdecp[_s32])"]
32933#[inline]
32934#[target_feature(enable = "sve")]
32935#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
32936#[cfg_attr(test, assert_instr(sqdecp))]
32937pub fn svqdecp_s32(op: svint32_t, pg: svbool_t) -> svint32_t {
32938 unsafe extern "unadjusted" {
32939 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.sqdecp.nxv4i32")]
32940 fn _svqdecp_s32(op: svint32_t, pg: svbool4_t) -> svint32_t;
32941 }
32942 unsafe { _svqdecp_s32(op, pg.sve_into()) }
32943}
32944#[doc = "Saturating decrement by active element count"]
32945#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svqdecp[_s64])"]
32946#[inline]
32947#[target_feature(enable = "sve")]
32948#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
32949#[cfg_attr(test, assert_instr(sqdecp))]
32950pub fn svqdecp_s64(op: svint64_t, pg: svbool_t) -> svint64_t {
32951 unsafe extern "unadjusted" {
32952 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.sqdecp.nxv2i64")]
32953 fn _svqdecp_s64(op: svint64_t, pg: svbool2_t) -> svint64_t;
32954 }
32955 unsafe { _svqdecp_s64(op, pg.sve_into()) }
32956}
32957#[doc = "Saturating decrement by active element count"]
32958#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svqdecp[_u16])"]
32959#[inline]
32960#[target_feature(enable = "sve")]
32961#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
32962#[cfg_attr(test, assert_instr(uqdecp))]
32963pub fn svqdecp_u16(op: svuint16_t, pg: svbool_t) -> svuint16_t {
32964 unsafe extern "unadjusted" {
32965 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.uqdecp.nxv8i16")]
32966 fn _svqdecp_u16(op: svint16_t, pg: svbool8_t) -> svint16_t;
32967 }
32968 unsafe { _svqdecp_u16(op.as_signed(), pg.sve_into()).as_unsigned() }
32969}
32970#[doc = "Saturating decrement by active element count"]
32971#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svqdecp[_u32])"]
32972#[inline]
32973#[target_feature(enable = "sve")]
32974#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
32975#[cfg_attr(test, assert_instr(uqdecp))]
32976pub fn svqdecp_u32(op: svuint32_t, pg: svbool_t) -> svuint32_t {
32977 unsafe extern "unadjusted" {
32978 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.uqdecp.nxv4i32")]
32979 fn _svqdecp_u32(op: svint32_t, pg: svbool4_t) -> svint32_t;
32980 }
32981 unsafe { _svqdecp_u32(op.as_signed(), pg.sve_into()).as_unsigned() }
32982}
32983#[doc = "Saturating decrement by active element count"]
32984#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svqdecp[_u64])"]
32985#[inline]
32986#[target_feature(enable = "sve")]
32987#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
32988#[cfg_attr(test, assert_instr(uqdecp))]
32989pub fn svqdecp_u64(op: svuint64_t, pg: svbool_t) -> svuint64_t {
32990 unsafe extern "unadjusted" {
32991 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.uqdecp.nxv2i64")]
32992 fn _svqdecp_u64(op: svint64_t, pg: svbool2_t) -> svint64_t;
32993 }
32994 unsafe { _svqdecp_u64(op.as_signed(), pg.sve_into()).as_unsigned() }
32995}
32996#[doc = "Saturating increment by number of byte elements"]
32997#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svqincb[_n_s32])"]
32998#[inline]
32999#[target_feature(enable = "sve")]
33000#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
33001#[cfg_attr(test, assert_instr(sqincb, IMM_FACTOR = 1))]
33002pub fn svqincb_n_s32<const IMM_FACTOR: i32>(op: i32) -> i32 {
33003 svqincb_pat_n_s32::<{ svpattern::SV_ALL }, IMM_FACTOR>(op)
33004}
33005#[doc = "Saturating increment by number of halfword elements"]
33006#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svqinch[_n_s32])"]
33007#[inline]
33008#[target_feature(enable = "sve")]
33009#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
33010#[cfg_attr(test, assert_instr(sqinch, IMM_FACTOR = 1))]
33011pub fn svqinch_n_s32<const IMM_FACTOR: i32>(op: i32) -> i32 {
33012 svqinch_pat_n_s32::<{ svpattern::SV_ALL }, IMM_FACTOR>(op)
33013}
33014#[doc = "Saturating increment by number of word elements"]
33015#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svqincw[_n_s32])"]
33016#[inline]
33017#[target_feature(enable = "sve")]
33018#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
33019#[cfg_attr(test, assert_instr(sqincw, IMM_FACTOR = 1))]
33020pub fn svqincw_n_s32<const IMM_FACTOR: i32>(op: i32) -> i32 {
33021 svqincw_pat_n_s32::<{ svpattern::SV_ALL }, IMM_FACTOR>(op)
33022}
33023#[doc = "Saturating increment by number of doubleword elements"]
33024#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svqincd[_n_s32])"]
33025#[inline]
33026#[target_feature(enable = "sve")]
33027#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
33028#[cfg_attr(test, assert_instr(sqincd, IMM_FACTOR = 1))]
33029pub fn svqincd_n_s32<const IMM_FACTOR: i32>(op: i32) -> i32 {
33030 svqincd_pat_n_s32::<{ svpattern::SV_ALL }, IMM_FACTOR>(op)
33031}
33032#[doc = "Saturating increment by number of byte elements"]
33033#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svqincb[_n_s64])"]
33034#[inline]
33035#[target_feature(enable = "sve")]
33036#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
33037#[cfg_attr(test, assert_instr(sqincb, IMM_FACTOR = 1))]
33038pub fn svqincb_n_s64<const IMM_FACTOR: i32>(op: i64) -> i64 {
33039 svqincb_pat_n_s64::<{ svpattern::SV_ALL }, IMM_FACTOR>(op)
33040}
33041#[doc = "Saturating increment by number of halfword elements"]
33042#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svqinch[_n_s64])"]
33043#[inline]
33044#[target_feature(enable = "sve")]
33045#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
33046#[cfg_attr(test, assert_instr(sqinch, IMM_FACTOR = 1))]
33047pub fn svqinch_n_s64<const IMM_FACTOR: i32>(op: i64) -> i64 {
33048 svqinch_pat_n_s64::<{ svpattern::SV_ALL }, IMM_FACTOR>(op)
33049}
33050#[doc = "Saturating increment by number of word elements"]
33051#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svqincw[_n_s64])"]
33052#[inline]
33053#[target_feature(enable = "sve")]
33054#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
33055#[cfg_attr(test, assert_instr(sqincw, IMM_FACTOR = 1))]
33056pub fn svqincw_n_s64<const IMM_FACTOR: i32>(op: i64) -> i64 {
33057 svqincw_pat_n_s64::<{ svpattern::SV_ALL }, IMM_FACTOR>(op)
33058}
33059#[doc = "Saturating increment by number of doubleword elements"]
33060#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svqincd[_n_s64])"]
33061#[inline]
33062#[target_feature(enable = "sve")]
33063#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
33064#[cfg_attr(test, assert_instr(sqincd, IMM_FACTOR = 1))]
33065pub fn svqincd_n_s64<const IMM_FACTOR: i32>(op: i64) -> i64 {
33066 svqincd_pat_n_s64::<{ svpattern::SV_ALL }, IMM_FACTOR>(op)
33067}
33068#[doc = "Saturating increment by number of byte elements"]
33069#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svqincb[_n_u32])"]
33070#[inline]
33071#[target_feature(enable = "sve")]
33072#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
33073#[cfg_attr(test, assert_instr(uqincb, IMM_FACTOR = 1))]
33074pub fn svqincb_n_u32<const IMM_FACTOR: i32>(op: u32) -> u32 {
33075 svqincb_pat_n_u32::<{ svpattern::SV_ALL }, IMM_FACTOR>(op)
33076}
33077#[doc = "Saturating increment by number of halfword elements"]
33078#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svqinch[_n_u32])"]
33079#[inline]
33080#[target_feature(enable = "sve")]
33081#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
33082#[cfg_attr(test, assert_instr(uqinch, IMM_FACTOR = 1))]
33083pub fn svqinch_n_u32<const IMM_FACTOR: i32>(op: u32) -> u32 {
33084 svqinch_pat_n_u32::<{ svpattern::SV_ALL }, IMM_FACTOR>(op)
33085}
33086#[doc = "Saturating increment by number of word elements"]
33087#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svqincw[_n_u32])"]
33088#[inline]
33089#[target_feature(enable = "sve")]
33090#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
33091#[cfg_attr(test, assert_instr(uqincw, IMM_FACTOR = 1))]
33092pub fn svqincw_n_u32<const IMM_FACTOR: i32>(op: u32) -> u32 {
33093 svqincw_pat_n_u32::<{ svpattern::SV_ALL }, IMM_FACTOR>(op)
33094}
33095#[doc = "Saturating increment by number of doubleword elements"]
33096#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svqincd[_n_u32])"]
33097#[inline]
33098#[target_feature(enable = "sve")]
33099#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
33100#[cfg_attr(test, assert_instr(uqincd, IMM_FACTOR = 1))]
33101pub fn svqincd_n_u32<const IMM_FACTOR: i32>(op: u32) -> u32 {
33102 svqincd_pat_n_u32::<{ svpattern::SV_ALL }, IMM_FACTOR>(op)
33103}
33104#[doc = "Saturating increment by number of byte elements"]
33105#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svqincb[_n_u64])"]
33106#[inline]
33107#[target_feature(enable = "sve")]
33108#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
33109#[cfg_attr(test, assert_instr(uqincb, IMM_FACTOR = 1))]
33110pub fn svqincb_n_u64<const IMM_FACTOR: i32>(op: u64) -> u64 {
33111 svqincb_pat_n_u64::<{ svpattern::SV_ALL }, IMM_FACTOR>(op)
33112}
33113#[doc = "Saturating increment by number of halfword elements"]
33114#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svqinch[_n_u64])"]
33115#[inline]
33116#[target_feature(enable = "sve")]
33117#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
33118#[cfg_attr(test, assert_instr(uqinch, IMM_FACTOR = 1))]
33119pub fn svqinch_n_u64<const IMM_FACTOR: i32>(op: u64) -> u64 {
33120 svqinch_pat_n_u64::<{ svpattern::SV_ALL }, IMM_FACTOR>(op)
33121}
33122#[doc = "Saturating increment by number of word elements"]
33123#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svqincw[_n_u64])"]
33124#[inline]
33125#[target_feature(enable = "sve")]
33126#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
33127#[cfg_attr(test, assert_instr(uqincw, IMM_FACTOR = 1))]
33128pub fn svqincw_n_u64<const IMM_FACTOR: i32>(op: u64) -> u64 {
33129 svqincw_pat_n_u64::<{ svpattern::SV_ALL }, IMM_FACTOR>(op)
33130}
33131#[doc = "Saturating increment by number of doubleword elements"]
33132#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svqincd[_n_u64])"]
33133#[inline]
33134#[target_feature(enable = "sve")]
33135#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
33136#[cfg_attr(test, assert_instr(uqincd, IMM_FACTOR = 1))]
33137pub fn svqincd_n_u64<const IMM_FACTOR: i32>(op: u64) -> u64 {
33138 svqincd_pat_n_u64::<{ svpattern::SV_ALL }, IMM_FACTOR>(op)
33139}
33140#[doc = "Saturating increment by number of byte elements"]
33141#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svqincb_pat[_n_s32])"]
33142#[inline]
33143#[target_feature(enable = "sve")]
33144#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
33145# [cfg_attr (test , assert_instr (sqincb , PATTERN = { svpattern :: SV_ALL } , IMM_FACTOR = 1))]
33146pub fn svqincb_pat_n_s32<const PATTERN: svpattern, const IMM_FACTOR: i32>(op: i32) -> i32 {
33147 static_assert_range!(IMM_FACTOR, 1..=16);
33148 unsafe extern "unadjusted" {
33149 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.sqincb.n32")]
33150 fn _svqincb_pat_n_s32(op: i32, pattern: svpattern, imm_factor: i32) -> i32;
33151 }
33152 unsafe { _svqincb_pat_n_s32(op, PATTERN, IMM_FACTOR) }
33153}
33154#[doc = "Saturating increment by number of halfword elements"]
33155#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svqinch_pat[_n_s32])"]
33156#[inline]
33157#[target_feature(enable = "sve")]
33158#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
33159# [cfg_attr (test , assert_instr (sqinch , PATTERN = { svpattern :: SV_ALL } , IMM_FACTOR = 1))]
33160pub fn svqinch_pat_n_s32<const PATTERN: svpattern, const IMM_FACTOR: i32>(op: i32) -> i32 {
33161 static_assert_range!(IMM_FACTOR, 1..=16);
33162 unsafe extern "unadjusted" {
33163 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.sqinch.n32")]
33164 fn _svqinch_pat_n_s32(op: i32, pattern: svpattern, imm_factor: i32) -> i32;
33165 }
33166 unsafe { _svqinch_pat_n_s32(op, PATTERN, IMM_FACTOR) }
33167}
33168#[doc = "Saturating increment by number of word elements"]
33169#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svqincw_pat[_n_s32])"]
33170#[inline]
33171#[target_feature(enable = "sve")]
33172#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
33173# [cfg_attr (test , assert_instr (sqincw , PATTERN = { svpattern :: SV_ALL } , IMM_FACTOR = 1))]
33174pub fn svqincw_pat_n_s32<const PATTERN: svpattern, const IMM_FACTOR: i32>(op: i32) -> i32 {
33175 static_assert_range!(IMM_FACTOR, 1..=16);
33176 unsafe extern "unadjusted" {
33177 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.sqincw.n32")]
33178 fn _svqincw_pat_n_s32(op: i32, pattern: svpattern, imm_factor: i32) -> i32;
33179 }
33180 unsafe { _svqincw_pat_n_s32(op, PATTERN, IMM_FACTOR) }
33181}
33182#[doc = "Saturating increment by number of doubleword elements"]
33183#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svqincd_pat[_n_s32])"]
33184#[inline]
33185#[target_feature(enable = "sve")]
33186#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
33187# [cfg_attr (test , assert_instr (sqincd , PATTERN = { svpattern :: SV_ALL } , IMM_FACTOR = 1))]
33188pub fn svqincd_pat_n_s32<const PATTERN: svpattern, const IMM_FACTOR: i32>(op: i32) -> i32 {
33189 static_assert_range!(IMM_FACTOR, 1..=16);
33190 unsafe extern "unadjusted" {
33191 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.sqincd.n32")]
33192 fn _svqincd_pat_n_s32(op: i32, pattern: svpattern, imm_factor: i32) -> i32;
33193 }
33194 unsafe { _svqincd_pat_n_s32(op, PATTERN, IMM_FACTOR) }
33195}
33196#[doc = "Saturating increment by number of byte elements"]
33197#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svqincb_pat[_n_s64])"]
33198#[inline]
33199#[target_feature(enable = "sve")]
33200#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
33201# [cfg_attr (test , assert_instr (sqincb , PATTERN = { svpattern :: SV_ALL } , IMM_FACTOR = 1))]
33202pub fn svqincb_pat_n_s64<const PATTERN: svpattern, const IMM_FACTOR: i32>(op: i64) -> i64 {
33203 static_assert_range!(IMM_FACTOR, 1..=16);
33204 unsafe extern "unadjusted" {
33205 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.sqincb.n64")]
33206 fn _svqincb_pat_n_s64(op: i64, pattern: svpattern, imm_factor: i32) -> i64;
33207 }
33208 unsafe { _svqincb_pat_n_s64(op, PATTERN, IMM_FACTOR) }
33209}
33210#[doc = "Saturating increment by number of halfword elements"]
33211#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svqinch_pat[_n_s64])"]
33212#[inline]
33213#[target_feature(enable = "sve")]
33214#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
33215# [cfg_attr (test , assert_instr (sqinch , PATTERN = { svpattern :: SV_ALL } , IMM_FACTOR = 1))]
33216pub fn svqinch_pat_n_s64<const PATTERN: svpattern, const IMM_FACTOR: i32>(op: i64) -> i64 {
33217 static_assert_range!(IMM_FACTOR, 1..=16);
33218 unsafe extern "unadjusted" {
33219 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.sqinch.n64")]
33220 fn _svqinch_pat_n_s64(op: i64, pattern: svpattern, imm_factor: i32) -> i64;
33221 }
33222 unsafe { _svqinch_pat_n_s64(op, PATTERN, IMM_FACTOR) }
33223}
33224#[doc = "Saturating increment by number of word elements"]
33225#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svqincw_pat[_n_s64])"]
33226#[inline]
33227#[target_feature(enable = "sve")]
33228#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
33229# [cfg_attr (test , assert_instr (sqincw , PATTERN = { svpattern :: SV_ALL } , IMM_FACTOR = 1))]
33230pub fn svqincw_pat_n_s64<const PATTERN: svpattern, const IMM_FACTOR: i32>(op: i64) -> i64 {
33231 static_assert_range!(IMM_FACTOR, 1..=16);
33232 unsafe extern "unadjusted" {
33233 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.sqincw.n64")]
33234 fn _svqincw_pat_n_s64(op: i64, pattern: svpattern, imm_factor: i32) -> i64;
33235 }
33236 unsafe { _svqincw_pat_n_s64(op, PATTERN, IMM_FACTOR) }
33237}
33238#[doc = "Saturating increment by number of doubleword elements"]
33239#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svqincd_pat[_n_s64])"]
33240#[inline]
33241#[target_feature(enable = "sve")]
33242#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
33243# [cfg_attr (test , assert_instr (sqincd , PATTERN = { svpattern :: SV_ALL } , IMM_FACTOR = 1))]
33244pub fn svqincd_pat_n_s64<const PATTERN: svpattern, const IMM_FACTOR: i32>(op: i64) -> i64 {
33245 static_assert_range!(IMM_FACTOR, 1..=16);
33246 unsafe extern "unadjusted" {
33247 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.sqincd.n64")]
33248 fn _svqincd_pat_n_s64(op: i64, pattern: svpattern, imm_factor: i32) -> i64;
33249 }
33250 unsafe { _svqincd_pat_n_s64(op, PATTERN, IMM_FACTOR) }
33251}
33252#[doc = "Saturating increment by number of byte elements"]
33253#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svqincb_pat[_n_u32])"]
33254#[inline]
33255#[target_feature(enable = "sve")]
33256#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
33257# [cfg_attr (test , assert_instr (uqincb , PATTERN = { svpattern :: SV_ALL } , IMM_FACTOR = 1))]
33258pub fn svqincb_pat_n_u32<const PATTERN: svpattern, const IMM_FACTOR: i32>(op: u32) -> u32 {
33259 static_assert_range!(IMM_FACTOR, 1..=16);
33260 unsafe extern "unadjusted" {
33261 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.uqincb.n32")]
33262 fn _svqincb_pat_n_u32(op: i32, pattern: svpattern, imm_factor: i32) -> i32;
33263 }
33264 unsafe { _svqincb_pat_n_u32(op.as_signed(), PATTERN, IMM_FACTOR).as_unsigned() }
33265}
33266#[doc = "Saturating increment by number of halfword elements"]
33267#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svqinch_pat[_n_u32])"]
33268#[inline]
33269#[target_feature(enable = "sve")]
33270#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
33271# [cfg_attr (test , assert_instr (uqinch , PATTERN = { svpattern :: SV_ALL } , IMM_FACTOR = 1))]
33272pub fn svqinch_pat_n_u32<const PATTERN: svpattern, const IMM_FACTOR: i32>(op: u32) -> u32 {
33273 static_assert_range!(IMM_FACTOR, 1..=16);
33274 unsafe extern "unadjusted" {
33275 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.uqinch.n32")]
33276 fn _svqinch_pat_n_u32(op: i32, pattern: svpattern, imm_factor: i32) -> i32;
33277 }
33278 unsafe { _svqinch_pat_n_u32(op.as_signed(), PATTERN, IMM_FACTOR).as_unsigned() }
33279}
33280#[doc = "Saturating increment by number of word elements"]
33281#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svqincw_pat[_n_u32])"]
33282#[inline]
33283#[target_feature(enable = "sve")]
33284#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
33285# [cfg_attr (test , assert_instr (uqincw , PATTERN = { svpattern :: SV_ALL } , IMM_FACTOR = 1))]
33286pub fn svqincw_pat_n_u32<const PATTERN: svpattern, const IMM_FACTOR: i32>(op: u32) -> u32 {
33287 static_assert_range!(IMM_FACTOR, 1..=16);
33288 unsafe extern "unadjusted" {
33289 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.uqincw.n32")]
33290 fn _svqincw_pat_n_u32(op: i32, pattern: svpattern, imm_factor: i32) -> i32;
33291 }
33292 unsafe { _svqincw_pat_n_u32(op.as_signed(), PATTERN, IMM_FACTOR).as_unsigned() }
33293}
33294#[doc = "Saturating increment by number of doubleword elements"]
33295#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svqincd_pat[_n_u32])"]
33296#[inline]
33297#[target_feature(enable = "sve")]
33298#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
33299# [cfg_attr (test , assert_instr (uqincd , PATTERN = { svpattern :: SV_ALL } , IMM_FACTOR = 1))]
33300pub fn svqincd_pat_n_u32<const PATTERN: svpattern, const IMM_FACTOR: i32>(op: u32) -> u32 {
33301 static_assert_range!(IMM_FACTOR, 1..=16);
33302 unsafe extern "unadjusted" {
33303 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.uqincd.n32")]
33304 fn _svqincd_pat_n_u32(op: i32, pattern: svpattern, imm_factor: i32) -> i32;
33305 }
33306 unsafe { _svqincd_pat_n_u32(op.as_signed(), PATTERN, IMM_FACTOR).as_unsigned() }
33307}
33308#[doc = "Saturating increment by number of byte elements"]
33309#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svqincb_pat[_n_u64])"]
33310#[inline]
33311#[target_feature(enable = "sve")]
33312#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
33313# [cfg_attr (test , assert_instr (uqincb , PATTERN = { svpattern :: SV_ALL } , IMM_FACTOR = 1))]
33314pub fn svqincb_pat_n_u64<const PATTERN: svpattern, const IMM_FACTOR: i32>(op: u64) -> u64 {
33315 static_assert_range!(IMM_FACTOR, 1..=16);
33316 unsafe extern "unadjusted" {
33317 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.uqincb.n64")]
33318 fn _svqincb_pat_n_u64(op: i64, pattern: svpattern, imm_factor: i32) -> i64;
33319 }
33320 unsafe { _svqincb_pat_n_u64(op.as_signed(), PATTERN, IMM_FACTOR).as_unsigned() }
33321}
33322#[doc = "Saturating increment by number of halfword elements"]
33323#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svqinch_pat[_n_u64])"]
33324#[inline]
33325#[target_feature(enable = "sve")]
33326#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
33327# [cfg_attr (test , assert_instr (uqinch , PATTERN = { svpattern :: SV_ALL } , IMM_FACTOR = 1))]
33328pub fn svqinch_pat_n_u64<const PATTERN: svpattern, const IMM_FACTOR: i32>(op: u64) -> u64 {
33329 static_assert_range!(IMM_FACTOR, 1..=16);
33330 unsafe extern "unadjusted" {
33331 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.uqinch.n64")]
33332 fn _svqinch_pat_n_u64(op: i64, pattern: svpattern, imm_factor: i32) -> i64;
33333 }
33334 unsafe { _svqinch_pat_n_u64(op.as_signed(), PATTERN, IMM_FACTOR).as_unsigned() }
33335}
33336#[doc = "Saturating increment by number of word elements"]
33337#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svqincw_pat[_n_u64])"]
33338#[inline]
33339#[target_feature(enable = "sve")]
33340#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
33341# [cfg_attr (test , assert_instr (uqincw , PATTERN = { svpattern :: SV_ALL } , IMM_FACTOR = 1))]
33342pub fn svqincw_pat_n_u64<const PATTERN: svpattern, const IMM_FACTOR: i32>(op: u64) -> u64 {
33343 static_assert_range!(IMM_FACTOR, 1..=16);
33344 unsafe extern "unadjusted" {
33345 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.uqincw.n64")]
33346 fn _svqincw_pat_n_u64(op: i64, pattern: svpattern, imm_factor: i32) -> i64;
33347 }
33348 unsafe { _svqincw_pat_n_u64(op.as_signed(), PATTERN, IMM_FACTOR).as_unsigned() }
33349}
33350#[doc = "Saturating increment by number of doubleword elements"]
33351#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svqincd_pat[_n_u64])"]
33352#[inline]
33353#[target_feature(enable = "sve")]
33354#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
33355# [cfg_attr (test , assert_instr (uqincd , PATTERN = { svpattern :: SV_ALL } , IMM_FACTOR = 1))]
33356pub fn svqincd_pat_n_u64<const PATTERN: svpattern, const IMM_FACTOR: i32>(op: u64) -> u64 {
33357 static_assert_range!(IMM_FACTOR, 1..=16);
33358 unsafe extern "unadjusted" {
33359 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.uqincd.n64")]
33360 fn _svqincd_pat_n_u64(op: i64, pattern: svpattern, imm_factor: i32) -> i64;
33361 }
33362 unsafe { _svqincd_pat_n_u64(op.as_signed(), PATTERN, IMM_FACTOR).as_unsigned() }
33363}
33364#[doc = "Saturating increment by number of halfword elements"]
33365#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svqinch_pat[_s16])"]
33366#[inline]
33367#[target_feature(enable = "sve")]
33368#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
33369# [cfg_attr (test , assert_instr (sqinch , PATTERN = { svpattern :: SV_ALL } , IMM_FACTOR = 1))]
33370pub fn svqinch_pat_s16<const PATTERN: svpattern, const IMM_FACTOR: i32>(
33371 op: svint16_t,
33372) -> svint16_t {
33373 static_assert_range!(IMM_FACTOR, 1..=16);
33374 unsafe extern "unadjusted" {
33375 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.sqinch.nxv8i16")]
33376 fn _svqinch_pat_s16(op: svint16_t, pattern: svpattern, imm_factor: i32) -> svint16_t;
33377 }
33378 unsafe { _svqinch_pat_s16(op, PATTERN, IMM_FACTOR) }
33379}
33380#[doc = "Saturating increment by number of word elements"]
33381#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svqincw_pat[_s32])"]
33382#[inline]
33383#[target_feature(enable = "sve")]
33384#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
33385# [cfg_attr (test , assert_instr (sqincw , PATTERN = { svpattern :: SV_ALL } , IMM_FACTOR = 1))]
33386pub fn svqincw_pat_s32<const PATTERN: svpattern, const IMM_FACTOR: i32>(
33387 op: svint32_t,
33388) -> svint32_t {
33389 static_assert_range!(IMM_FACTOR, 1..=16);
33390 unsafe extern "unadjusted" {
33391 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.sqincw.nxv4i32")]
33392 fn _svqincw_pat_s32(op: svint32_t, pattern: svpattern, imm_factor: i32) -> svint32_t;
33393 }
33394 unsafe { _svqincw_pat_s32(op, PATTERN, IMM_FACTOR) }
33395}
33396#[doc = "Saturating increment by number of doubleword elements"]
33397#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svqincd_pat[_s64])"]
33398#[inline]
33399#[target_feature(enable = "sve")]
33400#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
33401# [cfg_attr (test , assert_instr (sqincd , PATTERN = { svpattern :: SV_ALL } , IMM_FACTOR = 1))]
33402pub fn svqincd_pat_s64<const PATTERN: svpattern, const IMM_FACTOR: i32>(
33403 op: svint64_t,
33404) -> svint64_t {
33405 static_assert_range!(IMM_FACTOR, 1..=16);
33406 unsafe extern "unadjusted" {
33407 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.sqincd.nxv2i64")]
33408 fn _svqincd_pat_s64(op: svint64_t, pattern: svpattern, imm_factor: i32) -> svint64_t;
33409 }
33410 unsafe { _svqincd_pat_s64(op, PATTERN, IMM_FACTOR) }
33411}
33412#[doc = "Saturating increment by number of halfword elements"]
33413#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svqinch_pat[_u16])"]
33414#[inline]
33415#[target_feature(enable = "sve")]
33416#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
33417# [cfg_attr (test , assert_instr (uqinch , PATTERN = { svpattern :: SV_ALL } , IMM_FACTOR