1#![allow(improper_ctypes)]
9
10#[cfg(test)]
11use stdarch_test::assert_instr;
12
13use super::*;
14use crate::core_arch::arch::aarch64::*;
15
16#[doc = "Absolute difference"]
17#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svabd[_f32]_m)"]
18#[inline]
19#[target_feature(enable = "sve")]
20#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
21#[cfg_attr(test, assert_instr(fabd))]
22pub fn svabd_f32_m(pg: svbool_t, op1: svfloat32_t, op2: svfloat32_t) -> svfloat32_t {
23 unsafe extern "unadjusted" {
24 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.fabd.nxv4f32")]
25 fn _svabd_f32_m(pg: svbool4_t, op1: svfloat32_t, op2: svfloat32_t) -> svfloat32_t;
26 }
27 unsafe { _svabd_f32_m(pg.sve_into(), op1, op2) }
28}
29#[doc = "Absolute difference"]
30#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svabd[_n_f32]_m)"]
31#[inline]
32#[target_feature(enable = "sve")]
33#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
34#[cfg_attr(test, assert_instr(fabd))]
35pub fn svabd_n_f32_m(pg: svbool_t, op1: svfloat32_t, op2: f32) -> svfloat32_t {
36 svabd_f32_m(pg, op1, svdup_n_f32(op2))
37}
38#[doc = "Absolute difference"]
39#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svabd[_f32]_x)"]
40#[inline]
41#[target_feature(enable = "sve")]
42#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
43#[cfg_attr(test, assert_instr(fabd))]
44pub fn svabd_f32_x(pg: svbool_t, op1: svfloat32_t, op2: svfloat32_t) -> svfloat32_t {
45 svabd_f32_m(pg, op1, op2)
46}
47#[doc = "Absolute difference"]
48#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svabd[_n_f32]_x)"]
49#[inline]
50#[target_feature(enable = "sve")]
51#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
52#[cfg_attr(test, assert_instr(fabd))]
53pub fn svabd_n_f32_x(pg: svbool_t, op1: svfloat32_t, op2: f32) -> svfloat32_t {
54 svabd_f32_x(pg, op1, svdup_n_f32(op2))
55}
56#[doc = "Absolute difference"]
57#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svabd[_f32]_z)"]
58#[inline]
59#[target_feature(enable = "sve")]
60#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
61#[cfg_attr(test, assert_instr(fabd))]
62pub fn svabd_f32_z(pg: svbool_t, op1: svfloat32_t, op2: svfloat32_t) -> svfloat32_t {
63 svabd_f32_m(pg, svsel_f32(pg, op1, svdup_n_f32(0.0)), op2)
64}
65#[doc = "Absolute difference"]
66#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svabd[_n_f32]_z)"]
67#[inline]
68#[target_feature(enable = "sve")]
69#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
70#[cfg_attr(test, assert_instr(fabd))]
71pub fn svabd_n_f32_z(pg: svbool_t, op1: svfloat32_t, op2: f32) -> svfloat32_t {
72 svabd_f32_z(pg, op1, svdup_n_f32(op2))
73}
74#[doc = "Absolute difference"]
75#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svabd[_f64]_m)"]
76#[inline]
77#[target_feature(enable = "sve")]
78#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
79#[cfg_attr(test, assert_instr(fabd))]
80pub fn svabd_f64_m(pg: svbool_t, op1: svfloat64_t, op2: svfloat64_t) -> svfloat64_t {
81 unsafe extern "unadjusted" {
82 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.fabd.nxv2f64")]
83 fn _svabd_f64_m(pg: svbool2_t, op1: svfloat64_t, op2: svfloat64_t) -> svfloat64_t;
84 }
85 unsafe { _svabd_f64_m(pg.sve_into(), op1, op2) }
86}
87#[doc = "Absolute difference"]
88#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svabd[_n_f64]_m)"]
89#[inline]
90#[target_feature(enable = "sve")]
91#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
92#[cfg_attr(test, assert_instr(fabd))]
93pub fn svabd_n_f64_m(pg: svbool_t, op1: svfloat64_t, op2: f64) -> svfloat64_t {
94 svabd_f64_m(pg, op1, svdup_n_f64(op2))
95}
96#[doc = "Absolute difference"]
97#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svabd[_f64]_x)"]
98#[inline]
99#[target_feature(enable = "sve")]
100#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
101#[cfg_attr(test, assert_instr(fabd))]
102pub fn svabd_f64_x(pg: svbool_t, op1: svfloat64_t, op2: svfloat64_t) -> svfloat64_t {
103 svabd_f64_m(pg, op1, op2)
104}
105#[doc = "Absolute difference"]
106#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svabd[_n_f64]_x)"]
107#[inline]
108#[target_feature(enable = "sve")]
109#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
110#[cfg_attr(test, assert_instr(fabd))]
111pub fn svabd_n_f64_x(pg: svbool_t, op1: svfloat64_t, op2: f64) -> svfloat64_t {
112 svabd_f64_x(pg, op1, svdup_n_f64(op2))
113}
114#[doc = "Absolute difference"]
115#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svabd[_f64]_z)"]
116#[inline]
117#[target_feature(enable = "sve")]
118#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
119#[cfg_attr(test, assert_instr(fabd))]
120pub fn svabd_f64_z(pg: svbool_t, op1: svfloat64_t, op2: svfloat64_t) -> svfloat64_t {
121 svabd_f64_m(pg, svsel_f64(pg, op1, svdup_n_f64(0.0)), op2)
122}
123#[doc = "Absolute difference"]
124#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svabd[_n_f64]_z)"]
125#[inline]
126#[target_feature(enable = "sve")]
127#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
128#[cfg_attr(test, assert_instr(fabd))]
129pub fn svabd_n_f64_z(pg: svbool_t, op1: svfloat64_t, op2: f64) -> svfloat64_t {
130 svabd_f64_z(pg, op1, svdup_n_f64(op2))
131}
132#[doc = "Absolute difference"]
133#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svabd[_s8]_m)"]
134#[inline]
135#[target_feature(enable = "sve")]
136#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
137#[cfg_attr(test, assert_instr(sabd))]
138pub fn svabd_s8_m(pg: svbool_t, op1: svint8_t, op2: svint8_t) -> svint8_t {
139 unsafe extern "unadjusted" {
140 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.sabd.nxv16i8")]
141 fn _svabd_s8_m(pg: svbool_t, op1: svint8_t, op2: svint8_t) -> svint8_t;
142 }
143 unsafe { _svabd_s8_m(pg, op1, op2) }
144}
145#[doc = "Absolute difference"]
146#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svabd[_n_s8]_m)"]
147#[inline]
148#[target_feature(enable = "sve")]
149#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
150#[cfg_attr(test, assert_instr(sabd))]
151pub fn svabd_n_s8_m(pg: svbool_t, op1: svint8_t, op2: i8) -> svint8_t {
152 svabd_s8_m(pg, op1, svdup_n_s8(op2))
153}
154#[doc = "Absolute difference"]
155#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svabd[_s8]_x)"]
156#[inline]
157#[target_feature(enable = "sve")]
158#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
159#[cfg_attr(test, assert_instr(sabd))]
160pub fn svabd_s8_x(pg: svbool_t, op1: svint8_t, op2: svint8_t) -> svint8_t {
161 svabd_s8_m(pg, op1, op2)
162}
163#[doc = "Absolute difference"]
164#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svabd[_n_s8]_x)"]
165#[inline]
166#[target_feature(enable = "sve")]
167#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
168#[cfg_attr(test, assert_instr(sabd))]
169pub fn svabd_n_s8_x(pg: svbool_t, op1: svint8_t, op2: i8) -> svint8_t {
170 svabd_s8_x(pg, op1, svdup_n_s8(op2))
171}
172#[doc = "Absolute difference"]
173#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svabd[_s8]_z)"]
174#[inline]
175#[target_feature(enable = "sve")]
176#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
177#[cfg_attr(test, assert_instr(sabd))]
178pub fn svabd_s8_z(pg: svbool_t, op1: svint8_t, op2: svint8_t) -> svint8_t {
179 svabd_s8_m(pg, svsel_s8(pg, op1, svdup_n_s8(0)), op2)
180}
181#[doc = "Absolute difference"]
182#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svabd[_n_s8]_z)"]
183#[inline]
184#[target_feature(enable = "sve")]
185#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
186#[cfg_attr(test, assert_instr(sabd))]
187pub fn svabd_n_s8_z(pg: svbool_t, op1: svint8_t, op2: i8) -> svint8_t {
188 svabd_s8_z(pg, op1, svdup_n_s8(op2))
189}
190#[doc = "Absolute difference"]
191#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svabd[_s16]_m)"]
192#[inline]
193#[target_feature(enable = "sve")]
194#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
195#[cfg_attr(test, assert_instr(sabd))]
196pub fn svabd_s16_m(pg: svbool_t, op1: svint16_t, op2: svint16_t) -> svint16_t {
197 unsafe extern "unadjusted" {
198 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.sabd.nxv8i16")]
199 fn _svabd_s16_m(pg: svbool8_t, op1: svint16_t, op2: svint16_t) -> svint16_t;
200 }
201 unsafe { _svabd_s16_m(pg.sve_into(), op1, op2) }
202}
203#[doc = "Absolute difference"]
204#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svabd[_n_s16]_m)"]
205#[inline]
206#[target_feature(enable = "sve")]
207#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
208#[cfg_attr(test, assert_instr(sabd))]
209pub fn svabd_n_s16_m(pg: svbool_t, op1: svint16_t, op2: i16) -> svint16_t {
210 svabd_s16_m(pg, op1, svdup_n_s16(op2))
211}
212#[doc = "Absolute difference"]
213#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svabd[_s16]_x)"]
214#[inline]
215#[target_feature(enable = "sve")]
216#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
217#[cfg_attr(test, assert_instr(sabd))]
218pub fn svabd_s16_x(pg: svbool_t, op1: svint16_t, op2: svint16_t) -> svint16_t {
219 svabd_s16_m(pg, op1, op2)
220}
221#[doc = "Absolute difference"]
222#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svabd[_n_s16]_x)"]
223#[inline]
224#[target_feature(enable = "sve")]
225#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
226#[cfg_attr(test, assert_instr(sabd))]
227pub fn svabd_n_s16_x(pg: svbool_t, op1: svint16_t, op2: i16) -> svint16_t {
228 svabd_s16_x(pg, op1, svdup_n_s16(op2))
229}
230#[doc = "Absolute difference"]
231#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svabd[_s16]_z)"]
232#[inline]
233#[target_feature(enable = "sve")]
234#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
235#[cfg_attr(test, assert_instr(sabd))]
236pub fn svabd_s16_z(pg: svbool_t, op1: svint16_t, op2: svint16_t) -> svint16_t {
237 svabd_s16_m(pg, svsel_s16(pg, op1, svdup_n_s16(0)), op2)
238}
239#[doc = "Absolute difference"]
240#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svabd[_n_s16]_z)"]
241#[inline]
242#[target_feature(enable = "sve")]
243#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
244#[cfg_attr(test, assert_instr(sabd))]
245pub fn svabd_n_s16_z(pg: svbool_t, op1: svint16_t, op2: i16) -> svint16_t {
246 svabd_s16_z(pg, op1, svdup_n_s16(op2))
247}
248#[doc = "Absolute difference"]
249#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svabd[_s32]_m)"]
250#[inline]
251#[target_feature(enable = "sve")]
252#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
253#[cfg_attr(test, assert_instr(sabd))]
254pub fn svabd_s32_m(pg: svbool_t, op1: svint32_t, op2: svint32_t) -> svint32_t {
255 unsafe extern "unadjusted" {
256 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.sabd.nxv4i32")]
257 fn _svabd_s32_m(pg: svbool4_t, op1: svint32_t, op2: svint32_t) -> svint32_t;
258 }
259 unsafe { _svabd_s32_m(pg.sve_into(), op1, op2) }
260}
261#[doc = "Absolute difference"]
262#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svabd[_n_s32]_m)"]
263#[inline]
264#[target_feature(enable = "sve")]
265#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
266#[cfg_attr(test, assert_instr(sabd))]
267pub fn svabd_n_s32_m(pg: svbool_t, op1: svint32_t, op2: i32) -> svint32_t {
268 svabd_s32_m(pg, op1, svdup_n_s32(op2))
269}
270#[doc = "Absolute difference"]
271#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svabd[_s32]_x)"]
272#[inline]
273#[target_feature(enable = "sve")]
274#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
275#[cfg_attr(test, assert_instr(sabd))]
276pub fn svabd_s32_x(pg: svbool_t, op1: svint32_t, op2: svint32_t) -> svint32_t {
277 svabd_s32_m(pg, op1, op2)
278}
279#[doc = "Absolute difference"]
280#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svabd[_n_s32]_x)"]
281#[inline]
282#[target_feature(enable = "sve")]
283#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
284#[cfg_attr(test, assert_instr(sabd))]
285pub fn svabd_n_s32_x(pg: svbool_t, op1: svint32_t, op2: i32) -> svint32_t {
286 svabd_s32_x(pg, op1, svdup_n_s32(op2))
287}
288#[doc = "Absolute difference"]
289#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svabd[_s32]_z)"]
290#[inline]
291#[target_feature(enable = "sve")]
292#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
293#[cfg_attr(test, assert_instr(sabd))]
294pub fn svabd_s32_z(pg: svbool_t, op1: svint32_t, op2: svint32_t) -> svint32_t {
295 svabd_s32_m(pg, svsel_s32(pg, op1, svdup_n_s32(0)), op2)
296}
297#[doc = "Absolute difference"]
298#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svabd[_n_s32]_z)"]
299#[inline]
300#[target_feature(enable = "sve")]
301#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
302#[cfg_attr(test, assert_instr(sabd))]
303pub fn svabd_n_s32_z(pg: svbool_t, op1: svint32_t, op2: i32) -> svint32_t {
304 svabd_s32_z(pg, op1, svdup_n_s32(op2))
305}
306#[doc = "Absolute difference"]
307#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svabd[_s64]_m)"]
308#[inline]
309#[target_feature(enable = "sve")]
310#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
311#[cfg_attr(test, assert_instr(sabd))]
312pub fn svabd_s64_m(pg: svbool_t, op1: svint64_t, op2: svint64_t) -> svint64_t {
313 unsafe extern "unadjusted" {
314 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.sabd.nxv2i64")]
315 fn _svabd_s64_m(pg: svbool2_t, op1: svint64_t, op2: svint64_t) -> svint64_t;
316 }
317 unsafe { _svabd_s64_m(pg.sve_into(), op1, op2) }
318}
319#[doc = "Absolute difference"]
320#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svabd[_n_s64]_m)"]
321#[inline]
322#[target_feature(enable = "sve")]
323#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
324#[cfg_attr(test, assert_instr(sabd))]
325pub fn svabd_n_s64_m(pg: svbool_t, op1: svint64_t, op2: i64) -> svint64_t {
326 svabd_s64_m(pg, op1, svdup_n_s64(op2))
327}
328#[doc = "Absolute difference"]
329#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svabd[_s64]_x)"]
330#[inline]
331#[target_feature(enable = "sve")]
332#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
333#[cfg_attr(test, assert_instr(sabd))]
334pub fn svabd_s64_x(pg: svbool_t, op1: svint64_t, op2: svint64_t) -> svint64_t {
335 svabd_s64_m(pg, op1, op2)
336}
337#[doc = "Absolute difference"]
338#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svabd[_n_s64]_x)"]
339#[inline]
340#[target_feature(enable = "sve")]
341#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
342#[cfg_attr(test, assert_instr(sabd))]
343pub fn svabd_n_s64_x(pg: svbool_t, op1: svint64_t, op2: i64) -> svint64_t {
344 svabd_s64_x(pg, op1, svdup_n_s64(op2))
345}
346#[doc = "Absolute difference"]
347#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svabd[_s64]_z)"]
348#[inline]
349#[target_feature(enable = "sve")]
350#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
351#[cfg_attr(test, assert_instr(sabd))]
352pub fn svabd_s64_z(pg: svbool_t, op1: svint64_t, op2: svint64_t) -> svint64_t {
353 svabd_s64_m(pg, svsel_s64(pg, op1, svdup_n_s64(0)), op2)
354}
355#[doc = "Absolute difference"]
356#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svabd[_n_s64]_z)"]
357#[inline]
358#[target_feature(enable = "sve")]
359#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
360#[cfg_attr(test, assert_instr(sabd))]
361pub fn svabd_n_s64_z(pg: svbool_t, op1: svint64_t, op2: i64) -> svint64_t {
362 svabd_s64_z(pg, op1, svdup_n_s64(op2))
363}
364#[doc = "Absolute difference"]
365#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svabd[_u8]_m)"]
366#[inline]
367#[target_feature(enable = "sve")]
368#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
369#[cfg_attr(test, assert_instr(uabd))]
370pub fn svabd_u8_m(pg: svbool_t, op1: svuint8_t, op2: svuint8_t) -> svuint8_t {
371 unsafe extern "unadjusted" {
372 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.uabd.nxv16i8")]
373 fn _svabd_u8_m(pg: svbool_t, op1: svint8_t, op2: svint8_t) -> svint8_t;
374 }
375 unsafe { _svabd_u8_m(pg, op1.as_signed(), op2.as_signed()).as_unsigned() }
376}
377#[doc = "Absolute difference"]
378#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svabd[_n_u8]_m)"]
379#[inline]
380#[target_feature(enable = "sve")]
381#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
382#[cfg_attr(test, assert_instr(uabd))]
383pub fn svabd_n_u8_m(pg: svbool_t, op1: svuint8_t, op2: u8) -> svuint8_t {
384 svabd_u8_m(pg, op1, svdup_n_u8(op2))
385}
386#[doc = "Absolute difference"]
387#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svabd[_u8]_x)"]
388#[inline]
389#[target_feature(enable = "sve")]
390#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
391#[cfg_attr(test, assert_instr(uabd))]
392pub fn svabd_u8_x(pg: svbool_t, op1: svuint8_t, op2: svuint8_t) -> svuint8_t {
393 svabd_u8_m(pg, op1, op2)
394}
395#[doc = "Absolute difference"]
396#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svabd[_n_u8]_x)"]
397#[inline]
398#[target_feature(enable = "sve")]
399#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
400#[cfg_attr(test, assert_instr(uabd))]
401pub fn svabd_n_u8_x(pg: svbool_t, op1: svuint8_t, op2: u8) -> svuint8_t {
402 svabd_u8_x(pg, op1, svdup_n_u8(op2))
403}
404#[doc = "Absolute difference"]
405#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svabd[_u8]_z)"]
406#[inline]
407#[target_feature(enable = "sve")]
408#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
409#[cfg_attr(test, assert_instr(uabd))]
410pub fn svabd_u8_z(pg: svbool_t, op1: svuint8_t, op2: svuint8_t) -> svuint8_t {
411 svabd_u8_m(pg, svsel_u8(pg, op1, svdup_n_u8(0)), op2)
412}
413#[doc = "Absolute difference"]
414#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svabd[_n_u8]_z)"]
415#[inline]
416#[target_feature(enable = "sve")]
417#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
418#[cfg_attr(test, assert_instr(uabd))]
419pub fn svabd_n_u8_z(pg: svbool_t, op1: svuint8_t, op2: u8) -> svuint8_t {
420 svabd_u8_z(pg, op1, svdup_n_u8(op2))
421}
422#[doc = "Absolute difference"]
423#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svabd[_u16]_m)"]
424#[inline]
425#[target_feature(enable = "sve")]
426#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
427#[cfg_attr(test, assert_instr(uabd))]
428pub fn svabd_u16_m(pg: svbool_t, op1: svuint16_t, op2: svuint16_t) -> svuint16_t {
429 unsafe extern "unadjusted" {
430 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.uabd.nxv8i16")]
431 fn _svabd_u16_m(pg: svbool8_t, op1: svint16_t, op2: svint16_t) -> svint16_t;
432 }
433 unsafe { _svabd_u16_m(pg.sve_into(), op1.as_signed(), op2.as_signed()).as_unsigned() }
434}
435#[doc = "Absolute difference"]
436#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svabd[_n_u16]_m)"]
437#[inline]
438#[target_feature(enable = "sve")]
439#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
440#[cfg_attr(test, assert_instr(uabd))]
441pub fn svabd_n_u16_m(pg: svbool_t, op1: svuint16_t, op2: u16) -> svuint16_t {
442 svabd_u16_m(pg, op1, svdup_n_u16(op2))
443}
444#[doc = "Absolute difference"]
445#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svabd[_u16]_x)"]
446#[inline]
447#[target_feature(enable = "sve")]
448#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
449#[cfg_attr(test, assert_instr(uabd))]
450pub fn svabd_u16_x(pg: svbool_t, op1: svuint16_t, op2: svuint16_t) -> svuint16_t {
451 svabd_u16_m(pg, op1, op2)
452}
453#[doc = "Absolute difference"]
454#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svabd[_n_u16]_x)"]
455#[inline]
456#[target_feature(enable = "sve")]
457#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
458#[cfg_attr(test, assert_instr(uabd))]
459pub fn svabd_n_u16_x(pg: svbool_t, op1: svuint16_t, op2: u16) -> svuint16_t {
460 svabd_u16_x(pg, op1, svdup_n_u16(op2))
461}
462#[doc = "Absolute difference"]
463#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svabd[_u16]_z)"]
464#[inline]
465#[target_feature(enable = "sve")]
466#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
467#[cfg_attr(test, assert_instr(uabd))]
468pub fn svabd_u16_z(pg: svbool_t, op1: svuint16_t, op2: svuint16_t) -> svuint16_t {
469 svabd_u16_m(pg, svsel_u16(pg, op1, svdup_n_u16(0)), op2)
470}
471#[doc = "Absolute difference"]
472#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svabd[_n_u16]_z)"]
473#[inline]
474#[target_feature(enable = "sve")]
475#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
476#[cfg_attr(test, assert_instr(uabd))]
477pub fn svabd_n_u16_z(pg: svbool_t, op1: svuint16_t, op2: u16) -> svuint16_t {
478 svabd_u16_z(pg, op1, svdup_n_u16(op2))
479}
480#[doc = "Absolute difference"]
481#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svabd[_u32]_m)"]
482#[inline]
483#[target_feature(enable = "sve")]
484#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
485#[cfg_attr(test, assert_instr(uabd))]
486pub fn svabd_u32_m(pg: svbool_t, op1: svuint32_t, op2: svuint32_t) -> svuint32_t {
487 unsafe extern "unadjusted" {
488 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.uabd.nxv4i32")]
489 fn _svabd_u32_m(pg: svbool4_t, op1: svint32_t, op2: svint32_t) -> svint32_t;
490 }
491 unsafe { _svabd_u32_m(pg.sve_into(), op1.as_signed(), op2.as_signed()).as_unsigned() }
492}
493#[doc = "Absolute difference"]
494#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svabd[_n_u32]_m)"]
495#[inline]
496#[target_feature(enable = "sve")]
497#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
498#[cfg_attr(test, assert_instr(uabd))]
499pub fn svabd_n_u32_m(pg: svbool_t, op1: svuint32_t, op2: u32) -> svuint32_t {
500 svabd_u32_m(pg, op1, svdup_n_u32(op2))
501}
502#[doc = "Absolute difference"]
503#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svabd[_u32]_x)"]
504#[inline]
505#[target_feature(enable = "sve")]
506#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
507#[cfg_attr(test, assert_instr(uabd))]
508pub fn svabd_u32_x(pg: svbool_t, op1: svuint32_t, op2: svuint32_t) -> svuint32_t {
509 svabd_u32_m(pg, op1, op2)
510}
511#[doc = "Absolute difference"]
512#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svabd[_n_u32]_x)"]
513#[inline]
514#[target_feature(enable = "sve")]
515#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
516#[cfg_attr(test, assert_instr(uabd))]
517pub fn svabd_n_u32_x(pg: svbool_t, op1: svuint32_t, op2: u32) -> svuint32_t {
518 svabd_u32_x(pg, op1, svdup_n_u32(op2))
519}
520#[doc = "Absolute difference"]
521#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svabd[_u32]_z)"]
522#[inline]
523#[target_feature(enable = "sve")]
524#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
525#[cfg_attr(test, assert_instr(uabd))]
526pub fn svabd_u32_z(pg: svbool_t, op1: svuint32_t, op2: svuint32_t) -> svuint32_t {
527 svabd_u32_m(pg, svsel_u32(pg, op1, svdup_n_u32(0)), op2)
528}
529#[doc = "Absolute difference"]
530#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svabd[_n_u32]_z)"]
531#[inline]
532#[target_feature(enable = "sve")]
533#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
534#[cfg_attr(test, assert_instr(uabd))]
535pub fn svabd_n_u32_z(pg: svbool_t, op1: svuint32_t, op2: u32) -> svuint32_t {
536 svabd_u32_z(pg, op1, svdup_n_u32(op2))
537}
538#[doc = "Absolute difference"]
539#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svabd[_u64]_m)"]
540#[inline]
541#[target_feature(enable = "sve")]
542#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
543#[cfg_attr(test, assert_instr(uabd))]
544pub fn svabd_u64_m(pg: svbool_t, op1: svuint64_t, op2: svuint64_t) -> svuint64_t {
545 unsafe extern "unadjusted" {
546 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.uabd.nxv2i64")]
547 fn _svabd_u64_m(pg: svbool2_t, op1: svint64_t, op2: svint64_t) -> svint64_t;
548 }
549 unsafe { _svabd_u64_m(pg.sve_into(), op1.as_signed(), op2.as_signed()).as_unsigned() }
550}
551#[doc = "Absolute difference"]
552#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svabd[_n_u64]_m)"]
553#[inline]
554#[target_feature(enable = "sve")]
555#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
556#[cfg_attr(test, assert_instr(uabd))]
557pub fn svabd_n_u64_m(pg: svbool_t, op1: svuint64_t, op2: u64) -> svuint64_t {
558 svabd_u64_m(pg, op1, svdup_n_u64(op2))
559}
560#[doc = "Absolute difference"]
561#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svabd[_u64]_x)"]
562#[inline]
563#[target_feature(enable = "sve")]
564#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
565#[cfg_attr(test, assert_instr(uabd))]
566pub fn svabd_u64_x(pg: svbool_t, op1: svuint64_t, op2: svuint64_t) -> svuint64_t {
567 svabd_u64_m(pg, op1, op2)
568}
569#[doc = "Absolute difference"]
570#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svabd[_n_u64]_x)"]
571#[inline]
572#[target_feature(enable = "sve")]
573#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
574#[cfg_attr(test, assert_instr(uabd))]
575pub fn svabd_n_u64_x(pg: svbool_t, op1: svuint64_t, op2: u64) -> svuint64_t {
576 svabd_u64_x(pg, op1, svdup_n_u64(op2))
577}
578#[doc = "Absolute difference"]
579#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svabd[_u64]_z)"]
580#[inline]
581#[target_feature(enable = "sve")]
582#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
583#[cfg_attr(test, assert_instr(uabd))]
584pub fn svabd_u64_z(pg: svbool_t, op1: svuint64_t, op2: svuint64_t) -> svuint64_t {
585 svabd_u64_m(pg, svsel_u64(pg, op1, svdup_n_u64(0)), op2)
586}
587#[doc = "Absolute difference"]
588#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svabd[_n_u64]_z)"]
589#[inline]
590#[target_feature(enable = "sve")]
591#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
592#[cfg_attr(test, assert_instr(uabd))]
593pub fn svabd_n_u64_z(pg: svbool_t, op1: svuint64_t, op2: u64) -> svuint64_t {
594 svabd_u64_z(pg, op1, svdup_n_u64(op2))
595}
596#[doc = "Absolute value"]
597#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svabs[_f32]_m)"]
598#[inline]
599#[target_feature(enable = "sve")]
600#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
601#[cfg_attr(test, assert_instr(fabs))]
602pub fn svabs_f32_m(inactive: svfloat32_t, pg: svbool_t, op: svfloat32_t) -> svfloat32_t {
603 unsafe extern "unadjusted" {
604 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.fabs.nxv4f32")]
605 fn _svabs_f32_m(inactive: svfloat32_t, pg: svbool4_t, op: svfloat32_t) -> svfloat32_t;
606 }
607 unsafe { _svabs_f32_m(inactive, pg.sve_into(), op) }
608}
609#[doc = "Absolute value"]
610#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svabs[_f32]_x)"]
611#[inline]
612#[target_feature(enable = "sve")]
613#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
614#[cfg_attr(test, assert_instr(fabs))]
615pub fn svabs_f32_x(pg: svbool_t, op: svfloat32_t) -> svfloat32_t {
616 svabs_f32_m(op, pg, op)
617}
618#[doc = "Absolute value"]
619#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svabs[_f32]_z)"]
620#[inline]
621#[target_feature(enable = "sve")]
622#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
623#[cfg_attr(test, assert_instr(fabs))]
624pub fn svabs_f32_z(pg: svbool_t, op: svfloat32_t) -> svfloat32_t {
625 svabs_f32_m(svdup_n_f32(0.0), pg, op)
626}
627#[doc = "Absolute value"]
628#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svabs[_f64]_m)"]
629#[inline]
630#[target_feature(enable = "sve")]
631#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
632#[cfg_attr(test, assert_instr(fabs))]
633pub fn svabs_f64_m(inactive: svfloat64_t, pg: svbool_t, op: svfloat64_t) -> svfloat64_t {
634 unsafe extern "unadjusted" {
635 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.fabs.nxv2f64")]
636 fn _svabs_f64_m(inactive: svfloat64_t, pg: svbool2_t, op: svfloat64_t) -> svfloat64_t;
637 }
638 unsafe { _svabs_f64_m(inactive, pg.sve_into(), op) }
639}
640#[doc = "Absolute value"]
641#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svabs[_f64]_x)"]
642#[inline]
643#[target_feature(enable = "sve")]
644#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
645#[cfg_attr(test, assert_instr(fabs))]
646pub fn svabs_f64_x(pg: svbool_t, op: svfloat64_t) -> svfloat64_t {
647 svabs_f64_m(op, pg, op)
648}
649#[doc = "Absolute value"]
650#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svabs[_f64]_z)"]
651#[inline]
652#[target_feature(enable = "sve")]
653#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
654#[cfg_attr(test, assert_instr(fabs))]
655pub fn svabs_f64_z(pg: svbool_t, op: svfloat64_t) -> svfloat64_t {
656 svabs_f64_m(svdup_n_f64(0.0), pg, op)
657}
658#[doc = "Absolute value"]
659#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svabs[_s8]_m)"]
660#[inline]
661#[target_feature(enable = "sve")]
662#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
663#[cfg_attr(test, assert_instr(abs))]
664pub fn svabs_s8_m(inactive: svint8_t, pg: svbool_t, op: svint8_t) -> svint8_t {
665 unsafe extern "unadjusted" {
666 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.abs.nxv16i8")]
667 fn _svabs_s8_m(inactive: svint8_t, pg: svbool_t, op: svint8_t) -> svint8_t;
668 }
669 unsafe { _svabs_s8_m(inactive, pg, op) }
670}
671#[doc = "Absolute value"]
672#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svabs[_s8]_x)"]
673#[inline]
674#[target_feature(enable = "sve")]
675#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
676#[cfg_attr(test, assert_instr(abs))]
677pub fn svabs_s8_x(pg: svbool_t, op: svint8_t) -> svint8_t {
678 svabs_s8_m(op, pg, op)
679}
680#[doc = "Absolute value"]
681#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svabs[_s8]_z)"]
682#[inline]
683#[target_feature(enable = "sve")]
684#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
685#[cfg_attr(test, assert_instr(abs))]
686pub fn svabs_s8_z(pg: svbool_t, op: svint8_t) -> svint8_t {
687 svabs_s8_m(svdup_n_s8(0), pg, op)
688}
689#[doc = "Absolute value"]
690#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svabs[_s16]_m)"]
691#[inline]
692#[target_feature(enable = "sve")]
693#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
694#[cfg_attr(test, assert_instr(abs))]
695pub fn svabs_s16_m(inactive: svint16_t, pg: svbool_t, op: svint16_t) -> svint16_t {
696 unsafe extern "unadjusted" {
697 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.abs.nxv8i16")]
698 fn _svabs_s16_m(inactive: svint16_t, pg: svbool8_t, op: svint16_t) -> svint16_t;
699 }
700 unsafe { _svabs_s16_m(inactive, pg.sve_into(), op) }
701}
702#[doc = "Absolute value"]
703#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svabs[_s16]_x)"]
704#[inline]
705#[target_feature(enable = "sve")]
706#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
707#[cfg_attr(test, assert_instr(abs))]
708pub fn svabs_s16_x(pg: svbool_t, op: svint16_t) -> svint16_t {
709 svabs_s16_m(op, pg, op)
710}
711#[doc = "Absolute value"]
712#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svabs[_s16]_z)"]
713#[inline]
714#[target_feature(enable = "sve")]
715#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
716#[cfg_attr(test, assert_instr(abs))]
717pub fn svabs_s16_z(pg: svbool_t, op: svint16_t) -> svint16_t {
718 svabs_s16_m(svdup_n_s16(0), pg, op)
719}
720#[doc = "Absolute value"]
721#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svabs[_s32]_m)"]
722#[inline]
723#[target_feature(enable = "sve")]
724#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
725#[cfg_attr(test, assert_instr(abs))]
726pub fn svabs_s32_m(inactive: svint32_t, pg: svbool_t, op: svint32_t) -> svint32_t {
727 unsafe extern "unadjusted" {
728 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.abs.nxv4i32")]
729 fn _svabs_s32_m(inactive: svint32_t, pg: svbool4_t, op: svint32_t) -> svint32_t;
730 }
731 unsafe { _svabs_s32_m(inactive, pg.sve_into(), op) }
732}
733#[doc = "Absolute value"]
734#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svabs[_s32]_x)"]
735#[inline]
736#[target_feature(enable = "sve")]
737#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
738#[cfg_attr(test, assert_instr(abs))]
739pub fn svabs_s32_x(pg: svbool_t, op: svint32_t) -> svint32_t {
740 svabs_s32_m(op, pg, op)
741}
742#[doc = "Absolute value"]
743#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svabs[_s32]_z)"]
744#[inline]
745#[target_feature(enable = "sve")]
746#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
747#[cfg_attr(test, assert_instr(abs))]
748pub fn svabs_s32_z(pg: svbool_t, op: svint32_t) -> svint32_t {
749 svabs_s32_m(svdup_n_s32(0), pg, op)
750}
751#[doc = "Absolute value"]
752#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svabs[_s64]_m)"]
753#[inline]
754#[target_feature(enable = "sve")]
755#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
756#[cfg_attr(test, assert_instr(abs))]
757pub fn svabs_s64_m(inactive: svint64_t, pg: svbool_t, op: svint64_t) -> svint64_t {
758 unsafe extern "unadjusted" {
759 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.abs.nxv2i64")]
760 fn _svabs_s64_m(inactive: svint64_t, pg: svbool2_t, op: svint64_t) -> svint64_t;
761 }
762 unsafe { _svabs_s64_m(inactive, pg.sve_into(), op) }
763}
764#[doc = "Absolute value"]
765#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svabs[_s64]_x)"]
766#[inline]
767#[target_feature(enable = "sve")]
768#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
769#[cfg_attr(test, assert_instr(abs))]
770pub fn svabs_s64_x(pg: svbool_t, op: svint64_t) -> svint64_t {
771 svabs_s64_m(op, pg, op)
772}
773#[doc = "Absolute value"]
774#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svabs[_s64]_z)"]
775#[inline]
776#[target_feature(enable = "sve")]
777#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
778#[cfg_attr(test, assert_instr(abs))]
779pub fn svabs_s64_z(pg: svbool_t, op: svint64_t) -> svint64_t {
780 svabs_s64_m(svdup_n_s64(0), pg, op)
781}
782#[doc = "Absolute compare greater than or equal to"]
783#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svacge[_f32])"]
784#[inline]
785#[target_feature(enable = "sve")]
786#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
787#[cfg_attr(test, assert_instr(facge))]
788pub fn svacge_f32(pg: svbool_t, op1: svfloat32_t, op2: svfloat32_t) -> svbool_t {
789 unsafe extern "unadjusted" {
790 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.facge.nxv4f32")]
791 fn _svacge_f32(pg: svbool4_t, op1: svfloat32_t, op2: svfloat32_t) -> svbool4_t;
792 }
793 unsafe { _svacge_f32(pg.sve_into(), op1, op2).sve_into() }
794}
795#[doc = "Absolute compare greater than or equal to"]
796#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svacge[_n_f32])"]
797#[inline]
798#[target_feature(enable = "sve")]
799#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
800#[cfg_attr(test, assert_instr(facge))]
801pub fn svacge_n_f32(pg: svbool_t, op1: svfloat32_t, op2: f32) -> svbool_t {
802 svacge_f32(pg, op1, svdup_n_f32(op2))
803}
804#[doc = "Absolute compare greater than or equal to"]
805#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svacge[_f64])"]
806#[inline]
807#[target_feature(enable = "sve")]
808#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
809#[cfg_attr(test, assert_instr(facge))]
810pub fn svacge_f64(pg: svbool_t, op1: svfloat64_t, op2: svfloat64_t) -> svbool_t {
811 unsafe extern "unadjusted" {
812 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.facge.nxv2f64")]
813 fn _svacge_f64(pg: svbool2_t, op1: svfloat64_t, op2: svfloat64_t) -> svbool2_t;
814 }
815 unsafe { _svacge_f64(pg.sve_into(), op1, op2).sve_into() }
816}
817#[doc = "Absolute compare greater than or equal to"]
818#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svacge[_n_f64])"]
819#[inline]
820#[target_feature(enable = "sve")]
821#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
822#[cfg_attr(test, assert_instr(facge))]
823pub fn svacge_n_f64(pg: svbool_t, op1: svfloat64_t, op2: f64) -> svbool_t {
824 svacge_f64(pg, op1, svdup_n_f64(op2))
825}
826#[doc = "Absolute compare greater than"]
827#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svacgt[_f32])"]
828#[inline]
829#[target_feature(enable = "sve")]
830#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
831#[cfg_attr(test, assert_instr(facgt))]
832pub fn svacgt_f32(pg: svbool_t, op1: svfloat32_t, op2: svfloat32_t) -> svbool_t {
833 unsafe extern "unadjusted" {
834 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.facgt.nxv4f32")]
835 fn _svacgt_f32(pg: svbool4_t, op1: svfloat32_t, op2: svfloat32_t) -> svbool4_t;
836 }
837 unsafe { _svacgt_f32(pg.sve_into(), op1, op2).sve_into() }
838}
839#[doc = "Absolute compare greater than"]
840#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svacgt[_n_f32])"]
841#[inline]
842#[target_feature(enable = "sve")]
843#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
844#[cfg_attr(test, assert_instr(facgt))]
845pub fn svacgt_n_f32(pg: svbool_t, op1: svfloat32_t, op2: f32) -> svbool_t {
846 svacgt_f32(pg, op1, svdup_n_f32(op2))
847}
848#[doc = "Absolute compare greater than"]
849#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svacgt[_f64])"]
850#[inline]
851#[target_feature(enable = "sve")]
852#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
853#[cfg_attr(test, assert_instr(facgt))]
854pub fn svacgt_f64(pg: svbool_t, op1: svfloat64_t, op2: svfloat64_t) -> svbool_t {
855 unsafe extern "unadjusted" {
856 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.facgt.nxv2f64")]
857 fn _svacgt_f64(pg: svbool2_t, op1: svfloat64_t, op2: svfloat64_t) -> svbool2_t;
858 }
859 unsafe { _svacgt_f64(pg.sve_into(), op1, op2).sve_into() }
860}
861#[doc = "Absolute compare greater than"]
862#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svacgt[_n_f64])"]
863#[inline]
864#[target_feature(enable = "sve")]
865#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
866#[cfg_attr(test, assert_instr(facgt))]
867pub fn svacgt_n_f64(pg: svbool_t, op1: svfloat64_t, op2: f64) -> svbool_t {
868 svacgt_f64(pg, op1, svdup_n_f64(op2))
869}
870#[doc = "Absolute compare less than or equal to"]
871#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svacle[_f32])"]
872#[inline]
873#[target_feature(enable = "sve")]
874#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
875#[cfg_attr(test, assert_instr(facge))]
876pub fn svacle_f32(pg: svbool_t, op1: svfloat32_t, op2: svfloat32_t) -> svbool_t {
877 svacge_f32(pg, op2, op1)
878}
879#[doc = "Absolute compare less than or equal to"]
880#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svacle[_n_f32])"]
881#[inline]
882#[target_feature(enable = "sve")]
883#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
884#[cfg_attr(test, assert_instr(facge))]
885pub fn svacle_n_f32(pg: svbool_t, op1: svfloat32_t, op2: f32) -> svbool_t {
886 svacle_f32(pg, op1, svdup_n_f32(op2))
887}
888#[doc = "Absolute compare less than or equal to"]
889#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svacle[_f64])"]
890#[inline]
891#[target_feature(enable = "sve")]
892#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
893#[cfg_attr(test, assert_instr(facge))]
894pub fn svacle_f64(pg: svbool_t, op1: svfloat64_t, op2: svfloat64_t) -> svbool_t {
895 svacge_f64(pg, op2, op1)
896}
897#[doc = "Absolute compare less than or equal to"]
898#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svacle[_n_f64])"]
899#[inline]
900#[target_feature(enable = "sve")]
901#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
902#[cfg_attr(test, assert_instr(facge))]
903pub fn svacle_n_f64(pg: svbool_t, op1: svfloat64_t, op2: f64) -> svbool_t {
904 svacle_f64(pg, op1, svdup_n_f64(op2))
905}
906#[doc = "Absolute compare less than"]
907#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svaclt[_f32])"]
908#[inline]
909#[target_feature(enable = "sve")]
910#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
911#[cfg_attr(test, assert_instr(facgt))]
912pub fn svaclt_f32(pg: svbool_t, op1: svfloat32_t, op2: svfloat32_t) -> svbool_t {
913 svacgt_f32(pg, op2, op1)
914}
915#[doc = "Absolute compare less than"]
916#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svaclt[_n_f32])"]
917#[inline]
918#[target_feature(enable = "sve")]
919#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
920#[cfg_attr(test, assert_instr(facgt))]
921pub fn svaclt_n_f32(pg: svbool_t, op1: svfloat32_t, op2: f32) -> svbool_t {
922 svaclt_f32(pg, op1, svdup_n_f32(op2))
923}
924#[doc = "Absolute compare less than"]
925#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svaclt[_f64])"]
926#[inline]
927#[target_feature(enable = "sve")]
928#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
929#[cfg_attr(test, assert_instr(facgt))]
930pub fn svaclt_f64(pg: svbool_t, op1: svfloat64_t, op2: svfloat64_t) -> svbool_t {
931 svacgt_f64(pg, op2, op1)
932}
933#[doc = "Absolute compare less than"]
934#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svaclt[_n_f64])"]
935#[inline]
936#[target_feature(enable = "sve")]
937#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
938#[cfg_attr(test, assert_instr(facgt))]
939pub fn svaclt_n_f64(pg: svbool_t, op1: svfloat64_t, op2: f64) -> svbool_t {
940 svaclt_f64(pg, op1, svdup_n_f64(op2))
941}
942#[doc = "Add"]
943#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svadd[_f32]_m)"]
944#[inline]
945#[target_feature(enable = "sve")]
946#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
947#[cfg_attr(test, assert_instr(fadd))]
948pub fn svadd_f32_m(pg: svbool_t, op1: svfloat32_t, op2: svfloat32_t) -> svfloat32_t {
949 unsafe extern "unadjusted" {
950 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.fadd.nxv4f32")]
951 fn _svadd_f32_m(pg: svbool4_t, op1: svfloat32_t, op2: svfloat32_t) -> svfloat32_t;
952 }
953 unsafe { _svadd_f32_m(pg.sve_into(), op1, op2) }
954}
955#[doc = "Add"]
956#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svadd[_n_f32]_m)"]
957#[inline]
958#[target_feature(enable = "sve")]
959#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
960#[cfg_attr(test, assert_instr(fadd))]
961pub fn svadd_n_f32_m(pg: svbool_t, op1: svfloat32_t, op2: f32) -> svfloat32_t {
962 svadd_f32_m(pg, op1, svdup_n_f32(op2))
963}
964#[doc = "Add"]
965#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svadd[_f32]_x)"]
966#[inline]
967#[target_feature(enable = "sve")]
968#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
969#[cfg_attr(test, assert_instr(fadd))]
970pub fn svadd_f32_x(pg: svbool_t, op1: svfloat32_t, op2: svfloat32_t) -> svfloat32_t {
971 svadd_f32_m(pg, op1, op2)
972}
973#[doc = "Add"]
974#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svadd[_n_f32]_x)"]
975#[inline]
976#[target_feature(enable = "sve")]
977#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
978#[cfg_attr(test, assert_instr(fadd))]
979pub fn svadd_n_f32_x(pg: svbool_t, op1: svfloat32_t, op2: f32) -> svfloat32_t {
980 svadd_f32_x(pg, op1, svdup_n_f32(op2))
981}
982#[doc = "Add"]
983#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svadd[_f32]_z)"]
984#[inline]
985#[target_feature(enable = "sve")]
986#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
987#[cfg_attr(test, assert_instr(fadd))]
988pub fn svadd_f32_z(pg: svbool_t, op1: svfloat32_t, op2: svfloat32_t) -> svfloat32_t {
989 svadd_f32_m(pg, svsel_f32(pg, op1, svdup_n_f32(0.0)), op2)
990}
991#[doc = "Add"]
992#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svadd[_n_f32]_z)"]
993#[inline]
994#[target_feature(enable = "sve")]
995#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
996#[cfg_attr(test, assert_instr(fadd))]
997pub fn svadd_n_f32_z(pg: svbool_t, op1: svfloat32_t, op2: f32) -> svfloat32_t {
998 svadd_f32_z(pg, op1, svdup_n_f32(op2))
999}
1000#[doc = "Add"]
1001#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svadd[_f64]_m)"]
1002#[inline]
1003#[target_feature(enable = "sve")]
1004#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1005#[cfg_attr(test, assert_instr(fadd))]
1006pub fn svadd_f64_m(pg: svbool_t, op1: svfloat64_t, op2: svfloat64_t) -> svfloat64_t {
1007 unsafe extern "unadjusted" {
1008 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.fadd.nxv2f64")]
1009 fn _svadd_f64_m(pg: svbool2_t, op1: svfloat64_t, op2: svfloat64_t) -> svfloat64_t;
1010 }
1011 unsafe { _svadd_f64_m(pg.sve_into(), op1, op2) }
1012}
1013#[doc = "Add"]
1014#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svadd[_n_f64]_m)"]
1015#[inline]
1016#[target_feature(enable = "sve")]
1017#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1018#[cfg_attr(test, assert_instr(fadd))]
1019pub fn svadd_n_f64_m(pg: svbool_t, op1: svfloat64_t, op2: f64) -> svfloat64_t {
1020 svadd_f64_m(pg, op1, svdup_n_f64(op2))
1021}
1022#[doc = "Add"]
1023#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svadd[_f64]_x)"]
1024#[inline]
1025#[target_feature(enable = "sve")]
1026#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1027#[cfg_attr(test, assert_instr(fadd))]
1028pub fn svadd_f64_x(pg: svbool_t, op1: svfloat64_t, op2: svfloat64_t) -> svfloat64_t {
1029 svadd_f64_m(pg, op1, op2)
1030}
1031#[doc = "Add"]
1032#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svadd[_n_f64]_x)"]
1033#[inline]
1034#[target_feature(enable = "sve")]
1035#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1036#[cfg_attr(test, assert_instr(fadd))]
1037pub fn svadd_n_f64_x(pg: svbool_t, op1: svfloat64_t, op2: f64) -> svfloat64_t {
1038 svadd_f64_x(pg, op1, svdup_n_f64(op2))
1039}
1040#[doc = "Add"]
1041#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svadd[_f64]_z)"]
1042#[inline]
1043#[target_feature(enable = "sve")]
1044#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1045#[cfg_attr(test, assert_instr(fadd))]
1046pub fn svadd_f64_z(pg: svbool_t, op1: svfloat64_t, op2: svfloat64_t) -> svfloat64_t {
1047 svadd_f64_m(pg, svsel_f64(pg, op1, svdup_n_f64(0.0)), op2)
1048}
1049#[doc = "Add"]
1050#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svadd[_n_f64]_z)"]
1051#[inline]
1052#[target_feature(enable = "sve")]
1053#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1054#[cfg_attr(test, assert_instr(fadd))]
1055pub fn svadd_n_f64_z(pg: svbool_t, op1: svfloat64_t, op2: f64) -> svfloat64_t {
1056 svadd_f64_z(pg, op1, svdup_n_f64(op2))
1057}
1058#[doc = "Add"]
1059#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svadd[_s8]_m)"]
1060#[inline]
1061#[target_feature(enable = "sve")]
1062#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1063#[cfg_attr(test, assert_instr(add))]
1064pub fn svadd_s8_m(pg: svbool_t, op1: svint8_t, op2: svint8_t) -> svint8_t {
1065 unsafe extern "unadjusted" {
1066 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.add.nxv16i8")]
1067 fn _svadd_s8_m(pg: svbool_t, op1: svint8_t, op2: svint8_t) -> svint8_t;
1068 }
1069 unsafe { _svadd_s8_m(pg, op1, op2) }
1070}
1071#[doc = "Add"]
1072#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svadd[_n_s8]_m)"]
1073#[inline]
1074#[target_feature(enable = "sve")]
1075#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1076#[cfg_attr(test, assert_instr(add))]
1077pub fn svadd_n_s8_m(pg: svbool_t, op1: svint8_t, op2: i8) -> svint8_t {
1078 svadd_s8_m(pg, op1, svdup_n_s8(op2))
1079}
1080#[doc = "Add"]
1081#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svadd[_s8]_x)"]
1082#[inline]
1083#[target_feature(enable = "sve")]
1084#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1085#[cfg_attr(test, assert_instr(add))]
1086pub fn svadd_s8_x(pg: svbool_t, op1: svint8_t, op2: svint8_t) -> svint8_t {
1087 svadd_s8_m(pg, op1, op2)
1088}
1089#[doc = "Add"]
1090#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svadd[_n_s8]_x)"]
1091#[inline]
1092#[target_feature(enable = "sve")]
1093#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1094#[cfg_attr(test, assert_instr(add))]
1095pub fn svadd_n_s8_x(pg: svbool_t, op1: svint8_t, op2: i8) -> svint8_t {
1096 svadd_s8_x(pg, op1, svdup_n_s8(op2))
1097}
1098#[doc = "Add"]
1099#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svadd[_s8]_z)"]
1100#[inline]
1101#[target_feature(enable = "sve")]
1102#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1103#[cfg_attr(test, assert_instr(add))]
1104pub fn svadd_s8_z(pg: svbool_t, op1: svint8_t, op2: svint8_t) -> svint8_t {
1105 svadd_s8_m(pg, svsel_s8(pg, op1, svdup_n_s8(0)), op2)
1106}
1107#[doc = "Add"]
1108#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svadd[_n_s8]_z)"]
1109#[inline]
1110#[target_feature(enable = "sve")]
1111#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1112#[cfg_attr(test, assert_instr(add))]
1113pub fn svadd_n_s8_z(pg: svbool_t, op1: svint8_t, op2: i8) -> svint8_t {
1114 svadd_s8_z(pg, op1, svdup_n_s8(op2))
1115}
1116#[doc = "Add"]
1117#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svadd[_s16]_m)"]
1118#[inline]
1119#[target_feature(enable = "sve")]
1120#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1121#[cfg_attr(test, assert_instr(add))]
1122pub fn svadd_s16_m(pg: svbool_t, op1: svint16_t, op2: svint16_t) -> svint16_t {
1123 unsafe extern "unadjusted" {
1124 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.add.nxv8i16")]
1125 fn _svadd_s16_m(pg: svbool8_t, op1: svint16_t, op2: svint16_t) -> svint16_t;
1126 }
1127 unsafe { _svadd_s16_m(pg.sve_into(), op1, op2) }
1128}
1129#[doc = "Add"]
1130#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svadd[_n_s16]_m)"]
1131#[inline]
1132#[target_feature(enable = "sve")]
1133#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1134#[cfg_attr(test, assert_instr(add))]
1135pub fn svadd_n_s16_m(pg: svbool_t, op1: svint16_t, op2: i16) -> svint16_t {
1136 svadd_s16_m(pg, op1, svdup_n_s16(op2))
1137}
1138#[doc = "Add"]
1139#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svadd[_s16]_x)"]
1140#[inline]
1141#[target_feature(enable = "sve")]
1142#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1143#[cfg_attr(test, assert_instr(add))]
1144pub fn svadd_s16_x(pg: svbool_t, op1: svint16_t, op2: svint16_t) -> svint16_t {
1145 svadd_s16_m(pg, op1, op2)
1146}
1147#[doc = "Add"]
1148#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svadd[_n_s16]_x)"]
1149#[inline]
1150#[target_feature(enable = "sve")]
1151#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1152#[cfg_attr(test, assert_instr(add))]
1153pub fn svadd_n_s16_x(pg: svbool_t, op1: svint16_t, op2: i16) -> svint16_t {
1154 svadd_s16_x(pg, op1, svdup_n_s16(op2))
1155}
1156#[doc = "Add"]
1157#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svadd[_s16]_z)"]
1158#[inline]
1159#[target_feature(enable = "sve")]
1160#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1161#[cfg_attr(test, assert_instr(add))]
1162pub fn svadd_s16_z(pg: svbool_t, op1: svint16_t, op2: svint16_t) -> svint16_t {
1163 svadd_s16_m(pg, svsel_s16(pg, op1, svdup_n_s16(0)), op2)
1164}
1165#[doc = "Add"]
1166#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svadd[_n_s16]_z)"]
1167#[inline]
1168#[target_feature(enable = "sve")]
1169#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1170#[cfg_attr(test, assert_instr(add))]
1171pub fn svadd_n_s16_z(pg: svbool_t, op1: svint16_t, op2: i16) -> svint16_t {
1172 svadd_s16_z(pg, op1, svdup_n_s16(op2))
1173}
1174#[doc = "Add"]
1175#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svadd[_s32]_m)"]
1176#[inline]
1177#[target_feature(enable = "sve")]
1178#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1179#[cfg_attr(test, assert_instr(add))]
1180pub fn svadd_s32_m(pg: svbool_t, op1: svint32_t, op2: svint32_t) -> svint32_t {
1181 unsafe extern "unadjusted" {
1182 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.add.nxv4i32")]
1183 fn _svadd_s32_m(pg: svbool4_t, op1: svint32_t, op2: svint32_t) -> svint32_t;
1184 }
1185 unsafe { _svadd_s32_m(pg.sve_into(), op1, op2) }
1186}
1187#[doc = "Add"]
1188#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svadd[_n_s32]_m)"]
1189#[inline]
1190#[target_feature(enable = "sve")]
1191#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1192#[cfg_attr(test, assert_instr(add))]
1193pub fn svadd_n_s32_m(pg: svbool_t, op1: svint32_t, op2: i32) -> svint32_t {
1194 svadd_s32_m(pg, op1, svdup_n_s32(op2))
1195}
1196#[doc = "Add"]
1197#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svadd[_s32]_x)"]
1198#[inline]
1199#[target_feature(enable = "sve")]
1200#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1201#[cfg_attr(test, assert_instr(add))]
1202pub fn svadd_s32_x(pg: svbool_t, op1: svint32_t, op2: svint32_t) -> svint32_t {
1203 svadd_s32_m(pg, op1, op2)
1204}
1205#[doc = "Add"]
1206#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svadd[_n_s32]_x)"]
1207#[inline]
1208#[target_feature(enable = "sve")]
1209#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1210#[cfg_attr(test, assert_instr(add))]
1211pub fn svadd_n_s32_x(pg: svbool_t, op1: svint32_t, op2: i32) -> svint32_t {
1212 svadd_s32_x(pg, op1, svdup_n_s32(op2))
1213}
1214#[doc = "Add"]
1215#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svadd[_s32]_z)"]
1216#[inline]
1217#[target_feature(enable = "sve")]
1218#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1219#[cfg_attr(test, assert_instr(add))]
1220pub fn svadd_s32_z(pg: svbool_t, op1: svint32_t, op2: svint32_t) -> svint32_t {
1221 svadd_s32_m(pg, svsel_s32(pg, op1, svdup_n_s32(0)), op2)
1222}
1223#[doc = "Add"]
1224#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svadd[_n_s32]_z)"]
1225#[inline]
1226#[target_feature(enable = "sve")]
1227#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1228#[cfg_attr(test, assert_instr(add))]
1229pub fn svadd_n_s32_z(pg: svbool_t, op1: svint32_t, op2: i32) -> svint32_t {
1230 svadd_s32_z(pg, op1, svdup_n_s32(op2))
1231}
1232#[doc = "Add"]
1233#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svadd[_s64]_m)"]
1234#[inline]
1235#[target_feature(enable = "sve")]
1236#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1237#[cfg_attr(test, assert_instr(add))]
1238pub fn svadd_s64_m(pg: svbool_t, op1: svint64_t, op2: svint64_t) -> svint64_t {
1239 unsafe extern "unadjusted" {
1240 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.add.nxv2i64")]
1241 fn _svadd_s64_m(pg: svbool2_t, op1: svint64_t, op2: svint64_t) -> svint64_t;
1242 }
1243 unsafe { _svadd_s64_m(pg.sve_into(), op1, op2) }
1244}
1245#[doc = "Add"]
1246#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svadd[_n_s64]_m)"]
1247#[inline]
1248#[target_feature(enable = "sve")]
1249#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1250#[cfg_attr(test, assert_instr(add))]
1251pub fn svadd_n_s64_m(pg: svbool_t, op1: svint64_t, op2: i64) -> svint64_t {
1252 svadd_s64_m(pg, op1, svdup_n_s64(op2))
1253}
1254#[doc = "Add"]
1255#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svadd[_s64]_x)"]
1256#[inline]
1257#[target_feature(enable = "sve")]
1258#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1259#[cfg_attr(test, assert_instr(add))]
1260pub fn svadd_s64_x(pg: svbool_t, op1: svint64_t, op2: svint64_t) -> svint64_t {
1261 svadd_s64_m(pg, op1, op2)
1262}
1263#[doc = "Add"]
1264#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svadd[_n_s64]_x)"]
1265#[inline]
1266#[target_feature(enable = "sve")]
1267#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1268#[cfg_attr(test, assert_instr(add))]
1269pub fn svadd_n_s64_x(pg: svbool_t, op1: svint64_t, op2: i64) -> svint64_t {
1270 svadd_s64_x(pg, op1, svdup_n_s64(op2))
1271}
1272#[doc = "Add"]
1273#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svadd[_s64]_z)"]
1274#[inline]
1275#[target_feature(enable = "sve")]
1276#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1277#[cfg_attr(test, assert_instr(add))]
1278pub fn svadd_s64_z(pg: svbool_t, op1: svint64_t, op2: svint64_t) -> svint64_t {
1279 svadd_s64_m(pg, svsel_s64(pg, op1, svdup_n_s64(0)), op2)
1280}
1281#[doc = "Add"]
1282#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svadd[_n_s64]_z)"]
1283#[inline]
1284#[target_feature(enable = "sve")]
1285#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1286#[cfg_attr(test, assert_instr(add))]
1287pub fn svadd_n_s64_z(pg: svbool_t, op1: svint64_t, op2: i64) -> svint64_t {
1288 svadd_s64_z(pg, op1, svdup_n_s64(op2))
1289}
1290#[doc = "Add"]
1291#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svadd[_u8]_m)"]
1292#[inline]
1293#[target_feature(enable = "sve")]
1294#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1295#[cfg_attr(test, assert_instr(add))]
1296pub fn svadd_u8_m(pg: svbool_t, op1: svuint8_t, op2: svuint8_t) -> svuint8_t {
1297 unsafe { svadd_s8_m(pg, op1.as_signed(), op2.as_signed()).as_unsigned() }
1298}
1299#[doc = "Add"]
1300#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svadd[_n_u8]_m)"]
1301#[inline]
1302#[target_feature(enable = "sve")]
1303#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1304#[cfg_attr(test, assert_instr(add))]
1305pub fn svadd_n_u8_m(pg: svbool_t, op1: svuint8_t, op2: u8) -> svuint8_t {
1306 svadd_u8_m(pg, op1, svdup_n_u8(op2))
1307}
1308#[doc = "Add"]
1309#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svadd[_u8]_x)"]
1310#[inline]
1311#[target_feature(enable = "sve")]
1312#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1313#[cfg_attr(test, assert_instr(add))]
1314pub fn svadd_u8_x(pg: svbool_t, op1: svuint8_t, op2: svuint8_t) -> svuint8_t {
1315 svadd_u8_m(pg, op1, op2)
1316}
1317#[doc = "Add"]
1318#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svadd[_n_u8]_x)"]
1319#[inline]
1320#[target_feature(enable = "sve")]
1321#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1322#[cfg_attr(test, assert_instr(add))]
1323pub fn svadd_n_u8_x(pg: svbool_t, op1: svuint8_t, op2: u8) -> svuint8_t {
1324 svadd_u8_x(pg, op1, svdup_n_u8(op2))
1325}
1326#[doc = "Add"]
1327#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svadd[_u8]_z)"]
1328#[inline]
1329#[target_feature(enable = "sve")]
1330#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1331#[cfg_attr(test, assert_instr(add))]
1332pub fn svadd_u8_z(pg: svbool_t, op1: svuint8_t, op2: svuint8_t) -> svuint8_t {
1333 svadd_u8_m(pg, svsel_u8(pg, op1, svdup_n_u8(0)), op2)
1334}
1335#[doc = "Add"]
1336#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svadd[_n_u8]_z)"]
1337#[inline]
1338#[target_feature(enable = "sve")]
1339#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1340#[cfg_attr(test, assert_instr(add))]
1341pub fn svadd_n_u8_z(pg: svbool_t, op1: svuint8_t, op2: u8) -> svuint8_t {
1342 svadd_u8_z(pg, op1, svdup_n_u8(op2))
1343}
1344#[doc = "Add"]
1345#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svadd[_u16]_m)"]
1346#[inline]
1347#[target_feature(enable = "sve")]
1348#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1349#[cfg_attr(test, assert_instr(add))]
1350pub fn svadd_u16_m(pg: svbool_t, op1: svuint16_t, op2: svuint16_t) -> svuint16_t {
1351 unsafe { svadd_s16_m(pg, op1.as_signed(), op2.as_signed()).as_unsigned() }
1352}
1353#[doc = "Add"]
1354#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svadd[_n_u16]_m)"]
1355#[inline]
1356#[target_feature(enable = "sve")]
1357#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1358#[cfg_attr(test, assert_instr(add))]
1359pub fn svadd_n_u16_m(pg: svbool_t, op1: svuint16_t, op2: u16) -> svuint16_t {
1360 svadd_u16_m(pg, op1, svdup_n_u16(op2))
1361}
1362#[doc = "Add"]
1363#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svadd[_u16]_x)"]
1364#[inline]
1365#[target_feature(enable = "sve")]
1366#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1367#[cfg_attr(test, assert_instr(add))]
1368pub fn svadd_u16_x(pg: svbool_t, op1: svuint16_t, op2: svuint16_t) -> svuint16_t {
1369 svadd_u16_m(pg, op1, op2)
1370}
1371#[doc = "Add"]
1372#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svadd[_n_u16]_x)"]
1373#[inline]
1374#[target_feature(enable = "sve")]
1375#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1376#[cfg_attr(test, assert_instr(add))]
1377pub fn svadd_n_u16_x(pg: svbool_t, op1: svuint16_t, op2: u16) -> svuint16_t {
1378 svadd_u16_x(pg, op1, svdup_n_u16(op2))
1379}
1380#[doc = "Add"]
1381#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svadd[_u16]_z)"]
1382#[inline]
1383#[target_feature(enable = "sve")]
1384#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1385#[cfg_attr(test, assert_instr(add))]
1386pub fn svadd_u16_z(pg: svbool_t, op1: svuint16_t, op2: svuint16_t) -> svuint16_t {
1387 svadd_u16_m(pg, svsel_u16(pg, op1, svdup_n_u16(0)), op2)
1388}
1389#[doc = "Add"]
1390#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svadd[_n_u16]_z)"]
1391#[inline]
1392#[target_feature(enable = "sve")]
1393#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1394#[cfg_attr(test, assert_instr(add))]
1395pub fn svadd_n_u16_z(pg: svbool_t, op1: svuint16_t, op2: u16) -> svuint16_t {
1396 svadd_u16_z(pg, op1, svdup_n_u16(op2))
1397}
1398#[doc = "Add"]
1399#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svadd[_u32]_m)"]
1400#[inline]
1401#[target_feature(enable = "sve")]
1402#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1403#[cfg_attr(test, assert_instr(add))]
1404pub fn svadd_u32_m(pg: svbool_t, op1: svuint32_t, op2: svuint32_t) -> svuint32_t {
1405 unsafe { svadd_s32_m(pg, op1.as_signed(), op2.as_signed()).as_unsigned() }
1406}
1407#[doc = "Add"]
1408#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svadd[_n_u32]_m)"]
1409#[inline]
1410#[target_feature(enable = "sve")]
1411#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1412#[cfg_attr(test, assert_instr(add))]
1413pub fn svadd_n_u32_m(pg: svbool_t, op1: svuint32_t, op2: u32) -> svuint32_t {
1414 svadd_u32_m(pg, op1, svdup_n_u32(op2))
1415}
1416#[doc = "Add"]
1417#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svadd[_u32]_x)"]
1418#[inline]
1419#[target_feature(enable = "sve")]
1420#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1421#[cfg_attr(test, assert_instr(add))]
1422pub fn svadd_u32_x(pg: svbool_t, op1: svuint32_t, op2: svuint32_t) -> svuint32_t {
1423 svadd_u32_m(pg, op1, op2)
1424}
1425#[doc = "Add"]
1426#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svadd[_n_u32]_x)"]
1427#[inline]
1428#[target_feature(enable = "sve")]
1429#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1430#[cfg_attr(test, assert_instr(add))]
1431pub fn svadd_n_u32_x(pg: svbool_t, op1: svuint32_t, op2: u32) -> svuint32_t {
1432 svadd_u32_x(pg, op1, svdup_n_u32(op2))
1433}
1434#[doc = "Add"]
1435#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svadd[_u32]_z)"]
1436#[inline]
1437#[target_feature(enable = "sve")]
1438#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1439#[cfg_attr(test, assert_instr(add))]
1440pub fn svadd_u32_z(pg: svbool_t, op1: svuint32_t, op2: svuint32_t) -> svuint32_t {
1441 svadd_u32_m(pg, svsel_u32(pg, op1, svdup_n_u32(0)), op2)
1442}
1443#[doc = "Add"]
1444#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svadd[_n_u32]_z)"]
1445#[inline]
1446#[target_feature(enable = "sve")]
1447#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1448#[cfg_attr(test, assert_instr(add))]
1449pub fn svadd_n_u32_z(pg: svbool_t, op1: svuint32_t, op2: u32) -> svuint32_t {
1450 svadd_u32_z(pg, op1, svdup_n_u32(op2))
1451}
1452#[doc = "Add"]
1453#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svadd[_u64]_m)"]
1454#[inline]
1455#[target_feature(enable = "sve")]
1456#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1457#[cfg_attr(test, assert_instr(add))]
1458pub fn svadd_u64_m(pg: svbool_t, op1: svuint64_t, op2: svuint64_t) -> svuint64_t {
1459 unsafe { svadd_s64_m(pg, op1.as_signed(), op2.as_signed()).as_unsigned() }
1460}
1461#[doc = "Add"]
1462#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svadd[_n_u64]_m)"]
1463#[inline]
1464#[target_feature(enable = "sve")]
1465#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1466#[cfg_attr(test, assert_instr(add))]
1467pub fn svadd_n_u64_m(pg: svbool_t, op1: svuint64_t, op2: u64) -> svuint64_t {
1468 svadd_u64_m(pg, op1, svdup_n_u64(op2))
1469}
1470#[doc = "Add"]
1471#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svadd[_u64]_x)"]
1472#[inline]
1473#[target_feature(enable = "sve")]
1474#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1475#[cfg_attr(test, assert_instr(add))]
1476pub fn svadd_u64_x(pg: svbool_t, op1: svuint64_t, op2: svuint64_t) -> svuint64_t {
1477 svadd_u64_m(pg, op1, op2)
1478}
1479#[doc = "Add"]
1480#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svadd[_n_u64]_x)"]
1481#[inline]
1482#[target_feature(enable = "sve")]
1483#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1484#[cfg_attr(test, assert_instr(add))]
1485pub fn svadd_n_u64_x(pg: svbool_t, op1: svuint64_t, op2: u64) -> svuint64_t {
1486 svadd_u64_x(pg, op1, svdup_n_u64(op2))
1487}
1488#[doc = "Add"]
1489#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svadd[_u64]_z)"]
1490#[inline]
1491#[target_feature(enable = "sve")]
1492#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1493#[cfg_attr(test, assert_instr(add))]
1494pub fn svadd_u64_z(pg: svbool_t, op1: svuint64_t, op2: svuint64_t) -> svuint64_t {
1495 svadd_u64_m(pg, svsel_u64(pg, op1, svdup_n_u64(0)), op2)
1496}
1497#[doc = "Add"]
1498#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svadd[_n_u64]_z)"]
1499#[inline]
1500#[target_feature(enable = "sve")]
1501#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1502#[cfg_attr(test, assert_instr(add))]
1503pub fn svadd_n_u64_z(pg: svbool_t, op1: svuint64_t, op2: u64) -> svuint64_t {
1504 svadd_u64_z(pg, op1, svdup_n_u64(op2))
1505}
1506#[doc = "Add reduction (strictly-ordered)"]
1507#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svadda[_f32])"]
1508#[inline]
1509#[target_feature(enable = "sve")]
1510#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1511#[cfg_attr(test, assert_instr(fadda))]
1512pub fn svadda_f32(pg: svbool_t, initial: f32, op: svfloat32_t) -> f32 {
1513 unsafe extern "unadjusted" {
1514 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.fadda.nxv4f32")]
1515 fn _svadda_f32(pg: svbool4_t, initial: f32, op: svfloat32_t) -> f32;
1516 }
1517 unsafe { _svadda_f32(pg.sve_into(), initial, op) }
1518}
1519#[doc = "Add reduction (strictly-ordered)"]
1520#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svadda[_f64])"]
1521#[inline]
1522#[target_feature(enable = "sve")]
1523#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1524#[cfg_attr(test, assert_instr(fadda))]
1525pub fn svadda_f64(pg: svbool_t, initial: f64, op: svfloat64_t) -> f64 {
1526 unsafe extern "unadjusted" {
1527 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.fadda.nxv2f64")]
1528 fn _svadda_f64(pg: svbool2_t, initial: f64, op: svfloat64_t) -> f64;
1529 }
1530 unsafe { _svadda_f64(pg.sve_into(), initial, op) }
1531}
1532#[doc = "Add reduction"]
1533#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svaddv[_f32])"]
1534#[inline]
1535#[target_feature(enable = "sve")]
1536#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1537#[cfg_attr(test, assert_instr(faddv))]
1538pub fn svaddv_f32(pg: svbool_t, op: svfloat32_t) -> f32 {
1539 unsafe extern "unadjusted" {
1540 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.faddv.nxv4f32")]
1541 fn _svaddv_f32(pg: svbool4_t, op: svfloat32_t) -> f32;
1542 }
1543 unsafe { _svaddv_f32(pg.sve_into(), op) }
1544}
1545#[doc = "Add reduction"]
1546#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svaddv[_f64])"]
1547#[inline]
1548#[target_feature(enable = "sve")]
1549#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1550#[cfg_attr(test, assert_instr(faddv))]
1551pub fn svaddv_f64(pg: svbool_t, op: svfloat64_t) -> f64 {
1552 unsafe extern "unadjusted" {
1553 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.faddv.nxv2f64")]
1554 fn _svaddv_f64(pg: svbool2_t, op: svfloat64_t) -> f64;
1555 }
1556 unsafe { _svaddv_f64(pg.sve_into(), op) }
1557}
1558#[doc = "Add reduction"]
1559#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svaddv[_s64])"]
1560#[inline]
1561#[target_feature(enable = "sve")]
1562#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1563#[cfg_attr(test, assert_instr(uaddv))]
1564pub fn svaddv_s64(pg: svbool_t, op: svint64_t) -> i64 {
1565 unsafe extern "unadjusted" {
1566 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.saddv.nxv2i64")]
1567 fn _svaddv_s64(pg: svbool2_t, op: svint64_t) -> i64;
1568 }
1569 unsafe { _svaddv_s64(pg.sve_into(), op) }
1570}
1571#[doc = "Add reduction"]
1572#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svaddv[_u64])"]
1573#[inline]
1574#[target_feature(enable = "sve")]
1575#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1576#[cfg_attr(test, assert_instr(uaddv))]
1577pub fn svaddv_u64(pg: svbool_t, op: svuint64_t) -> u64 {
1578 unsafe extern "unadjusted" {
1579 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.uaddv.nxv2i64")]
1580 fn _svaddv_u64(pg: svbool2_t, op: svint64_t) -> i64;
1581 }
1582 unsafe { _svaddv_u64(pg.sve_into(), op.as_signed()).as_unsigned() }
1583}
1584#[doc = "Add reduction"]
1585#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svaddv[_s8])"]
1586#[inline]
1587#[target_feature(enable = "sve")]
1588#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1589#[cfg_attr(test, assert_instr(saddv))]
1590pub fn svaddv_s8(pg: svbool_t, op: svint8_t) -> i64 {
1591 unsafe extern "unadjusted" {
1592 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.saddv.nxv16i8")]
1593 fn _svaddv_s8(pg: svbool_t, op: svint8_t) -> i64;
1594 }
1595 unsafe { _svaddv_s8(pg, op) }
1596}
1597#[doc = "Add reduction"]
1598#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svaddv[_s16])"]
1599#[inline]
1600#[target_feature(enable = "sve")]
1601#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1602#[cfg_attr(test, assert_instr(saddv))]
1603pub fn svaddv_s16(pg: svbool_t, op: svint16_t) -> i64 {
1604 unsafe extern "unadjusted" {
1605 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.saddv.nxv8i16")]
1606 fn _svaddv_s16(pg: svbool8_t, op: svint16_t) -> i64;
1607 }
1608 unsafe { _svaddv_s16(pg.sve_into(), op) }
1609}
1610#[doc = "Add reduction"]
1611#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svaddv[_s32])"]
1612#[inline]
1613#[target_feature(enable = "sve")]
1614#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1615#[cfg_attr(test, assert_instr(saddv))]
1616pub fn svaddv_s32(pg: svbool_t, op: svint32_t) -> i64 {
1617 unsafe extern "unadjusted" {
1618 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.saddv.nxv4i32")]
1619 fn _svaddv_s32(pg: svbool4_t, op: svint32_t) -> i64;
1620 }
1621 unsafe { _svaddv_s32(pg.sve_into(), op) }
1622}
1623#[doc = "Add reduction"]
1624#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svaddv[_u8])"]
1625#[inline]
1626#[target_feature(enable = "sve")]
1627#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1628#[cfg_attr(test, assert_instr(uaddv))]
1629pub fn svaddv_u8(pg: svbool_t, op: svuint8_t) -> u64 {
1630 unsafe extern "unadjusted" {
1631 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.uaddv.nxv16i8")]
1632 fn _svaddv_u8(pg: svbool_t, op: svint8_t) -> i64;
1633 }
1634 unsafe { _svaddv_u8(pg, op.as_signed()).as_unsigned() }
1635}
1636#[doc = "Add reduction"]
1637#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svaddv[_u16])"]
1638#[inline]
1639#[target_feature(enable = "sve")]
1640#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1641#[cfg_attr(test, assert_instr(uaddv))]
1642pub fn svaddv_u16(pg: svbool_t, op: svuint16_t) -> u64 {
1643 unsafe extern "unadjusted" {
1644 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.uaddv.nxv8i16")]
1645 fn _svaddv_u16(pg: svbool8_t, op: svint16_t) -> i64;
1646 }
1647 unsafe { _svaddv_u16(pg.sve_into(), op.as_signed()).as_unsigned() }
1648}
1649#[doc = "Add reduction"]
1650#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svaddv[_u32])"]
1651#[inline]
1652#[target_feature(enable = "sve")]
1653#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1654#[cfg_attr(test, assert_instr(uaddv))]
1655pub fn svaddv_u32(pg: svbool_t, op: svuint32_t) -> u64 {
1656 unsafe extern "unadjusted" {
1657 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.uaddv.nxv4i32")]
1658 fn _svaddv_u32(pg: svbool4_t, op: svint32_t) -> i64;
1659 }
1660 unsafe { _svaddv_u32(pg.sve_into(), op.as_signed()).as_unsigned() }
1661}
1662#[doc = "Compute vector addresses for 8-bit data"]
1663#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svadrb[_u32base]_[s32]offset)"]
1664#[inline]
1665#[target_feature(enable = "sve")]
1666#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1667#[cfg_attr(test, assert_instr(adr))]
1668pub fn svadrb_u32base_s32offset(bases: svuint32_t, offsets: svint32_t) -> svuint32_t {
1669 unsafe extern "unadjusted" {
1670 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.adrb.nxv4i32")]
1671 fn _svadrb_u32base_s32offset(bases: svint32_t, offsets: svint32_t) -> svint32_t;
1672 }
1673 unsafe { _svadrb_u32base_s32offset(bases.as_signed(), offsets).as_unsigned() }
1674}
1675#[doc = "Compute vector addresses for 16-bit data"]
1676#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svadrh[_u32base]_[s32]index)"]
1677#[inline]
1678#[target_feature(enable = "sve")]
1679#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1680#[cfg_attr(test, assert_instr(adr))]
1681pub fn svadrh_u32base_s32index(bases: svuint32_t, indices: svint32_t) -> svuint32_t {
1682 unsafe extern "unadjusted" {
1683 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.adrh.nxv4i32")]
1684 fn _svadrh_u32base_s32index(bases: svint32_t, indices: svint32_t) -> svint32_t;
1685 }
1686 unsafe { _svadrh_u32base_s32index(bases.as_signed(), indices).as_unsigned() }
1687}
1688#[doc = "Compute vector addresses for 32-bit data"]
1689#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svadrw[_u32base]_[s32]index)"]
1690#[inline]
1691#[target_feature(enable = "sve")]
1692#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1693#[cfg_attr(test, assert_instr(adr))]
1694pub fn svadrw_u32base_s32index(bases: svuint32_t, indices: svint32_t) -> svuint32_t {
1695 unsafe extern "unadjusted" {
1696 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.adrw.nxv4i32")]
1697 fn _svadrw_u32base_s32index(bases: svint32_t, indices: svint32_t) -> svint32_t;
1698 }
1699 unsafe { _svadrw_u32base_s32index(bases.as_signed(), indices).as_unsigned() }
1700}
1701#[doc = "Compute vector addresses for 64-bit data"]
1702#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svadrd[_u32base]_[s32]index)"]
1703#[inline]
1704#[target_feature(enable = "sve")]
1705#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1706#[cfg_attr(test, assert_instr(adr))]
1707pub fn svadrd_u32base_s32index(bases: svuint32_t, indices: svint32_t) -> svuint32_t {
1708 unsafe extern "unadjusted" {
1709 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.adrd.nxv4i32")]
1710 fn _svadrd_u32base_s32index(bases: svint32_t, indices: svint32_t) -> svint32_t;
1711 }
1712 unsafe { _svadrd_u32base_s32index(bases.as_signed(), indices).as_unsigned() }
1713}
1714#[doc = "Compute vector addresses for 8-bit data"]
1715#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svadrb[_u32base]_[u32]offset)"]
1716#[inline]
1717#[target_feature(enable = "sve")]
1718#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1719#[cfg_attr(test, assert_instr(adr))]
1720pub fn svadrb_u32base_u32offset(bases: svuint32_t, offsets: svuint32_t) -> svuint32_t {
1721 unsafe { svadrb_u32base_s32offset(bases, offsets.as_signed()) }
1722}
1723#[doc = "Compute vector addresses for 16-bit data"]
1724#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svadrh[_u32base]_[u32]index)"]
1725#[inline]
1726#[target_feature(enable = "sve")]
1727#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1728#[cfg_attr(test, assert_instr(adr))]
1729pub fn svadrh_u32base_u32index(bases: svuint32_t, indices: svuint32_t) -> svuint32_t {
1730 unsafe { svadrh_u32base_s32index(bases, indices.as_signed()) }
1731}
1732#[doc = "Compute vector addresses for 32-bit data"]
1733#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svadrw[_u32base]_[u32]index)"]
1734#[inline]
1735#[target_feature(enable = "sve")]
1736#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1737#[cfg_attr(test, assert_instr(adr))]
1738pub fn svadrw_u32base_u32index(bases: svuint32_t, indices: svuint32_t) -> svuint32_t {
1739 unsafe { svadrw_u32base_s32index(bases, indices.as_signed()) }
1740}
1741#[doc = "Compute vector addresses for 64-bit data"]
1742#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svadrd[_u32base]_[u32]index)"]
1743#[inline]
1744#[target_feature(enable = "sve")]
1745#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1746#[cfg_attr(test, assert_instr(adr))]
1747pub fn svadrd_u32base_u32index(bases: svuint32_t, indices: svuint32_t) -> svuint32_t {
1748 unsafe { svadrd_u32base_s32index(bases, indices.as_signed()) }
1749}
1750#[doc = "Compute vector addresses for 8-bit data"]
1751#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svadrb[_u64base]_[s64]offset)"]
1752#[inline]
1753#[target_feature(enable = "sve")]
1754#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1755#[cfg_attr(test, assert_instr(adr))]
1756pub fn svadrb_u64base_s64offset(bases: svuint64_t, offsets: svint64_t) -> svuint64_t {
1757 unsafe extern "unadjusted" {
1758 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.adrb.nxv2i64")]
1759 fn _svadrb_u64base_s64offset(bases: svint64_t, offsets: svint64_t) -> svint64_t;
1760 }
1761 unsafe { _svadrb_u64base_s64offset(bases.as_signed(), offsets).as_unsigned() }
1762}
1763#[doc = "Compute vector addresses for 16-bit data"]
1764#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svadrh[_u64base]_[s64]index)"]
1765#[inline]
1766#[target_feature(enable = "sve")]
1767#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1768#[cfg_attr(test, assert_instr(adr))]
1769pub fn svadrh_u64base_s64index(bases: svuint64_t, indices: svint64_t) -> svuint64_t {
1770 unsafe extern "unadjusted" {
1771 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.adrh.nxv2i64")]
1772 fn _svadrh_u64base_s64index(bases: svint64_t, indices: svint64_t) -> svint64_t;
1773 }
1774 unsafe { _svadrh_u64base_s64index(bases.as_signed(), indices).as_unsigned() }
1775}
1776#[doc = "Compute vector addresses for 32-bit data"]
1777#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svadrw[_u64base]_[s64]index)"]
1778#[inline]
1779#[target_feature(enable = "sve")]
1780#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1781#[cfg_attr(test, assert_instr(adr))]
1782pub fn svadrw_u64base_s64index(bases: svuint64_t, indices: svint64_t) -> svuint64_t {
1783 unsafe extern "unadjusted" {
1784 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.adrw.nxv2i64")]
1785 fn _svadrw_u64base_s64index(bases: svint64_t, indices: svint64_t) -> svint64_t;
1786 }
1787 unsafe { _svadrw_u64base_s64index(bases.as_signed(), indices).as_unsigned() }
1788}
1789#[doc = "Compute vector addresses for 64-bit data"]
1790#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svadrd[_u64base]_[s64]index)"]
1791#[inline]
1792#[target_feature(enable = "sve")]
1793#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1794#[cfg_attr(test, assert_instr(adr))]
1795pub fn svadrd_u64base_s64index(bases: svuint64_t, indices: svint64_t) -> svuint64_t {
1796 unsafe extern "unadjusted" {
1797 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.adrd.nxv2i64")]
1798 fn _svadrd_u64base_s64index(bases: svint64_t, indices: svint64_t) -> svint64_t;
1799 }
1800 unsafe { _svadrd_u64base_s64index(bases.as_signed(), indices).as_unsigned() }
1801}
1802#[doc = "Compute vector addresses for 8-bit data"]
1803#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svadrb[_u64base]_[u64]offset)"]
1804#[inline]
1805#[target_feature(enable = "sve")]
1806#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1807#[cfg_attr(test, assert_instr(adr))]
1808pub fn svadrb_u64base_u64offset(bases: svuint64_t, offsets: svuint64_t) -> svuint64_t {
1809 unsafe { svadrb_u64base_s64offset(bases, offsets.as_signed()) }
1810}
1811#[doc = "Compute vector addresses for 16-bit data"]
1812#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svadrh[_u64base]_[u64]index)"]
1813#[inline]
1814#[target_feature(enable = "sve")]
1815#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1816#[cfg_attr(test, assert_instr(adr))]
1817pub fn svadrh_u64base_u64index(bases: svuint64_t, indices: svuint64_t) -> svuint64_t {
1818 unsafe { svadrh_u64base_s64index(bases, indices.as_signed()) }
1819}
1820#[doc = "Compute vector addresses for 32-bit data"]
1821#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svadrw[_u64base]_[u64]index)"]
1822#[inline]
1823#[target_feature(enable = "sve")]
1824#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1825#[cfg_attr(test, assert_instr(adr))]
1826pub fn svadrw_u64base_u64index(bases: svuint64_t, indices: svuint64_t) -> svuint64_t {
1827 unsafe { svadrw_u64base_s64index(bases, indices.as_signed()) }
1828}
1829#[doc = "Compute vector addresses for 64-bit data"]
1830#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svadrd[_u64base]_[u64]index)"]
1831#[inline]
1832#[target_feature(enable = "sve")]
1833#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1834#[cfg_attr(test, assert_instr(adr))]
1835pub fn svadrd_u64base_u64index(bases: svuint64_t, indices: svuint64_t) -> svuint64_t {
1836 unsafe { svadrd_u64base_s64index(bases, indices.as_signed()) }
1837}
1838#[doc = "Bitwise AND"]
1839#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svand[_b]_z)"]
1840#[inline]
1841#[target_feature(enable = "sve")]
1842#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1843#[cfg_attr(test, assert_instr(and))]
1844pub fn svand_b_z(pg: svbool_t, op1: svbool_t, op2: svbool_t) -> svbool_t {
1845 unsafe extern "unadjusted" {
1846 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.and.z.nvx16i1")]
1847 fn _svand_b_z(pg: svbool_t, op1: svbool_t, op2: svbool_t) -> svbool_t;
1848 }
1849 unsafe { _svand_b_z(pg, op1, op2) }
1850}
1851#[doc = "Bitwise AND"]
1852#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svand[_s8]_m)"]
1853#[inline]
1854#[target_feature(enable = "sve")]
1855#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1856#[cfg_attr(test, assert_instr(and))]
1857pub fn svand_s8_m(pg: svbool_t, op1: svint8_t, op2: svint8_t) -> svint8_t {
1858 unsafe extern "unadjusted" {
1859 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.and.nxv16i8")]
1860 fn _svand_s8_m(pg: svbool_t, op1: svint8_t, op2: svint8_t) -> svint8_t;
1861 }
1862 unsafe { _svand_s8_m(pg, op1, op2) }
1863}
1864#[doc = "Bitwise AND"]
1865#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svand[_n_s8]_m)"]
1866#[inline]
1867#[target_feature(enable = "sve")]
1868#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1869#[cfg_attr(test, assert_instr(and))]
1870pub fn svand_n_s8_m(pg: svbool_t, op1: svint8_t, op2: i8) -> svint8_t {
1871 svand_s8_m(pg, op1, svdup_n_s8(op2))
1872}
1873#[doc = "Bitwise AND"]
1874#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svand[_s8]_x)"]
1875#[inline]
1876#[target_feature(enable = "sve")]
1877#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1878#[cfg_attr(test, assert_instr(and))]
1879pub fn svand_s8_x(pg: svbool_t, op1: svint8_t, op2: svint8_t) -> svint8_t {
1880 svand_s8_m(pg, op1, op2)
1881}
1882#[doc = "Bitwise AND"]
1883#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svand[_n_s8]_x)"]
1884#[inline]
1885#[target_feature(enable = "sve")]
1886#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1887#[cfg_attr(test, assert_instr(and))]
1888pub fn svand_n_s8_x(pg: svbool_t, op1: svint8_t, op2: i8) -> svint8_t {
1889 svand_s8_x(pg, op1, svdup_n_s8(op2))
1890}
1891#[doc = "Bitwise AND"]
1892#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svand[_s8]_z)"]
1893#[inline]
1894#[target_feature(enable = "sve")]
1895#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1896#[cfg_attr(test, assert_instr(and))]
1897pub fn svand_s8_z(pg: svbool_t, op1: svint8_t, op2: svint8_t) -> svint8_t {
1898 svand_s8_m(pg, svsel_s8(pg, op1, svdup_n_s8(0)), op2)
1899}
1900#[doc = "Bitwise AND"]
1901#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svand[_n_s8]_z)"]
1902#[inline]
1903#[target_feature(enable = "sve")]
1904#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1905#[cfg_attr(test, assert_instr(and))]
1906pub fn svand_n_s8_z(pg: svbool_t, op1: svint8_t, op2: i8) -> svint8_t {
1907 svand_s8_z(pg, op1, svdup_n_s8(op2))
1908}
1909#[doc = "Bitwise AND"]
1910#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svand[_s16]_m)"]
1911#[inline]
1912#[target_feature(enable = "sve")]
1913#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1914#[cfg_attr(test, assert_instr(and))]
1915pub fn svand_s16_m(pg: svbool_t, op1: svint16_t, op2: svint16_t) -> svint16_t {
1916 unsafe extern "unadjusted" {
1917 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.and.nxv8i16")]
1918 fn _svand_s16_m(pg: svbool8_t, op1: svint16_t, op2: svint16_t) -> svint16_t;
1919 }
1920 unsafe { _svand_s16_m(pg.sve_into(), op1, op2) }
1921}
1922#[doc = "Bitwise AND"]
1923#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svand[_n_s16]_m)"]
1924#[inline]
1925#[target_feature(enable = "sve")]
1926#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1927#[cfg_attr(test, assert_instr(and))]
1928pub fn svand_n_s16_m(pg: svbool_t, op1: svint16_t, op2: i16) -> svint16_t {
1929 svand_s16_m(pg, op1, svdup_n_s16(op2))
1930}
1931#[doc = "Bitwise AND"]
1932#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svand[_s16]_x)"]
1933#[inline]
1934#[target_feature(enable = "sve")]
1935#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1936#[cfg_attr(test, assert_instr(and))]
1937pub fn svand_s16_x(pg: svbool_t, op1: svint16_t, op2: svint16_t) -> svint16_t {
1938 svand_s16_m(pg, op1, op2)
1939}
1940#[doc = "Bitwise AND"]
1941#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svand[_n_s16]_x)"]
1942#[inline]
1943#[target_feature(enable = "sve")]
1944#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1945#[cfg_attr(test, assert_instr(and))]
1946pub fn svand_n_s16_x(pg: svbool_t, op1: svint16_t, op2: i16) -> svint16_t {
1947 svand_s16_x(pg, op1, svdup_n_s16(op2))
1948}
1949#[doc = "Bitwise AND"]
1950#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svand[_s16]_z)"]
1951#[inline]
1952#[target_feature(enable = "sve")]
1953#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1954#[cfg_attr(test, assert_instr(and))]
1955pub fn svand_s16_z(pg: svbool_t, op1: svint16_t, op2: svint16_t) -> svint16_t {
1956 svand_s16_m(pg, svsel_s16(pg, op1, svdup_n_s16(0)), op2)
1957}
1958#[doc = "Bitwise AND"]
1959#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svand[_n_s16]_z)"]
1960#[inline]
1961#[target_feature(enable = "sve")]
1962#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1963#[cfg_attr(test, assert_instr(and))]
1964pub fn svand_n_s16_z(pg: svbool_t, op1: svint16_t, op2: i16) -> svint16_t {
1965 svand_s16_z(pg, op1, svdup_n_s16(op2))
1966}
1967#[doc = "Bitwise AND"]
1968#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svand[_s32]_m)"]
1969#[inline]
1970#[target_feature(enable = "sve")]
1971#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1972#[cfg_attr(test, assert_instr(and))]
1973pub fn svand_s32_m(pg: svbool_t, op1: svint32_t, op2: svint32_t) -> svint32_t {
1974 unsafe extern "unadjusted" {
1975 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.and.nxv4i32")]
1976 fn _svand_s32_m(pg: svbool4_t, op1: svint32_t, op2: svint32_t) -> svint32_t;
1977 }
1978 unsafe { _svand_s32_m(pg.sve_into(), op1, op2) }
1979}
1980#[doc = "Bitwise AND"]
1981#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svand[_n_s32]_m)"]
1982#[inline]
1983#[target_feature(enable = "sve")]
1984#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1985#[cfg_attr(test, assert_instr(and))]
1986pub fn svand_n_s32_m(pg: svbool_t, op1: svint32_t, op2: i32) -> svint32_t {
1987 svand_s32_m(pg, op1, svdup_n_s32(op2))
1988}
1989#[doc = "Bitwise AND"]
1990#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svand[_s32]_x)"]
1991#[inline]
1992#[target_feature(enable = "sve")]
1993#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1994#[cfg_attr(test, assert_instr(and))]
1995pub fn svand_s32_x(pg: svbool_t, op1: svint32_t, op2: svint32_t) -> svint32_t {
1996 svand_s32_m(pg, op1, op2)
1997}
1998#[doc = "Bitwise AND"]
1999#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svand[_n_s32]_x)"]
2000#[inline]
2001#[target_feature(enable = "sve")]
2002#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2003#[cfg_attr(test, assert_instr(and))]
2004pub fn svand_n_s32_x(pg: svbool_t, op1: svint32_t, op2: i32) -> svint32_t {
2005 svand_s32_x(pg, op1, svdup_n_s32(op2))
2006}
2007#[doc = "Bitwise AND"]
2008#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svand[_s32]_z)"]
2009#[inline]
2010#[target_feature(enable = "sve")]
2011#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2012#[cfg_attr(test, assert_instr(and))]
2013pub fn svand_s32_z(pg: svbool_t, op1: svint32_t, op2: svint32_t) -> svint32_t {
2014 svand_s32_m(pg, svsel_s32(pg, op1, svdup_n_s32(0)), op2)
2015}
2016#[doc = "Bitwise AND"]
2017#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svand[_n_s32]_z)"]
2018#[inline]
2019#[target_feature(enable = "sve")]
2020#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2021#[cfg_attr(test, assert_instr(and))]
2022pub fn svand_n_s32_z(pg: svbool_t, op1: svint32_t, op2: i32) -> svint32_t {
2023 svand_s32_z(pg, op1, svdup_n_s32(op2))
2024}
2025#[doc = "Bitwise AND"]
2026#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svand[_s64]_m)"]
2027#[inline]
2028#[target_feature(enable = "sve")]
2029#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2030#[cfg_attr(test, assert_instr(and))]
2031pub fn svand_s64_m(pg: svbool_t, op1: svint64_t, op2: svint64_t) -> svint64_t {
2032 unsafe extern "unadjusted" {
2033 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.and.nxv2i64")]
2034 fn _svand_s64_m(pg: svbool2_t, op1: svint64_t, op2: svint64_t) -> svint64_t;
2035 }
2036 unsafe { _svand_s64_m(pg.sve_into(), op1, op2) }
2037}
2038#[doc = "Bitwise AND"]
2039#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svand[_n_s64]_m)"]
2040#[inline]
2041#[target_feature(enable = "sve")]
2042#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2043#[cfg_attr(test, assert_instr(and))]
2044pub fn svand_n_s64_m(pg: svbool_t, op1: svint64_t, op2: i64) -> svint64_t {
2045 svand_s64_m(pg, op1, svdup_n_s64(op2))
2046}
2047#[doc = "Bitwise AND"]
2048#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svand[_s64]_x)"]
2049#[inline]
2050#[target_feature(enable = "sve")]
2051#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2052#[cfg_attr(test, assert_instr(and))]
2053pub fn svand_s64_x(pg: svbool_t, op1: svint64_t, op2: svint64_t) -> svint64_t {
2054 svand_s64_m(pg, op1, op2)
2055}
2056#[doc = "Bitwise AND"]
2057#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svand[_n_s64]_x)"]
2058#[inline]
2059#[target_feature(enable = "sve")]
2060#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2061#[cfg_attr(test, assert_instr(and))]
2062pub fn svand_n_s64_x(pg: svbool_t, op1: svint64_t, op2: i64) -> svint64_t {
2063 svand_s64_x(pg, op1, svdup_n_s64(op2))
2064}
2065#[doc = "Bitwise AND"]
2066#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svand[_s64]_z)"]
2067#[inline]
2068#[target_feature(enable = "sve")]
2069#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2070#[cfg_attr(test, assert_instr(and))]
2071pub fn svand_s64_z(pg: svbool_t, op1: svint64_t, op2: svint64_t) -> svint64_t {
2072 svand_s64_m(pg, svsel_s64(pg, op1, svdup_n_s64(0)), op2)
2073}
2074#[doc = "Bitwise AND"]
2075#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svand[_n_s64]_z)"]
2076#[inline]
2077#[target_feature(enable = "sve")]
2078#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2079#[cfg_attr(test, assert_instr(and))]
2080pub fn svand_n_s64_z(pg: svbool_t, op1: svint64_t, op2: i64) -> svint64_t {
2081 svand_s64_z(pg, op1, svdup_n_s64(op2))
2082}
2083#[doc = "Bitwise AND"]
2084#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svand[_u8]_m)"]
2085#[inline]
2086#[target_feature(enable = "sve")]
2087#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2088#[cfg_attr(test, assert_instr(and))]
2089pub fn svand_u8_m(pg: svbool_t, op1: svuint8_t, op2: svuint8_t) -> svuint8_t {
2090 unsafe { svand_s8_m(pg, op1.as_signed(), op2.as_signed()).as_unsigned() }
2091}
2092#[doc = "Bitwise AND"]
2093#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svand[_n_u8]_m)"]
2094#[inline]
2095#[target_feature(enable = "sve")]
2096#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2097#[cfg_attr(test, assert_instr(and))]
2098pub fn svand_n_u8_m(pg: svbool_t, op1: svuint8_t, op2: u8) -> svuint8_t {
2099 svand_u8_m(pg, op1, svdup_n_u8(op2))
2100}
2101#[doc = "Bitwise AND"]
2102#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svand[_u8]_x)"]
2103#[inline]
2104#[target_feature(enable = "sve")]
2105#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2106#[cfg_attr(test, assert_instr(and))]
2107pub fn svand_u8_x(pg: svbool_t, op1: svuint8_t, op2: svuint8_t) -> svuint8_t {
2108 svand_u8_m(pg, op1, op2)
2109}
2110#[doc = "Bitwise AND"]
2111#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svand[_n_u8]_x)"]
2112#[inline]
2113#[target_feature(enable = "sve")]
2114#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2115#[cfg_attr(test, assert_instr(and))]
2116pub fn svand_n_u8_x(pg: svbool_t, op1: svuint8_t, op2: u8) -> svuint8_t {
2117 svand_u8_x(pg, op1, svdup_n_u8(op2))
2118}
2119#[doc = "Bitwise AND"]
2120#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svand[_u8]_z)"]
2121#[inline]
2122#[target_feature(enable = "sve")]
2123#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2124#[cfg_attr(test, assert_instr(and))]
2125pub fn svand_u8_z(pg: svbool_t, op1: svuint8_t, op2: svuint8_t) -> svuint8_t {
2126 svand_u8_m(pg, svsel_u8(pg, op1, svdup_n_u8(0)), op2)
2127}
2128#[doc = "Bitwise AND"]
2129#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svand[_n_u8]_z)"]
2130#[inline]
2131#[target_feature(enable = "sve")]
2132#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2133#[cfg_attr(test, assert_instr(and))]
2134pub fn svand_n_u8_z(pg: svbool_t, op1: svuint8_t, op2: u8) -> svuint8_t {
2135 svand_u8_z(pg, op1, svdup_n_u8(op2))
2136}
2137#[doc = "Bitwise AND"]
2138#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svand[_u16]_m)"]
2139#[inline]
2140#[target_feature(enable = "sve")]
2141#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2142#[cfg_attr(test, assert_instr(and))]
2143pub fn svand_u16_m(pg: svbool_t, op1: svuint16_t, op2: svuint16_t) -> svuint16_t {
2144 unsafe { svand_s16_m(pg, op1.as_signed(), op2.as_signed()).as_unsigned() }
2145}
2146#[doc = "Bitwise AND"]
2147#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svand[_n_u16]_m)"]
2148#[inline]
2149#[target_feature(enable = "sve")]
2150#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2151#[cfg_attr(test, assert_instr(and))]
2152pub fn svand_n_u16_m(pg: svbool_t, op1: svuint16_t, op2: u16) -> svuint16_t {
2153 svand_u16_m(pg, op1, svdup_n_u16(op2))
2154}
2155#[doc = "Bitwise AND"]
2156#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svand[_u16]_x)"]
2157#[inline]
2158#[target_feature(enable = "sve")]
2159#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2160#[cfg_attr(test, assert_instr(and))]
2161pub fn svand_u16_x(pg: svbool_t, op1: svuint16_t, op2: svuint16_t) -> svuint16_t {
2162 svand_u16_m(pg, op1, op2)
2163}
2164#[doc = "Bitwise AND"]
2165#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svand[_n_u16]_x)"]
2166#[inline]
2167#[target_feature(enable = "sve")]
2168#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2169#[cfg_attr(test, assert_instr(and))]
2170pub fn svand_n_u16_x(pg: svbool_t, op1: svuint16_t, op2: u16) -> svuint16_t {
2171 svand_u16_x(pg, op1, svdup_n_u16(op2))
2172}
2173#[doc = "Bitwise AND"]
2174#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svand[_u16]_z)"]
2175#[inline]
2176#[target_feature(enable = "sve")]
2177#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2178#[cfg_attr(test, assert_instr(and))]
2179pub fn svand_u16_z(pg: svbool_t, op1: svuint16_t, op2: svuint16_t) -> svuint16_t {
2180 svand_u16_m(pg, svsel_u16(pg, op1, svdup_n_u16(0)), op2)
2181}
2182#[doc = "Bitwise AND"]
2183#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svand[_n_u16]_z)"]
2184#[inline]
2185#[target_feature(enable = "sve")]
2186#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2187#[cfg_attr(test, assert_instr(and))]
2188pub fn svand_n_u16_z(pg: svbool_t, op1: svuint16_t, op2: u16) -> svuint16_t {
2189 svand_u16_z(pg, op1, svdup_n_u16(op2))
2190}
2191#[doc = "Bitwise AND"]
2192#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svand[_u32]_m)"]
2193#[inline]
2194#[target_feature(enable = "sve")]
2195#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2196#[cfg_attr(test, assert_instr(and))]
2197pub fn svand_u32_m(pg: svbool_t, op1: svuint32_t, op2: svuint32_t) -> svuint32_t {
2198 unsafe { svand_s32_m(pg, op1.as_signed(), op2.as_signed()).as_unsigned() }
2199}
2200#[doc = "Bitwise AND"]
2201#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svand[_n_u32]_m)"]
2202#[inline]
2203#[target_feature(enable = "sve")]
2204#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2205#[cfg_attr(test, assert_instr(and))]
2206pub fn svand_n_u32_m(pg: svbool_t, op1: svuint32_t, op2: u32) -> svuint32_t {
2207 svand_u32_m(pg, op1, svdup_n_u32(op2))
2208}
2209#[doc = "Bitwise AND"]
2210#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svand[_u32]_x)"]
2211#[inline]
2212#[target_feature(enable = "sve")]
2213#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2214#[cfg_attr(test, assert_instr(and))]
2215pub fn svand_u32_x(pg: svbool_t, op1: svuint32_t, op2: svuint32_t) -> svuint32_t {
2216 svand_u32_m(pg, op1, op2)
2217}
2218#[doc = "Bitwise AND"]
2219#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svand[_n_u32]_x)"]
2220#[inline]
2221#[target_feature(enable = "sve")]
2222#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2223#[cfg_attr(test, assert_instr(and))]
2224pub fn svand_n_u32_x(pg: svbool_t, op1: svuint32_t, op2: u32) -> svuint32_t {
2225 svand_u32_x(pg, op1, svdup_n_u32(op2))
2226}
2227#[doc = "Bitwise AND"]
2228#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svand[_u32]_z)"]
2229#[inline]
2230#[target_feature(enable = "sve")]
2231#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2232#[cfg_attr(test, assert_instr(and))]
2233pub fn svand_u32_z(pg: svbool_t, op1: svuint32_t, op2: svuint32_t) -> svuint32_t {
2234 svand_u32_m(pg, svsel_u32(pg, op1, svdup_n_u32(0)), op2)
2235}
2236#[doc = "Bitwise AND"]
2237#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svand[_n_u32]_z)"]
2238#[inline]
2239#[target_feature(enable = "sve")]
2240#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2241#[cfg_attr(test, assert_instr(and))]
2242pub fn svand_n_u32_z(pg: svbool_t, op1: svuint32_t, op2: u32) -> svuint32_t {
2243 svand_u32_z(pg, op1, svdup_n_u32(op2))
2244}
2245#[doc = "Bitwise AND"]
2246#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svand[_u64]_m)"]
2247#[inline]
2248#[target_feature(enable = "sve")]
2249#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2250#[cfg_attr(test, assert_instr(and))]
2251pub fn svand_u64_m(pg: svbool_t, op1: svuint64_t, op2: svuint64_t) -> svuint64_t {
2252 unsafe { svand_s64_m(pg, op1.as_signed(), op2.as_signed()).as_unsigned() }
2253}
2254#[doc = "Bitwise AND"]
2255#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svand[_n_u64]_m)"]
2256#[inline]
2257#[target_feature(enable = "sve")]
2258#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2259#[cfg_attr(test, assert_instr(and))]
2260pub fn svand_n_u64_m(pg: svbool_t, op1: svuint64_t, op2: u64) -> svuint64_t {
2261 svand_u64_m(pg, op1, svdup_n_u64(op2))
2262}
2263#[doc = "Bitwise AND"]
2264#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svand[_u64]_x)"]
2265#[inline]
2266#[target_feature(enable = "sve")]
2267#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2268#[cfg_attr(test, assert_instr(and))]
2269pub fn svand_u64_x(pg: svbool_t, op1: svuint64_t, op2: svuint64_t) -> svuint64_t {
2270 svand_u64_m(pg, op1, op2)
2271}
2272#[doc = "Bitwise AND"]
2273#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svand[_n_u64]_x)"]
2274#[inline]
2275#[target_feature(enable = "sve")]
2276#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2277#[cfg_attr(test, assert_instr(and))]
2278pub fn svand_n_u64_x(pg: svbool_t, op1: svuint64_t, op2: u64) -> svuint64_t {
2279 svand_u64_x(pg, op1, svdup_n_u64(op2))
2280}
2281#[doc = "Bitwise AND"]
2282#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svand[_u64]_z)"]
2283#[inline]
2284#[target_feature(enable = "sve")]
2285#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2286#[cfg_attr(test, assert_instr(and))]
2287pub fn svand_u64_z(pg: svbool_t, op1: svuint64_t, op2: svuint64_t) -> svuint64_t {
2288 svand_u64_m(pg, svsel_u64(pg, op1, svdup_n_u64(0)), op2)
2289}
2290#[doc = "Bitwise AND"]
2291#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svand[_n_u64]_z)"]
2292#[inline]
2293#[target_feature(enable = "sve")]
2294#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2295#[cfg_attr(test, assert_instr(and))]
2296pub fn svand_n_u64_z(pg: svbool_t, op1: svuint64_t, op2: u64) -> svuint64_t {
2297 svand_u64_z(pg, op1, svdup_n_u64(op2))
2298}
2299#[doc = "Bitwise AND reduction to scalar"]
2300#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svandv[_s8])"]
2301#[inline]
2302#[target_feature(enable = "sve")]
2303#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2304#[cfg_attr(test, assert_instr(andv))]
2305pub fn svandv_s8(pg: svbool_t, op: svint8_t) -> i8 {
2306 unsafe extern "unadjusted" {
2307 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.andv.nxv16i8")]
2308 fn _svandv_s8(pg: svbool_t, op: svint8_t) -> i8;
2309 }
2310 unsafe { _svandv_s8(pg, op) }
2311}
2312#[doc = "Bitwise AND reduction to scalar"]
2313#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svandv[_s16])"]
2314#[inline]
2315#[target_feature(enable = "sve")]
2316#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2317#[cfg_attr(test, assert_instr(andv))]
2318pub fn svandv_s16(pg: svbool_t, op: svint16_t) -> i16 {
2319 unsafe extern "unadjusted" {
2320 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.andv.nxv8i16")]
2321 fn _svandv_s16(pg: svbool8_t, op: svint16_t) -> i16;
2322 }
2323 unsafe { _svandv_s16(pg.sve_into(), op) }
2324}
2325#[doc = "Bitwise AND reduction to scalar"]
2326#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svandv[_s32])"]
2327#[inline]
2328#[target_feature(enable = "sve")]
2329#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2330#[cfg_attr(test, assert_instr(andv))]
2331pub fn svandv_s32(pg: svbool_t, op: svint32_t) -> i32 {
2332 unsafe extern "unadjusted" {
2333 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.andv.nxv4i32")]
2334 fn _svandv_s32(pg: svbool4_t, op: svint32_t) -> i32;
2335 }
2336 unsafe { _svandv_s32(pg.sve_into(), op) }
2337}
2338#[doc = "Bitwise AND reduction to scalar"]
2339#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svandv[_s64])"]
2340#[inline]
2341#[target_feature(enable = "sve")]
2342#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2343#[cfg_attr(test, assert_instr(andv))]
2344pub fn svandv_s64(pg: svbool_t, op: svint64_t) -> i64 {
2345 unsafe extern "unadjusted" {
2346 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.andv.nxv2i64")]
2347 fn _svandv_s64(pg: svbool2_t, op: svint64_t) -> i64;
2348 }
2349 unsafe { _svandv_s64(pg.sve_into(), op) }
2350}
2351#[doc = "Bitwise AND reduction to scalar"]
2352#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svandv[_u8])"]
2353#[inline]
2354#[target_feature(enable = "sve")]
2355#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2356#[cfg_attr(test, assert_instr(andv))]
2357pub fn svandv_u8(pg: svbool_t, op: svuint8_t) -> u8 {
2358 unsafe { svandv_s8(pg, op.as_signed()).as_unsigned() }
2359}
2360#[doc = "Bitwise AND reduction to scalar"]
2361#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svandv[_u16])"]
2362#[inline]
2363#[target_feature(enable = "sve")]
2364#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2365#[cfg_attr(test, assert_instr(andv))]
2366pub fn svandv_u16(pg: svbool_t, op: svuint16_t) -> u16 {
2367 unsafe { svandv_s16(pg, op.as_signed()).as_unsigned() }
2368}
2369#[doc = "Bitwise AND reduction to scalar"]
2370#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svandv[_u32])"]
2371#[inline]
2372#[target_feature(enable = "sve")]
2373#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2374#[cfg_attr(test, assert_instr(andv))]
2375pub fn svandv_u32(pg: svbool_t, op: svuint32_t) -> u32 {
2376 unsafe { svandv_s32(pg, op.as_signed()).as_unsigned() }
2377}
2378#[doc = "Bitwise AND reduction to scalar"]
2379#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svandv[_u64])"]
2380#[inline]
2381#[target_feature(enable = "sve")]
2382#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2383#[cfg_attr(test, assert_instr(andv))]
2384pub fn svandv_u64(pg: svbool_t, op: svuint64_t) -> u64 {
2385 unsafe { svandv_s64(pg, op.as_signed()).as_unsigned() }
2386}
2387#[doc = "Arithmetic shift right"]
2388#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svasr[_s8]_m)"]
2389#[inline]
2390#[target_feature(enable = "sve")]
2391#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2392#[cfg_attr(test, assert_instr(asr))]
2393pub fn svasr_s8_m(pg: svbool_t, op1: svint8_t, op2: svuint8_t) -> svint8_t {
2394 unsafe extern "unadjusted" {
2395 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.asr.nxv16i8")]
2396 fn _svasr_s8_m(pg: svbool_t, op1: svint8_t, op2: svint8_t) -> svint8_t;
2397 }
2398 unsafe { _svasr_s8_m(pg, op1, op2.as_signed()) }
2399}
2400#[doc = "Arithmetic shift right"]
2401#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svasr[_n_s8]_m)"]
2402#[inline]
2403#[target_feature(enable = "sve")]
2404#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2405#[cfg_attr(test, assert_instr(asr))]
2406pub fn svasr_n_s8_m(pg: svbool_t, op1: svint8_t, op2: u8) -> svint8_t {
2407 svasr_s8_m(pg, op1, svdup_n_u8(op2))
2408}
2409#[doc = "Arithmetic shift right"]
2410#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svasr[_s8]_x)"]
2411#[inline]
2412#[target_feature(enable = "sve")]
2413#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2414#[cfg_attr(test, assert_instr(asr))]
2415pub fn svasr_s8_x(pg: svbool_t, op1: svint8_t, op2: svuint8_t) -> svint8_t {
2416 svasr_s8_m(pg, op1, op2)
2417}
2418#[doc = "Arithmetic shift right"]
2419#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svasr[_n_s8]_x)"]
2420#[inline]
2421#[target_feature(enable = "sve")]
2422#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2423#[cfg_attr(test, assert_instr(asr))]
2424pub fn svasr_n_s8_x(pg: svbool_t, op1: svint8_t, op2: u8) -> svint8_t {
2425 svasr_s8_x(pg, op1, svdup_n_u8(op2))
2426}
2427#[doc = "Arithmetic shift right"]
2428#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svasr[_s8]_z)"]
2429#[inline]
2430#[target_feature(enable = "sve")]
2431#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2432#[cfg_attr(test, assert_instr(asr))]
2433pub fn svasr_s8_z(pg: svbool_t, op1: svint8_t, op2: svuint8_t) -> svint8_t {
2434 svasr_s8_m(pg, svsel_s8(pg, op1, svdup_n_s8(0)), op2)
2435}
2436#[doc = "Arithmetic shift right"]
2437#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svasr[_n_s8]_z)"]
2438#[inline]
2439#[target_feature(enable = "sve")]
2440#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2441#[cfg_attr(test, assert_instr(asr))]
2442pub fn svasr_n_s8_z(pg: svbool_t, op1: svint8_t, op2: u8) -> svint8_t {
2443 svasr_s8_z(pg, op1, svdup_n_u8(op2))
2444}
2445#[doc = "Arithmetic shift right"]
2446#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svasr[_s16]_m)"]
2447#[inline]
2448#[target_feature(enable = "sve")]
2449#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2450#[cfg_attr(test, assert_instr(asr))]
2451pub fn svasr_s16_m(pg: svbool_t, op1: svint16_t, op2: svuint16_t) -> svint16_t {
2452 unsafe extern "unadjusted" {
2453 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.asr.nxv8i16")]
2454 fn _svasr_s16_m(pg: svbool8_t, op1: svint16_t, op2: svint16_t) -> svint16_t;
2455 }
2456 unsafe { _svasr_s16_m(pg.sve_into(), op1, op2.as_signed()) }
2457}
2458#[doc = "Arithmetic shift right"]
2459#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svasr[_n_s16]_m)"]
2460#[inline]
2461#[target_feature(enable = "sve")]
2462#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2463#[cfg_attr(test, assert_instr(asr))]
2464pub fn svasr_n_s16_m(pg: svbool_t, op1: svint16_t, op2: u16) -> svint16_t {
2465 svasr_s16_m(pg, op1, svdup_n_u16(op2))
2466}
2467#[doc = "Arithmetic shift right"]
2468#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svasr[_s16]_x)"]
2469#[inline]
2470#[target_feature(enable = "sve")]
2471#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2472#[cfg_attr(test, assert_instr(asr))]
2473pub fn svasr_s16_x(pg: svbool_t, op1: svint16_t, op2: svuint16_t) -> svint16_t {
2474 svasr_s16_m(pg, op1, op2)
2475}
2476#[doc = "Arithmetic shift right"]
2477#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svasr[_n_s16]_x)"]
2478#[inline]
2479#[target_feature(enable = "sve")]
2480#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2481#[cfg_attr(test, assert_instr(asr))]
2482pub fn svasr_n_s16_x(pg: svbool_t, op1: svint16_t, op2: u16) -> svint16_t {
2483 svasr_s16_x(pg, op1, svdup_n_u16(op2))
2484}
2485#[doc = "Arithmetic shift right"]
2486#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svasr[_s16]_z)"]
2487#[inline]
2488#[target_feature(enable = "sve")]
2489#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2490#[cfg_attr(test, assert_instr(asr))]
2491pub fn svasr_s16_z(pg: svbool_t, op1: svint16_t, op2: svuint16_t) -> svint16_t {
2492 svasr_s16_m(pg, svsel_s16(pg, op1, svdup_n_s16(0)), op2)
2493}
2494#[doc = "Arithmetic shift right"]
2495#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svasr[_n_s16]_z)"]
2496#[inline]
2497#[target_feature(enable = "sve")]
2498#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2499#[cfg_attr(test, assert_instr(asr))]
2500pub fn svasr_n_s16_z(pg: svbool_t, op1: svint16_t, op2: u16) -> svint16_t {
2501 svasr_s16_z(pg, op1, svdup_n_u16(op2))
2502}
2503#[doc = "Arithmetic shift right"]
2504#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svasr[_s32]_m)"]
2505#[inline]
2506#[target_feature(enable = "sve")]
2507#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2508#[cfg_attr(test, assert_instr(asr))]
2509pub fn svasr_s32_m(pg: svbool_t, op1: svint32_t, op2: svuint32_t) -> svint32_t {
2510 unsafe extern "unadjusted" {
2511 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.asr.nxv4i32")]
2512 fn _svasr_s32_m(pg: svbool4_t, op1: svint32_t, op2: svint32_t) -> svint32_t;
2513 }
2514 unsafe { _svasr_s32_m(pg.sve_into(), op1, op2.as_signed()) }
2515}
2516#[doc = "Arithmetic shift right"]
2517#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svasr[_n_s32]_m)"]
2518#[inline]
2519#[target_feature(enable = "sve")]
2520#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2521#[cfg_attr(test, assert_instr(asr))]
2522pub fn svasr_n_s32_m(pg: svbool_t, op1: svint32_t, op2: u32) -> svint32_t {
2523 svasr_s32_m(pg, op1, svdup_n_u32(op2))
2524}
2525#[doc = "Arithmetic shift right"]
2526#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svasr[_s32]_x)"]
2527#[inline]
2528#[target_feature(enable = "sve")]
2529#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2530#[cfg_attr(test, assert_instr(asr))]
2531pub fn svasr_s32_x(pg: svbool_t, op1: svint32_t, op2: svuint32_t) -> svint32_t {
2532 svasr_s32_m(pg, op1, op2)
2533}
2534#[doc = "Arithmetic shift right"]
2535#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svasr[_n_s32]_x)"]
2536#[inline]
2537#[target_feature(enable = "sve")]
2538#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2539#[cfg_attr(test, assert_instr(asr))]
2540pub fn svasr_n_s32_x(pg: svbool_t, op1: svint32_t, op2: u32) -> svint32_t {
2541 svasr_s32_x(pg, op1, svdup_n_u32(op2))
2542}
2543#[doc = "Arithmetic shift right"]
2544#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svasr[_s32]_z)"]
2545#[inline]
2546#[target_feature(enable = "sve")]
2547#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2548#[cfg_attr(test, assert_instr(asr))]
2549pub fn svasr_s32_z(pg: svbool_t, op1: svint32_t, op2: svuint32_t) -> svint32_t {
2550 svasr_s32_m(pg, svsel_s32(pg, op1, svdup_n_s32(0)), op2)
2551}
2552#[doc = "Arithmetic shift right"]
2553#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svasr[_n_s32]_z)"]
2554#[inline]
2555#[target_feature(enable = "sve")]
2556#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2557#[cfg_attr(test, assert_instr(asr))]
2558pub fn svasr_n_s32_z(pg: svbool_t, op1: svint32_t, op2: u32) -> svint32_t {
2559 svasr_s32_z(pg, op1, svdup_n_u32(op2))
2560}
2561#[doc = "Arithmetic shift right"]
2562#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svasr[_s64]_m)"]
2563#[inline]
2564#[target_feature(enable = "sve")]
2565#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2566#[cfg_attr(test, assert_instr(asr))]
2567pub fn svasr_s64_m(pg: svbool_t, op1: svint64_t, op2: svuint64_t) -> svint64_t {
2568 unsafe extern "unadjusted" {
2569 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.asr.nxv2i64")]
2570 fn _svasr_s64_m(pg: svbool2_t, op1: svint64_t, op2: svint64_t) -> svint64_t;
2571 }
2572 unsafe { _svasr_s64_m(pg.sve_into(), op1, op2.as_signed()) }
2573}
2574#[doc = "Arithmetic shift right"]
2575#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svasr[_n_s64]_m)"]
2576#[inline]
2577#[target_feature(enable = "sve")]
2578#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2579#[cfg_attr(test, assert_instr(asr))]
2580pub fn svasr_n_s64_m(pg: svbool_t, op1: svint64_t, op2: u64) -> svint64_t {
2581 svasr_s64_m(pg, op1, svdup_n_u64(op2))
2582}
2583#[doc = "Arithmetic shift right"]
2584#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svasr[_s64]_x)"]
2585#[inline]
2586#[target_feature(enable = "sve")]
2587#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2588#[cfg_attr(test, assert_instr(asr))]
2589pub fn svasr_s64_x(pg: svbool_t, op1: svint64_t, op2: svuint64_t) -> svint64_t {
2590 svasr_s64_m(pg, op1, op2)
2591}
2592#[doc = "Arithmetic shift right"]
2593#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svasr[_n_s64]_x)"]
2594#[inline]
2595#[target_feature(enable = "sve")]
2596#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2597#[cfg_attr(test, assert_instr(asr))]
2598pub fn svasr_n_s64_x(pg: svbool_t, op1: svint64_t, op2: u64) -> svint64_t {
2599 svasr_s64_x(pg, op1, svdup_n_u64(op2))
2600}
2601#[doc = "Arithmetic shift right"]
2602#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svasr[_s64]_z)"]
2603#[inline]
2604#[target_feature(enable = "sve")]
2605#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2606#[cfg_attr(test, assert_instr(asr))]
2607pub fn svasr_s64_z(pg: svbool_t, op1: svint64_t, op2: svuint64_t) -> svint64_t {
2608 svasr_s64_m(pg, svsel_s64(pg, op1, svdup_n_s64(0)), op2)
2609}
2610#[doc = "Arithmetic shift right"]
2611#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svasr[_n_s64]_z)"]
2612#[inline]
2613#[target_feature(enable = "sve")]
2614#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2615#[cfg_attr(test, assert_instr(asr))]
2616pub fn svasr_n_s64_z(pg: svbool_t, op1: svint64_t, op2: u64) -> svint64_t {
2617 svasr_s64_z(pg, op1, svdup_n_u64(op2))
2618}
2619#[doc = "Arithmetic shift right"]
2620#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svasr_wide[_s8]_m)"]
2621#[inline]
2622#[target_feature(enable = "sve")]
2623#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2624#[cfg_attr(test, assert_instr(asr))]
2625pub fn svasr_wide_s8_m(pg: svbool_t, op1: svint8_t, op2: svuint64_t) -> svint8_t {
2626 unsafe extern "unadjusted" {
2627 #[cfg_attr(
2628 target_arch = "aarch64",
2629 link_name = "llvm.aarch64.sve.asr.wide.nxv16i8"
2630 )]
2631 fn _svasr_wide_s8_m(pg: svbool_t, op1: svint8_t, op2: svint64_t) -> svint8_t;
2632 }
2633 unsafe { _svasr_wide_s8_m(pg, op1, op2.as_signed()) }
2634}
2635#[doc = "Arithmetic shift right"]
2636#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svasr_wide[_n_s8]_m)"]
2637#[inline]
2638#[target_feature(enable = "sve")]
2639#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2640#[cfg_attr(test, assert_instr(asr))]
2641pub fn svasr_wide_n_s8_m(pg: svbool_t, op1: svint8_t, op2: u64) -> svint8_t {
2642 svasr_wide_s8_m(pg, op1, svdup_n_u64(op2))
2643}
2644#[doc = "Arithmetic shift right"]
2645#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svasr_wide[_s8]_x)"]
2646#[inline]
2647#[target_feature(enable = "sve")]
2648#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2649#[cfg_attr(test, assert_instr(asr))]
2650pub fn svasr_wide_s8_x(pg: svbool_t, op1: svint8_t, op2: svuint64_t) -> svint8_t {
2651 svasr_wide_s8_m(pg, op1, op2)
2652}
2653#[doc = "Arithmetic shift right"]
2654#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svasr_wide[_n_s8]_x)"]
2655#[inline]
2656#[target_feature(enable = "sve")]
2657#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2658#[cfg_attr(test, assert_instr(asr))]
2659pub fn svasr_wide_n_s8_x(pg: svbool_t, op1: svint8_t, op2: u64) -> svint8_t {
2660 svasr_wide_s8_x(pg, op1, svdup_n_u64(op2))
2661}
2662#[doc = "Arithmetic shift right"]
2663#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svasr_wide[_s8]_z)"]
2664#[inline]
2665#[target_feature(enable = "sve")]
2666#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2667#[cfg_attr(test, assert_instr(asr))]
2668pub fn svasr_wide_s8_z(pg: svbool_t, op1: svint8_t, op2: svuint64_t) -> svint8_t {
2669 svasr_wide_s8_m(pg, svsel_s8(pg, op1, svdup_n_s8(0)), op2)
2670}
2671#[doc = "Arithmetic shift right"]
2672#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svasr_wide[_n_s8]_z)"]
2673#[inline]
2674#[target_feature(enable = "sve")]
2675#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2676#[cfg_attr(test, assert_instr(asr))]
2677pub fn svasr_wide_n_s8_z(pg: svbool_t, op1: svint8_t, op2: u64) -> svint8_t {
2678 svasr_wide_s8_z(pg, op1, svdup_n_u64(op2))
2679}
2680#[doc = "Arithmetic shift right"]
2681#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svasr_wide[_s16]_m)"]
2682#[inline]
2683#[target_feature(enable = "sve")]
2684#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2685#[cfg_attr(test, assert_instr(asr))]
2686pub fn svasr_wide_s16_m(pg: svbool_t, op1: svint16_t, op2: svuint64_t) -> svint16_t {
2687 unsafe extern "unadjusted" {
2688 #[cfg_attr(
2689 target_arch = "aarch64",
2690 link_name = "llvm.aarch64.sve.asr.wide.nxv8i16"
2691 )]
2692 fn _svasr_wide_s16_m(pg: svbool8_t, op1: svint16_t, op2: svint64_t) -> svint16_t;
2693 }
2694 unsafe { _svasr_wide_s16_m(pg.sve_into(), op1, op2.as_signed()) }
2695}
2696#[doc = "Arithmetic shift right"]
2697#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svasr_wide[_n_s16]_m)"]
2698#[inline]
2699#[target_feature(enable = "sve")]
2700#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2701#[cfg_attr(test, assert_instr(asr))]
2702pub fn svasr_wide_n_s16_m(pg: svbool_t, op1: svint16_t, op2: u64) -> svint16_t {
2703 svasr_wide_s16_m(pg, op1, svdup_n_u64(op2))
2704}
2705#[doc = "Arithmetic shift right"]
2706#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svasr_wide[_s16]_x)"]
2707#[inline]
2708#[target_feature(enable = "sve")]
2709#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2710#[cfg_attr(test, assert_instr(asr))]
2711pub fn svasr_wide_s16_x(pg: svbool_t, op1: svint16_t, op2: svuint64_t) -> svint16_t {
2712 svasr_wide_s16_m(pg, op1, op2)
2713}
2714#[doc = "Arithmetic shift right"]
2715#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svasr_wide[_n_s16]_x)"]
2716#[inline]
2717#[target_feature(enable = "sve")]
2718#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2719#[cfg_attr(test, assert_instr(asr))]
2720pub fn svasr_wide_n_s16_x(pg: svbool_t, op1: svint16_t, op2: u64) -> svint16_t {
2721 svasr_wide_s16_x(pg, op1, svdup_n_u64(op2))
2722}
2723#[doc = "Arithmetic shift right"]
2724#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svasr_wide[_s16]_z)"]
2725#[inline]
2726#[target_feature(enable = "sve")]
2727#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2728#[cfg_attr(test, assert_instr(asr))]
2729pub fn svasr_wide_s16_z(pg: svbool_t, op1: svint16_t, op2: svuint64_t) -> svint16_t {
2730 svasr_wide_s16_m(pg, svsel_s16(pg, op1, svdup_n_s16(0)), op2)
2731}
2732#[doc = "Arithmetic shift right"]
2733#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svasr_wide[_n_s16]_z)"]
2734#[inline]
2735#[target_feature(enable = "sve")]
2736#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2737#[cfg_attr(test, assert_instr(asr))]
2738pub fn svasr_wide_n_s16_z(pg: svbool_t, op1: svint16_t, op2: u64) -> svint16_t {
2739 svasr_wide_s16_z(pg, op1, svdup_n_u64(op2))
2740}
2741#[doc = "Arithmetic shift right"]
2742#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svasr_wide[_s32]_m)"]
2743#[inline]
2744#[target_feature(enable = "sve")]
2745#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2746#[cfg_attr(test, assert_instr(asr))]
2747pub fn svasr_wide_s32_m(pg: svbool_t, op1: svint32_t, op2: svuint64_t) -> svint32_t {
2748 unsafe extern "unadjusted" {
2749 #[cfg_attr(
2750 target_arch = "aarch64",
2751 link_name = "llvm.aarch64.sve.asr.wide.nxv4i32"
2752 )]
2753 fn _svasr_wide_s32_m(pg: svbool4_t, op1: svint32_t, op2: svint64_t) -> svint32_t;
2754 }
2755 unsafe { _svasr_wide_s32_m(pg.sve_into(), op1, op2.as_signed()) }
2756}
2757#[doc = "Arithmetic shift right"]
2758#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svasr_wide[_n_s32]_m)"]
2759#[inline]
2760#[target_feature(enable = "sve")]
2761#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2762#[cfg_attr(test, assert_instr(asr))]
2763pub fn svasr_wide_n_s32_m(pg: svbool_t, op1: svint32_t, op2: u64) -> svint32_t {
2764 svasr_wide_s32_m(pg, op1, svdup_n_u64(op2))
2765}
2766#[doc = "Arithmetic shift right"]
2767#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svasr_wide[_s32]_x)"]
2768#[inline]
2769#[target_feature(enable = "sve")]
2770#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2771#[cfg_attr(test, assert_instr(asr))]
2772pub fn svasr_wide_s32_x(pg: svbool_t, op1: svint32_t, op2: svuint64_t) -> svint32_t {
2773 svasr_wide_s32_m(pg, op1, op2)
2774}
2775#[doc = "Arithmetic shift right"]
2776#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svasr_wide[_n_s32]_x)"]
2777#[inline]
2778#[target_feature(enable = "sve")]
2779#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2780#[cfg_attr(test, assert_instr(asr))]
2781pub fn svasr_wide_n_s32_x(pg: svbool_t, op1: svint32_t, op2: u64) -> svint32_t {
2782 svasr_wide_s32_x(pg, op1, svdup_n_u64(op2))
2783}
2784#[doc = "Arithmetic shift right"]
2785#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svasr_wide[_s32]_z)"]
2786#[inline]
2787#[target_feature(enable = "sve")]
2788#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2789#[cfg_attr(test, assert_instr(asr))]
2790pub fn svasr_wide_s32_z(pg: svbool_t, op1: svint32_t, op2: svuint64_t) -> svint32_t {
2791 svasr_wide_s32_m(pg, svsel_s32(pg, op1, svdup_n_s32(0)), op2)
2792}
2793#[doc = "Arithmetic shift right"]
2794#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svasr_wide[_n_s32]_z)"]
2795#[inline]
2796#[target_feature(enable = "sve")]
2797#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2798#[cfg_attr(test, assert_instr(asr))]
2799pub fn svasr_wide_n_s32_z(pg: svbool_t, op1: svint32_t, op2: u64) -> svint32_t {
2800 svasr_wide_s32_z(pg, op1, svdup_n_u64(op2))
2801}
2802#[doc = "Arithmetic shift right for divide by immediate"]
2803#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svasrd[_n_s8]_m)"]
2804#[inline]
2805#[target_feature(enable = "sve")]
2806#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2807#[cfg_attr(test, assert_instr(asrd, IMM2 = 1))]
2808pub fn svasrd_n_s8_m<const IMM2: i32>(pg: svbool_t, op1: svint8_t) -> svint8_t {
2809 static_assert_range!(IMM2, 1..=8);
2810 unsafe extern "unadjusted" {
2811 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.asrd.nxv16i8")]
2812 fn _svasrd_n_s8_m(pg: svbool_t, op1: svint8_t, imm2: i32) -> svint8_t;
2813 }
2814 unsafe { _svasrd_n_s8_m(pg, op1, IMM2) }
2815}
2816#[doc = "Arithmetic shift right for divide by immediate"]
2817#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svasrd[_n_s8]_x)"]
2818#[inline]
2819#[target_feature(enable = "sve")]
2820#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2821#[cfg_attr(test, assert_instr(asrd, IMM2 = 1))]
2822pub fn svasrd_n_s8_x<const IMM2: i32>(pg: svbool_t, op1: svint8_t) -> svint8_t {
2823 svasrd_n_s8_m::<IMM2>(pg, op1)
2824}
2825#[doc = "Arithmetic shift right for divide by immediate"]
2826#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svasrd[_n_s8]_z)"]
2827#[inline]
2828#[target_feature(enable = "sve")]
2829#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2830#[cfg_attr(test, assert_instr(asrd, IMM2 = 1))]
2831pub fn svasrd_n_s8_z<const IMM2: i32>(pg: svbool_t, op1: svint8_t) -> svint8_t {
2832 svasrd_n_s8_m::<IMM2>(pg, svsel_s8(pg, op1, svdup_n_s8(0)))
2833}
2834#[doc = "Arithmetic shift right for divide by immediate"]
2835#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svasrd[_n_s16]_m)"]
2836#[inline]
2837#[target_feature(enable = "sve")]
2838#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2839#[cfg_attr(test, assert_instr(asrd, IMM2 = 1))]
2840pub fn svasrd_n_s16_m<const IMM2: i32>(pg: svbool_t, op1: svint16_t) -> svint16_t {
2841 static_assert_range!(IMM2, 1..=16);
2842 unsafe extern "unadjusted" {
2843 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.asrd.nxv8i16")]
2844 fn _svasrd_n_s16_m(pg: svbool8_t, op1: svint16_t, imm2: i32) -> svint16_t;
2845 }
2846 unsafe { _svasrd_n_s16_m(pg.sve_into(), op1, IMM2) }
2847}
2848#[doc = "Arithmetic shift right for divide by immediate"]
2849#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svasrd[_n_s16]_x)"]
2850#[inline]
2851#[target_feature(enable = "sve")]
2852#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2853#[cfg_attr(test, assert_instr(asrd, IMM2 = 1))]
2854pub fn svasrd_n_s16_x<const IMM2: i32>(pg: svbool_t, op1: svint16_t) -> svint16_t {
2855 svasrd_n_s16_m::<IMM2>(pg, op1)
2856}
2857#[doc = "Arithmetic shift right for divide by immediate"]
2858#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svasrd[_n_s16]_z)"]
2859#[inline]
2860#[target_feature(enable = "sve")]
2861#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2862#[cfg_attr(test, assert_instr(asrd, IMM2 = 1))]
2863pub fn svasrd_n_s16_z<const IMM2: i32>(pg: svbool_t, op1: svint16_t) -> svint16_t {
2864 svasrd_n_s16_m::<IMM2>(pg, svsel_s16(pg, op1, svdup_n_s16(0)))
2865}
2866#[doc = "Arithmetic shift right for divide by immediate"]
2867#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svasrd[_n_s32]_m)"]
2868#[inline]
2869#[target_feature(enable = "sve")]
2870#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2871#[cfg_attr(test, assert_instr(asrd, IMM2 = 1))]
2872pub fn svasrd_n_s32_m<const IMM2: i32>(pg: svbool_t, op1: svint32_t) -> svint32_t {
2873 static_assert_range!(IMM2, 1..=32);
2874 unsafe extern "unadjusted" {
2875 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.asrd.nxv4i32")]
2876 fn _svasrd_n_s32_m(pg: svbool4_t, op1: svint32_t, imm2: i32) -> svint32_t;
2877 }
2878 unsafe { _svasrd_n_s32_m(pg.sve_into(), op1, IMM2) }
2879}
2880#[doc = "Arithmetic shift right for divide by immediate"]
2881#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svasrd[_n_s32]_x)"]
2882#[inline]
2883#[target_feature(enable = "sve")]
2884#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2885#[cfg_attr(test, assert_instr(asrd, IMM2 = 1))]
2886pub fn svasrd_n_s32_x<const IMM2: i32>(pg: svbool_t, op1: svint32_t) -> svint32_t {
2887 svasrd_n_s32_m::<IMM2>(pg, op1)
2888}
2889#[doc = "Arithmetic shift right for divide by immediate"]
2890#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svasrd[_n_s32]_z)"]
2891#[inline]
2892#[target_feature(enable = "sve")]
2893#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2894#[cfg_attr(test, assert_instr(asrd, IMM2 = 1))]
2895pub fn svasrd_n_s32_z<const IMM2: i32>(pg: svbool_t, op1: svint32_t) -> svint32_t {
2896 svasrd_n_s32_m::<IMM2>(pg, svsel_s32(pg, op1, svdup_n_s32(0)))
2897}
2898#[doc = "Arithmetic shift right for divide by immediate"]
2899#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svasrd[_n_s64]_m)"]
2900#[inline]
2901#[target_feature(enable = "sve")]
2902#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2903#[cfg_attr(test, assert_instr(asrd, IMM2 = 1))]
2904pub fn svasrd_n_s64_m<const IMM2: i32>(pg: svbool_t, op1: svint64_t) -> svint64_t {
2905 static_assert_range!(IMM2, 1..=64);
2906 unsafe extern "unadjusted" {
2907 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.asrd.nxv2i64")]
2908 fn _svasrd_n_s64_m(pg: svbool2_t, op1: svint64_t, imm2: i32) -> svint64_t;
2909 }
2910 unsafe { _svasrd_n_s64_m(pg.sve_into(), op1, IMM2) }
2911}
2912#[doc = "Arithmetic shift right for divide by immediate"]
2913#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svasrd[_n_s64]_x)"]
2914#[inline]
2915#[target_feature(enable = "sve")]
2916#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2917#[cfg_attr(test, assert_instr(asrd, IMM2 = 1))]
2918pub fn svasrd_n_s64_x<const IMM2: i32>(pg: svbool_t, op1: svint64_t) -> svint64_t {
2919 svasrd_n_s64_m::<IMM2>(pg, op1)
2920}
2921#[doc = "Arithmetic shift right for divide by immediate"]
2922#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svasrd[_n_s64]_z)"]
2923#[inline]
2924#[target_feature(enable = "sve")]
2925#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2926#[cfg_attr(test, assert_instr(asrd, IMM2 = 1))]
2927pub fn svasrd_n_s64_z<const IMM2: i32>(pg: svbool_t, op1: svint64_t) -> svint64_t {
2928 svasrd_n_s64_m::<IMM2>(pg, svsel_s64(pg, op1, svdup_n_s64(0)))
2929}
2930#[doc = "Bitwise clear"]
2931#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svbic[_b]_z)"]
2932#[inline]
2933#[target_feature(enable = "sve")]
2934#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2935#[cfg_attr(test, assert_instr(bic))]
2936pub fn svbic_b_z(pg: svbool_t, op1: svbool_t, op2: svbool_t) -> svbool_t {
2937 unsafe extern "unadjusted" {
2938 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.bic.z.nvx16i1")]
2939 fn _svbic_b_z(pg: svbool_t, op1: svbool_t, op2: svbool_t) -> svbool_t;
2940 }
2941 unsafe { _svbic_b_z(pg, op1, op2) }
2942}
2943#[doc = "Bitwise clear"]
2944#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svbic[_s8]_m)"]
2945#[inline]
2946#[target_feature(enable = "sve")]
2947#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2948#[cfg_attr(test, assert_instr(bic))]
2949pub fn svbic_s8_m(pg: svbool_t, op1: svint8_t, op2: svint8_t) -> svint8_t {
2950 unsafe extern "unadjusted" {
2951 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.bic.nxv16i8")]
2952 fn _svbic_s8_m(pg: svbool_t, op1: svint8_t, op2: svint8_t) -> svint8_t;
2953 }
2954 unsafe { _svbic_s8_m(pg, op1, op2) }
2955}
2956#[doc = "Bitwise clear"]
2957#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svbic[_n_s8]_m)"]
2958#[inline]
2959#[target_feature(enable = "sve")]
2960#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2961#[cfg_attr(test, assert_instr(bic))]
2962pub fn svbic_n_s8_m(pg: svbool_t, op1: svint8_t, op2: i8) -> svint8_t {
2963 svbic_s8_m(pg, op1, svdup_n_s8(op2))
2964}
2965#[doc = "Bitwise clear"]
2966#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svbic[_s8]_x)"]
2967#[inline]
2968#[target_feature(enable = "sve")]
2969#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2970#[cfg_attr(test, assert_instr(bic))]
2971pub fn svbic_s8_x(pg: svbool_t, op1: svint8_t, op2: svint8_t) -> svint8_t {
2972 svbic_s8_m(pg, op1, op2)
2973}
2974#[doc = "Bitwise clear"]
2975#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svbic[_n_s8]_x)"]
2976#[inline]
2977#[target_feature(enable = "sve")]
2978#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2979#[cfg_attr(test, assert_instr(bic))]
2980pub fn svbic_n_s8_x(pg: svbool_t, op1: svint8_t, op2: i8) -> svint8_t {
2981 svbic_s8_x(pg, op1, svdup_n_s8(op2))
2982}
2983#[doc = "Bitwise clear"]
2984#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svbic[_s8]_z)"]
2985#[inline]
2986#[target_feature(enable = "sve")]
2987#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2988#[cfg_attr(test, assert_instr(bic))]
2989pub fn svbic_s8_z(pg: svbool_t, op1: svint8_t, op2: svint8_t) -> svint8_t {
2990 svbic_s8_m(pg, svsel_s8(pg, op1, svdup_n_s8(0)), op2)
2991}
2992#[doc = "Bitwise clear"]
2993#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svbic[_n_s8]_z)"]
2994#[inline]
2995#[target_feature(enable = "sve")]
2996#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2997#[cfg_attr(test, assert_instr(bic))]
2998pub fn svbic_n_s8_z(pg: svbool_t, op1: svint8_t, op2: i8) -> svint8_t {
2999 svbic_s8_z(pg, op1, svdup_n_s8(op2))
3000}
3001#[doc = "Bitwise clear"]
3002#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svbic[_s16]_m)"]
3003#[inline]
3004#[target_feature(enable = "sve")]
3005#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
3006#[cfg_attr(test, assert_instr(bic))]
3007pub fn svbic_s16_m(pg: svbool_t, op1: svint16_t, op2: svint16_t) -> svint16_t {
3008 unsafe extern "unadjusted" {
3009 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.bic.nxv8i16")]
3010 fn _svbic_s16_m(pg: svbool8_t, op1: svint16_t, op2: svint16_t) -> svint16_t;
3011 }
3012 unsafe { _svbic_s16_m(pg.sve_into(), op1, op2) }
3013}
3014#[doc = "Bitwise clear"]
3015#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svbic[_n_s16]_m)"]
3016#[inline]
3017#[target_feature(enable = "sve")]
3018#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
3019#[cfg_attr(test, assert_instr(bic))]
3020pub fn svbic_n_s16_m(pg: svbool_t, op1: svint16_t, op2: i16) -> svint16_t {
3021 svbic_s16_m(pg, op1, svdup_n_s16(op2))
3022}
3023#[doc = "Bitwise clear"]
3024#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svbic[_s16]_x)"]
3025#[inline]
3026#[target_feature(enable = "sve")]
3027#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
3028#[cfg_attr(test, assert_instr(bic))]
3029pub fn svbic_s16_x(pg: svbool_t, op1: svint16_t, op2: svint16_t) -> svint16_t {
3030 svbic_s16_m(pg, op1, op2)
3031}
3032#[doc = "Bitwise clear"]
3033#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svbic[_n_s16]_x)"]
3034#[inline]
3035#[target_feature(enable = "sve")]
3036#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
3037#[cfg_attr(test, assert_instr(bic))]
3038pub fn svbic_n_s16_x(pg: svbool_t, op1: svint16_t, op2: i16) -> svint16_t {
3039 svbic_s16_x(pg, op1, svdup_n_s16(op2))
3040}
3041#[doc = "Bitwise clear"]
3042#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svbic[_s16]_z)"]
3043#[inline]
3044#[target_feature(enable = "sve")]
3045#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
3046#[cfg_attr(test, assert_instr(bic))]
3047pub fn svbic_s16_z(pg: svbool_t, op1: svint16_t, op2: svint16_t) -> svint16_t {
3048 svbic_s16_m(pg, svsel_s16(pg, op1, svdup_n_s16(0)), op2)
3049}
3050#[doc = "Bitwise clear"]
3051#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svbic[_n_s16]_z)"]
3052#[inline]
3053#[target_feature(enable = "sve")]
3054#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
3055#[cfg_attr(test, assert_instr(bic))]
3056pub fn svbic_n_s16_z(pg: svbool_t, op1: svint16_t, op2: i16) -> svint16_t {
3057 svbic_s16_z(pg, op1, svdup_n_s16(op2))
3058}
3059#[doc = "Bitwise clear"]
3060#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svbic[_s32]_m)"]
3061#[inline]
3062#[target_feature(enable = "sve")]
3063#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
3064#[cfg_attr(test, assert_instr(bic))]
3065pub fn svbic_s32_m(pg: svbool_t, op1: svint32_t, op2: svint32_t) -> svint32_t {
3066 unsafe extern "unadjusted" {
3067 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.bic.nxv4i32")]
3068 fn _svbic_s32_m(pg: svbool4_t, op1: svint32_t, op2: svint32_t) -> svint32_t;
3069 }
3070 unsafe { _svbic_s32_m(pg.sve_into(), op1, op2) }
3071}
3072#[doc = "Bitwise clear"]
3073#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svbic[_n_s32]_m)"]
3074#[inline]
3075#[target_feature(enable = "sve")]
3076#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
3077#[cfg_attr(test, assert_instr(bic))]
3078pub fn svbic_n_s32_m(pg: svbool_t, op1: svint32_t, op2: i32) -> svint32_t {
3079 svbic_s32_m(pg, op1, svdup_n_s32(op2))
3080}
3081#[doc = "Bitwise clear"]
3082#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svbic[_s32]_x)"]
3083#[inline]
3084#[target_feature(enable = "sve")]
3085#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
3086#[cfg_attr(test, assert_instr(bic))]
3087pub fn svbic_s32_x(pg: svbool_t, op1: svint32_t, op2: svint32_t) -> svint32_t {
3088 svbic_s32_m(pg, op1, op2)
3089}
3090#[doc = "Bitwise clear"]
3091#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svbic[_n_s32]_x)"]
3092#[inline]
3093#[target_feature(enable = "sve")]
3094#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
3095#[cfg_attr(test, assert_instr(bic))]
3096pub fn svbic_n_s32_x(pg: svbool_t, op1: svint32_t, op2: i32) -> svint32_t {
3097 svbic_s32_x(pg, op1, svdup_n_s32(op2))
3098}
3099#[doc = "Bitwise clear"]
3100#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svbic[_s32]_z)"]
3101#[inline]
3102#[target_feature(enable = "sve")]
3103#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
3104#[cfg_attr(test, assert_instr(bic))]
3105pub fn svbic_s32_z(pg: svbool_t, op1: svint32_t, op2: svint32_t) -> svint32_t {
3106 svbic_s32_m(pg, svsel_s32(pg, op1, svdup_n_s32(0)), op2)
3107}
3108#[doc = "Bitwise clear"]
3109#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svbic[_n_s32]_z)"]
3110#[inline]
3111#[target_feature(enable = "sve")]
3112#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
3113#[cfg_attr(test, assert_instr(bic))]
3114pub fn svbic_n_s32_z(pg: svbool_t, op1: svint32_t, op2: i32) -> svint32_t {
3115 svbic_s32_z(pg, op1, svdup_n_s32(op2))
3116}
3117#[doc = "Bitwise clear"]
3118#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svbic[_s64]_m)"]
3119#[inline]
3120#[target_feature(enable = "sve")]
3121#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
3122#[cfg_attr(test, assert_instr(bic))]
3123pub fn svbic_s64_m(pg: svbool_t, op1: svint64_t, op2: svint64_t) -> svint64_t {
3124 unsafe extern "unadjusted" {
3125 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.bic.nxv2i64")]
3126 fn _svbic_s64_m(pg: svbool2_t, op1: svint64_t, op2: svint64_t) -> svint64_t;
3127 }
3128 unsafe { _svbic_s64_m(pg.sve_into(), op1, op2) }
3129}
3130#[doc = "Bitwise clear"]
3131#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svbic[_n_s64]_m)"]
3132#[inline]
3133#[target_feature(enable = "sve")]
3134#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
3135#[cfg_attr(test, assert_instr(bic))]
3136pub fn svbic_n_s64_m(pg: svbool_t, op1: svint64_t, op2: i64) -> svint64_t {
3137 svbic_s64_m(pg, op1, svdup_n_s64(op2))
3138}
3139#[doc = "Bitwise clear"]
3140#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svbic[_s64]_x)"]
3141#[inline]
3142#[target_feature(enable = "sve")]
3143#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
3144#[cfg_attr(test, assert_instr(bic))]
3145pub fn svbic_s64_x(pg: svbool_t, op1: svint64_t, op2: svint64_t) -> svint64_t {
3146 svbic_s64_m(pg, op1, op2)
3147}
3148#[doc = "Bitwise clear"]
3149#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svbic[_n_s64]_x)"]
3150#[inline]
3151#[target_feature(enable = "sve")]
3152#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
3153#[cfg_attr(test, assert_instr(bic))]
3154pub fn svbic_n_s64_x(pg: svbool_t, op1: svint64_t, op2: i64) -> svint64_t {
3155 svbic_s64_x(pg, op1, svdup_n_s64(op2))
3156}
3157#[doc = "Bitwise clear"]
3158#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svbic[_s64]_z)"]
3159#[inline]
3160#[target_feature(enable = "sve")]
3161#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
3162#[cfg_attr(test, assert_instr(bic))]
3163pub fn svbic_s64_z(pg: svbool_t, op1: svint64_t, op2: svint64_t) -> svint64_t {
3164 svbic_s64_m(pg, svsel_s64(pg, op1, svdup_n_s64(0)), op2)
3165}
3166#[doc = "Bitwise clear"]
3167#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svbic[_n_s64]_z)"]
3168#[inline]
3169#[target_feature(enable = "sve")]
3170#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
3171#[cfg_attr(test, assert_instr(bic))]
3172pub fn svbic_n_s64_z(pg: svbool_t, op1: svint64_t, op2: i64) -> svint64_t {
3173 svbic_s64_z(pg, op1, svdup_n_s64(op2))
3174}
3175#[doc = "Bitwise clear"]
3176#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svbic[_u8]_m)"]
3177#[inline]
3178#[target_feature(enable = "sve")]
3179#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
3180#[cfg_attr(test, assert_instr(bic))]
3181pub fn svbic_u8_m(pg: svbool_t, op1: svuint8_t, op2: svuint8_t) -> svuint8_t {
3182 unsafe { svbic_s8_m(pg, op1.as_signed(), op2.as_signed()).as_unsigned() }
3183}
3184#[doc = "Bitwise clear"]
3185#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svbic[_n_u8]_m)"]
3186#[inline]
3187#[target_feature(enable = "sve")]
3188#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
3189#[cfg_attr(test, assert_instr(bic))]
3190pub fn svbic_n_u8_m(pg: svbool_t, op1: svuint8_t, op2: u8) -> svuint8_t {
3191 svbic_u8_m(pg, op1, svdup_n_u8(op2))
3192}
3193#[doc = "Bitwise clear"]
3194#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svbic[_u8]_x)"]
3195#[inline]
3196#[target_feature(enable = "sve")]
3197#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
3198#[cfg_attr(test, assert_instr(bic))]
3199pub fn svbic_u8_x(pg: svbool_t, op1: svuint8_t, op2: svuint8_t) -> svuint8_t {
3200 svbic_u8_m(pg, op1, op2)
3201}
3202#[doc = "Bitwise clear"]
3203#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svbic[_n_u8]_x)"]
3204#[inline]
3205#[target_feature(enable = "sve")]
3206#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
3207#[cfg_attr(test, assert_instr(bic))]
3208pub fn svbic_n_u8_x(pg: svbool_t, op1: svuint8_t, op2: u8) -> svuint8_t {
3209 svbic_u8_x(pg, op1, svdup_n_u8(op2))
3210}
3211#[doc = "Bitwise clear"]
3212#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svbic[_u8]_z)"]
3213#[inline]
3214#[target_feature(enable = "sve")]
3215#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
3216#[cfg_attr(test, assert_instr(bic))]
3217pub fn svbic_u8_z(pg: svbool_t, op1: svuint8_t, op2: svuint8_t) -> svuint8_t {
3218 svbic_u8_m(pg, svsel_u8(pg, op1, svdup_n_u8(0)), op2)
3219}
3220#[doc = "Bitwise clear"]
3221#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svbic[_n_u8]_z)"]
3222#[inline]
3223#[target_feature(enable = "sve")]
3224#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
3225#[cfg_attr(test, assert_instr(bic))]
3226pub fn svbic_n_u8_z(pg: svbool_t, op1: svuint8_t, op2: u8) -> svuint8_t {
3227 svbic_u8_z(pg, op1, svdup_n_u8(op2))
3228}
3229#[doc = "Bitwise clear"]
3230#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svbic[_u16]_m)"]
3231#[inline]
3232#[target_feature(enable = "sve")]
3233#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
3234#[cfg_attr(test, assert_instr(bic))]
3235pub fn svbic_u16_m(pg: svbool_t, op1: svuint16_t, op2: svuint16_t) -> svuint16_t {
3236 unsafe { svbic_s16_m(pg, op1.as_signed(), op2.as_signed()).as_unsigned() }
3237}
3238#[doc = "Bitwise clear"]
3239#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svbic[_n_u16]_m)"]
3240#[inline]
3241#[target_feature(enable = "sve")]
3242#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
3243#[cfg_attr(test, assert_instr(bic))]
3244pub fn svbic_n_u16_m(pg: svbool_t, op1: svuint16_t, op2: u16) -> svuint16_t {
3245 svbic_u16_m(pg, op1, svdup_n_u16(op2))
3246}
3247#[doc = "Bitwise clear"]
3248#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svbic[_u16]_x)"]
3249#[inline]
3250#[target_feature(enable = "sve")]
3251#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
3252#[cfg_attr(test, assert_instr(bic))]
3253pub fn svbic_u16_x(pg: svbool_t, op1: svuint16_t, op2: svuint16_t) -> svuint16_t {
3254 svbic_u16_m(pg, op1, op2)
3255}
3256#[doc = "Bitwise clear"]
3257#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svbic[_n_u16]_x)"]
3258#[inline]
3259#[target_feature(enable = "sve")]
3260#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
3261#[cfg_attr(test, assert_instr(bic))]
3262pub fn svbic_n_u16_x(pg: svbool_t, op1: svuint16_t, op2: u16) -> svuint16_t {
3263 svbic_u16_x(pg, op1, svdup_n_u16(op2))
3264}
3265#[doc = "Bitwise clear"]
3266#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svbic[_u16]_z)"]
3267#[inline]
3268#[target_feature(enable = "sve")]
3269#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
3270#[cfg_attr(test, assert_instr(bic))]
3271pub fn svbic_u16_z(pg: svbool_t, op1: svuint16_t, op2: svuint16_t) -> svuint16_t {
3272 svbic_u16_m(pg, svsel_u16(pg, op1, svdup_n_u16(0)), op2)
3273}
3274#[doc = "Bitwise clear"]
3275#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svbic[_n_u16]_z)"]
3276#[inline]
3277#[target_feature(enable = "sve")]
3278#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
3279#[cfg_attr(test, assert_instr(bic))]
3280pub fn svbic_n_u16_z(pg: svbool_t, op1: svuint16_t, op2: u16) -> svuint16_t {
3281 svbic_u16_z(pg, op1, svdup_n_u16(op2))
3282}
3283#[doc = "Bitwise clear"]
3284#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svbic[_u32]_m)"]
3285#[inline]
3286#[target_feature(enable = "sve")]
3287#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
3288#[cfg_attr(test, assert_instr(bic))]
3289pub fn svbic_u32_m(pg: svbool_t, op1: svuint32_t, op2: svuint32_t) -> svuint32_t {
3290 unsafe { svbic_s32_m(pg, op1.as_signed(), op2.as_signed()).as_unsigned() }
3291}
3292#[doc = "Bitwise clear"]
3293#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svbic[_n_u32]_m)"]
3294#[inline]
3295#[target_feature(enable = "sve")]
3296#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
3297#[cfg_attr(test, assert_instr(bic))]
3298pub fn svbic_n_u32_m(pg: svbool_t, op1: svuint32_t, op2: u32) -> svuint32_t {
3299 svbic_u32_m(pg, op1, svdup_n_u32(op2))
3300}
3301#[doc = "Bitwise clear"]
3302#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svbic[_u32]_x)"]
3303#[inline]
3304#[target_feature(enable = "sve")]
3305#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
3306#[cfg_attr(test, assert_instr(bic))]
3307pub fn svbic_u32_x(pg: svbool_t, op1: svuint32_t, op2: svuint32_t) -> svuint32_t {
3308 svbic_u32_m(pg, op1, op2)
3309}
3310#[doc = "Bitwise clear"]
3311#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svbic[_n_u32]_x)"]
3312#[inline]
3313#[target_feature(enable = "sve")]
3314#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
3315#[cfg_attr(test, assert_instr(bic))]
3316pub fn svbic_n_u32_x(pg: svbool_t, op1: svuint32_t, op2: u32) -> svuint32_t {
3317 svbic_u32_x(pg, op1, svdup_n_u32(op2))
3318}
3319#[doc = "Bitwise clear"]
3320#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svbic[_u32]_z)"]
3321#[inline]
3322#[target_feature(enable = "sve")]
3323#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
3324#[cfg_attr(test, assert_instr(bic))]
3325pub fn svbic_u32_z(pg: svbool_t, op1: svuint32_t, op2: svuint32_t) -> svuint32_t {
3326 svbic_u32_m(pg, svsel_u32(pg, op1, svdup_n_u32(0)), op2)
3327}
3328#[doc = "Bitwise clear"]
3329#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svbic[_n_u32]_z)"]
3330#[inline]
3331#[target_feature(enable = "sve")]
3332#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
3333#[cfg_attr(test, assert_instr(bic))]
3334pub fn svbic_n_u32_z(pg: svbool_t, op1: svuint32_t, op2: u32) -> svuint32_t {
3335 svbic_u32_z(pg, op1, svdup_n_u32(op2))
3336}
3337#[doc = "Bitwise clear"]
3338#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svbic[_u64]_m)"]
3339#[inline]
3340#[target_feature(enable = "sve")]
3341#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
3342#[cfg_attr(test, assert_instr(bic))]
3343pub fn svbic_u64_m(pg: svbool_t, op1: svuint64_t, op2: svuint64_t) -> svuint64_t {
3344 unsafe { svbic_s64_m(pg, op1.as_signed(), op2.as_signed()).as_unsigned() }
3345}
3346#[doc = "Bitwise clear"]
3347#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svbic[_n_u64]_m)"]
3348#[inline]
3349#[target_feature(enable = "sve")]
3350#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
3351#[cfg_attr(test, assert_instr(bic))]
3352pub fn svbic_n_u64_m(pg: svbool_t, op1: svuint64_t, op2: u64) -> svuint64_t {
3353 svbic_u64_m(pg, op1, svdup_n_u64(op2))
3354}
3355#[doc = "Bitwise clear"]
3356#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svbic[_u64]_x)"]
3357#[inline]
3358#[target_feature(enable = "sve")]
3359#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
3360#[cfg_attr(test, assert_instr(bic))]
3361pub fn svbic_u64_x(pg: svbool_t, op1: svuint64_t, op2: svuint64_t) -> svuint64_t {
3362 svbic_u64_m(pg, op1, op2)
3363}
3364#[doc = "Bitwise clear"]
3365#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svbic[_n_u64]_x)"]
3366#[inline]
3367#[target_feature(enable = "sve")]
3368#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
3369#[cfg_attr(test, assert_instr(bic))]
3370pub fn svbic_n_u64_x(pg: svbool_t, op1: svuint64_t, op2: u64) -> svuint64_t {
3371 svbic_u64_x(pg, op1, svdup_n_u64(op2))
3372}
3373#[doc = "Bitwise clear"]
3374#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svbic[_u64]_z)"]
3375#[inline]
3376#[target_feature(enable = "sve")]
3377#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
3378#[cfg_attr(test, assert_instr(bic))]
3379pub fn svbic_u64_z(pg: svbool_t, op1: svuint64_t, op2: svuint64_t) -> svuint64_t {
3380 svbic_u64_m(pg, svsel_u64(pg, op1, svdup_n_u64(0)), op2)
3381}
3382#[doc = "Bitwise clear"]
3383#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svbic[_n_u64]_z)"]
3384#[inline]
3385#[target_feature(enable = "sve")]
3386#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
3387#[cfg_attr(test, assert_instr(bic))]
3388pub fn svbic_n_u64_z(pg: svbool_t, op1: svuint64_t, op2: u64) -> svuint64_t {
3389 svbic_u64_z(pg, op1, svdup_n_u64(op2))
3390}
3391#[doc = "Break after first true condition"]
3392#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svbrka[_b]_m)"]
3393#[inline]
3394#[target_feature(enable = "sve")]
3395#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
3396#[cfg_attr(test, assert_instr(brka))]
3397pub fn svbrka_b_m(inactive: svbool_t, pg: svbool_t, op: svbool_t) -> svbool_t {
3398 unsafe extern "unadjusted" {
3399 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.brka.nxv16i1")]
3400 fn _svbrka_b_m(inactive: svbool_t, pg: svbool_t, op: svbool_t) -> svbool_t;
3401 }
3402 unsafe { _svbrka_b_m(inactive, pg, op) }
3403}
3404#[doc = "Break after first true condition"]
3405#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svbrka[_b]_z)"]
3406#[inline]
3407#[target_feature(enable = "sve")]
3408#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
3409#[cfg_attr(test, assert_instr(brka))]
3410pub fn svbrka_b_z(pg: svbool_t, op: svbool_t) -> svbool_t {
3411 unsafe extern "unadjusted" {
3412 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.brka.z.nxv16i1")]
3413 fn _svbrka_b_z(pg: svbool_t, op: svbool_t) -> svbool_t;
3414 }
3415 unsafe { _svbrka_b_z(pg, op) }
3416}
3417#[doc = "Break before first true condition"]
3418#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svbrkb[_b]_m)"]
3419#[inline]
3420#[target_feature(enable = "sve")]
3421#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
3422#[cfg_attr(test, assert_instr(brkb))]
3423pub fn svbrkb_b_m(inactive: svbool_t, pg: svbool_t, op: svbool_t) -> svbool_t {
3424 unsafe extern "unadjusted" {
3425 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.brkb.nxv16i1")]
3426 fn _svbrkb_b_m(inactive: svbool_t, pg: svbool_t, op: svbool_t) -> svbool_t;
3427 }
3428 unsafe { _svbrkb_b_m(inactive, pg, op) }
3429}
3430#[doc = "Break before first true condition"]
3431#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svbrkb[_b]_z)"]
3432#[inline]
3433#[target_feature(enable = "sve")]
3434#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
3435#[cfg_attr(test, assert_instr(brkb))]
3436pub fn svbrkb_b_z(pg: svbool_t, op: svbool_t) -> svbool_t {
3437 unsafe extern "unadjusted" {
3438 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.brkb.z.nxv16i1")]
3439 fn _svbrkb_b_z(pg: svbool_t, op: svbool_t) -> svbool_t;
3440 }
3441 unsafe { _svbrkb_b_z(pg, op) }
3442}
3443#[doc = "Propagate break to next partition"]
3444#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svbrkn[_b]_z)"]
3445#[inline]
3446#[target_feature(enable = "sve")]
3447#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
3448#[cfg_attr(test, assert_instr(brkn))]
3449pub fn svbrkn_b_z(pg: svbool_t, op1: svbool_t, op2: svbool_t) -> svbool_t {
3450 unsafe extern "unadjusted" {
3451 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.brkn.z.nxv16i1")]
3452 fn _svbrkn_b_z(pg: svbool_t, op1: svbool_t, op2: svbool_t) -> svbool_t;
3453 }
3454 unsafe { _svbrkn_b_z(pg, op1, op2) }
3455}
3456#[doc = "Break after first true condition, propagating from previous partition"]
3457#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svbrkpa[_b]_z)"]
3458#[inline]
3459#[target_feature(enable = "sve")]
3460#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
3461#[cfg_attr(test, assert_instr(brkpa))]
3462pub fn svbrkpa_b_z(pg: svbool_t, op1: svbool_t, op2: svbool_t) -> svbool_t {
3463 unsafe extern "unadjusted" {
3464 #[cfg_attr(
3465 target_arch = "aarch64",
3466 link_name = "llvm.aarch64.sve.brkpa.z.nxv16i1"
3467 )]
3468 fn _svbrkpa_b_z(pg: svbool_t, op1: svbool_t, op2: svbool_t) -> svbool_t;
3469 }
3470 unsafe { _svbrkpa_b_z(pg, op1, op2) }
3471}
3472#[doc = "Break before first true condition, propagating from previous partition"]
3473#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svbrkpb[_b]_z)"]
3474#[inline]
3475#[target_feature(enable = "sve")]
3476#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
3477#[cfg_attr(test, assert_instr(brkpb))]
3478pub fn svbrkpb_b_z(pg: svbool_t, op1: svbool_t, op2: svbool_t) -> svbool_t {
3479 unsafe extern "unadjusted" {
3480 #[cfg_attr(
3481 target_arch = "aarch64",
3482 link_name = "llvm.aarch64.sve.brkpb.z.nxv16i1"
3483 )]
3484 fn _svbrkpb_b_z(pg: svbool_t, op1: svbool_t, op2: svbool_t) -> svbool_t;
3485 }
3486 unsafe { _svbrkpb_b_z(pg, op1, op2) }
3487}
3488#[doc = "Complex add with rotate"]
3489#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcadd[_f32]_m)"]
3490#[inline]
3491#[target_feature(enable = "sve")]
3492#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
3493#[cfg_attr(test, assert_instr(fcadd, IMM_ROTATION = 90))]
3494pub fn svcadd_f32_m<const IMM_ROTATION: i32>(
3495 pg: svbool_t,
3496 op1: svfloat32_t,
3497 op2: svfloat32_t,
3498) -> svfloat32_t {
3499 static_assert!(IMM_ROTATION == 90 || IMM_ROTATION == 270);
3500 unsafe extern "unadjusted" {
3501 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.fcadd.nxv4f32")]
3502 fn _svcadd_f32_m(
3503 pg: svbool4_t,
3504 op1: svfloat32_t,
3505 op2: svfloat32_t,
3506 imm_rotation: i32,
3507 ) -> svfloat32_t;
3508 }
3509 unsafe { _svcadd_f32_m(pg.sve_into(), op1, op2, IMM_ROTATION) }
3510}
3511#[doc = "Complex add with rotate"]
3512#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcadd[_f32]_x)"]
3513#[inline]
3514#[target_feature(enable = "sve")]
3515#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
3516#[cfg_attr(test, assert_instr(fcadd, IMM_ROTATION = 90))]
3517pub fn svcadd_f32_x<const IMM_ROTATION: i32>(
3518 pg: svbool_t,
3519 op1: svfloat32_t,
3520 op2: svfloat32_t,
3521) -> svfloat32_t {
3522 svcadd_f32_m::<IMM_ROTATION>(pg, op1, op2)
3523}
3524#[doc = "Complex add with rotate"]
3525#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcadd[_f32]_z)"]
3526#[inline]
3527#[target_feature(enable = "sve")]
3528#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
3529#[cfg_attr(test, assert_instr(fcadd, IMM_ROTATION = 90))]
3530pub fn svcadd_f32_z<const IMM_ROTATION: i32>(
3531 pg: svbool_t,
3532 op1: svfloat32_t,
3533 op2: svfloat32_t,
3534) -> svfloat32_t {
3535 svcadd_f32_m::<IMM_ROTATION>(pg, svsel_f32(pg, op1, svdup_n_f32(0.0)), op2)
3536}
3537#[doc = "Complex add with rotate"]
3538#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcadd[_f64]_m)"]
3539#[inline]
3540#[target_feature(enable = "sve")]
3541#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
3542#[cfg_attr(test, assert_instr(fcadd, IMM_ROTATION = 90))]
3543pub fn svcadd_f64_m<const IMM_ROTATION: i32>(
3544 pg: svbool_t,
3545 op1: svfloat64_t,
3546 op2: svfloat64_t,
3547) -> svfloat64_t {
3548 static_assert!(IMM_ROTATION == 90 || IMM_ROTATION == 270);
3549 unsafe extern "unadjusted" {
3550 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.fcadd.nxv2f64")]
3551 fn _svcadd_f64_m(
3552 pg: svbool2_t,
3553 op1: svfloat64_t,
3554 op2: svfloat64_t,
3555 imm_rotation: i32,
3556 ) -> svfloat64_t;
3557 }
3558 unsafe { _svcadd_f64_m(pg.sve_into(), op1, op2, IMM_ROTATION) }
3559}
3560#[doc = "Complex add with rotate"]
3561#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcadd[_f64]_x)"]
3562#[inline]
3563#[target_feature(enable = "sve")]
3564#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
3565#[cfg_attr(test, assert_instr(fcadd, IMM_ROTATION = 90))]
3566pub fn svcadd_f64_x<const IMM_ROTATION: i32>(
3567 pg: svbool_t,
3568 op1: svfloat64_t,
3569 op2: svfloat64_t,
3570) -> svfloat64_t {
3571 svcadd_f64_m::<IMM_ROTATION>(pg, op1, op2)
3572}
3573#[doc = "Complex add with rotate"]
3574#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcadd[_f64]_z)"]
3575#[inline]
3576#[target_feature(enable = "sve")]
3577#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
3578#[cfg_attr(test, assert_instr(fcadd, IMM_ROTATION = 90))]
3579pub fn svcadd_f64_z<const IMM_ROTATION: i32>(
3580 pg: svbool_t,
3581 op1: svfloat64_t,
3582 op2: svfloat64_t,
3583) -> svfloat64_t {
3584 svcadd_f64_m::<IMM_ROTATION>(pg, svsel_f64(pg, op1, svdup_n_f64(0.0)), op2)
3585}
3586#[doc = "Conditionally extract element after last"]
3587#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svclasta[_f32])"]
3588#[inline]
3589#[target_feature(enable = "sve")]
3590#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
3591#[cfg_attr(test, assert_instr(clasta))]
3592pub fn svclasta_f32(pg: svbool_t, fallback: svfloat32_t, data: svfloat32_t) -> svfloat32_t {
3593 unsafe extern "unadjusted" {
3594 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.clasta.nxv4f32")]
3595 fn _svclasta_f32(pg: svbool4_t, fallback: svfloat32_t, data: svfloat32_t) -> svfloat32_t;
3596 }
3597 unsafe { _svclasta_f32(pg.sve_into(), fallback, data) }
3598}
3599#[doc = "Conditionally extract element after last"]
3600#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svclasta[_f64])"]
3601#[inline]
3602#[target_feature(enable = "sve")]
3603#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
3604#[cfg_attr(test, assert_instr(clasta))]
3605pub fn svclasta_f64(pg: svbool_t, fallback: svfloat64_t, data: svfloat64_t) -> svfloat64_t {
3606 unsafe extern "unadjusted" {
3607 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.clasta.nxv2f64")]
3608 fn _svclasta_f64(pg: svbool2_t, fallback: svfloat64_t, data: svfloat64_t) -> svfloat64_t;
3609 }
3610 unsafe { _svclasta_f64(pg.sve_into(), fallback, data) }
3611}
3612#[doc = "Conditionally extract element after last"]
3613#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svclasta[_s8])"]
3614#[inline]
3615#[target_feature(enable = "sve")]
3616#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
3617#[cfg_attr(test, assert_instr(clasta))]
3618pub fn svclasta_s8(pg: svbool_t, fallback: svint8_t, data: svint8_t) -> svint8_t {
3619 unsafe extern "unadjusted" {
3620 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.clasta.nxv16i8")]
3621 fn _svclasta_s8(pg: svbool_t, fallback: svint8_t, data: svint8_t) -> svint8_t;
3622 }
3623 unsafe { _svclasta_s8(pg, fallback, data) }
3624}
3625#[doc = "Conditionally extract element after last"]
3626#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svclasta[_s16])"]
3627#[inline]
3628#[target_feature(enable = "sve")]
3629#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
3630#[cfg_attr(test, assert_instr(clasta))]
3631pub fn svclasta_s16(pg: svbool_t, fallback: svint16_t, data: svint16_t) -> svint16_t {
3632 unsafe extern "unadjusted" {
3633 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.clasta.nxv8i16")]
3634 fn _svclasta_s16(pg: svbool8_t, fallback: svint16_t, data: svint16_t) -> svint16_t;
3635 }
3636 unsafe { _svclasta_s16(pg.sve_into(), fallback, data) }
3637}
3638#[doc = "Conditionally extract element after last"]
3639#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svclasta[_s32])"]
3640#[inline]
3641#[target_feature(enable = "sve")]
3642#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
3643#[cfg_attr(test, assert_instr(clasta))]
3644pub fn svclasta_s32(pg: svbool_t, fallback: svint32_t, data: svint32_t) -> svint32_t {
3645 unsafe extern "unadjusted" {
3646 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.clasta.nxv4i32")]
3647 fn _svclasta_s32(pg: svbool4_t, fallback: svint32_t, data: svint32_t) -> svint32_t;
3648 }
3649 unsafe { _svclasta_s32(pg.sve_into(), fallback, data) }
3650}
3651#[doc = "Conditionally extract element after last"]
3652#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svclasta[_s64])"]
3653#[inline]
3654#[target_feature(enable = "sve")]
3655#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
3656#[cfg_attr(test, assert_instr(clasta))]
3657pub fn svclasta_s64(pg: svbool_t, fallback: svint64_t, data: svint64_t) -> svint64_t {
3658 unsafe extern "unadjusted" {
3659 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.clasta.nxv2i64")]
3660 fn _svclasta_s64(pg: svbool2_t, fallback: svint64_t, data: svint64_t) -> svint64_t;
3661 }
3662 unsafe { _svclasta_s64(pg.sve_into(), fallback, data) }
3663}
3664#[doc = "Conditionally extract element after last"]
3665#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svclasta[_u8])"]
3666#[inline]
3667#[target_feature(enable = "sve")]
3668#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
3669#[cfg_attr(test, assert_instr(clasta))]
3670pub fn svclasta_u8(pg: svbool_t, fallback: svuint8_t, data: svuint8_t) -> svuint8_t {
3671 unsafe { svclasta_s8(pg, fallback.as_signed(), data.as_signed()).as_unsigned() }
3672}
3673#[doc = "Conditionally extract element after last"]
3674#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svclasta[_u16])"]
3675#[inline]
3676#[target_feature(enable = "sve")]
3677#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
3678#[cfg_attr(test, assert_instr(clasta))]
3679pub fn svclasta_u16(pg: svbool_t, fallback: svuint16_t, data: svuint16_t) -> svuint16_t {
3680 unsafe { svclasta_s16(pg, fallback.as_signed(), data.as_signed()).as_unsigned() }
3681}
3682#[doc = "Conditionally extract element after last"]
3683#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svclasta[_u32])"]
3684#[inline]
3685#[target_feature(enable = "sve")]
3686#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
3687#[cfg_attr(test, assert_instr(clasta))]
3688pub fn svclasta_u32(pg: svbool_t, fallback: svuint32_t, data: svuint32_t) -> svuint32_t {
3689 unsafe { svclasta_s32(pg, fallback.as_signed(), data.as_signed()).as_unsigned() }
3690}
3691#[doc = "Conditionally extract element after last"]
3692#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svclasta[_u64])"]
3693#[inline]
3694#[target_feature(enable = "sve")]
3695#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
3696#[cfg_attr(test, assert_instr(clasta))]
3697pub fn svclasta_u64(pg: svbool_t, fallback: svuint64_t, data: svuint64_t) -> svuint64_t {
3698 unsafe { svclasta_s64(pg, fallback.as_signed(), data.as_signed()).as_unsigned() }
3699}
3700#[doc = "Conditionally extract element after last"]
3701#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svclasta[_n_f32])"]
3702#[inline]
3703#[target_feature(enable = "sve")]
3704#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
3705#[cfg_attr(test, assert_instr(clasta))]
3706pub fn svclasta_n_f32(pg: svbool_t, fallback: f32, data: svfloat32_t) -> f32 {
3707 unsafe extern "unadjusted" {
3708 #[cfg_attr(
3709 target_arch = "aarch64",
3710 link_name = "llvm.aarch64.sve.clasta.n.nxv4f32"
3711 )]
3712 fn _svclasta_n_f32(pg: svbool4_t, fallback: f32, data: svfloat32_t) -> f32;
3713 }
3714 unsafe { _svclasta_n_f32(pg.sve_into(), fallback, data) }
3715}
3716#[doc = "Conditionally extract element after last"]
3717#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svclasta[_n_f64])"]
3718#[inline]
3719#[target_feature(enable = "sve")]
3720#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
3721#[cfg_attr(test, assert_instr(clasta))]
3722pub fn svclasta_n_f64(pg: svbool_t, fallback: f64, data: svfloat64_t) -> f64 {
3723 unsafe extern "unadjusted" {
3724 #[cfg_attr(
3725 target_arch = "aarch64",
3726 link_name = "llvm.aarch64.sve.clasta.n.nxv2f64"
3727 )]
3728 fn _svclasta_n_f64(pg: svbool2_t, fallback: f64, data: svfloat64_t) -> f64;
3729 }
3730 unsafe { _svclasta_n_f64(pg.sve_into(), fallback, data) }
3731}
3732#[doc = "Conditionally extract element after last"]
3733#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svclasta[_n_s8])"]
3734#[inline]
3735#[target_feature(enable = "sve")]
3736#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
3737#[cfg_attr(test, assert_instr(clasta))]
3738pub fn svclasta_n_s8(pg: svbool_t, fallback: i8, data: svint8_t) -> i8 {
3739 unsafe extern "unadjusted" {
3740 #[cfg_attr(
3741 target_arch = "aarch64",
3742 link_name = "llvm.aarch64.sve.clasta.n.nxv16i8"
3743 )]
3744 fn _svclasta_n_s8(pg: svbool_t, fallback: i8, data: svint8_t) -> i8;
3745 }
3746 unsafe { _svclasta_n_s8(pg, fallback, data) }
3747}
3748#[doc = "Conditionally extract element after last"]
3749#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svclasta[_n_s16])"]
3750#[inline]
3751#[target_feature(enable = "sve")]
3752#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
3753#[cfg_attr(test, assert_instr(clasta))]
3754pub fn svclasta_n_s16(pg: svbool_t, fallback: i16, data: svint16_t) -> i16 {
3755 unsafe extern "unadjusted" {
3756 #[cfg_attr(
3757 target_arch = "aarch64",
3758 link_name = "llvm.aarch64.sve.clasta.n.nxv8i16"
3759 )]
3760 fn _svclasta_n_s16(pg: svbool8_t, fallback: i16, data: svint16_t) -> i16;
3761 }
3762 unsafe { _svclasta_n_s16(pg.sve_into(), fallback, data) }
3763}
3764#[doc = "Conditionally extract element after last"]
3765#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svclasta[_n_s32])"]
3766#[inline]
3767#[target_feature(enable = "sve")]
3768#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
3769#[cfg_attr(test, assert_instr(clasta))]
3770pub fn svclasta_n_s32(pg: svbool_t, fallback: i32, data: svint32_t) -> i32 {
3771 unsafe extern "unadjusted" {
3772 #[cfg_attr(
3773 target_arch = "aarch64",
3774 link_name = "llvm.aarch64.sve.clasta.n.nxv4i32"
3775 )]
3776 fn _svclasta_n_s32(pg: svbool4_t, fallback: i32, data: svint32_t) -> i32;
3777 }
3778 unsafe { _svclasta_n_s32(pg.sve_into(), fallback, data) }
3779}
3780#[doc = "Conditionally extract element after last"]
3781#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svclasta[_n_s64])"]
3782#[inline]
3783#[target_feature(enable = "sve")]
3784#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
3785#[cfg_attr(test, assert_instr(clasta))]
3786pub fn svclasta_n_s64(pg: svbool_t, fallback: i64, data: svint64_t) -> i64 {
3787 unsafe extern "unadjusted" {
3788 #[cfg_attr(
3789 target_arch = "aarch64",
3790 link_name = "llvm.aarch64.sve.clasta.n.nxv2i64"
3791 )]
3792 fn _svclasta_n_s64(pg: svbool2_t, fallback: i64, data: svint64_t) -> i64;
3793 }
3794 unsafe { _svclasta_n_s64(pg.sve_into(), fallback, data) }
3795}
3796#[doc = "Conditionally extract element after last"]
3797#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svclasta[_n_u8])"]
3798#[inline]
3799#[target_feature(enable = "sve")]
3800#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
3801#[cfg_attr(test, assert_instr(clasta))]
3802pub fn svclasta_n_u8(pg: svbool_t, fallback: u8, data: svuint8_t) -> u8 {
3803 unsafe { svclasta_n_s8(pg, fallback.as_signed(), data.as_signed()).as_unsigned() }
3804}
3805#[doc = "Conditionally extract element after last"]
3806#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svclasta[_n_u16])"]
3807#[inline]
3808#[target_feature(enable = "sve")]
3809#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
3810#[cfg_attr(test, assert_instr(clasta))]
3811pub fn svclasta_n_u16(pg: svbool_t, fallback: u16, data: svuint16_t) -> u16 {
3812 unsafe { svclasta_n_s16(pg, fallback.as_signed(), data.as_signed()).as_unsigned() }
3813}
3814#[doc = "Conditionally extract element after last"]
3815#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svclasta[_n_u32])"]
3816#[inline]
3817#[target_feature(enable = "sve")]
3818#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
3819#[cfg_attr(test, assert_instr(clasta))]
3820pub fn svclasta_n_u32(pg: svbool_t, fallback: u32, data: svuint32_t) -> u32 {
3821 unsafe { svclasta_n_s32(pg, fallback.as_signed(), data.as_signed()).as_unsigned() }
3822}
3823#[doc = "Conditionally extract element after last"]
3824#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svclasta[_n_u64])"]
3825#[inline]
3826#[target_feature(enable = "sve")]
3827#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
3828#[cfg_attr(test, assert_instr(clasta))]
3829pub fn svclasta_n_u64(pg: svbool_t, fallback: u64, data: svuint64_t) -> u64 {
3830 unsafe { svclasta_n_s64(pg, fallback.as_signed(), data.as_signed()).as_unsigned() }
3831}
3832#[doc = "Conditionally extract last element"]
3833#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svclastb[_f32])"]
3834#[inline]
3835#[target_feature(enable = "sve")]
3836#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
3837#[cfg_attr(test, assert_instr(clastb))]
3838pub fn svclastb_f32(pg: svbool_t, fallback: svfloat32_t, data: svfloat32_t) -> svfloat32_t {
3839 unsafe extern "unadjusted" {
3840 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.clastb.nxv4f32")]
3841 fn _svclastb_f32(pg: svbool4_t, fallback: svfloat32_t, data: svfloat32_t) -> svfloat32_t;
3842 }
3843 unsafe { _svclastb_f32(pg.sve_into(), fallback, data) }
3844}
3845#[doc = "Conditionally extract last element"]
3846#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svclastb[_f64])"]
3847#[inline]
3848#[target_feature(enable = "sve")]
3849#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
3850#[cfg_attr(test, assert_instr(clastb))]
3851pub fn svclastb_f64(pg: svbool_t, fallback: svfloat64_t, data: svfloat64_t) -> svfloat64_t {
3852 unsafe extern "unadjusted" {
3853 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.clastb.nxv2f64")]
3854 fn _svclastb_f64(pg: svbool2_t, fallback: svfloat64_t, data: svfloat64_t) -> svfloat64_t;
3855 }
3856 unsafe { _svclastb_f64(pg.sve_into(), fallback, data) }
3857}
3858#[doc = "Conditionally extract last element"]
3859#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svclastb[_s8])"]
3860#[inline]
3861#[target_feature(enable = "sve")]
3862#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
3863#[cfg_attr(test, assert_instr(clastb))]
3864pub fn svclastb_s8(pg: svbool_t, fallback: svint8_t, data: svint8_t) -> svint8_t {
3865 unsafe extern "unadjusted" {
3866 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.clastb.nxv16i8")]
3867 fn _svclastb_s8(pg: svbool_t, fallback: svint8_t, data: svint8_t) -> svint8_t;
3868 }
3869 unsafe { _svclastb_s8(pg, fallback, data) }
3870}
3871#[doc = "Conditionally extract last element"]
3872#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svclastb[_s16])"]
3873#[inline]
3874#[target_feature(enable = "sve")]
3875#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
3876#[cfg_attr(test, assert_instr(clastb))]
3877pub fn svclastb_s16(pg: svbool_t, fallback: svint16_t, data: svint16_t) -> svint16_t {
3878 unsafe extern "unadjusted" {
3879 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.clastb.nxv8i16")]
3880 fn _svclastb_s16(pg: svbool8_t, fallback: svint16_t, data: svint16_t) -> svint16_t;
3881 }
3882 unsafe { _svclastb_s16(pg.sve_into(), fallback, data) }
3883}
3884#[doc = "Conditionally extract last element"]
3885#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svclastb[_s32])"]
3886#[inline]
3887#[target_feature(enable = "sve")]
3888#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
3889#[cfg_attr(test, assert_instr(clastb))]
3890pub fn svclastb_s32(pg: svbool_t, fallback: svint32_t, data: svint32_t) -> svint32_t {
3891 unsafe extern "unadjusted" {
3892 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.clastb.nxv4i32")]
3893 fn _svclastb_s32(pg: svbool4_t, fallback: svint32_t, data: svint32_t) -> svint32_t;
3894 }
3895 unsafe { _svclastb_s32(pg.sve_into(), fallback, data) }
3896}
3897#[doc = "Conditionally extract last element"]
3898#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svclastb[_s64])"]
3899#[inline]
3900#[target_feature(enable = "sve")]
3901#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
3902#[cfg_attr(test, assert_instr(clastb))]
3903pub fn svclastb_s64(pg: svbool_t, fallback: svint64_t, data: svint64_t) -> svint64_t {
3904 unsafe extern "unadjusted" {
3905 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.clastb.nxv2i64")]
3906 fn _svclastb_s64(pg: svbool2_t, fallback: svint64_t, data: svint64_t) -> svint64_t;
3907 }
3908 unsafe { _svclastb_s64(pg.sve_into(), fallback, data) }
3909}
3910#[doc = "Conditionally extract last element"]
3911#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svclastb[_u8])"]
3912#[inline]
3913#[target_feature(enable = "sve")]
3914#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
3915#[cfg_attr(test, assert_instr(clastb))]
3916pub fn svclastb_u8(pg: svbool_t, fallback: svuint8_t, data: svuint8_t) -> svuint8_t {
3917 unsafe { svclastb_s8(pg, fallback.as_signed(), data.as_signed()).as_unsigned() }
3918}
3919#[doc = "Conditionally extract last element"]
3920#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svclastb[_u16])"]
3921#[inline]
3922#[target_feature(enable = "sve")]
3923#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
3924#[cfg_attr(test, assert_instr(clastb))]
3925pub fn svclastb_u16(pg: svbool_t, fallback: svuint16_t, data: svuint16_t) -> svuint16_t {
3926 unsafe { svclastb_s16(pg, fallback.as_signed(), data.as_signed()).as_unsigned() }
3927}
3928#[doc = "Conditionally extract last element"]
3929#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svclastb[_u32])"]
3930#[inline]
3931#[target_feature(enable = "sve")]
3932#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
3933#[cfg_attr(test, assert_instr(clastb))]
3934pub fn svclastb_u32(pg: svbool_t, fallback: svuint32_t, data: svuint32_t) -> svuint32_t {
3935 unsafe { svclastb_s32(pg, fallback.as_signed(), data.as_signed()).as_unsigned() }
3936}
3937#[doc = "Conditionally extract last element"]
3938#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svclastb[_u64])"]
3939#[inline]
3940#[target_feature(enable = "sve")]
3941#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
3942#[cfg_attr(test, assert_instr(clastb))]
3943pub fn svclastb_u64(pg: svbool_t, fallback: svuint64_t, data: svuint64_t) -> svuint64_t {
3944 unsafe { svclastb_s64(pg, fallback.as_signed(), data.as_signed()).as_unsigned() }
3945}
3946#[doc = "Conditionally extract last element"]
3947#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svclastb[_n_f32])"]
3948#[inline]
3949#[target_feature(enable = "sve")]
3950#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
3951#[cfg_attr(test, assert_instr(clastb))]
3952pub fn svclastb_n_f32(pg: svbool_t, fallback: f32, data: svfloat32_t) -> f32 {
3953 unsafe extern "unadjusted" {
3954 #[cfg_attr(
3955 target_arch = "aarch64",
3956 link_name = "llvm.aarch64.sve.clastb.n.nxv4f32"
3957 )]
3958 fn _svclastb_n_f32(pg: svbool4_t, fallback: f32, data: svfloat32_t) -> f32;
3959 }
3960 unsafe { _svclastb_n_f32(pg.sve_into(), fallback, data) }
3961}
3962#[doc = "Conditionally extract last element"]
3963#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svclastb[_n_f64])"]
3964#[inline]
3965#[target_feature(enable = "sve")]
3966#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
3967#[cfg_attr(test, assert_instr(clastb))]
3968pub fn svclastb_n_f64(pg: svbool_t, fallback: f64, data: svfloat64_t) -> f64 {
3969 unsafe extern "unadjusted" {
3970 #[cfg_attr(
3971 target_arch = "aarch64",
3972 link_name = "llvm.aarch64.sve.clastb.n.nxv2f64"
3973 )]
3974 fn _svclastb_n_f64(pg: svbool2_t, fallback: f64, data: svfloat64_t) -> f64;
3975 }
3976 unsafe { _svclastb_n_f64(pg.sve_into(), fallback, data) }
3977}
3978#[doc = "Conditionally extract last element"]
3979#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svclastb[_n_s8])"]
3980#[inline]
3981#[target_feature(enable = "sve")]
3982#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
3983#[cfg_attr(test, assert_instr(clastb))]
3984pub fn svclastb_n_s8(pg: svbool_t, fallback: i8, data: svint8_t) -> i8 {
3985 unsafe extern "unadjusted" {
3986 #[cfg_attr(
3987 target_arch = "aarch64",
3988 link_name = "llvm.aarch64.sve.clastb.n.nxv16i8"
3989 )]
3990 fn _svclastb_n_s8(pg: svbool_t, fallback: i8, data: svint8_t) -> i8;
3991 }
3992 unsafe { _svclastb_n_s8(pg, fallback, data) }
3993}
3994#[doc = "Conditionally extract last element"]
3995#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svclastb[_n_s16])"]
3996#[inline]
3997#[target_feature(enable = "sve")]
3998#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
3999#[cfg_attr(test, assert_instr(clastb))]
4000pub fn svclastb_n_s16(pg: svbool_t, fallback: i16, data: svint16_t) -> i16 {
4001 unsafe extern "unadjusted" {
4002 #[cfg_attr(
4003 target_arch = "aarch64",
4004 link_name = "llvm.aarch64.sve.clastb.n.nxv8i16"
4005 )]
4006 fn _svclastb_n_s16(pg: svbool8_t, fallback: i16, data: svint16_t) -> i16;
4007 }
4008 unsafe { _svclastb_n_s16(pg.sve_into(), fallback, data) }
4009}
4010#[doc = "Conditionally extract last element"]
4011#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svclastb[_n_s32])"]
4012#[inline]
4013#[target_feature(enable = "sve")]
4014#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
4015#[cfg_attr(test, assert_instr(clastb))]
4016pub fn svclastb_n_s32(pg: svbool_t, fallback: i32, data: svint32_t) -> i32 {
4017 unsafe extern "unadjusted" {
4018 #[cfg_attr(
4019 target_arch = "aarch64",
4020 link_name = "llvm.aarch64.sve.clastb.n.nxv4i32"
4021 )]
4022 fn _svclastb_n_s32(pg: svbool4_t, fallback: i32, data: svint32_t) -> i32;
4023 }
4024 unsafe { _svclastb_n_s32(pg.sve_into(), fallback, data) }
4025}
4026#[doc = "Conditionally extract last element"]
4027#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svclastb[_n_s64])"]
4028#[inline]
4029#[target_feature(enable = "sve")]
4030#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
4031#[cfg_attr(test, assert_instr(clastb))]
4032pub fn svclastb_n_s64(pg: svbool_t, fallback: i64, data: svint64_t) -> i64 {
4033 unsafe extern "unadjusted" {
4034 #[cfg_attr(
4035 target_arch = "aarch64",
4036 link_name = "llvm.aarch64.sve.clastb.n.nxv2i64"
4037 )]
4038 fn _svclastb_n_s64(pg: svbool2_t, fallback: i64, data: svint64_t) -> i64;
4039 }
4040 unsafe { _svclastb_n_s64(pg.sve_into(), fallback, data) }
4041}
4042#[doc = "Conditionally extract last element"]
4043#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svclastb[_n_u8])"]
4044#[inline]
4045#[target_feature(enable = "sve")]
4046#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
4047#[cfg_attr(test, assert_instr(clastb))]
4048pub fn svclastb_n_u8(pg: svbool_t, fallback: u8, data: svuint8_t) -> u8 {
4049 unsafe { svclastb_n_s8(pg, fallback.as_signed(), data.as_signed()).as_unsigned() }
4050}
4051#[doc = "Conditionally extract last element"]
4052#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svclastb[_n_u16])"]
4053#[inline]
4054#[target_feature(enable = "sve")]
4055#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
4056#[cfg_attr(test, assert_instr(clastb))]
4057pub fn svclastb_n_u16(pg: svbool_t, fallback: u16, data: svuint16_t) -> u16 {
4058 unsafe { svclastb_n_s16(pg, fallback.as_signed(), data.as_signed()).as_unsigned() }
4059}
4060#[doc = "Conditionally extract last element"]
4061#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svclastb[_n_u32])"]
4062#[inline]
4063#[target_feature(enable = "sve")]
4064#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
4065#[cfg_attr(test, assert_instr(clastb))]
4066pub fn svclastb_n_u32(pg: svbool_t, fallback: u32, data: svuint32_t) -> u32 {
4067 unsafe { svclastb_n_s32(pg, fallback.as_signed(), data.as_signed()).as_unsigned() }
4068}
4069#[doc = "Conditionally extract last element"]
4070#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svclastb[_n_u64])"]
4071#[inline]
4072#[target_feature(enable = "sve")]
4073#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
4074#[cfg_attr(test, assert_instr(clastb))]
4075pub fn svclastb_n_u64(pg: svbool_t, fallback: u64, data: svuint64_t) -> u64 {
4076 unsafe { svclastb_n_s64(pg, fallback.as_signed(), data.as_signed()).as_unsigned() }
4077}
4078#[doc = "Count leading sign bits"]
4079#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcls[_s8]_m)"]
4080#[inline]
4081#[target_feature(enable = "sve")]
4082#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
4083#[cfg_attr(test, assert_instr(cls))]
4084pub fn svcls_s8_m(inactive: svuint8_t, pg: svbool_t, op: svint8_t) -> svuint8_t {
4085 unsafe extern "unadjusted" {
4086 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.cls.nxv16i8")]
4087 fn _svcls_s8_m(inactive: svint8_t, pg: svbool_t, op: svint8_t) -> svint8_t;
4088 }
4089 unsafe { _svcls_s8_m(inactive.as_signed(), pg, op).as_unsigned() }
4090}
4091#[doc = "Count leading sign bits"]
4092#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcls[_s8]_x)"]
4093#[inline]
4094#[target_feature(enable = "sve")]
4095#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
4096#[cfg_attr(test, assert_instr(cls))]
4097pub fn svcls_s8_x(pg: svbool_t, op: svint8_t) -> svuint8_t {
4098 unsafe { svcls_s8_m(op.as_unsigned(), pg, op) }
4099}
4100#[doc = "Count leading sign bits"]
4101#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcls[_s8]_z)"]
4102#[inline]
4103#[target_feature(enable = "sve")]
4104#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
4105#[cfg_attr(test, assert_instr(cls))]
4106pub fn svcls_s8_z(pg: svbool_t, op: svint8_t) -> svuint8_t {
4107 svcls_s8_m(svdup_n_u8(0), pg, op)
4108}
4109#[doc = "Count leading sign bits"]
4110#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcls[_s16]_m)"]
4111#[inline]
4112#[target_feature(enable = "sve")]
4113#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
4114#[cfg_attr(test, assert_instr(cls))]
4115pub fn svcls_s16_m(inactive: svuint16_t, pg: svbool_t, op: svint16_t) -> svuint16_t {
4116 unsafe extern "unadjusted" {
4117 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.cls.nxv8i16")]
4118 fn _svcls_s16_m(inactive: svint16_t, pg: svbool8_t, op: svint16_t) -> svint16_t;
4119 }
4120 unsafe { _svcls_s16_m(inactive.as_signed(), pg.sve_into(), op).as_unsigned() }
4121}
4122#[doc = "Count leading sign bits"]
4123#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcls[_s16]_x)"]
4124#[inline]
4125#[target_feature(enable = "sve")]
4126#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
4127#[cfg_attr(test, assert_instr(cls))]
4128pub fn svcls_s16_x(pg: svbool_t, op: svint16_t) -> svuint16_t {
4129 unsafe { svcls_s16_m(op.as_unsigned(), pg, op) }
4130}
4131#[doc = "Count leading sign bits"]
4132#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcls[_s16]_z)"]
4133#[inline]
4134#[target_feature(enable = "sve")]
4135#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
4136#[cfg_attr(test, assert_instr(cls))]
4137pub fn svcls_s16_z(pg: svbool_t, op: svint16_t) -> svuint16_t {
4138 svcls_s16_m(svdup_n_u16(0), pg, op)
4139}
4140#[doc = "Count leading sign bits"]
4141#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcls[_s32]_m)"]
4142#[inline]
4143#[target_feature(enable = "sve")]
4144#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
4145#[cfg_attr(test, assert_instr(cls))]
4146pub fn svcls_s32_m(inactive: svuint32_t, pg: svbool_t, op: svint32_t) -> svuint32_t {
4147 unsafe extern "unadjusted" {
4148 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.cls.nxv4i32")]
4149 fn _svcls_s32_m(inactive: svint32_t, pg: svbool4_t, op: svint32_t) -> svint32_t;
4150 }
4151 unsafe { _svcls_s32_m(inactive.as_signed(), pg.sve_into(), op).as_unsigned() }
4152}
4153#[doc = "Count leading sign bits"]
4154#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcls[_s32]_x)"]
4155#[inline]
4156#[target_feature(enable = "sve")]
4157#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
4158#[cfg_attr(test, assert_instr(cls))]
4159pub fn svcls_s32_x(pg: svbool_t, op: svint32_t) -> svuint32_t {
4160 unsafe { svcls_s32_m(op.as_unsigned(), pg, op) }
4161}
4162#[doc = "Count leading sign bits"]
4163#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcls[_s32]_z)"]
4164#[inline]
4165#[target_feature(enable = "sve")]
4166#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
4167#[cfg_attr(test, assert_instr(cls))]
4168pub fn svcls_s32_z(pg: svbool_t, op: svint32_t) -> svuint32_t {
4169 svcls_s32_m(svdup_n_u32(0), pg, op)
4170}
4171#[doc = "Count leading sign bits"]
4172#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcls[_s64]_m)"]
4173#[inline]
4174#[target_feature(enable = "sve")]
4175#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
4176#[cfg_attr(test, assert_instr(cls))]
4177pub fn svcls_s64_m(inactive: svuint64_t, pg: svbool_t, op: svint64_t) -> svuint64_t {
4178 unsafe extern "unadjusted" {
4179 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.cls.nxv2i64")]
4180 fn _svcls_s64_m(inactive: svint64_t, pg: svbool2_t, op: svint64_t) -> svint64_t;
4181 }
4182 unsafe { _svcls_s64_m(inactive.as_signed(), pg.sve_into(), op).as_unsigned() }
4183}
4184#[doc = "Count leading sign bits"]
4185#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcls[_s64]_x)"]
4186#[inline]
4187#[target_feature(enable = "sve")]
4188#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
4189#[cfg_attr(test, assert_instr(cls))]
4190pub fn svcls_s64_x(pg: svbool_t, op: svint64_t) -> svuint64_t {
4191 unsafe { svcls_s64_m(op.as_unsigned(), pg, op) }
4192}
4193#[doc = "Count leading sign bits"]
4194#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcls[_s64]_z)"]
4195#[inline]
4196#[target_feature(enable = "sve")]
4197#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
4198#[cfg_attr(test, assert_instr(cls))]
4199pub fn svcls_s64_z(pg: svbool_t, op: svint64_t) -> svuint64_t {
4200 svcls_s64_m(svdup_n_u64(0), pg, op)
4201}
4202#[doc = "Count leading zero bits"]
4203#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svclz[_s8]_m)"]
4204#[inline]
4205#[target_feature(enable = "sve")]
4206#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
4207#[cfg_attr(test, assert_instr(clz))]
4208pub fn svclz_s8_m(inactive: svuint8_t, pg: svbool_t, op: svint8_t) -> svuint8_t {
4209 unsafe extern "unadjusted" {
4210 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.clz.nxv16i8")]
4211 fn _svclz_s8_m(inactive: svint8_t, pg: svbool_t, op: svint8_t) -> svint8_t;
4212 }
4213 unsafe { _svclz_s8_m(inactive.as_signed(), pg, op).as_unsigned() }
4214}
4215#[doc = "Count leading zero bits"]
4216#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svclz[_s8]_x)"]
4217#[inline]
4218#[target_feature(enable = "sve")]
4219#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
4220#[cfg_attr(test, assert_instr(clz))]
4221pub fn svclz_s8_x(pg: svbool_t, op: svint8_t) -> svuint8_t {
4222 unsafe { svclz_s8_m(op.as_unsigned(), pg, op) }
4223}
4224#[doc = "Count leading zero bits"]
4225#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svclz[_s8]_z)"]
4226#[inline]
4227#[target_feature(enable = "sve")]
4228#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
4229#[cfg_attr(test, assert_instr(clz))]
4230pub fn svclz_s8_z(pg: svbool_t, op: svint8_t) -> svuint8_t {
4231 svclz_s8_m(svdup_n_u8(0), pg, op)
4232}
4233#[doc = "Count leading zero bits"]
4234#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svclz[_s16]_m)"]
4235#[inline]
4236#[target_feature(enable = "sve")]
4237#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
4238#[cfg_attr(test, assert_instr(clz))]
4239pub fn svclz_s16_m(inactive: svuint16_t, pg: svbool_t, op: svint16_t) -> svuint16_t {
4240 unsafe extern "unadjusted" {
4241 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.clz.nxv8i16")]
4242 fn _svclz_s16_m(inactive: svint16_t, pg: svbool8_t, op: svint16_t) -> svint16_t;
4243 }
4244 unsafe { _svclz_s16_m(inactive.as_signed(), pg.sve_into(), op).as_unsigned() }
4245}
4246#[doc = "Count leading zero bits"]
4247#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svclz[_s16]_x)"]
4248#[inline]
4249#[target_feature(enable = "sve")]
4250#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
4251#[cfg_attr(test, assert_instr(clz))]
4252pub fn svclz_s16_x(pg: svbool_t, op: svint16_t) -> svuint16_t {
4253 unsafe { svclz_s16_m(op.as_unsigned(), pg, op) }
4254}
4255#[doc = "Count leading zero bits"]
4256#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svclz[_s16]_z)"]
4257#[inline]
4258#[target_feature(enable = "sve")]
4259#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
4260#[cfg_attr(test, assert_instr(clz))]
4261pub fn svclz_s16_z(pg: svbool_t, op: svint16_t) -> svuint16_t {
4262 svclz_s16_m(svdup_n_u16(0), pg, op)
4263}
4264#[doc = "Count leading zero bits"]
4265#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svclz[_s32]_m)"]
4266#[inline]
4267#[target_feature(enable = "sve")]
4268#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
4269#[cfg_attr(test, assert_instr(clz))]
4270pub fn svclz_s32_m(inactive: svuint32_t, pg: svbool_t, op: svint32_t) -> svuint32_t {
4271 unsafe extern "unadjusted" {
4272 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.clz.nxv4i32")]
4273 fn _svclz_s32_m(inactive: svint32_t, pg: svbool4_t, op: svint32_t) -> svint32_t;
4274 }
4275 unsafe { _svclz_s32_m(inactive.as_signed(), pg.sve_into(), op).as_unsigned() }
4276}
4277#[doc = "Count leading zero bits"]
4278#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svclz[_s32]_x)"]
4279#[inline]
4280#[target_feature(enable = "sve")]
4281#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
4282#[cfg_attr(test, assert_instr(clz))]
4283pub fn svclz_s32_x(pg: svbool_t, op: svint32_t) -> svuint32_t {
4284 unsafe { svclz_s32_m(op.as_unsigned(), pg, op) }
4285}
4286#[doc = "Count leading zero bits"]
4287#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svclz[_s32]_z)"]
4288#[inline]
4289#[target_feature(enable = "sve")]
4290#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
4291#[cfg_attr(test, assert_instr(clz))]
4292pub fn svclz_s32_z(pg: svbool_t, op: svint32_t) -> svuint32_t {
4293 svclz_s32_m(svdup_n_u32(0), pg, op)
4294}
4295#[doc = "Count leading zero bits"]
4296#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svclz[_s64]_m)"]
4297#[inline]
4298#[target_feature(enable = "sve")]
4299#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
4300#[cfg_attr(test, assert_instr(clz))]
4301pub fn svclz_s64_m(inactive: svuint64_t, pg: svbool_t, op: svint64_t) -> svuint64_t {
4302 unsafe extern "unadjusted" {
4303 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.clz.nxv2i64")]
4304 fn _svclz_s64_m(inactive: svint64_t, pg: svbool2_t, op: svint64_t) -> svint64_t;
4305 }
4306 unsafe { _svclz_s64_m(inactive.as_signed(), pg.sve_into(), op).as_unsigned() }
4307}
4308#[doc = "Count leading zero bits"]
4309#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svclz[_s64]_x)"]
4310#[inline]
4311#[target_feature(enable = "sve")]
4312#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
4313#[cfg_attr(test, assert_instr(clz))]
4314pub fn svclz_s64_x(pg: svbool_t, op: svint64_t) -> svuint64_t {
4315 unsafe { svclz_s64_m(op.as_unsigned(), pg, op) }
4316}
4317#[doc = "Count leading zero bits"]
4318#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svclz[_s64]_z)"]
4319#[inline]
4320#[target_feature(enable = "sve")]
4321#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
4322#[cfg_attr(test, assert_instr(clz))]
4323pub fn svclz_s64_z(pg: svbool_t, op: svint64_t) -> svuint64_t {
4324 svclz_s64_m(svdup_n_u64(0), pg, op)
4325}
4326#[doc = "Count leading zero bits"]
4327#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svclz[_u8]_m)"]
4328#[inline]
4329#[target_feature(enable = "sve")]
4330#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
4331#[cfg_attr(test, assert_instr(clz))]
4332pub fn svclz_u8_m(inactive: svuint8_t, pg: svbool_t, op: svuint8_t) -> svuint8_t {
4333 unsafe { svclz_s8_m(inactive, pg, op.as_signed()) }
4334}
4335#[doc = "Count leading zero bits"]
4336#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svclz[_u8]_x)"]
4337#[inline]
4338#[target_feature(enable = "sve")]
4339#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
4340#[cfg_attr(test, assert_instr(clz))]
4341pub fn svclz_u8_x(pg: svbool_t, op: svuint8_t) -> svuint8_t {
4342 svclz_u8_m(op, pg, op)
4343}
4344#[doc = "Count leading zero bits"]
4345#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svclz[_u8]_z)"]
4346#[inline]
4347#[target_feature(enable = "sve")]
4348#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
4349#[cfg_attr(test, assert_instr(clz))]
4350pub fn svclz_u8_z(pg: svbool_t, op: svuint8_t) -> svuint8_t {
4351 svclz_u8_m(svdup_n_u8(0), pg, op)
4352}
4353#[doc = "Count leading zero bits"]
4354#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svclz[_u16]_m)"]
4355#[inline]
4356#[target_feature(enable = "sve")]
4357#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
4358#[cfg_attr(test, assert_instr(clz))]
4359pub fn svclz_u16_m(inactive: svuint16_t, pg: svbool_t, op: svuint16_t) -> svuint16_t {
4360 unsafe { svclz_s16_m(inactive, pg, op.as_signed()) }
4361}
4362#[doc = "Count leading zero bits"]
4363#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svclz[_u16]_x)"]
4364#[inline]
4365#[target_feature(enable = "sve")]
4366#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
4367#[cfg_attr(test, assert_instr(clz))]
4368pub fn svclz_u16_x(pg: svbool_t, op: svuint16_t) -> svuint16_t {
4369 svclz_u16_m(op, pg, op)
4370}
4371#[doc = "Count leading zero bits"]
4372#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svclz[_u16]_z)"]
4373#[inline]
4374#[target_feature(enable = "sve")]
4375#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
4376#[cfg_attr(test, assert_instr(clz))]
4377pub fn svclz_u16_z(pg: svbool_t, op: svuint16_t) -> svuint16_t {
4378 svclz_u16_m(svdup_n_u16(0), pg, op)
4379}
4380#[doc = "Count leading zero bits"]
4381#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svclz[_u32]_m)"]
4382#[inline]
4383#[target_feature(enable = "sve")]
4384#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
4385#[cfg_attr(test, assert_instr(clz))]
4386pub fn svclz_u32_m(inactive: svuint32_t, pg: svbool_t, op: svuint32_t) -> svuint32_t {
4387 unsafe { svclz_s32_m(inactive, pg, op.as_signed()) }
4388}
4389#[doc = "Count leading zero bits"]
4390#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svclz[_u32]_x)"]
4391#[inline]
4392#[target_feature(enable = "sve")]
4393#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
4394#[cfg_attr(test, assert_instr(clz))]
4395pub fn svclz_u32_x(pg: svbool_t, op: svuint32_t) -> svuint32_t {
4396 svclz_u32_m(op, pg, op)
4397}
4398#[doc = "Count leading zero bits"]
4399#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svclz[_u32]_z)"]
4400#[inline]
4401#[target_feature(enable = "sve")]
4402#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
4403#[cfg_attr(test, assert_instr(clz))]
4404pub fn svclz_u32_z(pg: svbool_t, op: svuint32_t) -> svuint32_t {
4405 svclz_u32_m(svdup_n_u32(0), pg, op)
4406}
4407#[doc = "Count leading zero bits"]
4408#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svclz[_u64]_m)"]
4409#[inline]
4410#[target_feature(enable = "sve")]
4411#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
4412#[cfg_attr(test, assert_instr(clz))]
4413pub fn svclz_u64_m(inactive: svuint64_t, pg: svbool_t, op: svuint64_t) -> svuint64_t {
4414 unsafe { svclz_s64_m(inactive, pg, op.as_signed()) }
4415}
4416#[doc = "Count leading zero bits"]
4417#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svclz[_u64]_x)"]
4418#[inline]
4419#[target_feature(enable = "sve")]
4420#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
4421#[cfg_attr(test, assert_instr(clz))]
4422pub fn svclz_u64_x(pg: svbool_t, op: svuint64_t) -> svuint64_t {
4423 svclz_u64_m(op, pg, op)
4424}
4425#[doc = "Count leading zero bits"]
4426#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svclz[_u64]_z)"]
4427#[inline]
4428#[target_feature(enable = "sve")]
4429#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
4430#[cfg_attr(test, assert_instr(clz))]
4431pub fn svclz_u64_z(pg: svbool_t, op: svuint64_t) -> svuint64_t {
4432 svclz_u64_m(svdup_n_u64(0), pg, op)
4433}
4434#[doc = "Complex multiply-add with rotate"]
4435#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmla[_f32]_m)"]
4436#[inline]
4437#[target_feature(enable = "sve")]
4438#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
4439#[cfg_attr(test, assert_instr(fcmla, IMM_ROTATION = 90))]
4440pub fn svcmla_f32_m<const IMM_ROTATION: i32>(
4441 pg: svbool_t,
4442 op1: svfloat32_t,
4443 op2: svfloat32_t,
4444 op3: svfloat32_t,
4445) -> svfloat32_t {
4446 static_assert!(
4447 IMM_ROTATION == 0 || IMM_ROTATION == 90 || IMM_ROTATION == 180 || IMM_ROTATION == 270
4448 );
4449 unsafe extern "unadjusted" {
4450 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.fcmla.nxv4f32")]
4451 fn _svcmla_f32_m(
4452 pg: svbool4_t,
4453 op1: svfloat32_t,
4454 op2: svfloat32_t,
4455 op3: svfloat32_t,
4456 imm_rotation: i32,
4457 ) -> svfloat32_t;
4458 }
4459 unsafe { _svcmla_f32_m(pg.sve_into(), op1, op2, op3, IMM_ROTATION) }
4460}
4461#[doc = "Complex multiply-add with rotate"]
4462#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmla[_f32]_x)"]
4463#[inline]
4464#[target_feature(enable = "sve")]
4465#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
4466#[cfg_attr(test, assert_instr(fcmla, IMM_ROTATION = 90))]
4467pub fn svcmla_f32_x<const IMM_ROTATION: i32>(
4468 pg: svbool_t,
4469 op1: svfloat32_t,
4470 op2: svfloat32_t,
4471 op3: svfloat32_t,
4472) -> svfloat32_t {
4473 svcmla_f32_m::<IMM_ROTATION>(pg, op1, op2, op3)
4474}
4475#[doc = "Complex multiply-add with rotate"]
4476#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmla[_f32]_z)"]
4477#[inline]
4478#[target_feature(enable = "sve")]
4479#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
4480#[cfg_attr(test, assert_instr(fcmla, IMM_ROTATION = 90))]
4481pub fn svcmla_f32_z<const IMM_ROTATION: i32>(
4482 pg: svbool_t,
4483 op1: svfloat32_t,
4484 op2: svfloat32_t,
4485 op3: svfloat32_t,
4486) -> svfloat32_t {
4487 svcmla_f32_m::<IMM_ROTATION>(pg, svsel_f32(pg, op1, svdup_n_f32(0.0)), op2, op3)
4488}
4489#[doc = "Complex multiply-add with rotate"]
4490#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmla[_f64]_m)"]
4491#[inline]
4492#[target_feature(enable = "sve")]
4493#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
4494#[cfg_attr(test, assert_instr(fcmla, IMM_ROTATION = 90))]
4495pub fn svcmla_f64_m<const IMM_ROTATION: i32>(
4496 pg: svbool_t,
4497 op1: svfloat64_t,
4498 op2: svfloat64_t,
4499 op3: svfloat64_t,
4500) -> svfloat64_t {
4501 static_assert!(
4502 IMM_ROTATION == 0 || IMM_ROTATION == 90 || IMM_ROTATION == 180 || IMM_ROTATION == 270
4503 );
4504 unsafe extern "unadjusted" {
4505 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.fcmla.nxv2f64")]
4506 fn _svcmla_f64_m(
4507 pg: svbool2_t,
4508 op1: svfloat64_t,
4509 op2: svfloat64_t,
4510 op3: svfloat64_t,
4511 imm_rotation: i32,
4512 ) -> svfloat64_t;
4513 }
4514 unsafe { _svcmla_f64_m(pg.sve_into(), op1, op2, op3, IMM_ROTATION) }
4515}
4516#[doc = "Complex multiply-add with rotate"]
4517#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmla[_f64]_x)"]
4518#[inline]
4519#[target_feature(enable = "sve")]
4520#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
4521#[cfg_attr(test, assert_instr(fcmla, IMM_ROTATION = 90))]
4522pub fn svcmla_f64_x<const IMM_ROTATION: i32>(
4523 pg: svbool_t,
4524 op1: svfloat64_t,
4525 op2: svfloat64_t,
4526 op3: svfloat64_t,
4527) -> svfloat64_t {
4528 svcmla_f64_m::<IMM_ROTATION>(pg, op1, op2, op3)
4529}
4530#[doc = "Complex multiply-add with rotate"]
4531#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmla[_f64]_z)"]
4532#[inline]
4533#[target_feature(enable = "sve")]
4534#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
4535#[cfg_attr(test, assert_instr(fcmla, IMM_ROTATION = 90))]
4536pub fn svcmla_f64_z<const IMM_ROTATION: i32>(
4537 pg: svbool_t,
4538 op1: svfloat64_t,
4539 op2: svfloat64_t,
4540 op3: svfloat64_t,
4541) -> svfloat64_t {
4542 svcmla_f64_m::<IMM_ROTATION>(pg, svsel_f64(pg, op1, svdup_n_f64(0.0)), op2, op3)
4543}
4544#[doc = "Complex multiply-add with rotate"]
4545#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmla_lane[_f32])"]
4546#[inline]
4547#[target_feature(enable = "sve")]
4548#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
4549#[cfg_attr(test, assert_instr(fcmla, IMM_INDEX = 0, IMM_ROTATION = 90))]
4550pub fn svcmla_lane_f32<const IMM_INDEX: i32, const IMM_ROTATION: i32>(
4551 op1: svfloat32_t,
4552 op2: svfloat32_t,
4553 op3: svfloat32_t,
4554) -> svfloat32_t {
4555 static_assert_range!(IMM_INDEX, 0..=1);
4556 static_assert!(
4557 IMM_ROTATION == 0 || IMM_ROTATION == 90 || IMM_ROTATION == 180 || IMM_ROTATION == 270
4558 );
4559 unsafe extern "unadjusted" {
4560 #[cfg_attr(
4561 target_arch = "aarch64",
4562 link_name = "llvm.aarch64.sve.fcmla.lane.x.nxv4f32"
4563 )]
4564 fn _svcmla_lane_f32(
4565 op1: svfloat32_t,
4566 op2: svfloat32_t,
4567 op3: svfloat32_t,
4568 imm_index: i32,
4569 imm_rotation: i32,
4570 ) -> svfloat32_t;
4571 }
4572 unsafe { _svcmla_lane_f32(op1, op2, op3, IMM_INDEX, IMM_ROTATION) }
4573}
4574#[doc = "Compare equal to"]
4575#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpeq[_f32])"]
4576#[inline]
4577#[target_feature(enable = "sve")]
4578#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
4579#[cfg_attr(test, assert_instr(fcmeq))]
4580pub fn svcmpeq_f32(pg: svbool_t, op1: svfloat32_t, op2: svfloat32_t) -> svbool_t {
4581 unsafe extern "unadjusted" {
4582 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.fcmpeq.nxv4f32")]
4583 fn _svcmpeq_f32(pg: svbool4_t, op1: svfloat32_t, op2: svfloat32_t) -> svbool4_t;
4584 }
4585 unsafe { _svcmpeq_f32(pg.sve_into(), op1, op2).sve_into() }
4586}
4587#[doc = "Compare equal to"]
4588#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpeq[_n_f32])"]
4589#[inline]
4590#[target_feature(enable = "sve")]
4591#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
4592#[cfg_attr(test, assert_instr(fcmeq))]
4593pub fn svcmpeq_n_f32(pg: svbool_t, op1: svfloat32_t, op2: f32) -> svbool_t {
4594 svcmpeq_f32(pg, op1, svdup_n_f32(op2))
4595}
4596#[doc = "Compare equal to"]
4597#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpeq[_f64])"]
4598#[inline]
4599#[target_feature(enable = "sve")]
4600#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
4601#[cfg_attr(test, assert_instr(fcmeq))]
4602pub fn svcmpeq_f64(pg: svbool_t, op1: svfloat64_t, op2: svfloat64_t) -> svbool_t {
4603 unsafe extern "unadjusted" {
4604 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.fcmpeq.nxv2f64")]
4605 fn _svcmpeq_f64(pg: svbool2_t, op1: svfloat64_t, op2: svfloat64_t) -> svbool2_t;
4606 }
4607 unsafe { _svcmpeq_f64(pg.sve_into(), op1, op2).sve_into() }
4608}
4609#[doc = "Compare equal to"]
4610#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpeq[_n_f64])"]
4611#[inline]
4612#[target_feature(enable = "sve")]
4613#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
4614#[cfg_attr(test, assert_instr(fcmeq))]
4615pub fn svcmpeq_n_f64(pg: svbool_t, op1: svfloat64_t, op2: f64) -> svbool_t {
4616 svcmpeq_f64(pg, op1, svdup_n_f64(op2))
4617}
4618#[doc = "Compare equal to"]
4619#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpeq[_s8])"]
4620#[inline]
4621#[target_feature(enable = "sve")]
4622#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
4623#[cfg_attr(test, assert_instr(cmpeq))]
4624pub fn svcmpeq_s8(pg: svbool_t, op1: svint8_t, op2: svint8_t) -> svbool_t {
4625 unsafe extern "unadjusted" {
4626 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.cmpeq.nxv16i8")]
4627 fn _svcmpeq_s8(pg: svbool_t, op1: svint8_t, op2: svint8_t) -> svbool_t;
4628 }
4629 unsafe { _svcmpeq_s8(pg, op1, op2) }
4630}
4631#[doc = "Compare equal to"]
4632#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpeq[_n_s8])"]
4633#[inline]
4634#[target_feature(enable = "sve")]
4635#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
4636#[cfg_attr(test, assert_instr(cmpeq))]
4637pub fn svcmpeq_n_s8(pg: svbool_t, op1: svint8_t, op2: i8) -> svbool_t {
4638 svcmpeq_s8(pg, op1, svdup_n_s8(op2))
4639}
4640#[doc = "Compare equal to"]
4641#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpeq[_s16])"]
4642#[inline]
4643#[target_feature(enable = "sve")]
4644#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
4645#[cfg_attr(test, assert_instr(cmpeq))]
4646pub fn svcmpeq_s16(pg: svbool_t, op1: svint16_t, op2: svint16_t) -> svbool_t {
4647 unsafe extern "unadjusted" {
4648 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.cmpeq.nxv8i16")]
4649 fn _svcmpeq_s16(pg: svbool8_t, op1: svint16_t, op2: svint16_t) -> svbool8_t;
4650 }
4651 unsafe { _svcmpeq_s16(pg.sve_into(), op1, op2).sve_into() }
4652}
4653#[doc = "Compare equal to"]
4654#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpeq[_n_s16])"]
4655#[inline]
4656#[target_feature(enable = "sve")]
4657#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
4658#[cfg_attr(test, assert_instr(cmpeq))]
4659pub fn svcmpeq_n_s16(pg: svbool_t, op1: svint16_t, op2: i16) -> svbool_t {
4660 svcmpeq_s16(pg, op1, svdup_n_s16(op2))
4661}
4662#[doc = "Compare equal to"]
4663#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpeq[_s32])"]
4664#[inline]
4665#[target_feature(enable = "sve")]
4666#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
4667#[cfg_attr(test, assert_instr(cmpeq))]
4668pub fn svcmpeq_s32(pg: svbool_t, op1: svint32_t, op2: svint32_t) -> svbool_t {
4669 unsafe extern "unadjusted" {
4670 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.cmpeq.nxv4i32")]
4671 fn _svcmpeq_s32(pg: svbool4_t, op1: svint32_t, op2: svint32_t) -> svbool4_t;
4672 }
4673 unsafe { _svcmpeq_s32(pg.sve_into(), op1, op2).sve_into() }
4674}
4675#[doc = "Compare equal to"]
4676#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpeq[_n_s32])"]
4677#[inline]
4678#[target_feature(enable = "sve")]
4679#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
4680#[cfg_attr(test, assert_instr(cmpeq))]
4681pub fn svcmpeq_n_s32(pg: svbool_t, op1: svint32_t, op2: i32) -> svbool_t {
4682 svcmpeq_s32(pg, op1, svdup_n_s32(op2))
4683}
4684#[doc = "Compare equal to"]
4685#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpeq[_s64])"]
4686#[inline]
4687#[target_feature(enable = "sve")]
4688#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
4689#[cfg_attr(test, assert_instr(cmpeq))]
4690pub fn svcmpeq_s64(pg: svbool_t, op1: svint64_t, op2: svint64_t) -> svbool_t {
4691 unsafe extern "unadjusted" {
4692 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.cmpeq.nxv2i64")]
4693 fn _svcmpeq_s64(pg: svbool2_t, op1: svint64_t, op2: svint64_t) -> svbool2_t;
4694 }
4695 unsafe { _svcmpeq_s64(pg.sve_into(), op1, op2).sve_into() }
4696}
4697#[doc = "Compare equal to"]
4698#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpeq[_n_s64])"]
4699#[inline]
4700#[target_feature(enable = "sve")]
4701#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
4702#[cfg_attr(test, assert_instr(cmpeq))]
4703pub fn svcmpeq_n_s64(pg: svbool_t, op1: svint64_t, op2: i64) -> svbool_t {
4704 svcmpeq_s64(pg, op1, svdup_n_s64(op2))
4705}
4706#[doc = "Compare equal to"]
4707#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpeq[_u8])"]
4708#[inline]
4709#[target_feature(enable = "sve")]
4710#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
4711#[cfg_attr(test, assert_instr(cmpeq))]
4712pub fn svcmpeq_u8(pg: svbool_t, op1: svuint8_t, op2: svuint8_t) -> svbool_t {
4713 unsafe { svcmpeq_s8(pg, op1.as_signed(), op2.as_signed()) }
4714}
4715#[doc = "Compare equal to"]
4716#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpeq[_n_u8])"]
4717#[inline]
4718#[target_feature(enable = "sve")]
4719#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
4720#[cfg_attr(test, assert_instr(cmpeq))]
4721pub fn svcmpeq_n_u8(pg: svbool_t, op1: svuint8_t, op2: u8) -> svbool_t {
4722 svcmpeq_u8(pg, op1, svdup_n_u8(op2))
4723}
4724#[doc = "Compare equal to"]
4725#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpeq[_u16])"]
4726#[inline]
4727#[target_feature(enable = "sve")]
4728#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
4729#[cfg_attr(test, assert_instr(cmpeq))]
4730pub fn svcmpeq_u16(pg: svbool_t, op1: svuint16_t, op2: svuint16_t) -> svbool_t {
4731 unsafe { svcmpeq_s16(pg, op1.as_signed(), op2.as_signed()) }
4732}
4733#[doc = "Compare equal to"]
4734#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpeq[_n_u16])"]
4735#[inline]
4736#[target_feature(enable = "sve")]
4737#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
4738#[cfg_attr(test, assert_instr(cmpeq))]
4739pub fn svcmpeq_n_u16(pg: svbool_t, op1: svuint16_t, op2: u16) -> svbool_t {
4740 svcmpeq_u16(pg, op1, svdup_n_u16(op2))
4741}
4742#[doc = "Compare equal to"]
4743#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpeq[_u32])"]
4744#[inline]
4745#[target_feature(enable = "sve")]
4746#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
4747#[cfg_attr(test, assert_instr(cmpeq))]
4748pub fn svcmpeq_u32(pg: svbool_t, op1: svuint32_t, op2: svuint32_t) -> svbool_t {
4749 unsafe { svcmpeq_s32(pg, op1.as_signed(), op2.as_signed()) }
4750}
4751#[doc = "Compare equal to"]
4752#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpeq[_n_u32])"]
4753#[inline]
4754#[target_feature(enable = "sve")]
4755#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
4756#[cfg_attr(test, assert_instr(cmpeq))]
4757pub fn svcmpeq_n_u32(pg: svbool_t, op1: svuint32_t, op2: u32) -> svbool_t {
4758 svcmpeq_u32(pg, op1, svdup_n_u32(op2))
4759}
4760#[doc = "Compare equal to"]
4761#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpeq[_u64])"]
4762#[inline]
4763#[target_feature(enable = "sve")]
4764#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
4765#[cfg_attr(test, assert_instr(cmpeq))]
4766pub fn svcmpeq_u64(pg: svbool_t, op1: svuint64_t, op2: svuint64_t) -> svbool_t {
4767 unsafe { svcmpeq_s64(pg, op1.as_signed(), op2.as_signed()) }
4768}
4769#[doc = "Compare equal to"]
4770#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpeq[_n_u64])"]
4771#[inline]
4772#[target_feature(enable = "sve")]
4773#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
4774#[cfg_attr(test, assert_instr(cmpeq))]
4775pub fn svcmpeq_n_u64(pg: svbool_t, op1: svuint64_t, op2: u64) -> svbool_t {
4776 svcmpeq_u64(pg, op1, svdup_n_u64(op2))
4777}
4778#[doc = "Compare equal to"]
4779#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpeq_wide[_s8])"]
4780#[inline]
4781#[target_feature(enable = "sve")]
4782#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
4783#[cfg_attr(test, assert_instr(cmpeq))]
4784pub fn svcmpeq_wide_s8(pg: svbool_t, op1: svint8_t, op2: svint64_t) -> svbool_t {
4785 unsafe extern "unadjusted" {
4786 #[cfg_attr(
4787 target_arch = "aarch64",
4788 link_name = "llvm.aarch64.sve.cmpeq.wide.nxv16i8"
4789 )]
4790 fn _svcmpeq_wide_s8(pg: svbool_t, op1: svint8_t, op2: svint64_t) -> svbool_t;
4791 }
4792 unsafe { _svcmpeq_wide_s8(pg, op1, op2) }
4793}
4794#[doc = "Compare equal to"]
4795#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpeq_wide[_n_s8])"]
4796#[inline]
4797#[target_feature(enable = "sve")]
4798#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
4799#[cfg_attr(test, assert_instr(cmpeq))]
4800pub fn svcmpeq_wide_n_s8(pg: svbool_t, op1: svint8_t, op2: i64) -> svbool_t {
4801 svcmpeq_wide_s8(pg, op1, svdup_n_s64(op2))
4802}
4803#[doc = "Compare equal to"]
4804#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpeq_wide[_s16])"]
4805#[inline]
4806#[target_feature(enable = "sve")]
4807#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
4808#[cfg_attr(test, assert_instr(cmpeq))]
4809pub fn svcmpeq_wide_s16(pg: svbool_t, op1: svint16_t, op2: svint64_t) -> svbool_t {
4810 unsafe extern "unadjusted" {
4811 #[cfg_attr(
4812 target_arch = "aarch64",
4813 link_name = "llvm.aarch64.sve.cmpeq.wide.nxv8i16"
4814 )]
4815 fn _svcmpeq_wide_s16(pg: svbool8_t, op1: svint16_t, op2: svint64_t) -> svbool8_t;
4816 }
4817 unsafe { _svcmpeq_wide_s16(pg.sve_into(), op1, op2).sve_into() }
4818}
4819#[doc = "Compare equal to"]
4820#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpeq_wide[_n_s16])"]
4821#[inline]
4822#[target_feature(enable = "sve")]
4823#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
4824#[cfg_attr(test, assert_instr(cmpeq))]
4825pub fn svcmpeq_wide_n_s16(pg: svbool_t, op1: svint16_t, op2: i64) -> svbool_t {
4826 svcmpeq_wide_s16(pg, op1, svdup_n_s64(op2))
4827}
4828#[doc = "Compare equal to"]
4829#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpeq_wide[_s32])"]
4830#[inline]
4831#[target_feature(enable = "sve")]
4832#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
4833#[cfg_attr(test, assert_instr(cmpeq))]
4834pub fn svcmpeq_wide_s32(pg: svbool_t, op1: svint32_t, op2: svint64_t) -> svbool_t {
4835 unsafe extern "unadjusted" {
4836 #[cfg_attr(
4837 target_arch = "aarch64",
4838 link_name = "llvm.aarch64.sve.cmpeq.wide.nxv4i32"
4839 )]
4840 fn _svcmpeq_wide_s32(pg: svbool4_t, op1: svint32_t, op2: svint64_t) -> svbool4_t;
4841 }
4842 unsafe { _svcmpeq_wide_s32(pg.sve_into(), op1, op2).sve_into() }
4843}
4844#[doc = "Compare equal to"]
4845#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpeq_wide[_n_s32])"]
4846#[inline]
4847#[target_feature(enable = "sve")]
4848#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
4849#[cfg_attr(test, assert_instr(cmpeq))]
4850pub fn svcmpeq_wide_n_s32(pg: svbool_t, op1: svint32_t, op2: i64) -> svbool_t {
4851 svcmpeq_wide_s32(pg, op1, svdup_n_s64(op2))
4852}
4853#[doc = "Compare greater than or equal to"]
4854#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpge[_f32])"]
4855#[inline]
4856#[target_feature(enable = "sve")]
4857#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
4858#[cfg_attr(test, assert_instr(fcmge))]
4859pub fn svcmpge_f32(pg: svbool_t, op1: svfloat32_t, op2: svfloat32_t) -> svbool_t {
4860 unsafe extern "unadjusted" {
4861 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.fcmpge.nxv4f32")]
4862 fn _svcmpge_f32(pg: svbool4_t, op1: svfloat32_t, op2: svfloat32_t) -> svbool4_t;
4863 }
4864 unsafe { _svcmpge_f32(pg.sve_into(), op1, op2).sve_into() }
4865}
4866#[doc = "Compare greater than or equal to"]
4867#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpge[_n_f32])"]
4868#[inline]
4869#[target_feature(enable = "sve")]
4870#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
4871#[cfg_attr(test, assert_instr(fcmge))]
4872pub fn svcmpge_n_f32(pg: svbool_t, op1: svfloat32_t, op2: f32) -> svbool_t {
4873 svcmpge_f32(pg, op1, svdup_n_f32(op2))
4874}
4875#[doc = "Compare greater than or equal to"]
4876#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpge[_f64])"]
4877#[inline]
4878#[target_feature(enable = "sve")]
4879#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
4880#[cfg_attr(test, assert_instr(fcmge))]
4881pub fn svcmpge_f64(pg: svbool_t, op1: svfloat64_t, op2: svfloat64_t) -> svbool_t {
4882 unsafe extern "unadjusted" {
4883 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.fcmpge.nxv2f64")]
4884 fn _svcmpge_f64(pg: svbool2_t, op1: svfloat64_t, op2: svfloat64_t) -> svbool2_t;
4885 }
4886 unsafe { _svcmpge_f64(pg.sve_into(), op1, op2).sve_into() }
4887}
4888#[doc = "Compare greater than or equal to"]
4889#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpge[_n_f64])"]
4890#[inline]
4891#[target_feature(enable = "sve")]
4892#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
4893#[cfg_attr(test, assert_instr(fcmge))]
4894pub fn svcmpge_n_f64(pg: svbool_t, op1: svfloat64_t, op2: f64) -> svbool_t {
4895 svcmpge_f64(pg, op1, svdup_n_f64(op2))
4896}
4897#[doc = "Compare greater than or equal to"]
4898#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpge[_s8])"]
4899#[inline]
4900#[target_feature(enable = "sve")]
4901#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
4902#[cfg_attr(test, assert_instr(cmpge))]
4903pub fn svcmpge_s8(pg: svbool_t, op1: svint8_t, op2: svint8_t) -> svbool_t {
4904 unsafe extern "unadjusted" {
4905 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.cmpge.nxv16i8")]
4906 fn _svcmpge_s8(pg: svbool_t, op1: svint8_t, op2: svint8_t) -> svbool_t;
4907 }
4908 unsafe { _svcmpge_s8(pg, op1, op2) }
4909}
4910#[doc = "Compare greater than or equal to"]
4911#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpge[_n_s8])"]
4912#[inline]
4913#[target_feature(enable = "sve")]
4914#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
4915#[cfg_attr(test, assert_instr(cmpge))]
4916pub fn svcmpge_n_s8(pg: svbool_t, op1: svint8_t, op2: i8) -> svbool_t {
4917 svcmpge_s8(pg, op1, svdup_n_s8(op2))
4918}
4919#[doc = "Compare greater than or equal to"]
4920#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpge[_s16])"]
4921#[inline]
4922#[target_feature(enable = "sve")]
4923#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
4924#[cfg_attr(test, assert_instr(cmpge))]
4925pub fn svcmpge_s16(pg: svbool_t, op1: svint16_t, op2: svint16_t) -> svbool_t {
4926 unsafe extern "unadjusted" {
4927 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.cmpge.nxv8i16")]
4928 fn _svcmpge_s16(pg: svbool8_t, op1: svint16_t, op2: svint16_t) -> svbool8_t;
4929 }
4930 unsafe { _svcmpge_s16(pg.sve_into(), op1, op2).sve_into() }
4931}
4932#[doc = "Compare greater than or equal to"]
4933#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpge[_n_s16])"]
4934#[inline]
4935#[target_feature(enable = "sve")]
4936#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
4937#[cfg_attr(test, assert_instr(cmpge))]
4938pub fn svcmpge_n_s16(pg: svbool_t, op1: svint16_t, op2: i16) -> svbool_t {
4939 svcmpge_s16(pg, op1, svdup_n_s16(op2))
4940}
4941#[doc = "Compare greater than or equal to"]
4942#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpge[_s32])"]
4943#[inline]
4944#[target_feature(enable = "sve")]
4945#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
4946#[cfg_attr(test, assert_instr(cmpge))]
4947pub fn svcmpge_s32(pg: svbool_t, op1: svint32_t, op2: svint32_t) -> svbool_t {
4948 unsafe extern "unadjusted" {
4949 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.cmpge.nxv4i32")]
4950 fn _svcmpge_s32(pg: svbool4_t, op1: svint32_t, op2: svint32_t) -> svbool4_t;
4951 }
4952 unsafe { _svcmpge_s32(pg.sve_into(), op1, op2).sve_into() }
4953}
4954#[doc = "Compare greater than or equal to"]
4955#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpge[_n_s32])"]
4956#[inline]
4957#[target_feature(enable = "sve")]
4958#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
4959#[cfg_attr(test, assert_instr(cmpge))]
4960pub fn svcmpge_n_s32(pg: svbool_t, op1: svint32_t, op2: i32) -> svbool_t {
4961 svcmpge_s32(pg, op1, svdup_n_s32(op2))
4962}
4963#[doc = "Compare greater than or equal to"]
4964#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpge[_s64])"]
4965#[inline]
4966#[target_feature(enable = "sve")]
4967#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
4968#[cfg_attr(test, assert_instr(cmpge))]
4969pub fn svcmpge_s64(pg: svbool_t, op1: svint64_t, op2: svint64_t) -> svbool_t {
4970 unsafe extern "unadjusted" {
4971 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.cmpge.nxv2i64")]
4972 fn _svcmpge_s64(pg: svbool2_t, op1: svint64_t, op2: svint64_t) -> svbool2_t;
4973 }
4974 unsafe { _svcmpge_s64(pg.sve_into(), op1, op2).sve_into() }
4975}
4976#[doc = "Compare greater than or equal to"]
4977#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpge[_n_s64])"]
4978#[inline]
4979#[target_feature(enable = "sve")]
4980#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
4981#[cfg_attr(test, assert_instr(cmpge))]
4982pub fn svcmpge_n_s64(pg: svbool_t, op1: svint64_t, op2: i64) -> svbool_t {
4983 svcmpge_s64(pg, op1, svdup_n_s64(op2))
4984}
4985#[doc = "Compare greater than or equal to"]
4986#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpge[_u8])"]
4987#[inline]
4988#[target_feature(enable = "sve")]
4989#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
4990#[cfg_attr(test, assert_instr(cmphs))]
4991pub fn svcmpge_u8(pg: svbool_t, op1: svuint8_t, op2: svuint8_t) -> svbool_t {
4992 unsafe extern "unadjusted" {
4993 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.cmphs.nxv16i8")]
4994 fn _svcmpge_u8(pg: svbool_t, op1: svint8_t, op2: svint8_t) -> svbool_t;
4995 }
4996 unsafe { _svcmpge_u8(pg, op1.as_signed(), op2.as_signed()) }
4997}
4998#[doc = "Compare greater than or equal to"]
4999#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpge[_n_u8])"]
5000#[inline]
5001#[target_feature(enable = "sve")]
5002#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
5003#[cfg_attr(test, assert_instr(cmphs))]
5004pub fn svcmpge_n_u8(pg: svbool_t, op1: svuint8_t, op2: u8) -> svbool_t {
5005 svcmpge_u8(pg, op1, svdup_n_u8(op2))
5006}
5007#[doc = "Compare greater than or equal to"]
5008#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpge[_u16])"]
5009#[inline]
5010#[target_feature(enable = "sve")]
5011#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
5012#[cfg_attr(test, assert_instr(cmphs))]
5013pub fn svcmpge_u16(pg: svbool_t, op1: svuint16_t, op2: svuint16_t) -> svbool_t {
5014 unsafe extern "unadjusted" {
5015 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.cmphs.nxv8i16")]
5016 fn _svcmpge_u16(pg: svbool8_t, op1: svint16_t, op2: svint16_t) -> svbool8_t;
5017 }
5018 unsafe { _svcmpge_u16(pg.sve_into(), op1.as_signed(), op2.as_signed()).sve_into() }
5019}
5020#[doc = "Compare greater than or equal to"]
5021#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpge[_n_u16])"]
5022#[inline]
5023#[target_feature(enable = "sve")]
5024#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
5025#[cfg_attr(test, assert_instr(cmphs))]
5026pub fn svcmpge_n_u16(pg: svbool_t, op1: svuint16_t, op2: u16) -> svbool_t {
5027 svcmpge_u16(pg, op1, svdup_n_u16(op2))
5028}
5029#[doc = "Compare greater than or equal to"]
5030#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpge[_u32])"]
5031#[inline]
5032#[target_feature(enable = "sve")]
5033#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
5034#[cfg_attr(test, assert_instr(cmphs))]
5035pub fn svcmpge_u32(pg: svbool_t, op1: svuint32_t, op2: svuint32_t) -> svbool_t {
5036 unsafe extern "unadjusted" {
5037 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.cmphs.nxv4i32")]
5038 fn _svcmpge_u32(pg: svbool4_t, op1: svint32_t, op2: svint32_t) -> svbool4_t;
5039 }
5040 unsafe { _svcmpge_u32(pg.sve_into(), op1.as_signed(), op2.as_signed()).sve_into() }
5041}
5042#[doc = "Compare greater than or equal to"]
5043#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpge[_n_u32])"]
5044#[inline]
5045#[target_feature(enable = "sve")]
5046#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
5047#[cfg_attr(test, assert_instr(cmphs))]
5048pub fn svcmpge_n_u32(pg: svbool_t, op1: svuint32_t, op2: u32) -> svbool_t {
5049 svcmpge_u32(pg, op1, svdup_n_u32(op2))
5050}
5051#[doc = "Compare greater than or equal to"]
5052#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpge[_u64])"]
5053#[inline]
5054#[target_feature(enable = "sve")]
5055#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
5056#[cfg_attr(test, assert_instr(cmphs))]
5057pub fn svcmpge_u64(pg: svbool_t, op1: svuint64_t, op2: svuint64_t) -> svbool_t {
5058 unsafe extern "unadjusted" {
5059 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.cmphs.nxv2i64")]
5060 fn _svcmpge_u64(pg: svbool2_t, op1: svint64_t, op2: svint64_t) -> svbool2_t;
5061 }
5062 unsafe { _svcmpge_u64(pg.sve_into(), op1.as_signed(), op2.as_signed()).sve_into() }
5063}
5064#[doc = "Compare greater than or equal to"]
5065#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpge[_n_u64])"]
5066#[inline]
5067#[target_feature(enable = "sve")]
5068#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
5069#[cfg_attr(test, assert_instr(cmphs))]
5070pub fn svcmpge_n_u64(pg: svbool_t, op1: svuint64_t, op2: u64) -> svbool_t {
5071 svcmpge_u64(pg, op1, svdup_n_u64(op2))
5072}
5073#[doc = "Compare greater than or equal to"]
5074#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpge_wide[_s8])"]
5075#[inline]
5076#[target_feature(enable = "sve")]
5077#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
5078#[cfg_attr(test, assert_instr(cmpge))]
5079pub fn svcmpge_wide_s8(pg: svbool_t, op1: svint8_t, op2: svint64_t) -> svbool_t {
5080 unsafe extern "unadjusted" {
5081 #[cfg_attr(
5082 target_arch = "aarch64",
5083 link_name = "llvm.aarch64.sve.cmpge.wide.nxv16i8"
5084 )]
5085 fn _svcmpge_wide_s8(pg: svbool_t, op1: svint8_t, op2: svint64_t) -> svbool_t;
5086 }
5087 unsafe { _svcmpge_wide_s8(pg, op1, op2) }
5088}
5089#[doc = "Compare greater than or equal to"]
5090#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpge_wide[_n_s8])"]
5091#[inline]
5092#[target_feature(enable = "sve")]
5093#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
5094#[cfg_attr(test, assert_instr(cmpge))]
5095pub fn svcmpge_wide_n_s8(pg: svbool_t, op1: svint8_t, op2: i64) -> svbool_t {
5096 svcmpge_wide_s8(pg, op1, svdup_n_s64(op2))
5097}
5098#[doc = "Compare greater than or equal to"]
5099#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpge_wide[_s16])"]
5100#[inline]
5101#[target_feature(enable = "sve")]
5102#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
5103#[cfg_attr(test, assert_instr(cmpge))]
5104pub fn svcmpge_wide_s16(pg: svbool_t, op1: svint16_t, op2: svint64_t) -> svbool_t {
5105 unsafe extern "unadjusted" {
5106 #[cfg_attr(
5107 target_arch = "aarch64",
5108 link_name = "llvm.aarch64.sve.cmpge.wide.nxv8i16"
5109 )]
5110 fn _svcmpge_wide_s16(pg: svbool8_t, op1: svint16_t, op2: svint64_t) -> svbool8_t;
5111 }
5112 unsafe { _svcmpge_wide_s16(pg.sve_into(), op1, op2).sve_into() }
5113}
5114#[doc = "Compare greater than or equal to"]
5115#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpge_wide[_n_s16])"]
5116#[inline]
5117#[target_feature(enable = "sve")]
5118#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
5119#[cfg_attr(test, assert_instr(cmpge))]
5120pub fn svcmpge_wide_n_s16(pg: svbool_t, op1: svint16_t, op2: i64) -> svbool_t {
5121 svcmpge_wide_s16(pg, op1, svdup_n_s64(op2))
5122}
5123#[doc = "Compare greater than or equal to"]
5124#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpge_wide[_s32])"]
5125#[inline]
5126#[target_feature(enable = "sve")]
5127#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
5128#[cfg_attr(test, assert_instr(cmpge))]
5129pub fn svcmpge_wide_s32(pg: svbool_t, op1: svint32_t, op2: svint64_t) -> svbool_t {
5130 unsafe extern "unadjusted" {
5131 #[cfg_attr(
5132 target_arch = "aarch64",
5133 link_name = "llvm.aarch64.sve.cmpge.wide.nxv4i32"
5134 )]
5135 fn _svcmpge_wide_s32(pg: svbool4_t, op1: svint32_t, op2: svint64_t) -> svbool4_t;
5136 }
5137 unsafe { _svcmpge_wide_s32(pg.sve_into(), op1, op2).sve_into() }
5138}
5139#[doc = "Compare greater than or equal to"]
5140#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpge_wide[_n_s32])"]
5141#[inline]
5142#[target_feature(enable = "sve")]
5143#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
5144#[cfg_attr(test, assert_instr(cmpge))]
5145pub fn svcmpge_wide_n_s32(pg: svbool_t, op1: svint32_t, op2: i64) -> svbool_t {
5146 svcmpge_wide_s32(pg, op1, svdup_n_s64(op2))
5147}
5148#[doc = "Compare greater than or equal to"]
5149#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpge_wide[_u8])"]
5150#[inline]
5151#[target_feature(enable = "sve")]
5152#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
5153#[cfg_attr(test, assert_instr(cmphs))]
5154pub fn svcmpge_wide_u8(pg: svbool_t, op1: svuint8_t, op2: svuint64_t) -> svbool_t {
5155 unsafe extern "unadjusted" {
5156 #[cfg_attr(
5157 target_arch = "aarch64",
5158 link_name = "llvm.aarch64.sve.cmphs.wide.nxv16i8"
5159 )]
5160 fn _svcmpge_wide_u8(pg: svbool_t, op1: svint8_t, op2: svint64_t) -> svbool_t;
5161 }
5162 unsafe { _svcmpge_wide_u8(pg, op1.as_signed(), op2.as_signed()) }
5163}
5164#[doc = "Compare greater than or equal to"]
5165#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpge_wide[_n_u8])"]
5166#[inline]
5167#[target_feature(enable = "sve")]
5168#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
5169#[cfg_attr(test, assert_instr(cmphs))]
5170pub fn svcmpge_wide_n_u8(pg: svbool_t, op1: svuint8_t, op2: u64) -> svbool_t {
5171 svcmpge_wide_u8(pg, op1, svdup_n_u64(op2))
5172}
5173#[doc = "Compare greater than or equal to"]
5174#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpge_wide[_u16])"]
5175#[inline]
5176#[target_feature(enable = "sve")]
5177#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
5178#[cfg_attr(test, assert_instr(cmphs))]
5179pub fn svcmpge_wide_u16(pg: svbool_t, op1: svuint16_t, op2: svuint64_t) -> svbool_t {
5180 unsafe extern "unadjusted" {
5181 #[cfg_attr(
5182 target_arch = "aarch64",
5183 link_name = "llvm.aarch64.sve.cmphs.wide.nxv8i16"
5184 )]
5185 fn _svcmpge_wide_u16(pg: svbool8_t, op1: svint16_t, op2: svint64_t) -> svbool8_t;
5186 }
5187 unsafe { _svcmpge_wide_u16(pg.sve_into(), op1.as_signed(), op2.as_signed()).sve_into() }
5188}
5189#[doc = "Compare greater than or equal to"]
5190#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpge_wide[_n_u16])"]
5191#[inline]
5192#[target_feature(enable = "sve")]
5193#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
5194#[cfg_attr(test, assert_instr(cmphs))]
5195pub fn svcmpge_wide_n_u16(pg: svbool_t, op1: svuint16_t, op2: u64) -> svbool_t {
5196 svcmpge_wide_u16(pg, op1, svdup_n_u64(op2))
5197}
5198#[doc = "Compare greater than or equal to"]
5199#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpge_wide[_u32])"]
5200#[inline]
5201#[target_feature(enable = "sve")]
5202#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
5203#[cfg_attr(test, assert_instr(cmphs))]
5204pub fn svcmpge_wide_u32(pg: svbool_t, op1: svuint32_t, op2: svuint64_t) -> svbool_t {
5205 unsafe extern "unadjusted" {
5206 #[cfg_attr(
5207 target_arch = "aarch64",
5208 link_name = "llvm.aarch64.sve.cmphs.wide.nxv4i32"
5209 )]
5210 fn _svcmpge_wide_u32(pg: svbool4_t, op1: svint32_t, op2: svint64_t) -> svbool4_t;
5211 }
5212 unsafe { _svcmpge_wide_u32(pg.sve_into(), op1.as_signed(), op2.as_signed()).sve_into() }
5213}
5214#[doc = "Compare greater than or equal to"]
5215#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpge_wide[_n_u32])"]
5216#[inline]
5217#[target_feature(enable = "sve")]
5218#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
5219#[cfg_attr(test, assert_instr(cmphs))]
5220pub fn svcmpge_wide_n_u32(pg: svbool_t, op1: svuint32_t, op2: u64) -> svbool_t {
5221 svcmpge_wide_u32(pg, op1, svdup_n_u64(op2))
5222}
5223#[doc = "Compare greater than"]
5224#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpgt[_f32])"]
5225#[inline]
5226#[target_feature(enable = "sve")]
5227#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
5228#[cfg_attr(test, assert_instr(fcmgt))]
5229pub fn svcmpgt_f32(pg: svbool_t, op1: svfloat32_t, op2: svfloat32_t) -> svbool_t {
5230 unsafe extern "unadjusted" {
5231 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.fcmpgt.nxv4f32")]
5232 fn _svcmpgt_f32(pg: svbool4_t, op1: svfloat32_t, op2: svfloat32_t) -> svbool4_t;
5233 }
5234 unsafe { _svcmpgt_f32(pg.sve_into(), op1, op2).sve_into() }
5235}
5236#[doc = "Compare greater than"]
5237#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpgt[_n_f32])"]
5238#[inline]
5239#[target_feature(enable = "sve")]
5240#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
5241#[cfg_attr(test, assert_instr(fcmgt))]
5242pub fn svcmpgt_n_f32(pg: svbool_t, op1: svfloat32_t, op2: f32) -> svbool_t {
5243 svcmpgt_f32(pg, op1, svdup_n_f32(op2))
5244}
5245#[doc = "Compare greater than"]
5246#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpgt[_f64])"]
5247#[inline]
5248#[target_feature(enable = "sve")]
5249#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
5250#[cfg_attr(test, assert_instr(fcmgt))]
5251pub fn svcmpgt_f64(pg: svbool_t, op1: svfloat64_t, op2: svfloat64_t) -> svbool_t {
5252 unsafe extern "unadjusted" {
5253 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.fcmpgt.nxv2f64")]
5254 fn _svcmpgt_f64(pg: svbool2_t, op1: svfloat64_t, op2: svfloat64_t) -> svbool2_t;
5255 }
5256 unsafe { _svcmpgt_f64(pg.sve_into(), op1, op2).sve_into() }
5257}
5258#[doc = "Compare greater than"]
5259#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpgt[_n_f64])"]
5260#[inline]
5261#[target_feature(enable = "sve")]
5262#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
5263#[cfg_attr(test, assert_instr(fcmgt))]
5264pub fn svcmpgt_n_f64(pg: svbool_t, op1: svfloat64_t, op2: f64) -> svbool_t {
5265 svcmpgt_f64(pg, op1, svdup_n_f64(op2))
5266}
5267#[doc = "Compare greater than"]
5268#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpgt[_s8])"]
5269#[inline]
5270#[target_feature(enable = "sve")]
5271#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
5272#[cfg_attr(test, assert_instr(cmpgt))]
5273pub fn svcmpgt_s8(pg: svbool_t, op1: svint8_t, op2: svint8_t) -> svbool_t {
5274 unsafe extern "unadjusted" {
5275 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.cmpgt.nxv16i8")]
5276 fn _svcmpgt_s8(pg: svbool_t, op1: svint8_t, op2: svint8_t) -> svbool_t;
5277 }
5278 unsafe { _svcmpgt_s8(pg, op1, op2) }
5279}
5280#[doc = "Compare greater than"]
5281#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpgt[_n_s8])"]
5282#[inline]
5283#[target_feature(enable = "sve")]
5284#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
5285#[cfg_attr(test, assert_instr(cmpgt))]
5286pub fn svcmpgt_n_s8(pg: svbool_t, op1: svint8_t, op2: i8) -> svbool_t {
5287 svcmpgt_s8(pg, op1, svdup_n_s8(op2))
5288}
5289#[doc = "Compare greater than"]
5290#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpgt[_s16])"]
5291#[inline]
5292#[target_feature(enable = "sve")]
5293#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
5294#[cfg_attr(test, assert_instr(cmpgt))]
5295pub fn svcmpgt_s16(pg: svbool_t, op1: svint16_t, op2: svint16_t) -> svbool_t {
5296 unsafe extern "unadjusted" {
5297 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.cmpgt.nxv8i16")]
5298 fn _svcmpgt_s16(pg: svbool8_t, op1: svint16_t, op2: svint16_t) -> svbool8_t;
5299 }
5300 unsafe { _svcmpgt_s16(pg.sve_into(), op1, op2).sve_into() }
5301}
5302#[doc = "Compare greater than"]
5303#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpgt[_n_s16])"]
5304#[inline]
5305#[target_feature(enable = "sve")]
5306#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
5307#[cfg_attr(test, assert_instr(cmpgt))]
5308pub fn svcmpgt_n_s16(pg: svbool_t, op1: svint16_t, op2: i16) -> svbool_t {
5309 svcmpgt_s16(pg, op1, svdup_n_s16(op2))
5310}
5311#[doc = "Compare greater than"]
5312#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpgt[_s32])"]
5313#[inline]
5314#[target_feature(enable = "sve")]
5315#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
5316#[cfg_attr(test, assert_instr(cmpgt))]
5317pub fn svcmpgt_s32(pg: svbool_t, op1: svint32_t, op2: svint32_t) -> svbool_t {
5318 unsafe extern "unadjusted" {
5319 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.cmpgt.nxv4i32")]
5320 fn _svcmpgt_s32(pg: svbool4_t, op1: svint32_t, op2: svint32_t) -> svbool4_t;
5321 }
5322 unsafe { _svcmpgt_s32(pg.sve_into(), op1, op2).sve_into() }
5323}
5324#[doc = "Compare greater than"]
5325#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpgt[_n_s32])"]
5326#[inline]
5327#[target_feature(enable = "sve")]
5328#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
5329#[cfg_attr(test, assert_instr(cmpgt))]
5330pub fn svcmpgt_n_s32(pg: svbool_t, op1: svint32_t, op2: i32) -> svbool_t {
5331 svcmpgt_s32(pg, op1, svdup_n_s32(op2))
5332}
5333#[doc = "Compare greater than"]
5334#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpgt[_s64])"]
5335#[inline]
5336#[target_feature(enable = "sve")]
5337#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
5338#[cfg_attr(test, assert_instr(cmpgt))]
5339pub fn svcmpgt_s64(pg: svbool_t, op1: svint64_t, op2: svint64_t) -> svbool_t {
5340 unsafe extern "unadjusted" {
5341 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.cmpgt.nxv2i64")]
5342 fn _svcmpgt_s64(pg: svbool2_t, op1: svint64_t, op2: svint64_t) -> svbool2_t;
5343 }
5344 unsafe { _svcmpgt_s64(pg.sve_into(), op1, op2).sve_into() }
5345}
5346#[doc = "Compare greater than"]
5347#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpgt[_n_s64])"]
5348#[inline]
5349#[target_feature(enable = "sve")]
5350#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
5351#[cfg_attr(test, assert_instr(cmpgt))]
5352pub fn svcmpgt_n_s64(pg: svbool_t, op1: svint64_t, op2: i64) -> svbool_t {
5353 svcmpgt_s64(pg, op1, svdup_n_s64(op2))
5354}
5355#[doc = "Compare greater than"]
5356#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpgt[_u8])"]
5357#[inline]
5358#[target_feature(enable = "sve")]
5359#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
5360#[cfg_attr(test, assert_instr(cmphi))]
5361pub fn svcmpgt_u8(pg: svbool_t, op1: svuint8_t, op2: svuint8_t) -> svbool_t {
5362 unsafe extern "unadjusted" {
5363 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.cmphi.nxv16i8")]
5364 fn _svcmpgt_u8(pg: svbool_t, op1: svint8_t, op2: svint8_t) -> svbool_t;
5365 }
5366 unsafe { _svcmpgt_u8(pg, op1.as_signed(), op2.as_signed()) }
5367}
5368#[doc = "Compare greater than"]
5369#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpgt[_n_u8])"]
5370#[inline]
5371#[target_feature(enable = "sve")]
5372#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
5373#[cfg_attr(test, assert_instr(cmphi))]
5374pub fn svcmpgt_n_u8(pg: svbool_t, op1: svuint8_t, op2: u8) -> svbool_t {
5375 svcmpgt_u8(pg, op1, svdup_n_u8(op2))
5376}
5377#[doc = "Compare greater than"]
5378#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpgt[_u16])"]
5379#[inline]
5380#[target_feature(enable = "sve")]
5381#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
5382#[cfg_attr(test, assert_instr(cmphi))]
5383pub fn svcmpgt_u16(pg: svbool_t, op1: svuint16_t, op2: svuint16_t) -> svbool_t {
5384 unsafe extern "unadjusted" {
5385 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.cmphi.nxv8i16")]
5386 fn _svcmpgt_u16(pg: svbool8_t, op1: svint16_t, op2: svint16_t) -> svbool8_t;
5387 }
5388 unsafe { _svcmpgt_u16(pg.sve_into(), op1.as_signed(), op2.as_signed()).sve_into() }
5389}
5390#[doc = "Compare greater than"]
5391#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpgt[_n_u16])"]
5392#[inline]
5393#[target_feature(enable = "sve")]
5394#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
5395#[cfg_attr(test, assert_instr(cmphi))]
5396pub fn svcmpgt_n_u16(pg: svbool_t, op1: svuint16_t, op2: u16) -> svbool_t {
5397 svcmpgt_u16(pg, op1, svdup_n_u16(op2))
5398}
5399#[doc = "Compare greater than"]
5400#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpgt[_u32])"]
5401#[inline]
5402#[target_feature(enable = "sve")]
5403#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
5404#[cfg_attr(test, assert_instr(cmphi))]
5405pub fn svcmpgt_u32(pg: svbool_t, op1: svuint32_t, op2: svuint32_t) -> svbool_t {
5406 unsafe extern "unadjusted" {
5407 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.cmphi.nxv4i32")]
5408 fn _svcmpgt_u32(pg: svbool4_t, op1: svint32_t, op2: svint32_t) -> svbool4_t;
5409 }
5410 unsafe { _svcmpgt_u32(pg.sve_into(), op1.as_signed(), op2.as_signed()).sve_into() }
5411}
5412#[doc = "Compare greater than"]
5413#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpgt[_n_u32])"]
5414#[inline]
5415#[target_feature(enable = "sve")]
5416#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
5417#[cfg_attr(test, assert_instr(cmphi))]
5418pub fn svcmpgt_n_u32(pg: svbool_t, op1: svuint32_t, op2: u32) -> svbool_t {
5419 svcmpgt_u32(pg, op1, svdup_n_u32(op2))
5420}
5421#[doc = "Compare greater than"]
5422#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpgt[_u64])"]
5423#[inline]
5424#[target_feature(enable = "sve")]
5425#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
5426#[cfg_attr(test, assert_instr(cmphi))]
5427pub fn svcmpgt_u64(pg: svbool_t, op1: svuint64_t, op2: svuint64_t) -> svbool_t {
5428 unsafe extern "unadjusted" {
5429 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.cmphi.nxv2i64")]
5430 fn _svcmpgt_u64(pg: svbool2_t, op1: svint64_t, op2: svint64_t) -> svbool2_t;
5431 }
5432 unsafe { _svcmpgt_u64(pg.sve_into(), op1.as_signed(), op2.as_signed()).sve_into() }
5433}
5434#[doc = "Compare greater than"]
5435#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpgt[_n_u64])"]
5436#[inline]
5437#[target_feature(enable = "sve")]
5438#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
5439#[cfg_attr(test, assert_instr(cmphi))]
5440pub fn svcmpgt_n_u64(pg: svbool_t, op1: svuint64_t, op2: u64) -> svbool_t {
5441 svcmpgt_u64(pg, op1, svdup_n_u64(op2))
5442}
5443#[doc = "Compare greater than"]
5444#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpgt_wide[_s8])"]
5445#[inline]
5446#[target_feature(enable = "sve")]
5447#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
5448#[cfg_attr(test, assert_instr(cmpgt))]
5449pub fn svcmpgt_wide_s8(pg: svbool_t, op1: svint8_t, op2: svint64_t) -> svbool_t {
5450 unsafe extern "unadjusted" {
5451 #[cfg_attr(
5452 target_arch = "aarch64",
5453 link_name = "llvm.aarch64.sve.cmpgt.wide.nxv16i8"
5454 )]
5455 fn _svcmpgt_wide_s8(pg: svbool_t, op1: svint8_t, op2: svint64_t) -> svbool_t;
5456 }
5457 unsafe { _svcmpgt_wide_s8(pg, op1, op2) }
5458}
5459#[doc = "Compare greater than"]
5460#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpgt_wide[_n_s8])"]
5461#[inline]
5462#[target_feature(enable = "sve")]
5463#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
5464#[cfg_attr(test, assert_instr(cmpgt))]
5465pub fn svcmpgt_wide_n_s8(pg: svbool_t, op1: svint8_t, op2: i64) -> svbool_t {
5466 svcmpgt_wide_s8(pg, op1, svdup_n_s64(op2))
5467}
5468#[doc = "Compare greater than"]
5469#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpgt_wide[_s16])"]
5470#[inline]
5471#[target_feature(enable = "sve")]
5472#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
5473#[cfg_attr(test, assert_instr(cmpgt))]
5474pub fn svcmpgt_wide_s16(pg: svbool_t, op1: svint16_t, op2: svint64_t) -> svbool_t {
5475 unsafe extern "unadjusted" {
5476 #[cfg_attr(
5477 target_arch = "aarch64",
5478 link_name = "llvm.aarch64.sve.cmpgt.wide.nxv8i16"
5479 )]
5480 fn _svcmpgt_wide_s16(pg: svbool8_t, op1: svint16_t, op2: svint64_t) -> svbool8_t;
5481 }
5482 unsafe { _svcmpgt_wide_s16(pg.sve_into(), op1, op2).sve_into() }
5483}
5484#[doc = "Compare greater than"]
5485#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpgt_wide[_n_s16])"]
5486#[inline]
5487#[target_feature(enable = "sve")]
5488#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
5489#[cfg_attr(test, assert_instr(cmpgt))]
5490pub fn svcmpgt_wide_n_s16(pg: svbool_t, op1: svint16_t, op2: i64) -> svbool_t {
5491 svcmpgt_wide_s16(pg, op1, svdup_n_s64(op2))
5492}
5493#[doc = "Compare greater than"]
5494#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpgt_wide[_s32])"]
5495#[inline]
5496#[target_feature(enable = "sve")]
5497#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
5498#[cfg_attr(test, assert_instr(cmpgt))]
5499pub fn svcmpgt_wide_s32(pg: svbool_t, op1: svint32_t, op2: svint64_t) -> svbool_t {
5500 unsafe extern "unadjusted" {
5501 #[cfg_attr(
5502 target_arch = "aarch64",
5503 link_name = "llvm.aarch64.sve.cmpgt.wide.nxv4i32"
5504 )]
5505 fn _svcmpgt_wide_s32(pg: svbool4_t, op1: svint32_t, op2: svint64_t) -> svbool4_t;
5506 }
5507 unsafe { _svcmpgt_wide_s32(pg.sve_into(), op1, op2).sve_into() }
5508}
5509#[doc = "Compare greater than"]
5510#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpgt_wide[_n_s32])"]
5511#[inline]
5512#[target_feature(enable = "sve")]
5513#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
5514#[cfg_attr(test, assert_instr(cmpgt))]
5515pub fn svcmpgt_wide_n_s32(pg: svbool_t, op1: svint32_t, op2: i64) -> svbool_t {
5516 svcmpgt_wide_s32(pg, op1, svdup_n_s64(op2))
5517}
5518#[doc = "Compare greater than"]
5519#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpgt_wide[_u8])"]
5520#[inline]
5521#[target_feature(enable = "sve")]
5522#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
5523#[cfg_attr(test, assert_instr(cmphi))]
5524pub fn svcmpgt_wide_u8(pg: svbool_t, op1: svuint8_t, op2: svuint64_t) -> svbool_t {
5525 unsafe extern "unadjusted" {
5526 #[cfg_attr(
5527 target_arch = "aarch64",
5528 link_name = "llvm.aarch64.sve.cmphi.wide.nxv16i8"
5529 )]
5530 fn _svcmpgt_wide_u8(pg: svbool_t, op1: svint8_t, op2: svint64_t) -> svbool_t;
5531 }
5532 unsafe { _svcmpgt_wide_u8(pg, op1.as_signed(), op2.as_signed()) }
5533}
5534#[doc = "Compare greater than"]
5535#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpgt_wide[_n_u8])"]
5536#[inline]
5537#[target_feature(enable = "sve")]
5538#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
5539#[cfg_attr(test, assert_instr(cmphi))]
5540pub fn svcmpgt_wide_n_u8(pg: svbool_t, op1: svuint8_t, op2: u64) -> svbool_t {
5541 svcmpgt_wide_u8(pg, op1, svdup_n_u64(op2))
5542}
5543#[doc = "Compare greater than"]
5544#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpgt_wide[_u16])"]
5545#[inline]
5546#[target_feature(enable = "sve")]
5547#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
5548#[cfg_attr(test, assert_instr(cmphi))]
5549pub fn svcmpgt_wide_u16(pg: svbool_t, op1: svuint16_t, op2: svuint64_t) -> svbool_t {
5550 unsafe extern "unadjusted" {
5551 #[cfg_attr(
5552 target_arch = "aarch64",
5553 link_name = "llvm.aarch64.sve.cmphi.wide.nxv8i16"
5554 )]
5555 fn _svcmpgt_wide_u16(pg: svbool8_t, op1: svint16_t, op2: svint64_t) -> svbool8_t;
5556 }
5557 unsafe { _svcmpgt_wide_u16(pg.sve_into(), op1.as_signed(), op2.as_signed()).sve_into() }
5558}
5559#[doc = "Compare greater than"]
5560#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpgt_wide[_n_u16])"]
5561#[inline]
5562#[target_feature(enable = "sve")]
5563#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
5564#[cfg_attr(test, assert_instr(cmphi))]
5565pub fn svcmpgt_wide_n_u16(pg: svbool_t, op1: svuint16_t, op2: u64) -> svbool_t {
5566 svcmpgt_wide_u16(pg, op1, svdup_n_u64(op2))
5567}
5568#[doc = "Compare greater than"]
5569#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpgt_wide[_u32])"]
5570#[inline]
5571#[target_feature(enable = "sve")]
5572#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
5573#[cfg_attr(test, assert_instr(cmphi))]
5574pub fn svcmpgt_wide_u32(pg: svbool_t, op1: svuint32_t, op2: svuint64_t) -> svbool_t {
5575 unsafe extern "unadjusted" {
5576 #[cfg_attr(
5577 target_arch = "aarch64",
5578 link_name = "llvm.aarch64.sve.cmphi.wide.nxv4i32"
5579 )]
5580 fn _svcmpgt_wide_u32(pg: svbool4_t, op1: svint32_t, op2: svint64_t) -> svbool4_t;
5581 }
5582 unsafe { _svcmpgt_wide_u32(pg.sve_into(), op1.as_signed(), op2.as_signed()).sve_into() }
5583}
5584#[doc = "Compare greater than"]
5585#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpgt_wide[_n_u32])"]
5586#[inline]
5587#[target_feature(enable = "sve")]
5588#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
5589#[cfg_attr(test, assert_instr(cmphi))]
5590pub fn svcmpgt_wide_n_u32(pg: svbool_t, op1: svuint32_t, op2: u64) -> svbool_t {
5591 svcmpgt_wide_u32(pg, op1, svdup_n_u64(op2))
5592}
5593#[doc = "Compare less than or equal to"]
5594#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmple[_f32])"]
5595#[inline]
5596#[target_feature(enable = "sve")]
5597#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
5598#[cfg_attr(test, assert_instr(fcmge))]
5599pub fn svcmple_f32(pg: svbool_t, op1: svfloat32_t, op2: svfloat32_t) -> svbool_t {
5600 svcmpge_f32(pg, op2, op1)
5601}
5602#[doc = "Compare less than or equal to"]
5603#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmple[_n_f32])"]
5604#[inline]
5605#[target_feature(enable = "sve")]
5606#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
5607#[cfg_attr(test, assert_instr(fcmge))]
5608pub fn svcmple_n_f32(pg: svbool_t, op1: svfloat32_t, op2: f32) -> svbool_t {
5609 svcmple_f32(pg, op1, svdup_n_f32(op2))
5610}
5611#[doc = "Compare less than or equal to"]
5612#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmple[_f64])"]
5613#[inline]
5614#[target_feature(enable = "sve")]
5615#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
5616#[cfg_attr(test, assert_instr(fcmge))]
5617pub fn svcmple_f64(pg: svbool_t, op1: svfloat64_t, op2: svfloat64_t) -> svbool_t {
5618 svcmpge_f64(pg, op2, op1)
5619}
5620#[doc = "Compare less than or equal to"]
5621#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmple[_n_f64])"]
5622#[inline]
5623#[target_feature(enable = "sve")]
5624#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
5625#[cfg_attr(test, assert_instr(fcmge))]
5626pub fn svcmple_n_f64(pg: svbool_t, op1: svfloat64_t, op2: f64) -> svbool_t {
5627 svcmple_f64(pg, op1, svdup_n_f64(op2))
5628}
5629#[doc = "Compare less than or equal to"]
5630#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmple[_s8])"]
5631#[inline]
5632#[target_feature(enable = "sve")]
5633#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
5634#[cfg_attr(test, assert_instr(cmpge))]
5635pub fn svcmple_s8(pg: svbool_t, op1: svint8_t, op2: svint8_t) -> svbool_t {
5636 svcmpge_s8(pg, op2, op1)
5637}
5638#[doc = "Compare less than or equal to"]
5639#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmple[_n_s8])"]
5640#[inline]
5641#[target_feature(enable = "sve")]
5642#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
5643#[cfg_attr(test, assert_instr(cmpge))]
5644pub fn svcmple_n_s8(pg: svbool_t, op1: svint8_t, op2: i8) -> svbool_t {
5645 svcmple_s8(pg, op1, svdup_n_s8(op2))
5646}
5647#[doc = "Compare less than or equal to"]
5648#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmple[_s16])"]
5649#[inline]
5650#[target_feature(enable = "sve")]
5651#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
5652#[cfg_attr(test, assert_instr(cmpge))]
5653pub fn svcmple_s16(pg: svbool_t, op1: svint16_t, op2: svint16_t) -> svbool_t {
5654 svcmpge_s16(pg, op2, op1)
5655}
5656#[doc = "Compare less than or equal to"]
5657#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmple[_n_s16])"]
5658#[inline]
5659#[target_feature(enable = "sve")]
5660#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
5661#[cfg_attr(test, assert_instr(cmpge))]
5662pub fn svcmple_n_s16(pg: svbool_t, op1: svint16_t, op2: i16) -> svbool_t {
5663 svcmple_s16(pg, op1, svdup_n_s16(op2))
5664}
5665#[doc = "Compare less than or equal to"]
5666#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmple[_s32])"]
5667#[inline]
5668#[target_feature(enable = "sve")]
5669#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
5670#[cfg_attr(test, assert_instr(cmpge))]
5671pub fn svcmple_s32(pg: svbool_t, op1: svint32_t, op2: svint32_t) -> svbool_t {
5672 svcmpge_s32(pg, op2, op1)
5673}
5674#[doc = "Compare less than or equal to"]
5675#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmple[_n_s32])"]
5676#[inline]
5677#[target_feature(enable = "sve")]
5678#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
5679#[cfg_attr(test, assert_instr(cmpge))]
5680pub fn svcmple_n_s32(pg: svbool_t, op1: svint32_t, op2: i32) -> svbool_t {
5681 svcmple_s32(pg, op1, svdup_n_s32(op2))
5682}
5683#[doc = "Compare less than or equal to"]
5684#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmple[_s64])"]
5685#[inline]
5686#[target_feature(enable = "sve")]
5687#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
5688#[cfg_attr(test, assert_instr(cmpge))]
5689pub fn svcmple_s64(pg: svbool_t, op1: svint64_t, op2: svint64_t) -> svbool_t {
5690 svcmpge_s64(pg, op2, op1)
5691}
5692#[doc = "Compare less than or equal to"]
5693#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmple[_n_s64])"]
5694#[inline]
5695#[target_feature(enable = "sve")]
5696#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
5697#[cfg_attr(test, assert_instr(cmpge))]
5698pub fn svcmple_n_s64(pg: svbool_t, op1: svint64_t, op2: i64) -> svbool_t {
5699 svcmple_s64(pg, op1, svdup_n_s64(op2))
5700}
5701#[doc = "Compare less than or equal to"]
5702#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmple[_u8])"]
5703#[inline]
5704#[target_feature(enable = "sve")]
5705#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
5706#[cfg_attr(test, assert_instr(cmphs))]
5707pub fn svcmple_u8(pg: svbool_t, op1: svuint8_t, op2: svuint8_t) -> svbool_t {
5708 svcmpge_u8(pg, op2, op1)
5709}
5710#[doc = "Compare less than or equal to"]
5711#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmple[_n_u8])"]
5712#[inline]
5713#[target_feature(enable = "sve")]
5714#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
5715#[cfg_attr(test, assert_instr(cmphs))]
5716pub fn svcmple_n_u8(pg: svbool_t, op1: svuint8_t, op2: u8) -> svbool_t {
5717 svcmple_u8(pg, op1, svdup_n_u8(op2))
5718}
5719#[doc = "Compare less than or equal to"]
5720#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmple[_u16])"]
5721#[inline]
5722#[target_feature(enable = "sve")]
5723#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
5724#[cfg_attr(test, assert_instr(cmphs))]
5725pub fn svcmple_u16(pg: svbool_t, op1: svuint16_t, op2: svuint16_t) -> svbool_t {
5726 svcmpge_u16(pg, op2, op1)
5727}
5728#[doc = "Compare less than or equal to"]
5729#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmple[_n_u16])"]
5730#[inline]
5731#[target_feature(enable = "sve")]
5732#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
5733#[cfg_attr(test, assert_instr(cmphs))]
5734pub fn svcmple_n_u16(pg: svbool_t, op1: svuint16_t, op2: u16) -> svbool_t {
5735 svcmple_u16(pg, op1, svdup_n_u16(op2))
5736}
5737#[doc = "Compare less than or equal to"]
5738#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmple[_u32])"]
5739#[inline]
5740#[target_feature(enable = "sve")]
5741#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
5742#[cfg_attr(test, assert_instr(cmphs))]
5743pub fn svcmple_u32(pg: svbool_t, op1: svuint32_t, op2: svuint32_t) -> svbool_t {
5744 svcmpge_u32(pg, op2, op1)
5745}
5746#[doc = "Compare less than or equal to"]
5747#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmple[_n_u32])"]
5748#[inline]
5749#[target_feature(enable = "sve")]
5750#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
5751#[cfg_attr(test, assert_instr(cmphs))]
5752pub fn svcmple_n_u32(pg: svbool_t, op1: svuint32_t, op2: u32) -> svbool_t {
5753 svcmple_u32(pg, op1, svdup_n_u32(op2))
5754}
5755#[doc = "Compare less than or equal to"]
5756#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmple[_u64])"]
5757#[inline]
5758#[target_feature(enable = "sve")]
5759#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
5760#[cfg_attr(test, assert_instr(cmphs))]
5761pub fn svcmple_u64(pg: svbool_t, op1: svuint64_t, op2: svuint64_t) -> svbool_t {
5762 svcmpge_u64(pg, op2, op1)
5763}
5764#[doc = "Compare less than or equal to"]
5765#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmple[_n_u64])"]
5766#[inline]
5767#[target_feature(enable = "sve")]
5768#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
5769#[cfg_attr(test, assert_instr(cmphs))]
5770pub fn svcmple_n_u64(pg: svbool_t, op1: svuint64_t, op2: u64) -> svbool_t {
5771 svcmple_u64(pg, op1, svdup_n_u64(op2))
5772}
5773#[doc = "Compare less than or equal to"]
5774#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmple_wide[_s8])"]
5775#[inline]
5776#[target_feature(enable = "sve")]
5777#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
5778#[cfg_attr(test, assert_instr(cmple))]
5779pub fn svcmple_wide_s8(pg: svbool_t, op1: svint8_t, op2: svint64_t) -> svbool_t {
5780 unsafe extern "unadjusted" {
5781 #[cfg_attr(
5782 target_arch = "aarch64",
5783 link_name = "llvm.aarch64.sve.cmple.wide.nxv16i8"
5784 )]
5785 fn _svcmple_wide_s8(pg: svbool_t, op1: svint8_t, op2: svint64_t) -> svbool_t;
5786 }
5787 unsafe { _svcmple_wide_s8(pg, op1, op2) }
5788}
5789#[doc = "Compare less than or equal to"]
5790#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmple_wide[_n_s8])"]
5791#[inline]
5792#[target_feature(enable = "sve")]
5793#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
5794#[cfg_attr(test, assert_instr(cmple))]
5795pub fn svcmple_wide_n_s8(pg: svbool_t, op1: svint8_t, op2: i64) -> svbool_t {
5796 svcmple_wide_s8(pg, op1, svdup_n_s64(op2))
5797}
5798#[doc = "Compare less than or equal to"]
5799#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmple_wide[_s16])"]
5800#[inline]
5801#[target_feature(enable = "sve")]
5802#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
5803#[cfg_attr(test, assert_instr(cmple))]
5804pub fn svcmple_wide_s16(pg: svbool_t, op1: svint16_t, op2: svint64_t) -> svbool_t {
5805 unsafe extern "unadjusted" {
5806 #[cfg_attr(
5807 target_arch = "aarch64",
5808 link_name = "llvm.aarch64.sve.cmple.wide.nxv8i16"
5809 )]
5810 fn _svcmple_wide_s16(pg: svbool8_t, op1: svint16_t, op2: svint64_t) -> svbool8_t;
5811 }
5812 unsafe { _svcmple_wide_s16(pg.sve_into(), op1, op2).sve_into() }
5813}
5814#[doc = "Compare less than or equal to"]
5815#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmple_wide[_n_s16])"]
5816#[inline]
5817#[target_feature(enable = "sve")]
5818#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
5819#[cfg_attr(test, assert_instr(cmple))]
5820pub fn svcmple_wide_n_s16(pg: svbool_t, op1: svint16_t, op2: i64) -> svbool_t {
5821 svcmple_wide_s16(pg, op1, svdup_n_s64(op2))
5822}
5823#[doc = "Compare less than or equal to"]
5824#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmple_wide[_s32])"]
5825#[inline]
5826#[target_feature(enable = "sve")]
5827#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
5828#[cfg_attr(test, assert_instr(cmple))]
5829pub fn svcmple_wide_s32(pg: svbool_t, op1: svint32_t, op2: svint64_t) -> svbool_t {
5830 unsafe extern "unadjusted" {
5831 #[cfg_attr(
5832 target_arch = "aarch64",
5833 link_name = "llvm.aarch64.sve.cmple.wide.nxv4i32"
5834 )]
5835 fn _svcmple_wide_s32(pg: svbool4_t, op1: svint32_t, op2: svint64_t) -> svbool4_t;
5836 }
5837 unsafe { _svcmple_wide_s32(pg.sve_into(), op1, op2).sve_into() }
5838}
5839#[doc = "Compare less than or equal to"]
5840#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmple_wide[_n_s32])"]
5841#[inline]
5842#[target_feature(enable = "sve")]
5843#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
5844#[cfg_attr(test, assert_instr(cmple))]
5845pub fn svcmple_wide_n_s32(pg: svbool_t, op1: svint32_t, op2: i64) -> svbool_t {
5846 svcmple_wide_s32(pg, op1, svdup_n_s64(op2))
5847}
5848#[doc = "Compare less than or equal to"]
5849#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmple_wide[_u8])"]
5850#[inline]
5851#[target_feature(enable = "sve")]
5852#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
5853#[cfg_attr(test, assert_instr(cmpls))]
5854pub fn svcmple_wide_u8(pg: svbool_t, op1: svuint8_t, op2: svuint64_t) -> svbool_t {
5855 unsafe extern "unadjusted" {
5856 #[cfg_attr(
5857 target_arch = "aarch64",
5858 link_name = "llvm.aarch64.sve.cmpls.wide.nxv16i8"
5859 )]
5860 fn _svcmple_wide_u8(pg: svbool_t, op1: svint8_t, op2: svint64_t) -> svbool_t;
5861 }
5862 unsafe { _svcmple_wide_u8(pg, op1.as_signed(), op2.as_signed()) }
5863}
5864#[doc = "Compare less than or equal to"]
5865#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmple_wide[_n_u8])"]
5866#[inline]
5867#[target_feature(enable = "sve")]
5868#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
5869#[cfg_attr(test, assert_instr(cmpls))]
5870pub fn svcmple_wide_n_u8(pg: svbool_t, op1: svuint8_t, op2: u64) -> svbool_t {
5871 svcmple_wide_u8(pg, op1, svdup_n_u64(op2))
5872}
5873#[doc = "Compare less than or equal to"]
5874#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmple_wide[_u16])"]
5875#[inline]
5876#[target_feature(enable = "sve")]
5877#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
5878#[cfg_attr(test, assert_instr(cmpls))]
5879pub fn svcmple_wide_u16(pg: svbool_t, op1: svuint16_t, op2: svuint64_t) -> svbool_t {
5880 unsafe extern "unadjusted" {
5881 #[cfg_attr(
5882 target_arch = "aarch64",
5883 link_name = "llvm.aarch64.sve.cmpls.wide.nxv8i16"
5884 )]
5885 fn _svcmple_wide_u16(pg: svbool8_t, op1: svint16_t, op2: svint64_t) -> svbool8_t;
5886 }
5887 unsafe { _svcmple_wide_u16(pg.sve_into(), op1.as_signed(), op2.as_signed()).sve_into() }
5888}
5889#[doc = "Compare less than or equal to"]
5890#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmple_wide[_n_u16])"]
5891#[inline]
5892#[target_feature(enable = "sve")]
5893#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
5894#[cfg_attr(test, assert_instr(cmpls))]
5895pub fn svcmple_wide_n_u16(pg: svbool_t, op1: svuint16_t, op2: u64) -> svbool_t {
5896 svcmple_wide_u16(pg, op1, svdup_n_u64(op2))
5897}
5898#[doc = "Compare less than or equal to"]
5899#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmple_wide[_u32])"]
5900#[inline]
5901#[target_feature(enable = "sve")]
5902#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
5903#[cfg_attr(test, assert_instr(cmpls))]
5904pub fn svcmple_wide_u32(pg: svbool_t, op1: svuint32_t, op2: svuint64_t) -> svbool_t {
5905 unsafe extern "unadjusted" {
5906 #[cfg_attr(
5907 target_arch = "aarch64",
5908 link_name = "llvm.aarch64.sve.cmpls.wide.nxv4i32"
5909 )]
5910 fn _svcmple_wide_u32(pg: svbool4_t, op1: svint32_t, op2: svint64_t) -> svbool4_t;
5911 }
5912 unsafe { _svcmple_wide_u32(pg.sve_into(), op1.as_signed(), op2.as_signed()).sve_into() }
5913}
5914#[doc = "Compare less than or equal to"]
5915#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmple_wide[_n_u32])"]
5916#[inline]
5917#[target_feature(enable = "sve")]
5918#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
5919#[cfg_attr(test, assert_instr(cmpls))]
5920pub fn svcmple_wide_n_u32(pg: svbool_t, op1: svuint32_t, op2: u64) -> svbool_t {
5921 svcmple_wide_u32(pg, op1, svdup_n_u64(op2))
5922}
5923#[doc = "Compare less than"]
5924#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmplt[_f32])"]
5925#[inline]
5926#[target_feature(enable = "sve")]
5927#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
5928#[cfg_attr(test, assert_instr(fcmgt))]
5929pub fn svcmplt_f32(pg: svbool_t, op1: svfloat32_t, op2: svfloat32_t) -> svbool_t {
5930 svcmpgt_f32(pg, op2, op1)
5931}
5932#[doc = "Compare less than"]
5933#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmplt[_n_f32])"]
5934#[inline]
5935#[target_feature(enable = "sve")]
5936#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
5937#[cfg_attr(test, assert_instr(fcmgt))]
5938pub fn svcmplt_n_f32(pg: svbool_t, op1: svfloat32_t, op2: f32) -> svbool_t {
5939 svcmplt_f32(pg, op1, svdup_n_f32(op2))
5940}
5941#[doc = "Compare less than"]
5942#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmplt[_f64])"]
5943#[inline]
5944#[target_feature(enable = "sve")]
5945#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
5946#[cfg_attr(test, assert_instr(fcmgt))]
5947pub fn svcmplt_f64(pg: svbool_t, op1: svfloat64_t, op2: svfloat64_t) -> svbool_t {
5948 svcmpgt_f64(pg, op2, op1)
5949}
5950#[doc = "Compare less than"]
5951#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmplt[_n_f64])"]
5952#[inline]
5953#[target_feature(enable = "sve")]
5954#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
5955#[cfg_attr(test, assert_instr(fcmgt))]
5956pub fn svcmplt_n_f64(pg: svbool_t, op1: svfloat64_t, op2: f64) -> svbool_t {
5957 svcmplt_f64(pg, op1, svdup_n_f64(op2))
5958}
5959#[doc = "Compare less than"]
5960#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmplt[_s8])"]
5961#[inline]
5962#[target_feature(enable = "sve")]
5963#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
5964#[cfg_attr(test, assert_instr(cmpgt))]
5965pub fn svcmplt_s8(pg: svbool_t, op1: svint8_t, op2: svint8_t) -> svbool_t {
5966 svcmpgt_s8(pg, op2, op1)
5967}
5968#[doc = "Compare less than"]
5969#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmplt[_n_s8])"]
5970#[inline]
5971#[target_feature(enable = "sve")]
5972#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
5973#[cfg_attr(test, assert_instr(cmpgt))]
5974pub fn svcmplt_n_s8(pg: svbool_t, op1: svint8_t, op2: i8) -> svbool_t {
5975 svcmplt_s8(pg, op1, svdup_n_s8(op2))
5976}
5977#[doc = "Compare less than"]
5978#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmplt[_s16])"]
5979#[inline]
5980#[target_feature(enable = "sve")]
5981#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
5982#[cfg_attr(test, assert_instr(cmpgt))]
5983pub fn svcmplt_s16(pg: svbool_t, op1: svint16_t, op2: svint16_t) -> svbool_t {
5984 svcmpgt_s16(pg, op2, op1)
5985}
5986#[doc = "Compare less than"]
5987#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmplt[_n_s16])"]
5988#[inline]
5989#[target_feature(enable = "sve")]
5990#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
5991#[cfg_attr(test, assert_instr(cmpgt))]
5992pub fn svcmplt_n_s16(pg: svbool_t, op1: svint16_t, op2: i16) -> svbool_t {
5993 svcmplt_s16(pg, op1, svdup_n_s16(op2))
5994}
5995#[doc = "Compare less than"]
5996#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmplt[_s32])"]
5997#[inline]
5998#[target_feature(enable = "sve")]
5999#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6000#[cfg_attr(test, assert_instr(cmpgt))]
6001pub fn svcmplt_s32(pg: svbool_t, op1: svint32_t, op2: svint32_t) -> svbool_t {
6002 svcmpgt_s32(pg, op2, op1)
6003}
6004#[doc = "Compare less than"]
6005#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmplt[_n_s32])"]
6006#[inline]
6007#[target_feature(enable = "sve")]
6008#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6009#[cfg_attr(test, assert_instr(cmpgt))]
6010pub fn svcmplt_n_s32(pg: svbool_t, op1: svint32_t, op2: i32) -> svbool_t {
6011 svcmplt_s32(pg, op1, svdup_n_s32(op2))
6012}
6013#[doc = "Compare less than"]
6014#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmplt[_s64])"]
6015#[inline]
6016#[target_feature(enable = "sve")]
6017#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6018#[cfg_attr(test, assert_instr(cmpgt))]
6019pub fn svcmplt_s64(pg: svbool_t, op1: svint64_t, op2: svint64_t) -> svbool_t {
6020 svcmpgt_s64(pg, op2, op1)
6021}
6022#[doc = "Compare less than"]
6023#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmplt[_n_s64])"]
6024#[inline]
6025#[target_feature(enable = "sve")]
6026#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6027#[cfg_attr(test, assert_instr(cmpgt))]
6028pub fn svcmplt_n_s64(pg: svbool_t, op1: svint64_t, op2: i64) -> svbool_t {
6029 svcmplt_s64(pg, op1, svdup_n_s64(op2))
6030}
6031#[doc = "Compare less than"]
6032#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmplt[_u8])"]
6033#[inline]
6034#[target_feature(enable = "sve")]
6035#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6036#[cfg_attr(test, assert_instr(cmphi))]
6037pub fn svcmplt_u8(pg: svbool_t, op1: svuint8_t, op2: svuint8_t) -> svbool_t {
6038 svcmpgt_u8(pg, op2, op1)
6039}
6040#[doc = "Compare less than"]
6041#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmplt[_n_u8])"]
6042#[inline]
6043#[target_feature(enable = "sve")]
6044#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6045#[cfg_attr(test, assert_instr(cmphi))]
6046pub fn svcmplt_n_u8(pg: svbool_t, op1: svuint8_t, op2: u8) -> svbool_t {
6047 svcmplt_u8(pg, op1, svdup_n_u8(op2))
6048}
6049#[doc = "Compare less than"]
6050#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmplt[_u16])"]
6051#[inline]
6052#[target_feature(enable = "sve")]
6053#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6054#[cfg_attr(test, assert_instr(cmphi))]
6055pub fn svcmplt_u16(pg: svbool_t, op1: svuint16_t, op2: svuint16_t) -> svbool_t {
6056 svcmpgt_u16(pg, op2, op1)
6057}
6058#[doc = "Compare less than"]
6059#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmplt[_n_u16])"]
6060#[inline]
6061#[target_feature(enable = "sve")]
6062#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6063#[cfg_attr(test, assert_instr(cmphi))]
6064pub fn svcmplt_n_u16(pg: svbool_t, op1: svuint16_t, op2: u16) -> svbool_t {
6065 svcmplt_u16(pg, op1, svdup_n_u16(op2))
6066}
6067#[doc = "Compare less than"]
6068#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmplt[_u32])"]
6069#[inline]
6070#[target_feature(enable = "sve")]
6071#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6072#[cfg_attr(test, assert_instr(cmphi))]
6073pub fn svcmplt_u32(pg: svbool_t, op1: svuint32_t, op2: svuint32_t) -> svbool_t {
6074 svcmpgt_u32(pg, op2, op1)
6075}
6076#[doc = "Compare less than"]
6077#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmplt[_n_u32])"]
6078#[inline]
6079#[target_feature(enable = "sve")]
6080#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6081#[cfg_attr(test, assert_instr(cmphi))]
6082pub fn svcmplt_n_u32(pg: svbool_t, op1: svuint32_t, op2: u32) -> svbool_t {
6083 svcmplt_u32(pg, op1, svdup_n_u32(op2))
6084}
6085#[doc = "Compare less than"]
6086#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmplt[_u64])"]
6087#[inline]
6088#[target_feature(enable = "sve")]
6089#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6090#[cfg_attr(test, assert_instr(cmphi))]
6091pub fn svcmplt_u64(pg: svbool_t, op1: svuint64_t, op2: svuint64_t) -> svbool_t {
6092 svcmpgt_u64(pg, op2, op1)
6093}
6094#[doc = "Compare less than"]
6095#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmplt[_n_u64])"]
6096#[inline]
6097#[target_feature(enable = "sve")]
6098#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6099#[cfg_attr(test, assert_instr(cmphi))]
6100pub fn svcmplt_n_u64(pg: svbool_t, op1: svuint64_t, op2: u64) -> svbool_t {
6101 svcmplt_u64(pg, op1, svdup_n_u64(op2))
6102}
6103#[doc = "Compare less than"]
6104#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmplt_wide[_s8])"]
6105#[inline]
6106#[target_feature(enable = "sve")]
6107#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6108#[cfg_attr(test, assert_instr(cmplt))]
6109pub fn svcmplt_wide_s8(pg: svbool_t, op1: svint8_t, op2: svint64_t) -> svbool_t {
6110 unsafe extern "unadjusted" {
6111 #[cfg_attr(
6112 target_arch = "aarch64",
6113 link_name = "llvm.aarch64.sve.cmplt.wide.nxv16i8"
6114 )]
6115 fn _svcmplt_wide_s8(pg: svbool_t, op1: svint8_t, op2: svint64_t) -> svbool_t;
6116 }
6117 unsafe { _svcmplt_wide_s8(pg, op1, op2) }
6118}
6119#[doc = "Compare less than"]
6120#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmplt_wide[_n_s8])"]
6121#[inline]
6122#[target_feature(enable = "sve")]
6123#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6124#[cfg_attr(test, assert_instr(cmplt))]
6125pub fn svcmplt_wide_n_s8(pg: svbool_t, op1: svint8_t, op2: i64) -> svbool_t {
6126 svcmplt_wide_s8(pg, op1, svdup_n_s64(op2))
6127}
6128#[doc = "Compare less than"]
6129#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmplt_wide[_s16])"]
6130#[inline]
6131#[target_feature(enable = "sve")]
6132#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6133#[cfg_attr(test, assert_instr(cmplt))]
6134pub fn svcmplt_wide_s16(pg: svbool_t, op1: svint16_t, op2: svint64_t) -> svbool_t {
6135 unsafe extern "unadjusted" {
6136 #[cfg_attr(
6137 target_arch = "aarch64",
6138 link_name = "llvm.aarch64.sve.cmplt.wide.nxv8i16"
6139 )]
6140 fn _svcmplt_wide_s16(pg: svbool8_t, op1: svint16_t, op2: svint64_t) -> svbool8_t;
6141 }
6142 unsafe { _svcmplt_wide_s16(pg.sve_into(), op1, op2).sve_into() }
6143}
6144#[doc = "Compare less than"]
6145#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmplt_wide[_n_s16])"]
6146#[inline]
6147#[target_feature(enable = "sve")]
6148#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6149#[cfg_attr(test, assert_instr(cmplt))]
6150pub fn svcmplt_wide_n_s16(pg: svbool_t, op1: svint16_t, op2: i64) -> svbool_t {
6151 svcmplt_wide_s16(pg, op1, svdup_n_s64(op2))
6152}
6153#[doc = "Compare less than"]
6154#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmplt_wide[_s32])"]
6155#[inline]
6156#[target_feature(enable = "sve")]
6157#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6158#[cfg_attr(test, assert_instr(cmplt))]
6159pub fn svcmplt_wide_s32(pg: svbool_t, op1: svint32_t, op2: svint64_t) -> svbool_t {
6160 unsafe extern "unadjusted" {
6161 #[cfg_attr(
6162 target_arch = "aarch64",
6163 link_name = "llvm.aarch64.sve.cmplt.wide.nxv4i32"
6164 )]
6165 fn _svcmplt_wide_s32(pg: svbool4_t, op1: svint32_t, op2: svint64_t) -> svbool4_t;
6166 }
6167 unsafe { _svcmplt_wide_s32(pg.sve_into(), op1, op2).sve_into() }
6168}
6169#[doc = "Compare less than"]
6170#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmplt_wide[_n_s32])"]
6171#[inline]
6172#[target_feature(enable = "sve")]
6173#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6174#[cfg_attr(test, assert_instr(cmplt))]
6175pub fn svcmplt_wide_n_s32(pg: svbool_t, op1: svint32_t, op2: i64) -> svbool_t {
6176 svcmplt_wide_s32(pg, op1, svdup_n_s64(op2))
6177}
6178#[doc = "Compare less than"]
6179#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmplt_wide[_u8])"]
6180#[inline]
6181#[target_feature(enable = "sve")]
6182#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6183#[cfg_attr(test, assert_instr(cmplo))]
6184pub fn svcmplt_wide_u8(pg: svbool_t, op1: svuint8_t, op2: svuint64_t) -> svbool_t {
6185 unsafe extern "unadjusted" {
6186 #[cfg_attr(
6187 target_arch = "aarch64",
6188 link_name = "llvm.aarch64.sve.cmplo.wide.nxv16i8"
6189 )]
6190 fn _svcmplt_wide_u8(pg: svbool_t, op1: svint8_t, op2: svint64_t) -> svbool_t;
6191 }
6192 unsafe { _svcmplt_wide_u8(pg, op1.as_signed(), op2.as_signed()) }
6193}
6194#[doc = "Compare less than"]
6195#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmplt_wide[_n_u8])"]
6196#[inline]
6197#[target_feature(enable = "sve")]
6198#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6199#[cfg_attr(test, assert_instr(cmplo))]
6200pub fn svcmplt_wide_n_u8(pg: svbool_t, op1: svuint8_t, op2: u64) -> svbool_t {
6201 svcmplt_wide_u8(pg, op1, svdup_n_u64(op2))
6202}
6203#[doc = "Compare less than"]
6204#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmplt_wide[_u16])"]
6205#[inline]
6206#[target_feature(enable = "sve")]
6207#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6208#[cfg_attr(test, assert_instr(cmplo))]
6209pub fn svcmplt_wide_u16(pg: svbool_t, op1: svuint16_t, op2: svuint64_t) -> svbool_t {
6210 unsafe extern "unadjusted" {
6211 #[cfg_attr(
6212 target_arch = "aarch64",
6213 link_name = "llvm.aarch64.sve.cmplo.wide.nxv8i16"
6214 )]
6215 fn _svcmplt_wide_u16(pg: svbool8_t, op1: svint16_t, op2: svint64_t) -> svbool8_t;
6216 }
6217 unsafe { _svcmplt_wide_u16(pg.sve_into(), op1.as_signed(), op2.as_signed()).sve_into() }
6218}
6219#[doc = "Compare less than"]
6220#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmplt_wide[_n_u16])"]
6221#[inline]
6222#[target_feature(enable = "sve")]
6223#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6224#[cfg_attr(test, assert_instr(cmplo))]
6225pub fn svcmplt_wide_n_u16(pg: svbool_t, op1: svuint16_t, op2: u64) -> svbool_t {
6226 svcmplt_wide_u16(pg, op1, svdup_n_u64(op2))
6227}
6228#[doc = "Compare less than"]
6229#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmplt_wide[_u32])"]
6230#[inline]
6231#[target_feature(enable = "sve")]
6232#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6233#[cfg_attr(test, assert_instr(cmplo))]
6234pub fn svcmplt_wide_u32(pg: svbool_t, op1: svuint32_t, op2: svuint64_t) -> svbool_t {
6235 unsafe extern "unadjusted" {
6236 #[cfg_attr(
6237 target_arch = "aarch64",
6238 link_name = "llvm.aarch64.sve.cmplo.wide.nxv4i32"
6239 )]
6240 fn _svcmplt_wide_u32(pg: svbool4_t, op1: svint32_t, op2: svint64_t) -> svbool4_t;
6241 }
6242 unsafe { _svcmplt_wide_u32(pg.sve_into(), op1.as_signed(), op2.as_signed()).sve_into() }
6243}
6244#[doc = "Compare less than"]
6245#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmplt_wide[_n_u32])"]
6246#[inline]
6247#[target_feature(enable = "sve")]
6248#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6249#[cfg_attr(test, assert_instr(cmplo))]
6250pub fn svcmplt_wide_n_u32(pg: svbool_t, op1: svuint32_t, op2: u64) -> svbool_t {
6251 svcmplt_wide_u32(pg, op1, svdup_n_u64(op2))
6252}
6253#[doc = "Compare not equal to"]
6254#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpne[_f32])"]
6255#[inline]
6256#[target_feature(enable = "sve")]
6257#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6258#[cfg_attr(test, assert_instr(fcmne))]
6259pub fn svcmpne_f32(pg: svbool_t, op1: svfloat32_t, op2: svfloat32_t) -> svbool_t {
6260 unsafe extern "unadjusted" {
6261 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.fcmpne.nxv4f32")]
6262 fn _svcmpne_f32(pg: svbool4_t, op1: svfloat32_t, op2: svfloat32_t) -> svbool4_t;
6263 }
6264 unsafe { _svcmpne_f32(pg.sve_into(), op1, op2).sve_into() }
6265}
6266#[doc = "Compare not equal to"]
6267#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpne[_n_f32])"]
6268#[inline]
6269#[target_feature(enable = "sve")]
6270#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6271#[cfg_attr(test, assert_instr(fcmne))]
6272pub fn svcmpne_n_f32(pg: svbool_t, op1: svfloat32_t, op2: f32) -> svbool_t {
6273 svcmpne_f32(pg, op1, svdup_n_f32(op2))
6274}
6275#[doc = "Compare not equal to"]
6276#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpne[_f64])"]
6277#[inline]
6278#[target_feature(enable = "sve")]
6279#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6280#[cfg_attr(test, assert_instr(fcmne))]
6281pub fn svcmpne_f64(pg: svbool_t, op1: svfloat64_t, op2: svfloat64_t) -> svbool_t {
6282 unsafe extern "unadjusted" {
6283 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.fcmpne.nxv2f64")]
6284 fn _svcmpne_f64(pg: svbool2_t, op1: svfloat64_t, op2: svfloat64_t) -> svbool2_t;
6285 }
6286 unsafe { _svcmpne_f64(pg.sve_into(), op1, op2).sve_into() }
6287}
6288#[doc = "Compare not equal to"]
6289#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpne[_n_f64])"]
6290#[inline]
6291#[target_feature(enable = "sve")]
6292#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6293#[cfg_attr(test, assert_instr(fcmne))]
6294pub fn svcmpne_n_f64(pg: svbool_t, op1: svfloat64_t, op2: f64) -> svbool_t {
6295 svcmpne_f64(pg, op1, svdup_n_f64(op2))
6296}
6297#[doc = "Compare not equal to"]
6298#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpne[_s8])"]
6299#[inline]
6300#[target_feature(enable = "sve")]
6301#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6302#[cfg_attr(test, assert_instr(cmpne))]
6303pub fn svcmpne_s8(pg: svbool_t, op1: svint8_t, op2: svint8_t) -> svbool_t {
6304 unsafe extern "unadjusted" {
6305 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.cmpne.nxv16i8")]
6306 fn _svcmpne_s8(pg: svbool_t, op1: svint8_t, op2: svint8_t) -> svbool_t;
6307 }
6308 unsafe { _svcmpne_s8(pg, op1, op2) }
6309}
6310#[doc = "Compare not equal to"]
6311#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpne[_n_s8])"]
6312#[inline]
6313#[target_feature(enable = "sve")]
6314#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6315#[cfg_attr(test, assert_instr(cmpne))]
6316pub fn svcmpne_n_s8(pg: svbool_t, op1: svint8_t, op2: i8) -> svbool_t {
6317 svcmpne_s8(pg, op1, svdup_n_s8(op2))
6318}
6319#[doc = "Compare not equal to"]
6320#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpne[_s16])"]
6321#[inline]
6322#[target_feature(enable = "sve")]
6323#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6324#[cfg_attr(test, assert_instr(cmpne))]
6325pub fn svcmpne_s16(pg: svbool_t, op1: svint16_t, op2: svint16_t) -> svbool_t {
6326 unsafe extern "unadjusted" {
6327 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.cmpne.nxv8i16")]
6328 fn _svcmpne_s16(pg: svbool8_t, op1: svint16_t, op2: svint16_t) -> svbool8_t;
6329 }
6330 unsafe { _svcmpne_s16(pg.sve_into(), op1, op2).sve_into() }
6331}
6332#[doc = "Compare not equal to"]
6333#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpne[_n_s16])"]
6334#[inline]
6335#[target_feature(enable = "sve")]
6336#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6337#[cfg_attr(test, assert_instr(cmpne))]
6338pub fn svcmpne_n_s16(pg: svbool_t, op1: svint16_t, op2: i16) -> svbool_t {
6339 svcmpne_s16(pg, op1, svdup_n_s16(op2))
6340}
6341#[doc = "Compare not equal to"]
6342#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpne[_s32])"]
6343#[inline]
6344#[target_feature(enable = "sve")]
6345#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6346#[cfg_attr(test, assert_instr(cmpne))]
6347pub fn svcmpne_s32(pg: svbool_t, op1: svint32_t, op2: svint32_t) -> svbool_t {
6348 unsafe extern "unadjusted" {
6349 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.cmpne.nxv4i32")]
6350 fn _svcmpne_s32(pg: svbool4_t, op1: svint32_t, op2: svint32_t) -> svbool4_t;
6351 }
6352 unsafe { _svcmpne_s32(pg.sve_into(), op1, op2).sve_into() }
6353}
6354#[doc = "Compare not equal to"]
6355#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpne[_n_s32])"]
6356#[inline]
6357#[target_feature(enable = "sve")]
6358#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6359#[cfg_attr(test, assert_instr(cmpne))]
6360pub fn svcmpne_n_s32(pg: svbool_t, op1: svint32_t, op2: i32) -> svbool_t {
6361 svcmpne_s32(pg, op1, svdup_n_s32(op2))
6362}
6363#[doc = "Compare not equal to"]
6364#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpne[_s64])"]
6365#[inline]
6366#[target_feature(enable = "sve")]
6367#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6368#[cfg_attr(test, assert_instr(cmpne))]
6369pub fn svcmpne_s64(pg: svbool_t, op1: svint64_t, op2: svint64_t) -> svbool_t {
6370 unsafe extern "unadjusted" {
6371 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.cmpne.nxv2i64")]
6372 fn _svcmpne_s64(pg: svbool2_t, op1: svint64_t, op2: svint64_t) -> svbool2_t;
6373 }
6374 unsafe { _svcmpne_s64(pg.sve_into(), op1, op2).sve_into() }
6375}
6376#[doc = "Compare not equal to"]
6377#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpne[_n_s64])"]
6378#[inline]
6379#[target_feature(enable = "sve")]
6380#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6381#[cfg_attr(test, assert_instr(cmpne))]
6382pub fn svcmpne_n_s64(pg: svbool_t, op1: svint64_t, op2: i64) -> svbool_t {
6383 svcmpne_s64(pg, op1, svdup_n_s64(op2))
6384}
6385#[doc = "Compare not equal to"]
6386#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpne[_u8])"]
6387#[inline]
6388#[target_feature(enable = "sve")]
6389#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6390#[cfg_attr(test, assert_instr(cmpne))]
6391pub fn svcmpne_u8(pg: svbool_t, op1: svuint8_t, op2: svuint8_t) -> svbool_t {
6392 unsafe { svcmpne_s8(pg, op1.as_signed(), op2.as_signed()) }
6393}
6394#[doc = "Compare not equal to"]
6395#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpne[_n_u8])"]
6396#[inline]
6397#[target_feature(enable = "sve")]
6398#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6399#[cfg_attr(test, assert_instr(cmpne))]
6400pub fn svcmpne_n_u8(pg: svbool_t, op1: svuint8_t, op2: u8) -> svbool_t {
6401 svcmpne_u8(pg, op1, svdup_n_u8(op2))
6402}
6403#[doc = "Compare not equal to"]
6404#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpne[_u16])"]
6405#[inline]
6406#[target_feature(enable = "sve")]
6407#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6408#[cfg_attr(test, assert_instr(cmpne))]
6409pub fn svcmpne_u16(pg: svbool_t, op1: svuint16_t, op2: svuint16_t) -> svbool_t {
6410 unsafe { svcmpne_s16(pg, op1.as_signed(), op2.as_signed()) }
6411}
6412#[doc = "Compare not equal to"]
6413#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpne[_n_u16])"]
6414#[inline]
6415#[target_feature(enable = "sve")]
6416#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6417#[cfg_attr(test, assert_instr(cmpne))]
6418pub fn svcmpne_n_u16(pg: svbool_t, op1: svuint16_t, op2: u16) -> svbool_t {
6419 svcmpne_u16(pg, op1, svdup_n_u16(op2))
6420}
6421#[doc = "Compare not equal to"]
6422#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpne[_u32])"]
6423#[inline]
6424#[target_feature(enable = "sve")]
6425#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6426#[cfg_attr(test, assert_instr(cmpne))]
6427pub fn svcmpne_u32(pg: svbool_t, op1: svuint32_t, op2: svuint32_t) -> svbool_t {
6428 unsafe { svcmpne_s32(pg, op1.as_signed(), op2.as_signed()) }
6429}
6430#[doc = "Compare not equal to"]
6431#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpne[_n_u32])"]
6432#[inline]
6433#[target_feature(enable = "sve")]
6434#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6435#[cfg_attr(test, assert_instr(cmpne))]
6436pub fn svcmpne_n_u32(pg: svbool_t, op1: svuint32_t, op2: u32) -> svbool_t {
6437 svcmpne_u32(pg, op1, svdup_n_u32(op2))
6438}
6439#[doc = "Compare not equal to"]
6440#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpne[_u64])"]
6441#[inline]
6442#[target_feature(enable = "sve")]
6443#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6444#[cfg_attr(test, assert_instr(cmpne))]
6445pub fn svcmpne_u64(pg: svbool_t, op1: svuint64_t, op2: svuint64_t) -> svbool_t {
6446 unsafe { svcmpne_s64(pg, op1.as_signed(), op2.as_signed()) }
6447}
6448#[doc = "Compare not equal to"]
6449#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpne[_n_u64])"]
6450#[inline]
6451#[target_feature(enable = "sve")]
6452#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6453#[cfg_attr(test, assert_instr(cmpne))]
6454pub fn svcmpne_n_u64(pg: svbool_t, op1: svuint64_t, op2: u64) -> svbool_t {
6455 svcmpne_u64(pg, op1, svdup_n_u64(op2))
6456}
6457#[doc = "Compare not equal to"]
6458#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpne_wide[_s8])"]
6459#[inline]
6460#[target_feature(enable = "sve")]
6461#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6462#[cfg_attr(test, assert_instr(cmpne))]
6463pub fn svcmpne_wide_s8(pg: svbool_t, op1: svint8_t, op2: svint64_t) -> svbool_t {
6464 unsafe extern "unadjusted" {
6465 #[cfg_attr(
6466 target_arch = "aarch64",
6467 link_name = "llvm.aarch64.sve.cmpne.wide.nxv16i8"
6468 )]
6469 fn _svcmpne_wide_s8(pg: svbool_t, op1: svint8_t, op2: svint64_t) -> svbool_t;
6470 }
6471 unsafe { _svcmpne_wide_s8(pg, op1, op2) }
6472}
6473#[doc = "Compare not equal to"]
6474#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpne_wide[_n_s8])"]
6475#[inline]
6476#[target_feature(enable = "sve")]
6477#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6478#[cfg_attr(test, assert_instr(cmpne))]
6479pub fn svcmpne_wide_n_s8(pg: svbool_t, op1: svint8_t, op2: i64) -> svbool_t {
6480 svcmpne_wide_s8(pg, op1, svdup_n_s64(op2))
6481}
6482#[doc = "Compare not equal to"]
6483#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpne_wide[_s16])"]
6484#[inline]
6485#[target_feature(enable = "sve")]
6486#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6487#[cfg_attr(test, assert_instr(cmpne))]
6488pub fn svcmpne_wide_s16(pg: svbool_t, op1: svint16_t, op2: svint64_t) -> svbool_t {
6489 unsafe extern "unadjusted" {
6490 #[cfg_attr(
6491 target_arch = "aarch64",
6492 link_name = "llvm.aarch64.sve.cmpne.wide.nxv8i16"
6493 )]
6494 fn _svcmpne_wide_s16(pg: svbool8_t, op1: svint16_t, op2: svint64_t) -> svbool8_t;
6495 }
6496 unsafe { _svcmpne_wide_s16(pg.sve_into(), op1, op2).sve_into() }
6497}
6498#[doc = "Compare not equal to"]
6499#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpne_wide[_n_s16])"]
6500#[inline]
6501#[target_feature(enable = "sve")]
6502#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6503#[cfg_attr(test, assert_instr(cmpne))]
6504pub fn svcmpne_wide_n_s16(pg: svbool_t, op1: svint16_t, op2: i64) -> svbool_t {
6505 svcmpne_wide_s16(pg, op1, svdup_n_s64(op2))
6506}
6507#[doc = "Compare not equal to"]
6508#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpne_wide[_s32])"]
6509#[inline]
6510#[target_feature(enable = "sve")]
6511#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6512#[cfg_attr(test, assert_instr(cmpne))]
6513pub fn svcmpne_wide_s32(pg: svbool_t, op1: svint32_t, op2: svint64_t) -> svbool_t {
6514 unsafe extern "unadjusted" {
6515 #[cfg_attr(
6516 target_arch = "aarch64",
6517 link_name = "llvm.aarch64.sve.cmpne.wide.nxv4i32"
6518 )]
6519 fn _svcmpne_wide_s32(pg: svbool4_t, op1: svint32_t, op2: svint64_t) -> svbool4_t;
6520 }
6521 unsafe { _svcmpne_wide_s32(pg.sve_into(), op1, op2).sve_into() }
6522}
6523#[doc = "Compare not equal to"]
6524#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpne_wide[_n_s32])"]
6525#[inline]
6526#[target_feature(enable = "sve")]
6527#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6528#[cfg_attr(test, assert_instr(cmpne))]
6529pub fn svcmpne_wide_n_s32(pg: svbool_t, op1: svint32_t, op2: i64) -> svbool_t {
6530 svcmpne_wide_s32(pg, op1, svdup_n_s64(op2))
6531}
6532#[doc = "Compare unordered with"]
6533#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpuo[_f32])"]
6534#[inline]
6535#[target_feature(enable = "sve")]
6536#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6537#[cfg_attr(test, assert_instr(fcmuo))]
6538pub fn svcmpuo_f32(pg: svbool_t, op1: svfloat32_t, op2: svfloat32_t) -> svbool_t {
6539 unsafe extern "unadjusted" {
6540 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.fcmpuo.nxv4f32")]
6541 fn _svcmpuo_f32(pg: svbool4_t, op1: svfloat32_t, op2: svfloat32_t) -> svbool4_t;
6542 }
6543 unsafe { _svcmpuo_f32(pg.sve_into(), op1, op2).sve_into() }
6544}
6545#[doc = "Compare unordered with"]
6546#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpuo[_n_f32])"]
6547#[inline]
6548#[target_feature(enable = "sve")]
6549#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6550#[cfg_attr(test, assert_instr(fcmuo))]
6551pub fn svcmpuo_n_f32(pg: svbool_t, op1: svfloat32_t, op2: f32) -> svbool_t {
6552 svcmpuo_f32(pg, op1, svdup_n_f32(op2))
6553}
6554#[doc = "Compare unordered with"]
6555#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpuo[_f64])"]
6556#[inline]
6557#[target_feature(enable = "sve")]
6558#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6559#[cfg_attr(test, assert_instr(fcmuo))]
6560pub fn svcmpuo_f64(pg: svbool_t, op1: svfloat64_t, op2: svfloat64_t) -> svbool_t {
6561 unsafe extern "unadjusted" {
6562 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.fcmpuo.nxv2f64")]
6563 fn _svcmpuo_f64(pg: svbool2_t, op1: svfloat64_t, op2: svfloat64_t) -> svbool2_t;
6564 }
6565 unsafe { _svcmpuo_f64(pg.sve_into(), op1, op2).sve_into() }
6566}
6567#[doc = "Compare unordered with"]
6568#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpuo[_n_f64])"]
6569#[inline]
6570#[target_feature(enable = "sve")]
6571#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6572#[cfg_attr(test, assert_instr(fcmuo))]
6573pub fn svcmpuo_n_f64(pg: svbool_t, op1: svfloat64_t, op2: f64) -> svbool_t {
6574 svcmpuo_f64(pg, op1, svdup_n_f64(op2))
6575}
6576#[doc = "Logically invert boolean condition"]
6577#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcnot[_s8]_m)"]
6578#[inline]
6579#[target_feature(enable = "sve")]
6580#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6581#[cfg_attr(test, assert_instr(cnot))]
6582pub fn svcnot_s8_m(inactive: svint8_t, pg: svbool_t, op: svint8_t) -> svint8_t {
6583 unsafe extern "unadjusted" {
6584 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.cnot.nxv16i8")]
6585 fn _svcnot_s8_m(inactive: svint8_t, pg: svbool_t, op: svint8_t) -> svint8_t;
6586 }
6587 unsafe { _svcnot_s8_m(inactive, pg, op) }
6588}
6589#[doc = "Logically invert boolean condition"]
6590#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcnot[_s8]_x)"]
6591#[inline]
6592#[target_feature(enable = "sve")]
6593#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6594#[cfg_attr(test, assert_instr(cnot))]
6595pub fn svcnot_s8_x(pg: svbool_t, op: svint8_t) -> svint8_t {
6596 svcnot_s8_m(op, pg, op)
6597}
6598#[doc = "Logically invert boolean condition"]
6599#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcnot[_s8]_z)"]
6600#[inline]
6601#[target_feature(enable = "sve")]
6602#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6603#[cfg_attr(test, assert_instr(cnot))]
6604pub fn svcnot_s8_z(pg: svbool_t, op: svint8_t) -> svint8_t {
6605 svcnot_s8_m(svdup_n_s8(0), pg, op)
6606}
6607#[doc = "Logically invert boolean condition"]
6608#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcnot[_s16]_m)"]
6609#[inline]
6610#[target_feature(enable = "sve")]
6611#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6612#[cfg_attr(test, assert_instr(cnot))]
6613pub fn svcnot_s16_m(inactive: svint16_t, pg: svbool_t, op: svint16_t) -> svint16_t {
6614 unsafe extern "unadjusted" {
6615 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.cnot.nxv8i16")]
6616 fn _svcnot_s16_m(inactive: svint16_t, pg: svbool8_t, op: svint16_t) -> svint16_t;
6617 }
6618 unsafe { _svcnot_s16_m(inactive, pg.sve_into(), op) }
6619}
6620#[doc = "Logically invert boolean condition"]
6621#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcnot[_s16]_x)"]
6622#[inline]
6623#[target_feature(enable = "sve")]
6624#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6625#[cfg_attr(test, assert_instr(cnot))]
6626pub fn svcnot_s16_x(pg: svbool_t, op: svint16_t) -> svint16_t {
6627 svcnot_s16_m(op, pg, op)
6628}
6629#[doc = "Logically invert boolean condition"]
6630#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcnot[_s16]_z)"]
6631#[inline]
6632#[target_feature(enable = "sve")]
6633#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6634#[cfg_attr(test, assert_instr(cnot))]
6635pub fn svcnot_s16_z(pg: svbool_t, op: svint16_t) -> svint16_t {
6636 svcnot_s16_m(svdup_n_s16(0), pg, op)
6637}
6638#[doc = "Logically invert boolean condition"]
6639#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcnot[_s32]_m)"]
6640#[inline]
6641#[target_feature(enable = "sve")]
6642#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6643#[cfg_attr(test, assert_instr(cnot))]
6644pub fn svcnot_s32_m(inactive: svint32_t, pg: svbool_t, op: svint32_t) -> svint32_t {
6645 unsafe extern "unadjusted" {
6646 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.cnot.nxv4i32")]
6647 fn _svcnot_s32_m(inactive: svint32_t, pg: svbool4_t, op: svint32_t) -> svint32_t;
6648 }
6649 unsafe { _svcnot_s32_m(inactive, pg.sve_into(), op) }
6650}
6651#[doc = "Logically invert boolean condition"]
6652#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcnot[_s32]_x)"]
6653#[inline]
6654#[target_feature(enable = "sve")]
6655#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6656#[cfg_attr(test, assert_instr(cnot))]
6657pub fn svcnot_s32_x(pg: svbool_t, op: svint32_t) -> svint32_t {
6658 svcnot_s32_m(op, pg, op)
6659}
6660#[doc = "Logically invert boolean condition"]
6661#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcnot[_s32]_z)"]
6662#[inline]
6663#[target_feature(enable = "sve")]
6664#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6665#[cfg_attr(test, assert_instr(cnot))]
6666pub fn svcnot_s32_z(pg: svbool_t, op: svint32_t) -> svint32_t {
6667 svcnot_s32_m(svdup_n_s32(0), pg, op)
6668}
6669#[doc = "Logically invert boolean condition"]
6670#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcnot[_s64]_m)"]
6671#[inline]
6672#[target_feature(enable = "sve")]
6673#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6674#[cfg_attr(test, assert_instr(cnot))]
6675pub fn svcnot_s64_m(inactive: svint64_t, pg: svbool_t, op: svint64_t) -> svint64_t {
6676 unsafe extern "unadjusted" {
6677 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.cnot.nxv2i64")]
6678 fn _svcnot_s64_m(inactive: svint64_t, pg: svbool2_t, op: svint64_t) -> svint64_t;
6679 }
6680 unsafe { _svcnot_s64_m(inactive, pg.sve_into(), op) }
6681}
6682#[doc = "Logically invert boolean condition"]
6683#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcnot[_s64]_x)"]
6684#[inline]
6685#[target_feature(enable = "sve")]
6686#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6687#[cfg_attr(test, assert_instr(cnot))]
6688pub fn svcnot_s64_x(pg: svbool_t, op: svint64_t) -> svint64_t {
6689 svcnot_s64_m(op, pg, op)
6690}
6691#[doc = "Logically invert boolean condition"]
6692#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcnot[_s64]_z)"]
6693#[inline]
6694#[target_feature(enable = "sve")]
6695#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6696#[cfg_attr(test, assert_instr(cnot))]
6697pub fn svcnot_s64_z(pg: svbool_t, op: svint64_t) -> svint64_t {
6698 svcnot_s64_m(svdup_n_s64(0), pg, op)
6699}
6700#[doc = "Logically invert boolean condition"]
6701#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcnot[_u8]_m)"]
6702#[inline]
6703#[target_feature(enable = "sve")]
6704#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6705#[cfg_attr(test, assert_instr(cnot))]
6706pub fn svcnot_u8_m(inactive: svuint8_t, pg: svbool_t, op: svuint8_t) -> svuint8_t {
6707 unsafe { svcnot_s8_m(inactive.as_signed(), pg, op.as_signed()).as_unsigned() }
6708}
6709#[doc = "Logically invert boolean condition"]
6710#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcnot[_u8]_x)"]
6711#[inline]
6712#[target_feature(enable = "sve")]
6713#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6714#[cfg_attr(test, assert_instr(cnot))]
6715pub fn svcnot_u8_x(pg: svbool_t, op: svuint8_t) -> svuint8_t {
6716 svcnot_u8_m(op, pg, op)
6717}
6718#[doc = "Logically invert boolean condition"]
6719#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcnot[_u8]_z)"]
6720#[inline]
6721#[target_feature(enable = "sve")]
6722#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6723#[cfg_attr(test, assert_instr(cnot))]
6724pub fn svcnot_u8_z(pg: svbool_t, op: svuint8_t) -> svuint8_t {
6725 svcnot_u8_m(svdup_n_u8(0), pg, op)
6726}
6727#[doc = "Logically invert boolean condition"]
6728#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcnot[_u16]_m)"]
6729#[inline]
6730#[target_feature(enable = "sve")]
6731#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6732#[cfg_attr(test, assert_instr(cnot))]
6733pub fn svcnot_u16_m(inactive: svuint16_t, pg: svbool_t, op: svuint16_t) -> svuint16_t {
6734 unsafe { svcnot_s16_m(inactive.as_signed(), pg, op.as_signed()).as_unsigned() }
6735}
6736#[doc = "Logically invert boolean condition"]
6737#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcnot[_u16]_x)"]
6738#[inline]
6739#[target_feature(enable = "sve")]
6740#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6741#[cfg_attr(test, assert_instr(cnot))]
6742pub fn svcnot_u16_x(pg: svbool_t, op: svuint16_t) -> svuint16_t {
6743 svcnot_u16_m(op, pg, op)
6744}
6745#[doc = "Logically invert boolean condition"]
6746#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcnot[_u16]_z)"]
6747#[inline]
6748#[target_feature(enable = "sve")]
6749#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6750#[cfg_attr(test, assert_instr(cnot))]
6751pub fn svcnot_u16_z(pg: svbool_t, op: svuint16_t) -> svuint16_t {
6752 svcnot_u16_m(svdup_n_u16(0), pg, op)
6753}
6754#[doc = "Logically invert boolean condition"]
6755#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcnot[_u32]_m)"]
6756#[inline]
6757#[target_feature(enable = "sve")]
6758#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6759#[cfg_attr(test, assert_instr(cnot))]
6760pub fn svcnot_u32_m(inactive: svuint32_t, pg: svbool_t, op: svuint32_t) -> svuint32_t {
6761 unsafe { svcnot_s32_m(inactive.as_signed(), pg, op.as_signed()).as_unsigned() }
6762}
6763#[doc = "Logically invert boolean condition"]
6764#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcnot[_u32]_x)"]
6765#[inline]
6766#[target_feature(enable = "sve")]
6767#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6768#[cfg_attr(test, assert_instr(cnot))]
6769pub fn svcnot_u32_x(pg: svbool_t, op: svuint32_t) -> svuint32_t {
6770 svcnot_u32_m(op, pg, op)
6771}
6772#[doc = "Logically invert boolean condition"]
6773#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcnot[_u32]_z)"]
6774#[inline]
6775#[target_feature(enable = "sve")]
6776#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6777#[cfg_attr(test, assert_instr(cnot))]
6778pub fn svcnot_u32_z(pg: svbool_t, op: svuint32_t) -> svuint32_t {
6779 svcnot_u32_m(svdup_n_u32(0), pg, op)
6780}
6781#[doc = "Logically invert boolean condition"]
6782#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcnot[_u64]_m)"]
6783#[inline]
6784#[target_feature(enable = "sve")]
6785#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6786#[cfg_attr(test, assert_instr(cnot))]
6787pub fn svcnot_u64_m(inactive: svuint64_t, pg: svbool_t, op: svuint64_t) -> svuint64_t {
6788 unsafe { svcnot_s64_m(inactive.as_signed(), pg, op.as_signed()).as_unsigned() }
6789}
6790#[doc = "Logically invert boolean condition"]
6791#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcnot[_u64]_x)"]
6792#[inline]
6793#[target_feature(enable = "sve")]
6794#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6795#[cfg_attr(test, assert_instr(cnot))]
6796pub fn svcnot_u64_x(pg: svbool_t, op: svuint64_t) -> svuint64_t {
6797 svcnot_u64_m(op, pg, op)
6798}
6799#[doc = "Logically invert boolean condition"]
6800#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcnot[_u64]_z)"]
6801#[inline]
6802#[target_feature(enable = "sve")]
6803#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6804#[cfg_attr(test, assert_instr(cnot))]
6805pub fn svcnot_u64_z(pg: svbool_t, op: svuint64_t) -> svuint64_t {
6806 svcnot_u64_m(svdup_n_u64(0), pg, op)
6807}
6808#[doc = "Count nonzero bits"]
6809#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcnt[_f32]_m)"]
6810#[inline]
6811#[target_feature(enable = "sve")]
6812#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6813#[cfg_attr(test, assert_instr(cnt))]
6814pub fn svcnt_f32_m(inactive: svuint32_t, pg: svbool_t, op: svfloat32_t) -> svuint32_t {
6815 unsafe extern "unadjusted" {
6816 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.cnt.nxv4f32")]
6817 fn _svcnt_f32_m(inactive: svint32_t, pg: svbool4_t, op: svfloat32_t) -> svint32_t;
6818 }
6819 unsafe { _svcnt_f32_m(inactive.as_signed(), pg.sve_into(), op).as_unsigned() }
6820}
6821#[doc = "Count nonzero bits"]
6822#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcnt[_f32]_x)"]
6823#[inline]
6824#[target_feature(enable = "sve")]
6825#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6826#[cfg_attr(test, assert_instr(cnt))]
6827pub fn svcnt_f32_x(pg: svbool_t, op: svfloat32_t) -> svuint32_t {
6828 unsafe { svcnt_f32_m(transmute_unchecked(op), pg, op) }
6829}
6830#[doc = "Count nonzero bits"]
6831#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcnt[_f32]_z)"]
6832#[inline]
6833#[target_feature(enable = "sve")]
6834#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6835#[cfg_attr(test, assert_instr(cnt))]
6836pub fn svcnt_f32_z(pg: svbool_t, op: svfloat32_t) -> svuint32_t {
6837 svcnt_f32_m(svdup_n_u32(0), pg, op)
6838}
6839#[doc = "Count nonzero bits"]
6840#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcnt[_f64]_m)"]
6841#[inline]
6842#[target_feature(enable = "sve")]
6843#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6844#[cfg_attr(test, assert_instr(cnt))]
6845pub fn svcnt_f64_m(inactive: svuint64_t, pg: svbool_t, op: svfloat64_t) -> svuint64_t {
6846 unsafe extern "unadjusted" {
6847 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.cnt.nxv2f64")]
6848 fn _svcnt_f64_m(inactive: svint64_t, pg: svbool2_t, op: svfloat64_t) -> svint64_t;
6849 }
6850 unsafe { _svcnt_f64_m(inactive.as_signed(), pg.sve_into(), op).as_unsigned() }
6851}
6852#[doc = "Count nonzero bits"]
6853#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcnt[_f64]_x)"]
6854#[inline]
6855#[target_feature(enable = "sve")]
6856#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6857#[cfg_attr(test, assert_instr(cnt))]
6858pub fn svcnt_f64_x(pg: svbool_t, op: svfloat64_t) -> svuint64_t {
6859 unsafe { svcnt_f64_m(transmute_unchecked(op), pg, op) }
6860}
6861#[doc = "Count nonzero bits"]
6862#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcnt[_f64]_z)"]
6863#[inline]
6864#[target_feature(enable = "sve")]
6865#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6866#[cfg_attr(test, assert_instr(cnt))]
6867pub fn svcnt_f64_z(pg: svbool_t, op: svfloat64_t) -> svuint64_t {
6868 svcnt_f64_m(svdup_n_u64(0), pg, op)
6869}
6870#[doc = "Count nonzero bits"]
6871#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcnt[_s8]_m)"]
6872#[inline]
6873#[target_feature(enable = "sve")]
6874#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6875#[cfg_attr(test, assert_instr(cnt))]
6876pub fn svcnt_s8_m(inactive: svuint8_t, pg: svbool_t, op: svint8_t) -> svuint8_t {
6877 unsafe extern "unadjusted" {
6878 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.cnt.nxv16i8")]
6879 fn _svcnt_s8_m(inactive: svint8_t, pg: svbool_t, op: svint8_t) -> svint8_t;
6880 }
6881 unsafe { _svcnt_s8_m(inactive.as_signed(), pg, op).as_unsigned() }
6882}
6883#[doc = "Count nonzero bits"]
6884#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcnt[_s8]_x)"]
6885#[inline]
6886#[target_feature(enable = "sve")]
6887#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6888#[cfg_attr(test, assert_instr(cnt))]
6889pub fn svcnt_s8_x(pg: svbool_t, op: svint8_t) -> svuint8_t {
6890 unsafe { svcnt_s8_m(op.as_unsigned(), pg, op) }
6891}
6892#[doc = "Count nonzero bits"]
6893#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcnt[_s8]_z)"]
6894#[inline]
6895#[target_feature(enable = "sve")]
6896#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6897#[cfg_attr(test, assert_instr(cnt))]
6898pub fn svcnt_s8_z(pg: svbool_t, op: svint8_t) -> svuint8_t {
6899 svcnt_s8_m(svdup_n_u8(0), pg, op)
6900}
6901#[doc = "Count nonzero bits"]
6902#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcnt[_s16]_m)"]
6903#[inline]
6904#[target_feature(enable = "sve")]
6905#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6906#[cfg_attr(test, assert_instr(cnt))]
6907pub fn svcnt_s16_m(inactive: svuint16_t, pg: svbool_t, op: svint16_t) -> svuint16_t {
6908 unsafe extern "unadjusted" {
6909 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.cnt.nxv8i16")]
6910 fn _svcnt_s16_m(inactive: svint16_t, pg: svbool8_t, op: svint16_t) -> svint16_t;
6911 }
6912 unsafe { _svcnt_s16_m(inactive.as_signed(), pg.sve_into(), op).as_unsigned() }
6913}
6914#[doc = "Count nonzero bits"]
6915#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcnt[_s16]_x)"]
6916#[inline]
6917#[target_feature(enable = "sve")]
6918#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6919#[cfg_attr(test, assert_instr(cnt))]
6920pub fn svcnt_s16_x(pg: svbool_t, op: svint16_t) -> svuint16_t {
6921 unsafe { svcnt_s16_m(op.as_unsigned(), pg, op) }
6922}
6923#[doc = "Count nonzero bits"]
6924#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcnt[_s16]_z)"]
6925#[inline]
6926#[target_feature(enable = "sve")]
6927#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6928#[cfg_attr(test, assert_instr(cnt))]
6929pub fn svcnt_s16_z(pg: svbool_t, op: svint16_t) -> svuint16_t {
6930 svcnt_s16_m(svdup_n_u16(0), pg, op)
6931}
6932#[doc = "Count nonzero bits"]
6933#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcnt[_s32]_m)"]
6934#[inline]
6935#[target_feature(enable = "sve")]
6936#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6937#[cfg_attr(test, assert_instr(cnt))]
6938pub fn svcnt_s32_m(inactive: svuint32_t, pg: svbool_t, op: svint32_t) -> svuint32_t {
6939 unsafe extern "unadjusted" {
6940 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.cnt.nxv4i32")]
6941 fn _svcnt_s32_m(inactive: svint32_t, pg: svbool4_t, op: svint32_t) -> svint32_t;
6942 }
6943 unsafe { _svcnt_s32_m(inactive.as_signed(), pg.sve_into(), op).as_unsigned() }
6944}
6945#[doc = "Count nonzero bits"]
6946#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcnt[_s32]_x)"]
6947#[inline]
6948#[target_feature(enable = "sve")]
6949#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6950#[cfg_attr(test, assert_instr(cnt))]
6951pub fn svcnt_s32_x(pg: svbool_t, op: svint32_t) -> svuint32_t {
6952 unsafe { svcnt_s32_m(op.as_unsigned(), pg, op) }
6953}
6954#[doc = "Count nonzero bits"]
6955#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcnt[_s32]_z)"]
6956#[inline]
6957#[target_feature(enable = "sve")]
6958#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6959#[cfg_attr(test, assert_instr(cnt))]
6960pub fn svcnt_s32_z(pg: svbool_t, op: svint32_t) -> svuint32_t {
6961 svcnt_s32_m(svdup_n_u32(0), pg, op)
6962}
6963#[doc = "Count nonzero bits"]
6964#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcnt[_s64]_m)"]
6965#[inline]
6966#[target_feature(enable = "sve")]
6967#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6968#[cfg_attr(test, assert_instr(cnt))]
6969pub fn svcnt_s64_m(inactive: svuint64_t, pg: svbool_t, op: svint64_t) -> svuint64_t {
6970 unsafe extern "unadjusted" {
6971 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.cnt.nxv2i64")]
6972 fn _svcnt_s64_m(inactive: svint64_t, pg: svbool2_t, op: svint64_t) -> svint64_t;
6973 }
6974 unsafe { _svcnt_s64_m(inactive.as_signed(), pg.sve_into(), op).as_unsigned() }
6975}
6976#[doc = "Count nonzero bits"]
6977#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcnt[_s64]_x)"]
6978#[inline]
6979#[target_feature(enable = "sve")]
6980#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6981#[cfg_attr(test, assert_instr(cnt))]
6982pub fn svcnt_s64_x(pg: svbool_t, op: svint64_t) -> svuint64_t {
6983 unsafe { svcnt_s64_m(op.as_unsigned(), pg, op) }
6984}
6985#[doc = "Count nonzero bits"]
6986#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcnt[_s64]_z)"]
6987#[inline]
6988#[target_feature(enable = "sve")]
6989#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6990#[cfg_attr(test, assert_instr(cnt))]
6991pub fn svcnt_s64_z(pg: svbool_t, op: svint64_t) -> svuint64_t {
6992 svcnt_s64_m(svdup_n_u64(0), pg, op)
6993}
6994#[doc = "Count nonzero bits"]
6995#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcnt[_u8]_m)"]
6996#[inline]
6997#[target_feature(enable = "sve")]
6998#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6999#[cfg_attr(test, assert_instr(cnt))]
7000pub fn svcnt_u8_m(inactive: svuint8_t, pg: svbool_t, op: svuint8_t) -> svuint8_t {
7001 unsafe { svcnt_s8_m(inactive, pg, op.as_signed()) }
7002}
7003#[doc = "Count nonzero bits"]
7004#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcnt[_u8]_x)"]
7005#[inline]
7006#[target_feature(enable = "sve")]
7007#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7008#[cfg_attr(test, assert_instr(cnt))]
7009pub fn svcnt_u8_x(pg: svbool_t, op: svuint8_t) -> svuint8_t {
7010 svcnt_u8_m(op, pg, op)
7011}
7012#[doc = "Count nonzero bits"]
7013#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcnt[_u8]_z)"]
7014#[inline]
7015#[target_feature(enable = "sve")]
7016#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7017#[cfg_attr(test, assert_instr(cnt))]
7018pub fn svcnt_u8_z(pg: svbool_t, op: svuint8_t) -> svuint8_t {
7019 svcnt_u8_m(svdup_n_u8(0), pg, op)
7020}
7021#[doc = "Count nonzero bits"]
7022#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcnt[_u16]_m)"]
7023#[inline]
7024#[target_feature(enable = "sve")]
7025#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7026#[cfg_attr(test, assert_instr(cnt))]
7027pub fn svcnt_u16_m(inactive: svuint16_t, pg: svbool_t, op: svuint16_t) -> svuint16_t {
7028 unsafe { svcnt_s16_m(inactive, pg, op.as_signed()) }
7029}
7030#[doc = "Count nonzero bits"]
7031#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcnt[_u16]_x)"]
7032#[inline]
7033#[target_feature(enable = "sve")]
7034#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7035#[cfg_attr(test, assert_instr(cnt))]
7036pub fn svcnt_u16_x(pg: svbool_t, op: svuint16_t) -> svuint16_t {
7037 svcnt_u16_m(op, pg, op)
7038}
7039#[doc = "Count nonzero bits"]
7040#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcnt[_u16]_z)"]
7041#[inline]
7042#[target_feature(enable = "sve")]
7043#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7044#[cfg_attr(test, assert_instr(cnt))]
7045pub fn svcnt_u16_z(pg: svbool_t, op: svuint16_t) -> svuint16_t {
7046 svcnt_u16_m(svdup_n_u16(0), pg, op)
7047}
7048#[doc = "Count nonzero bits"]
7049#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcnt[_u32]_m)"]
7050#[inline]
7051#[target_feature(enable = "sve")]
7052#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7053#[cfg_attr(test, assert_instr(cnt))]
7054pub fn svcnt_u32_m(inactive: svuint32_t, pg: svbool_t, op: svuint32_t) -> svuint32_t {
7055 unsafe { svcnt_s32_m(inactive, pg, op.as_signed()) }
7056}
7057#[doc = "Count nonzero bits"]
7058#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcnt[_u32]_x)"]
7059#[inline]
7060#[target_feature(enable = "sve")]
7061#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7062#[cfg_attr(test, assert_instr(cnt))]
7063pub fn svcnt_u32_x(pg: svbool_t, op: svuint32_t) -> svuint32_t {
7064 svcnt_u32_m(op, pg, op)
7065}
7066#[doc = "Count nonzero bits"]
7067#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcnt[_u32]_z)"]
7068#[inline]
7069#[target_feature(enable = "sve")]
7070#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7071#[cfg_attr(test, assert_instr(cnt))]
7072pub fn svcnt_u32_z(pg: svbool_t, op: svuint32_t) -> svuint32_t {
7073 svcnt_u32_m(svdup_n_u32(0), pg, op)
7074}
7075#[doc = "Count nonzero bits"]
7076#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcnt[_u64]_m)"]
7077#[inline]
7078#[target_feature(enable = "sve")]
7079#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7080#[cfg_attr(test, assert_instr(cnt))]
7081pub fn svcnt_u64_m(inactive: svuint64_t, pg: svbool_t, op: svuint64_t) -> svuint64_t {
7082 unsafe { svcnt_s64_m(inactive, pg, op.as_signed()) }
7083}
7084#[doc = "Count nonzero bits"]
7085#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcnt[_u64]_x)"]
7086#[inline]
7087#[target_feature(enable = "sve")]
7088#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7089#[cfg_attr(test, assert_instr(cnt))]
7090pub fn svcnt_u64_x(pg: svbool_t, op: svuint64_t) -> svuint64_t {
7091 svcnt_u64_m(op, pg, op)
7092}
7093#[doc = "Count nonzero bits"]
7094#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcnt[_u64]_z)"]
7095#[inline]
7096#[target_feature(enable = "sve")]
7097#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7098#[cfg_attr(test, assert_instr(cnt))]
7099pub fn svcnt_u64_z(pg: svbool_t, op: svuint64_t) -> svuint64_t {
7100 svcnt_u64_m(svdup_n_u64(0), pg, op)
7101}
7102#[doc = "Count the number of 8-bit elements in a vector"]
7103#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcntb)"]
7104#[inline]
7105#[target_feature(enable = "sve")]
7106#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7107#[cfg_attr(test, assert_instr(rdvl))]
7108pub fn svcntb() -> u64 {
7109 svcntb_pat::<{ svpattern::SV_ALL }>()
7110}
7111#[doc = "Count the number of 16-bit elements in a vector"]
7112#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcnth)"]
7113#[inline]
7114#[target_feature(enable = "sve")]
7115#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7116#[cfg_attr(test, assert_instr(cnth))]
7117pub fn svcnth() -> u64 {
7118 svcnth_pat::<{ svpattern::SV_ALL }>()
7119}
7120#[doc = "Count the number of 32-bit elements in a vector"]
7121#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcntw)"]
7122#[inline]
7123#[target_feature(enable = "sve")]
7124#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7125#[cfg_attr(test, assert_instr(cntw))]
7126pub fn svcntw() -> u64 {
7127 svcntw_pat::<{ svpattern::SV_ALL }>()
7128}
7129#[doc = "Count the number of 64-bit elements in a vector"]
7130#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcntd)"]
7131#[inline]
7132#[target_feature(enable = "sve")]
7133#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7134#[cfg_attr(test, assert_instr(cntd))]
7135pub fn svcntd() -> u64 {
7136 svcntd_pat::<{ svpattern::SV_ALL }>()
7137}
7138#[doc = "Count the number of 8-bit elements in a vector"]
7139#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcntb_pat)"]
7140#[inline]
7141#[target_feature(enable = "sve")]
7142#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7143# [cfg_attr (test , assert_instr (rdvl , PATTERN = { svpattern :: SV_ALL }))]
7144# [cfg_attr (test , assert_instr (cntb , PATTERN = { svpattern :: SV_MUL4 }))]
7145pub fn svcntb_pat<const PATTERN: svpattern>() -> u64 {
7146 unsafe extern "unadjusted" {
7147 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.cntb")]
7148 fn _svcntb_pat(pattern: svpattern) -> i64;
7149 }
7150 unsafe { _svcntb_pat(PATTERN).as_unsigned() }
7151}
7152#[doc = "Count the number of 16-bit elements in a vector"]
7153#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcnth_pat)"]
7154#[inline]
7155#[target_feature(enable = "sve")]
7156#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7157# [cfg_attr (test , assert_instr (cnth , PATTERN = { svpattern :: SV_ALL }))]
7158pub fn svcnth_pat<const PATTERN: svpattern>() -> u64 {
7159 unsafe extern "unadjusted" {
7160 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.cnth")]
7161 fn _svcnth_pat(pattern: svpattern) -> i64;
7162 }
7163 unsafe { _svcnth_pat(PATTERN).as_unsigned() }
7164}
7165#[doc = "Count the number of 32-bit elements in a vector"]
7166#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcntw_pat)"]
7167#[inline]
7168#[target_feature(enable = "sve")]
7169#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7170# [cfg_attr (test , assert_instr (cntw , PATTERN = { svpattern :: SV_ALL }))]
7171pub fn svcntw_pat<const PATTERN: svpattern>() -> u64 {
7172 unsafe extern "unadjusted" {
7173 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.cntw")]
7174 fn _svcntw_pat(pattern: svpattern) -> i64;
7175 }
7176 unsafe { _svcntw_pat(PATTERN).as_unsigned() }
7177}
7178#[doc = "Count the number of 64-bit elements in a vector"]
7179#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcntd_pat)"]
7180#[inline]
7181#[target_feature(enable = "sve")]
7182#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7183# [cfg_attr (test , assert_instr (cntd , PATTERN = { svpattern :: SV_ALL }))]
7184pub fn svcntd_pat<const PATTERN: svpattern>() -> u64 {
7185 unsafe extern "unadjusted" {
7186 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.cntd")]
7187 fn _svcntd_pat(pattern: svpattern) -> i64;
7188 }
7189 unsafe { _svcntd_pat(PATTERN).as_unsigned() }
7190}
7191#[doc = "Count set predicate bits"]
7192#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcntp_b8)"]
7193#[inline]
7194#[target_feature(enable = "sve")]
7195#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7196#[cfg_attr(test, assert_instr(cntp))]
7197pub fn svcntp_b8(pg: svbool_t, op: svbool_t) -> u64 {
7198 unsafe extern "unadjusted" {
7199 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.cntp.nxv16i1")]
7200 fn _svcntp_b8(pg: svbool_t, op: svbool_t) -> i64;
7201 }
7202 unsafe { _svcntp_b8(pg, op).as_unsigned() }
7203}
7204#[doc = "Count set predicate bits"]
7205#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcntp_b16)"]
7206#[inline]
7207#[target_feature(enable = "sve")]
7208#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7209#[cfg_attr(test, assert_instr(cntp))]
7210pub fn svcntp_b16(pg: svbool_t, op: svbool_t) -> u64 {
7211 unsafe extern "unadjusted" {
7212 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.cntp.nxv8i1")]
7213 fn _svcntp_b16(pg: svbool8_t, op: svbool8_t) -> i64;
7214 }
7215 unsafe { _svcntp_b16(pg.sve_into(), op.sve_into()).as_unsigned() }
7216}
7217#[doc = "Count set predicate bits"]
7218#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcntp_b32)"]
7219#[inline]
7220#[target_feature(enable = "sve")]
7221#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7222#[cfg_attr(test, assert_instr(cntp))]
7223pub fn svcntp_b32(pg: svbool_t, op: svbool_t) -> u64 {
7224 unsafe extern "unadjusted" {
7225 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.cntp.nxv4i1")]
7226 fn _svcntp_b32(pg: svbool4_t, op: svbool4_t) -> i64;
7227 }
7228 unsafe { _svcntp_b32(pg.sve_into(), op.sve_into()).as_unsigned() }
7229}
7230#[doc = "Count set predicate bits"]
7231#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcntp_b64)"]
7232#[inline]
7233#[target_feature(enable = "sve")]
7234#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7235#[cfg_attr(test, assert_instr(cntp))]
7236pub fn svcntp_b64(pg: svbool_t, op: svbool_t) -> u64 {
7237 unsafe extern "unadjusted" {
7238 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.cntp.nxv2i1")]
7239 fn _svcntp_b64(pg: svbool2_t, op: svbool2_t) -> i64;
7240 }
7241 unsafe { _svcntp_b64(pg.sve_into(), op.sve_into()).as_unsigned() }
7242}
7243#[doc = "Shuffle active elements of vector to the right and fill with zero"]
7244#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcompact[_f32])"]
7245#[inline]
7246#[target_feature(enable = "sve")]
7247#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7248#[cfg_attr(test, assert_instr(compact))]
7249pub fn svcompact_f32(pg: svbool_t, op: svfloat32_t) -> svfloat32_t {
7250 unsafe extern "unadjusted" {
7251 #[cfg_attr(
7252 target_arch = "aarch64",
7253 link_name = "llvm.aarch64.sve.compact.nxv4f32"
7254 )]
7255 fn _svcompact_f32(pg: svbool4_t, op: svfloat32_t) -> svfloat32_t;
7256 }
7257 unsafe { _svcompact_f32(pg.sve_into(), op) }
7258}
7259#[doc = "Shuffle active elements of vector to the right and fill with zero"]
7260#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcompact[_f64])"]
7261#[inline]
7262#[target_feature(enable = "sve")]
7263#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7264#[cfg_attr(test, assert_instr(compact))]
7265pub fn svcompact_f64(pg: svbool_t, op: svfloat64_t) -> svfloat64_t {
7266 unsafe extern "unadjusted" {
7267 #[cfg_attr(
7268 target_arch = "aarch64",
7269 link_name = "llvm.aarch64.sve.compact.nxv2f64"
7270 )]
7271 fn _svcompact_f64(pg: svbool2_t, op: svfloat64_t) -> svfloat64_t;
7272 }
7273 unsafe { _svcompact_f64(pg.sve_into(), op) }
7274}
7275#[doc = "Shuffle active elements of vector to the right and fill with zero"]
7276#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcompact[_s32])"]
7277#[inline]
7278#[target_feature(enable = "sve")]
7279#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7280#[cfg_attr(test, assert_instr(compact))]
7281pub fn svcompact_s32(pg: svbool_t, op: svint32_t) -> svint32_t {
7282 unsafe extern "unadjusted" {
7283 #[cfg_attr(
7284 target_arch = "aarch64",
7285 link_name = "llvm.aarch64.sve.compact.nxv4i32"
7286 )]
7287 fn _svcompact_s32(pg: svbool4_t, op: svint32_t) -> svint32_t;
7288 }
7289 unsafe { _svcompact_s32(pg.sve_into(), op) }
7290}
7291#[doc = "Shuffle active elements of vector to the right and fill with zero"]
7292#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcompact[_s64])"]
7293#[inline]
7294#[target_feature(enable = "sve")]
7295#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7296#[cfg_attr(test, assert_instr(compact))]
7297pub fn svcompact_s64(pg: svbool_t, op: svint64_t) -> svint64_t {
7298 unsafe extern "unadjusted" {
7299 #[cfg_attr(
7300 target_arch = "aarch64",
7301 link_name = "llvm.aarch64.sve.compact.nxv2i64"
7302 )]
7303 fn _svcompact_s64(pg: svbool2_t, op: svint64_t) -> svint64_t;
7304 }
7305 unsafe { _svcompact_s64(pg.sve_into(), op) }
7306}
7307#[doc = "Shuffle active elements of vector to the right and fill with zero"]
7308#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcompact[_u32])"]
7309#[inline]
7310#[target_feature(enable = "sve")]
7311#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7312#[cfg_attr(test, assert_instr(compact))]
7313pub fn svcompact_u32(pg: svbool_t, op: svuint32_t) -> svuint32_t {
7314 unsafe { svcompact_s32(pg, op.as_signed()).as_unsigned() }
7315}
7316#[doc = "Shuffle active elements of vector to the right and fill with zero"]
7317#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcompact[_u64])"]
7318#[inline]
7319#[target_feature(enable = "sve")]
7320#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7321#[cfg_attr(test, assert_instr(compact))]
7322pub fn svcompact_u64(pg: svbool_t, op: svuint64_t) -> svuint64_t {
7323 unsafe { svcompact_s64(pg, op.as_signed()).as_unsigned() }
7324}
7325#[doc = "Create a tuple of two vectors"]
7326#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcreate2[_f32])"]
7327#[inline]
7328#[target_feature(enable = "sve")]
7329#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7330pub fn svcreate2_f32(x0: svfloat32_t, x1: svfloat32_t) -> svfloat32x2_t {
7331 unsafe { crate::intrinsics::simd::scalable::sve_tuple_create2(x0, x1) }
7332}
7333#[doc = "Create a tuple of two vectors"]
7334#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcreate2[_f64])"]
7335#[inline]
7336#[target_feature(enable = "sve")]
7337#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7338pub fn svcreate2_f64(x0: svfloat64_t, x1: svfloat64_t) -> svfloat64x2_t {
7339 unsafe { crate::intrinsics::simd::scalable::sve_tuple_create2(x0, x1) }
7340}
7341#[doc = "Create a tuple of two vectors"]
7342#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcreate2[_s8])"]
7343#[inline]
7344#[target_feature(enable = "sve")]
7345#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7346pub fn svcreate2_s8(x0: svint8_t, x1: svint8_t) -> svint8x2_t {
7347 unsafe { crate::intrinsics::simd::scalable::sve_tuple_create2(x0, x1) }
7348}
7349#[doc = "Create a tuple of two vectors"]
7350#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcreate2[_s16])"]
7351#[inline]
7352#[target_feature(enable = "sve")]
7353#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7354pub fn svcreate2_s16(x0: svint16_t, x1: svint16_t) -> svint16x2_t {
7355 unsafe { crate::intrinsics::simd::scalable::sve_tuple_create2(x0, x1) }
7356}
7357#[doc = "Create a tuple of two vectors"]
7358#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcreate2[_s32])"]
7359#[inline]
7360#[target_feature(enable = "sve")]
7361#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7362pub fn svcreate2_s32(x0: svint32_t, x1: svint32_t) -> svint32x2_t {
7363 unsafe { crate::intrinsics::simd::scalable::sve_tuple_create2(x0, x1) }
7364}
7365#[doc = "Create a tuple of two vectors"]
7366#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcreate2[_s64])"]
7367#[inline]
7368#[target_feature(enable = "sve")]
7369#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7370pub fn svcreate2_s64(x0: svint64_t, x1: svint64_t) -> svint64x2_t {
7371 unsafe { crate::intrinsics::simd::scalable::sve_tuple_create2(x0, x1) }
7372}
7373#[doc = "Create a tuple of two vectors"]
7374#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcreate2[_u8])"]
7375#[inline]
7376#[target_feature(enable = "sve")]
7377#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7378pub fn svcreate2_u8(x0: svuint8_t, x1: svuint8_t) -> svuint8x2_t {
7379 unsafe { crate::intrinsics::simd::scalable::sve_tuple_create2(x0, x1) }
7380}
7381#[doc = "Create a tuple of two vectors"]
7382#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcreate2[_u16])"]
7383#[inline]
7384#[target_feature(enable = "sve")]
7385#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7386pub fn svcreate2_u16(x0: svuint16_t, x1: svuint16_t) -> svuint16x2_t {
7387 unsafe { crate::intrinsics::simd::scalable::sve_tuple_create2(x0, x1) }
7388}
7389#[doc = "Create a tuple of two vectors"]
7390#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcreate2[_u32])"]
7391#[inline]
7392#[target_feature(enable = "sve")]
7393#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7394pub fn svcreate2_u32(x0: svuint32_t, x1: svuint32_t) -> svuint32x2_t {
7395 unsafe { crate::intrinsics::simd::scalable::sve_tuple_create2(x0, x1) }
7396}
7397#[doc = "Create a tuple of two vectors"]
7398#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcreate2[_u64])"]
7399#[inline]
7400#[target_feature(enable = "sve")]
7401#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7402pub fn svcreate2_u64(x0: svuint64_t, x1: svuint64_t) -> svuint64x2_t {
7403 unsafe { crate::intrinsics::simd::scalable::sve_tuple_create2(x0, x1) }
7404}
7405#[doc = "Create a tuple of three vectors"]
7406#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcreate3[_f32])"]
7407#[inline]
7408#[target_feature(enable = "sve")]
7409#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7410pub fn svcreate3_f32(x0: svfloat32_t, x1: svfloat32_t, x2: svfloat32_t) -> svfloat32x3_t {
7411 unsafe { crate::intrinsics::simd::scalable::sve_tuple_create3(x0, x1, x2) }
7412}
7413#[doc = "Create a tuple of three vectors"]
7414#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcreate3[_f64])"]
7415#[inline]
7416#[target_feature(enable = "sve")]
7417#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7418pub fn svcreate3_f64(x0: svfloat64_t, x1: svfloat64_t, x2: svfloat64_t) -> svfloat64x3_t {
7419 unsafe { crate::intrinsics::simd::scalable::sve_tuple_create3(x0, x1, x2) }
7420}
7421#[doc = "Create a tuple of three vectors"]
7422#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcreate3[_s8])"]
7423#[inline]
7424#[target_feature(enable = "sve")]
7425#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7426pub fn svcreate3_s8(x0: svint8_t, x1: svint8_t, x2: svint8_t) -> svint8x3_t {
7427 unsafe { crate::intrinsics::simd::scalable::sve_tuple_create3(x0, x1, x2) }
7428}
7429#[doc = "Create a tuple of three vectors"]
7430#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcreate3[_s16])"]
7431#[inline]
7432#[target_feature(enable = "sve")]
7433#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7434pub fn svcreate3_s16(x0: svint16_t, x1: svint16_t, x2: svint16_t) -> svint16x3_t {
7435 unsafe { crate::intrinsics::simd::scalable::sve_tuple_create3(x0, x1, x2) }
7436}
7437#[doc = "Create a tuple of three vectors"]
7438#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcreate3[_s32])"]
7439#[inline]
7440#[target_feature(enable = "sve")]
7441#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7442pub fn svcreate3_s32(x0: svint32_t, x1: svint32_t, x2: svint32_t) -> svint32x3_t {
7443 unsafe { crate::intrinsics::simd::scalable::sve_tuple_create3(x0, x1, x2) }
7444}
7445#[doc = "Create a tuple of three vectors"]
7446#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcreate3[_s64])"]
7447#[inline]
7448#[target_feature(enable = "sve")]
7449#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7450pub fn svcreate3_s64(x0: svint64_t, x1: svint64_t, x2: svint64_t) -> svint64x3_t {
7451 unsafe { crate::intrinsics::simd::scalable::sve_tuple_create3(x0, x1, x2) }
7452}
7453#[doc = "Create a tuple of three vectors"]
7454#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcreate3[_u8])"]
7455#[inline]
7456#[target_feature(enable = "sve")]
7457#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7458pub fn svcreate3_u8(x0: svuint8_t, x1: svuint8_t, x2: svuint8_t) -> svuint8x3_t {
7459 unsafe { crate::intrinsics::simd::scalable::sve_tuple_create3(x0, x1, x2) }
7460}
7461#[doc = "Create a tuple of three vectors"]
7462#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcreate3[_u16])"]
7463#[inline]
7464#[target_feature(enable = "sve")]
7465#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7466pub fn svcreate3_u16(x0: svuint16_t, x1: svuint16_t, x2: svuint16_t) -> svuint16x3_t {
7467 unsafe { crate::intrinsics::simd::scalable::sve_tuple_create3(x0, x1, x2) }
7468}
7469#[doc = "Create a tuple of three vectors"]
7470#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcreate3[_u32])"]
7471#[inline]
7472#[target_feature(enable = "sve")]
7473#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7474pub fn svcreate3_u32(x0: svuint32_t, x1: svuint32_t, x2: svuint32_t) -> svuint32x3_t {
7475 unsafe { crate::intrinsics::simd::scalable::sve_tuple_create3(x0, x1, x2) }
7476}
7477#[doc = "Create a tuple of three vectors"]
7478#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcreate3[_u64])"]
7479#[inline]
7480#[target_feature(enable = "sve")]
7481#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7482pub fn svcreate3_u64(x0: svuint64_t, x1: svuint64_t, x2: svuint64_t) -> svuint64x3_t {
7483 unsafe { crate::intrinsics::simd::scalable::sve_tuple_create3(x0, x1, x2) }
7484}
7485#[doc = "Create a tuple of four vectors"]
7486#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcreate4[_f32])"]
7487#[inline]
7488#[target_feature(enable = "sve")]
7489#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7490pub fn svcreate4_f32(
7491 x0: svfloat32_t,
7492 x1: svfloat32_t,
7493 x2: svfloat32_t,
7494 x3: svfloat32_t,
7495) -> svfloat32x4_t {
7496 unsafe { crate::intrinsics::simd::scalable::sve_tuple_create4(x0, x1, x2, x3) }
7497}
7498#[doc = "Create a tuple of four vectors"]
7499#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcreate4[_f64])"]
7500#[inline]
7501#[target_feature(enable = "sve")]
7502#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7503pub fn svcreate4_f64(
7504 x0: svfloat64_t,
7505 x1: svfloat64_t,
7506 x2: svfloat64_t,
7507 x3: svfloat64_t,
7508) -> svfloat64x4_t {
7509 unsafe { crate::intrinsics::simd::scalable::sve_tuple_create4(x0, x1, x2, x3) }
7510}
7511#[doc = "Create a tuple of four vectors"]
7512#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcreate4[_s8])"]
7513#[inline]
7514#[target_feature(enable = "sve")]
7515#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7516pub fn svcreate4_s8(x0: svint8_t, x1: svint8_t, x2: svint8_t, x3: svint8_t) -> svint8x4_t {
7517 unsafe { crate::intrinsics::simd::scalable::sve_tuple_create4(x0, x1, x2, x3) }
7518}
7519#[doc = "Create a tuple of four vectors"]
7520#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcreate4[_s16])"]
7521#[inline]
7522#[target_feature(enable = "sve")]
7523#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7524pub fn svcreate4_s16(x0: svint16_t, x1: svint16_t, x2: svint16_t, x3: svint16_t) -> svint16x4_t {
7525 unsafe { crate::intrinsics::simd::scalable::sve_tuple_create4(x0, x1, x2, x3) }
7526}
7527#[doc = "Create a tuple of four vectors"]
7528#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcreate4[_s32])"]
7529#[inline]
7530#[target_feature(enable = "sve")]
7531#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7532pub fn svcreate4_s32(x0: svint32_t, x1: svint32_t, x2: svint32_t, x3: svint32_t) -> svint32x4_t {
7533 unsafe { crate::intrinsics::simd::scalable::sve_tuple_create4(x0, x1, x2, x3) }
7534}
7535#[doc = "Create a tuple of four vectors"]
7536#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcreate4[_s64])"]
7537#[inline]
7538#[target_feature(enable = "sve")]
7539#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7540pub fn svcreate4_s64(x0: svint64_t, x1: svint64_t, x2: svint64_t, x3: svint64_t) -> svint64x4_t {
7541 unsafe { crate::intrinsics::simd::scalable::sve_tuple_create4(x0, x1, x2, x3) }
7542}
7543#[doc = "Create a tuple of four vectors"]
7544#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcreate4[_u8])"]
7545#[inline]
7546#[target_feature(enable = "sve")]
7547#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7548pub fn svcreate4_u8(x0: svuint8_t, x1: svuint8_t, x2: svuint8_t, x3: svuint8_t) -> svuint8x4_t {
7549 unsafe { crate::intrinsics::simd::scalable::sve_tuple_create4(x0, x1, x2, x3) }
7550}
7551#[doc = "Create a tuple of four vectors"]
7552#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcreate4[_u16])"]
7553#[inline]
7554#[target_feature(enable = "sve")]
7555#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7556pub fn svcreate4_u16(
7557 x0: svuint16_t,
7558 x1: svuint16_t,
7559 x2: svuint16_t,
7560 x3: svuint16_t,
7561) -> svuint16x4_t {
7562 unsafe { crate::intrinsics::simd::scalable::sve_tuple_create4(x0, x1, x2, x3) }
7563}
7564#[doc = "Create a tuple of four vectors"]
7565#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcreate4[_u32])"]
7566#[inline]
7567#[target_feature(enable = "sve")]
7568#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7569pub fn svcreate4_u32(
7570 x0: svuint32_t,
7571 x1: svuint32_t,
7572 x2: svuint32_t,
7573 x3: svuint32_t,
7574) -> svuint32x4_t {
7575 unsafe { crate::intrinsics::simd::scalable::sve_tuple_create4(x0, x1, x2, x3) }
7576}
7577#[doc = "Create a tuple of four vectors"]
7578#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcreate4[_u64])"]
7579#[inline]
7580#[target_feature(enable = "sve")]
7581#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7582pub fn svcreate4_u64(
7583 x0: svuint64_t,
7584 x1: svuint64_t,
7585 x2: svuint64_t,
7586 x3: svuint64_t,
7587) -> svuint64x4_t {
7588 unsafe { crate::intrinsics::simd::scalable::sve_tuple_create4(x0, x1, x2, x3) }
7589}
7590#[doc = "Floating-point convert"]
7591#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcvt_f32[_f64]_m)"]
7592#[inline]
7593#[target_feature(enable = "sve")]
7594#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7595#[cfg_attr(test, assert_instr(fcvt))]
7596pub fn svcvt_f32_f64_m(inactive: svfloat32_t, pg: svbool_t, op: svfloat64_t) -> svfloat32_t {
7597 unsafe extern "unadjusted" {
7598 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.fcvt.f32f64")]
7599 fn _svcvt_f32_f64_m(inactive: svfloat32_t, pg: svbool2_t, op: svfloat64_t) -> svfloat32_t;
7600 }
7601 unsafe { _svcvt_f32_f64_m(inactive, pg.sve_into(), op) }
7602}
7603#[doc = "Floating-point convert"]
7604#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcvt_f32[_f64]_x)"]
7605#[inline]
7606#[target_feature(enable = "sve")]
7607#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7608#[cfg_attr(test, assert_instr(fcvt))]
7609pub fn svcvt_f32_f64_x(pg: svbool_t, op: svfloat64_t) -> svfloat32_t {
7610 unsafe { svcvt_f32_f64_m(transmute_unchecked(op), pg, op) }
7611}
7612#[doc = "Floating-point convert"]
7613#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcvt_f32[_f64]_z)"]
7614#[inline]
7615#[target_feature(enable = "sve")]
7616#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7617#[cfg_attr(test, assert_instr(fcvt))]
7618pub fn svcvt_f32_f64_z(pg: svbool_t, op: svfloat64_t) -> svfloat32_t {
7619 svcvt_f32_f64_m(svdup_n_f32(0.0), pg, op)
7620}
7621#[doc = "Floating-point convert"]
7622#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcvt_f64[_f32]_m)"]
7623#[inline]
7624#[target_feature(enable = "sve")]
7625#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7626#[cfg_attr(test, assert_instr(fcvt))]
7627pub fn svcvt_f64_f32_m(inactive: svfloat64_t, pg: svbool_t, op: svfloat32_t) -> svfloat64_t {
7628 unsafe extern "unadjusted" {
7629 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.fcvt.f64f32")]
7630 fn _svcvt_f64_f32_m(inactive: svfloat64_t, pg: svbool2_t, op: svfloat32_t) -> svfloat64_t;
7631 }
7632 unsafe { _svcvt_f64_f32_m(inactive, pg.sve_into(), op) }
7633}
7634#[doc = "Floating-point convert"]
7635#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcvt_f64[_f32]_x)"]
7636#[inline]
7637#[target_feature(enable = "sve")]
7638#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7639#[cfg_attr(test, assert_instr(fcvt))]
7640pub fn svcvt_f64_f32_x(pg: svbool_t, op: svfloat32_t) -> svfloat64_t {
7641 unsafe { svcvt_f64_f32_m(transmute_unchecked(op), pg, op) }
7642}
7643#[doc = "Floating-point convert"]
7644#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcvt_f64[_f32]_z)"]
7645#[inline]
7646#[target_feature(enable = "sve")]
7647#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7648#[cfg_attr(test, assert_instr(fcvt))]
7649pub fn svcvt_f64_f32_z(pg: svbool_t, op: svfloat32_t) -> svfloat64_t {
7650 svcvt_f64_f32_m(svdup_n_f64(0.0), pg, op)
7651}
7652#[doc = "Floating-point convert"]
7653#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcvt_f32[_s32]_m)"]
7654#[inline]
7655#[target_feature(enable = "sve")]
7656#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7657#[cfg_attr(test, assert_instr(scvtf))]
7658pub fn svcvt_f32_s32_m(inactive: svfloat32_t, pg: svbool_t, op: svint32_t) -> svfloat32_t {
7659 unsafe extern "unadjusted" {
7660 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.scvtf.f32i32")]
7661 fn _svcvt_f32_s32_m(inactive: svfloat32_t, pg: svbool4_t, op: svint32_t) -> svfloat32_t;
7662 }
7663 unsafe { _svcvt_f32_s32_m(inactive, pg.sve_into(), op) }
7664}
7665#[doc = "Floating-point convert"]
7666#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcvt_f32[_s32]_x)"]
7667#[inline]
7668#[target_feature(enable = "sve")]
7669#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7670#[cfg_attr(test, assert_instr(scvtf))]
7671pub fn svcvt_f32_s32_x(pg: svbool_t, op: svint32_t) -> svfloat32_t {
7672 unsafe { svcvt_f32_s32_m(transmute_unchecked(op), pg, op) }
7673}
7674#[doc = "Floating-point convert"]
7675#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcvt_f32[_s32]_z)"]
7676#[inline]
7677#[target_feature(enable = "sve")]
7678#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7679#[cfg_attr(test, assert_instr(scvtf))]
7680pub fn svcvt_f32_s32_z(pg: svbool_t, op: svint32_t) -> svfloat32_t {
7681 svcvt_f32_s32_m(svdup_n_f32(0.0), pg, op)
7682}
7683#[doc = "Floating-point convert"]
7684#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcvt_f32[_s64]_m)"]
7685#[inline]
7686#[target_feature(enable = "sve")]
7687#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7688#[cfg_attr(test, assert_instr(scvtf))]
7689pub fn svcvt_f32_s64_m(inactive: svfloat32_t, pg: svbool_t, op: svint64_t) -> svfloat32_t {
7690 unsafe extern "unadjusted" {
7691 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.scvtf.f32i64")]
7692 fn _svcvt_f32_s64_m(inactive: svfloat32_t, pg: svbool2_t, op: svint64_t) -> svfloat32_t;
7693 }
7694 unsafe { _svcvt_f32_s64_m(inactive, pg.sve_into(), op) }
7695}
7696#[doc = "Floating-point convert"]
7697#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcvt_f32[_s64]_x)"]
7698#[inline]
7699#[target_feature(enable = "sve")]
7700#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7701#[cfg_attr(test, assert_instr(scvtf))]
7702pub fn svcvt_f32_s64_x(pg: svbool_t, op: svint64_t) -> svfloat32_t {
7703 unsafe { svcvt_f32_s64_m(transmute_unchecked(op), pg, op) }
7704}
7705#[doc = "Floating-point convert"]
7706#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcvt_f32[_s64]_z)"]
7707#[inline]
7708#[target_feature(enable = "sve")]
7709#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7710#[cfg_attr(test, assert_instr(scvtf))]
7711pub fn svcvt_f32_s64_z(pg: svbool_t, op: svint64_t) -> svfloat32_t {
7712 svcvt_f32_s64_m(svdup_n_f32(0.0), pg, op)
7713}
7714#[doc = "Floating-point convert"]
7715#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcvt_f32[_u32]_m)"]
7716#[inline]
7717#[target_feature(enable = "sve")]
7718#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7719#[cfg_attr(test, assert_instr(ucvtf))]
7720pub fn svcvt_f32_u32_m(inactive: svfloat32_t, pg: svbool_t, op: svuint32_t) -> svfloat32_t {
7721 unsafe extern "unadjusted" {
7722 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.ucvtf.f32i32")]
7723 fn _svcvt_f32_u32_m(inactive: svfloat32_t, pg: svbool4_t, op: svint32_t) -> svfloat32_t;
7724 }
7725 unsafe { _svcvt_f32_u32_m(inactive, pg.sve_into(), op.as_signed()) }
7726}
7727#[doc = "Floating-point convert"]
7728#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcvt_f32[_u32]_x)"]
7729#[inline]
7730#[target_feature(enable = "sve")]
7731#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7732#[cfg_attr(test, assert_instr(ucvtf))]
7733pub fn svcvt_f32_u32_x(pg: svbool_t, op: svuint32_t) -> svfloat32_t {
7734 unsafe { svcvt_f32_u32_m(transmute_unchecked(op), pg, op) }
7735}
7736#[doc = "Floating-point convert"]
7737#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcvt_f32[_u32]_z)"]
7738#[inline]
7739#[target_feature(enable = "sve")]
7740#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7741#[cfg_attr(test, assert_instr(ucvtf))]
7742pub fn svcvt_f32_u32_z(pg: svbool_t, op: svuint32_t) -> svfloat32_t {
7743 svcvt_f32_u32_m(svdup_n_f32(0.0), pg, op)
7744}
7745#[doc = "Floating-point convert"]
7746#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcvt_f32[_u64]_m)"]
7747#[inline]
7748#[target_feature(enable = "sve")]
7749#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7750#[cfg_attr(test, assert_instr(ucvtf))]
7751pub fn svcvt_f32_u64_m(inactive: svfloat32_t, pg: svbool_t, op: svuint64_t) -> svfloat32_t {
7752 unsafe extern "unadjusted" {
7753 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.ucvtf.f32i64")]
7754 fn _svcvt_f32_u64_m(inactive: svfloat32_t, pg: svbool2_t, op: svint64_t) -> svfloat32_t;
7755 }
7756 unsafe { _svcvt_f32_u64_m(inactive, pg.sve_into(), op.as_signed()) }
7757}
7758#[doc = "Floating-point convert"]
7759#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcvt_f32[_u64]_x)"]
7760#[inline]
7761#[target_feature(enable = "sve")]
7762#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7763#[cfg_attr(test, assert_instr(ucvtf))]
7764pub fn svcvt_f32_u64_x(pg: svbool_t, op: svuint64_t) -> svfloat32_t {
7765 unsafe { svcvt_f32_u64_m(transmute_unchecked(op), pg, op) }
7766}
7767#[doc = "Floating-point convert"]
7768#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcvt_f32[_u64]_z)"]
7769#[inline]
7770#[target_feature(enable = "sve")]
7771#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7772#[cfg_attr(test, assert_instr(ucvtf))]
7773pub fn svcvt_f32_u64_z(pg: svbool_t, op: svuint64_t) -> svfloat32_t {
7774 svcvt_f32_u64_m(svdup_n_f32(0.0), pg, op)
7775}
7776#[doc = "Floating-point convert"]
7777#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcvt_f64[_s32]_m)"]
7778#[inline]
7779#[target_feature(enable = "sve")]
7780#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7781#[cfg_attr(test, assert_instr(scvtf))]
7782pub fn svcvt_f64_s32_m(inactive: svfloat64_t, pg: svbool_t, op: svint32_t) -> svfloat64_t {
7783 unsafe extern "unadjusted" {
7784 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.scvtf.f64i32")]
7785 fn _svcvt_f64_s32_m(inactive: svfloat64_t, pg: svbool2_t, op: svint32_t) -> svfloat64_t;
7786 }
7787 unsafe { _svcvt_f64_s32_m(inactive, pg.sve_into(), op) }
7788}
7789#[doc = "Floating-point convert"]
7790#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcvt_f64[_s32]_x)"]
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_f64_s32_x(pg: svbool_t, op: svint32_t) -> svfloat64_t {
7796 unsafe { svcvt_f64_s32_m(transmute_unchecked(op), pg, op) }
7797}
7798#[doc = "Floating-point convert"]
7799#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcvt_f64[_s32]_z)"]
7800#[inline]
7801#[target_feature(enable = "sve")]
7802#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7803#[cfg_attr(test, assert_instr(scvtf))]
7804pub fn svcvt_f64_s32_z(pg: svbool_t, op: svint32_t) -> svfloat64_t {
7805 svcvt_f64_s32_m(svdup_n_f64(0.0), pg, op)
7806}
7807#[doc = "Floating-point convert"]
7808#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcvt_f64[_s64]_m)"]
7809#[inline]
7810#[target_feature(enable = "sve")]
7811#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7812#[cfg_attr(test, assert_instr(scvtf))]
7813pub fn svcvt_f64_s64_m(inactive: svfloat64_t, pg: svbool_t, op: svint64_t) -> svfloat64_t {
7814 unsafe extern "unadjusted" {
7815 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.scvtf.f64i64")]
7816 fn _svcvt_f64_s64_m(inactive: svfloat64_t, pg: svbool2_t, op: svint64_t) -> svfloat64_t;
7817 }
7818 unsafe { _svcvt_f64_s64_m(inactive, pg.sve_into(), op) }
7819}
7820#[doc = "Floating-point convert"]
7821#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcvt_f64[_s64]_x)"]
7822#[inline]
7823#[target_feature(enable = "sve")]
7824#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7825#[cfg_attr(test, assert_instr(scvtf))]
7826pub fn svcvt_f64_s64_x(pg: svbool_t, op: svint64_t) -> svfloat64_t {
7827 unsafe { svcvt_f64_s64_m(transmute_unchecked(op), pg, op) }
7828}
7829#[doc = "Floating-point convert"]
7830#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcvt_f64[_s64]_z)"]
7831#[inline]
7832#[target_feature(enable = "sve")]
7833#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7834#[cfg_attr(test, assert_instr(scvtf))]
7835pub fn svcvt_f64_s64_z(pg: svbool_t, op: svint64_t) -> svfloat64_t {
7836 svcvt_f64_s64_m(svdup_n_f64(0.0), pg, op)
7837}
7838#[doc = "Floating-point convert"]
7839#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcvt_f64[_u32]_m)"]
7840#[inline]
7841#[target_feature(enable = "sve")]
7842#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7843#[cfg_attr(test, assert_instr(ucvtf))]
7844pub fn svcvt_f64_u32_m(inactive: svfloat64_t, pg: svbool_t, op: svuint32_t) -> svfloat64_t {
7845 unsafe extern "unadjusted" {
7846 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.ucvtf.f64i32")]
7847 fn _svcvt_f64_u32_m(inactive: svfloat64_t, pg: svbool2_t, op: svint32_t) -> svfloat64_t;
7848 }
7849 unsafe { _svcvt_f64_u32_m(inactive, pg.sve_into(), op.as_signed()) }
7850}
7851#[doc = "Floating-point convert"]
7852#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcvt_f64[_u32]_x)"]
7853#[inline]
7854#[target_feature(enable = "sve")]
7855#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7856#[cfg_attr(test, assert_instr(ucvtf))]
7857pub fn svcvt_f64_u32_x(pg: svbool_t, op: svuint32_t) -> svfloat64_t {
7858 unsafe { svcvt_f64_u32_m(transmute_unchecked(op), pg, op) }
7859}
7860#[doc = "Floating-point convert"]
7861#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcvt_f64[_u32]_z)"]
7862#[inline]
7863#[target_feature(enable = "sve")]
7864#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7865#[cfg_attr(test, assert_instr(ucvtf))]
7866pub fn svcvt_f64_u32_z(pg: svbool_t, op: svuint32_t) -> svfloat64_t {
7867 svcvt_f64_u32_m(svdup_n_f64(0.0), pg, op)
7868}
7869#[doc = "Floating-point convert"]
7870#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcvt_f64[_u64]_m)"]
7871#[inline]
7872#[target_feature(enable = "sve")]
7873#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7874#[cfg_attr(test, assert_instr(ucvtf))]
7875pub fn svcvt_f64_u64_m(inactive: svfloat64_t, pg: svbool_t, op: svuint64_t) -> svfloat64_t {
7876 unsafe extern "unadjusted" {
7877 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.ucvtf.f64i64")]
7878 fn _svcvt_f64_u64_m(inactive: svfloat64_t, pg: svbool2_t, op: svint64_t) -> svfloat64_t;
7879 }
7880 unsafe { _svcvt_f64_u64_m(inactive, pg.sve_into(), op.as_signed()) }
7881}
7882#[doc = "Floating-point convert"]
7883#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcvt_f64[_u64]_x)"]
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_u64_x(pg: svbool_t, op: svuint64_t) -> svfloat64_t {
7889 unsafe { svcvt_f64_u64_m(transmute_unchecked(op), pg, op) }
7890}
7891#[doc = "Floating-point convert"]
7892#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcvt_f64[_u64]_z)"]
7893#[inline]
7894#[target_feature(enable = "sve")]
7895#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7896#[cfg_attr(test, assert_instr(ucvtf))]
7897pub fn svcvt_f64_u64_z(pg: svbool_t, op: svuint64_t) -> svfloat64_t {
7898 svcvt_f64_u64_m(svdup_n_f64(0.0), pg, op)
7899}
7900#[doc = "Floating-point convert"]
7901#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcvt_s32[_f32]_m)"]
7902#[inline]
7903#[target_feature(enable = "sve")]
7904#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7905#[cfg_attr(test, assert_instr(fcvtzs))]
7906pub fn svcvt_s32_f32_m(inactive: svint32_t, pg: svbool_t, op: svfloat32_t) -> svint32_t {
7907 unsafe extern "unadjusted" {
7908 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.fcvtzs.i32f32")]
7909 fn _svcvt_s32_f32_m(inactive: svint32_t, pg: svbool4_t, op: svfloat32_t) -> svint32_t;
7910 }
7911 unsafe { _svcvt_s32_f32_m(inactive, pg.sve_into(), op) }
7912}
7913#[doc = "Floating-point convert"]
7914#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcvt_s32[_f32]_x)"]
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_x(pg: svbool_t, op: svfloat32_t) -> svint32_t {
7920 unsafe { svcvt_s32_f32_m(transmute_unchecked(op), pg, op) }
7921}
7922#[doc = "Floating-point convert"]
7923#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcvt_s32[_f32]_z)"]
7924#[inline]
7925#[target_feature(enable = "sve")]
7926#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7927#[cfg_attr(test, assert_instr(fcvtzs))]
7928pub fn svcvt_s32_f32_z(pg: svbool_t, op: svfloat32_t) -> svint32_t {
7929 svcvt_s32_f32_m(svdup_n_s32(0), pg, op)
7930}
7931#[doc = "Floating-point convert"]
7932#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcvt_s32[_f64]_m)"]
7933#[inline]
7934#[target_feature(enable = "sve")]
7935#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7936#[cfg_attr(test, assert_instr(fcvtzs))]
7937pub fn svcvt_s32_f64_m(inactive: svint32_t, pg: svbool_t, op: svfloat64_t) -> svint32_t {
7938 unsafe extern "unadjusted" {
7939 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.fcvtzs.i32f64")]
7940 fn _svcvt_s32_f64_m(inactive: svint32_t, pg: svbool2_t, op: svfloat64_t) -> svint32_t;
7941 }
7942 unsafe { _svcvt_s32_f64_m(inactive, pg.sve_into(), op) }
7943}
7944#[doc = "Floating-point convert"]
7945#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcvt_s32[_f64]_x)"]
7946#[inline]
7947#[target_feature(enable = "sve")]
7948#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7949#[cfg_attr(test, assert_instr(fcvtzs))]
7950pub fn svcvt_s32_f64_x(pg: svbool_t, op: svfloat64_t) -> svint32_t {
7951 unsafe { svcvt_s32_f64_m(transmute_unchecked(op), pg, op) }
7952}
7953#[doc = "Floating-point convert"]
7954#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcvt_s32[_f64]_z)"]
7955#[inline]
7956#[target_feature(enable = "sve")]
7957#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7958#[cfg_attr(test, assert_instr(fcvtzs))]
7959pub fn svcvt_s32_f64_z(pg: svbool_t, op: svfloat64_t) -> svint32_t {
7960 svcvt_s32_f64_m(svdup_n_s32(0), pg, op)
7961}
7962#[doc = "Floating-point convert"]
7963#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcvt_s64[_f32]_m)"]
7964#[inline]
7965#[target_feature(enable = "sve")]
7966#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7967#[cfg_attr(test, assert_instr(fcvtzs))]
7968pub fn svcvt_s64_f32_m(inactive: svint64_t, pg: svbool_t, op: svfloat32_t) -> svint64_t {
7969 unsafe extern "unadjusted" {
7970 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.fcvtzs.i64f32")]
7971 fn _svcvt_s64_f32_m(inactive: svint64_t, pg: svbool2_t, op: svfloat32_t) -> svint64_t;
7972 }
7973 unsafe { _svcvt_s64_f32_m(inactive, pg.sve_into(), op) }
7974}
7975#[doc = "Floating-point convert"]
7976#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcvt_s64[_f32]_x)"]
7977#[inline]
7978#[target_feature(enable = "sve")]
7979#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7980#[cfg_attr(test, assert_instr(fcvtzs))]
7981pub fn svcvt_s64_f32_x(pg: svbool_t, op: svfloat32_t) -> svint64_t {
7982 unsafe { svcvt_s64_f32_m(transmute_unchecked(op), pg, op) }
7983}
7984#[doc = "Floating-point convert"]
7985#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcvt_s64[_f32]_z)"]
7986#[inline]
7987#[target_feature(enable = "sve")]
7988#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7989#[cfg_attr(test, assert_instr(fcvtzs))]
7990pub fn svcvt_s64_f32_z(pg: svbool_t, op: svfloat32_t) -> svint64_t {
7991 svcvt_s64_f32_m(svdup_n_s64(0), pg, op)
7992}
7993#[doc = "Floating-point convert"]
7994#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcvt_s64[_f64]_m)"]
7995#[inline]
7996#[target_feature(enable = "sve")]
7997#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7998#[cfg_attr(test, assert_instr(fcvtzs))]
7999pub fn svcvt_s64_f64_m(inactive: svint64_t, pg: svbool_t, op: svfloat64_t) -> svint64_t {
8000 unsafe extern "unadjusted" {
8001 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.fcvtzs.i64f64")]
8002 fn _svcvt_s64_f64_m(inactive: svint64_t, pg: svbool2_t, op: svfloat64_t) -> svint64_t;
8003 }
8004 unsafe { _svcvt_s64_f64_m(inactive, pg.sve_into(), op) }
8005}
8006#[doc = "Floating-point convert"]
8007#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcvt_s64[_f64]_x)"]
8008#[inline]
8009#[target_feature(enable = "sve")]
8010#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8011#[cfg_attr(test, assert_instr(fcvtzs))]
8012pub fn svcvt_s64_f64_x(pg: svbool_t, op: svfloat64_t) -> svint64_t {
8013 unsafe { svcvt_s64_f64_m(transmute_unchecked(op), pg, op) }
8014}
8015#[doc = "Floating-point convert"]
8016#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcvt_s64[_f64]_z)"]
8017#[inline]
8018#[target_feature(enable = "sve")]
8019#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8020#[cfg_attr(test, assert_instr(fcvtzs))]
8021pub fn svcvt_s64_f64_z(pg: svbool_t, op: svfloat64_t) -> svint64_t {
8022 svcvt_s64_f64_m(svdup_n_s64(0), pg, op)
8023}
8024#[doc = "Floating-point convert"]
8025#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcvt_u32[_f32]_m)"]
8026#[inline]
8027#[target_feature(enable = "sve")]
8028#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8029#[cfg_attr(test, assert_instr(fcvtzu))]
8030pub fn svcvt_u32_f32_m(inactive: svuint32_t, pg: svbool_t, op: svfloat32_t) -> svuint32_t {
8031 unsafe extern "unadjusted" {
8032 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.fcvtzu.i32f32")]
8033 fn _svcvt_u32_f32_m(inactive: svint32_t, pg: svbool4_t, op: svfloat32_t) -> svint32_t;
8034 }
8035 unsafe { _svcvt_u32_f32_m(inactive.as_signed(), pg.sve_into(), op).as_unsigned() }
8036}
8037#[doc = "Floating-point convert"]
8038#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcvt_u32[_f32]_x)"]
8039#[inline]
8040#[target_feature(enable = "sve")]
8041#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8042#[cfg_attr(test, assert_instr(fcvtzu))]
8043pub fn svcvt_u32_f32_x(pg: svbool_t, op: svfloat32_t) -> svuint32_t {
8044 unsafe { svcvt_u32_f32_m(transmute_unchecked(op), pg, op) }
8045}
8046#[doc = "Floating-point convert"]
8047#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcvt_u32[_f32]_z)"]
8048#[inline]
8049#[target_feature(enable = "sve")]
8050#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8051#[cfg_attr(test, assert_instr(fcvtzu))]
8052pub fn svcvt_u32_f32_z(pg: svbool_t, op: svfloat32_t) -> svuint32_t {
8053 svcvt_u32_f32_m(svdup_n_u32(0), pg, op)
8054}
8055#[doc = "Floating-point convert"]
8056#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcvt_u32[_f64]_m)"]
8057#[inline]
8058#[target_feature(enable = "sve")]
8059#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8060#[cfg_attr(test, assert_instr(fcvtzu))]
8061pub fn svcvt_u32_f64_m(inactive: svuint32_t, pg: svbool_t, op: svfloat64_t) -> svuint32_t {
8062 unsafe extern "unadjusted" {
8063 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.fcvtzu.i32f64")]
8064 fn _svcvt_u32_f64_m(inactive: svint32_t, pg: svbool2_t, op: svfloat64_t) -> svint32_t;
8065 }
8066 unsafe { _svcvt_u32_f64_m(inactive.as_signed(), pg.sve_into(), op).as_unsigned() }
8067}
8068#[doc = "Floating-point convert"]
8069#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcvt_u32[_f64]_x)"]
8070#[inline]
8071#[target_feature(enable = "sve")]
8072#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8073#[cfg_attr(test, assert_instr(fcvtzu))]
8074pub fn svcvt_u32_f64_x(pg: svbool_t, op: svfloat64_t) -> svuint32_t {
8075 unsafe { svcvt_u32_f64_m(transmute_unchecked(op), pg, op) }
8076}
8077#[doc = "Floating-point convert"]
8078#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcvt_u32[_f64]_z)"]
8079#[inline]
8080#[target_feature(enable = "sve")]
8081#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8082#[cfg_attr(test, assert_instr(fcvtzu))]
8083pub fn svcvt_u32_f64_z(pg: svbool_t, op: svfloat64_t) -> svuint32_t {
8084 svcvt_u32_f64_m(svdup_n_u32(0), pg, op)
8085}
8086#[doc = "Floating-point convert"]
8087#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcvt_u64[_f32]_m)"]
8088#[inline]
8089#[target_feature(enable = "sve")]
8090#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8091#[cfg_attr(test, assert_instr(fcvtzu))]
8092pub fn svcvt_u64_f32_m(inactive: svuint64_t, pg: svbool_t, op: svfloat32_t) -> svuint64_t {
8093 unsafe extern "unadjusted" {
8094 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.fcvtzu.i64f32")]
8095 fn _svcvt_u64_f32_m(inactive: svint64_t, pg: svbool2_t, op: svfloat32_t) -> svint64_t;
8096 }
8097 unsafe { _svcvt_u64_f32_m(inactive.as_signed(), pg.sve_into(), op).as_unsigned() }
8098}
8099#[doc = "Floating-point convert"]
8100#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcvt_u64[_f32]_x)"]
8101#[inline]
8102#[target_feature(enable = "sve")]
8103#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8104#[cfg_attr(test, assert_instr(fcvtzu))]
8105pub fn svcvt_u64_f32_x(pg: svbool_t, op: svfloat32_t) -> svuint64_t {
8106 unsafe { svcvt_u64_f32_m(transmute_unchecked(op), pg, op) }
8107}
8108#[doc = "Floating-point convert"]
8109#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcvt_u64[_f32]_z)"]
8110#[inline]
8111#[target_feature(enable = "sve")]
8112#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8113#[cfg_attr(test, assert_instr(fcvtzu))]
8114pub fn svcvt_u64_f32_z(pg: svbool_t, op: svfloat32_t) -> svuint64_t {
8115 svcvt_u64_f32_m(svdup_n_u64(0), pg, op)
8116}
8117#[doc = "Floating-point convert"]
8118#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcvt_u64[_f64]_m)"]
8119#[inline]
8120#[target_feature(enable = "sve")]
8121#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8122#[cfg_attr(test, assert_instr(fcvtzu))]
8123pub fn svcvt_u64_f64_m(inactive: svuint64_t, pg: svbool_t, op: svfloat64_t) -> svuint64_t {
8124 unsafe extern "unadjusted" {
8125 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.fcvtzu.i64f64")]
8126 fn _svcvt_u64_f64_m(inactive: svint64_t, pg: svbool2_t, op: svfloat64_t) -> svint64_t;
8127 }
8128 unsafe { _svcvt_u64_f64_m(inactive.as_signed(), pg.sve_into(), op).as_unsigned() }
8129}
8130#[doc = "Floating-point convert"]
8131#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcvt_u64[_f64]_x)"]
8132#[inline]
8133#[target_feature(enable = "sve")]
8134#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8135#[cfg_attr(test, assert_instr(fcvtzu))]
8136pub fn svcvt_u64_f64_x(pg: svbool_t, op: svfloat64_t) -> svuint64_t {
8137 unsafe { svcvt_u64_f64_m(transmute_unchecked(op), pg, op) }
8138}
8139#[doc = "Floating-point convert"]
8140#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcvt_u64[_f64]_z)"]
8141#[inline]
8142#[target_feature(enable = "sve")]
8143#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8144#[cfg_attr(test, assert_instr(fcvtzu))]
8145pub fn svcvt_u64_f64_z(pg: svbool_t, op: svfloat64_t) -> svuint64_t {
8146 svcvt_u64_f64_m(svdup_n_u64(0), pg, op)
8147}
8148#[doc = "Divide"]
8149#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdiv[_f32]_m)"]
8150#[inline]
8151#[target_feature(enable = "sve")]
8152#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8153#[cfg_attr(test, assert_instr(fdiv))]
8154pub fn svdiv_f32_m(pg: svbool_t, op1: svfloat32_t, op2: svfloat32_t) -> svfloat32_t {
8155 unsafe extern "unadjusted" {
8156 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.fdiv.nxv4f32")]
8157 fn _svdiv_f32_m(pg: svbool4_t, op1: svfloat32_t, op2: svfloat32_t) -> svfloat32_t;
8158 }
8159 unsafe { _svdiv_f32_m(pg.sve_into(), op1, op2) }
8160}
8161#[doc = "Divide"]
8162#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdiv[_n_f32]_m)"]
8163#[inline]
8164#[target_feature(enable = "sve")]
8165#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8166#[cfg_attr(test, assert_instr(fdiv))]
8167pub fn svdiv_n_f32_m(pg: svbool_t, op1: svfloat32_t, op2: f32) -> svfloat32_t {
8168 svdiv_f32_m(pg, op1, svdup_n_f32(op2))
8169}
8170#[doc = "Divide"]
8171#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdiv[_f32]_x)"]
8172#[inline]
8173#[target_feature(enable = "sve")]
8174#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8175#[cfg_attr(test, assert_instr(fdiv))]
8176pub fn svdiv_f32_x(pg: svbool_t, op1: svfloat32_t, op2: svfloat32_t) -> svfloat32_t {
8177 svdiv_f32_m(pg, op1, op2)
8178}
8179#[doc = "Divide"]
8180#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdiv[_n_f32]_x)"]
8181#[inline]
8182#[target_feature(enable = "sve")]
8183#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8184#[cfg_attr(test, assert_instr(fdiv))]
8185pub fn svdiv_n_f32_x(pg: svbool_t, op1: svfloat32_t, op2: f32) -> svfloat32_t {
8186 svdiv_f32_x(pg, op1, svdup_n_f32(op2))
8187}
8188#[doc = "Divide"]
8189#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdiv[_f32]_z)"]
8190#[inline]
8191#[target_feature(enable = "sve")]
8192#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8193#[cfg_attr(test, assert_instr(fdiv))]
8194pub fn svdiv_f32_z(pg: svbool_t, op1: svfloat32_t, op2: svfloat32_t) -> svfloat32_t {
8195 svdiv_f32_m(pg, svsel_f32(pg, op1, svdup_n_f32(0.0)), op2)
8196}
8197#[doc = "Divide"]
8198#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdiv[_n_f32]_z)"]
8199#[inline]
8200#[target_feature(enable = "sve")]
8201#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8202#[cfg_attr(test, assert_instr(fdiv))]
8203pub fn svdiv_n_f32_z(pg: svbool_t, op1: svfloat32_t, op2: f32) -> svfloat32_t {
8204 svdiv_f32_z(pg, op1, svdup_n_f32(op2))
8205}
8206#[doc = "Divide"]
8207#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdiv[_f64]_m)"]
8208#[inline]
8209#[target_feature(enable = "sve")]
8210#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8211#[cfg_attr(test, assert_instr(fdiv))]
8212pub fn svdiv_f64_m(pg: svbool_t, op1: svfloat64_t, op2: svfloat64_t) -> svfloat64_t {
8213 unsafe extern "unadjusted" {
8214 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.fdiv.nxv2f64")]
8215 fn _svdiv_f64_m(pg: svbool2_t, op1: svfloat64_t, op2: svfloat64_t) -> svfloat64_t;
8216 }
8217 unsafe { _svdiv_f64_m(pg.sve_into(), op1, op2) }
8218}
8219#[doc = "Divide"]
8220#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdiv[_n_f64]_m)"]
8221#[inline]
8222#[target_feature(enable = "sve")]
8223#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8224#[cfg_attr(test, assert_instr(fdiv))]
8225pub fn svdiv_n_f64_m(pg: svbool_t, op1: svfloat64_t, op2: f64) -> svfloat64_t {
8226 svdiv_f64_m(pg, op1, svdup_n_f64(op2))
8227}
8228#[doc = "Divide"]
8229#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdiv[_f64]_x)"]
8230#[inline]
8231#[target_feature(enable = "sve")]
8232#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8233#[cfg_attr(test, assert_instr(fdiv))]
8234pub fn svdiv_f64_x(pg: svbool_t, op1: svfloat64_t, op2: svfloat64_t) -> svfloat64_t {
8235 svdiv_f64_m(pg, op1, op2)
8236}
8237#[doc = "Divide"]
8238#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdiv[_n_f64]_x)"]
8239#[inline]
8240#[target_feature(enable = "sve")]
8241#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8242#[cfg_attr(test, assert_instr(fdiv))]
8243pub fn svdiv_n_f64_x(pg: svbool_t, op1: svfloat64_t, op2: f64) -> svfloat64_t {
8244 svdiv_f64_x(pg, op1, svdup_n_f64(op2))
8245}
8246#[doc = "Divide"]
8247#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdiv[_f64]_z)"]
8248#[inline]
8249#[target_feature(enable = "sve")]
8250#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8251#[cfg_attr(test, assert_instr(fdiv))]
8252pub fn svdiv_f64_z(pg: svbool_t, op1: svfloat64_t, op2: svfloat64_t) -> svfloat64_t {
8253 svdiv_f64_m(pg, svsel_f64(pg, op1, svdup_n_f64(0.0)), op2)
8254}
8255#[doc = "Divide"]
8256#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdiv[_n_f64]_z)"]
8257#[inline]
8258#[target_feature(enable = "sve")]
8259#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8260#[cfg_attr(test, assert_instr(fdiv))]
8261pub fn svdiv_n_f64_z(pg: svbool_t, op1: svfloat64_t, op2: f64) -> svfloat64_t {
8262 svdiv_f64_z(pg, op1, svdup_n_f64(op2))
8263}
8264#[doc = "Divide"]
8265#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdiv[_s32]_m)"]
8266#[inline]
8267#[target_feature(enable = "sve")]
8268#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8269#[cfg_attr(test, assert_instr(sdiv))]
8270pub fn svdiv_s32_m(pg: svbool_t, op1: svint32_t, op2: svint32_t) -> svint32_t {
8271 unsafe extern "unadjusted" {
8272 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.sdiv.nxv4i32")]
8273 fn _svdiv_s32_m(pg: svbool4_t, op1: svint32_t, op2: svint32_t) -> svint32_t;
8274 }
8275 unsafe { _svdiv_s32_m(pg.sve_into(), op1, op2) }
8276}
8277#[doc = "Divide"]
8278#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdiv[_n_s32]_m)"]
8279#[inline]
8280#[target_feature(enable = "sve")]
8281#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8282#[cfg_attr(test, assert_instr(sdiv))]
8283pub fn svdiv_n_s32_m(pg: svbool_t, op1: svint32_t, op2: i32) -> svint32_t {
8284 svdiv_s32_m(pg, op1, svdup_n_s32(op2))
8285}
8286#[doc = "Divide"]
8287#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdiv[_s32]_x)"]
8288#[inline]
8289#[target_feature(enable = "sve")]
8290#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8291#[cfg_attr(test, assert_instr(sdiv))]
8292pub fn svdiv_s32_x(pg: svbool_t, op1: svint32_t, op2: svint32_t) -> svint32_t {
8293 svdiv_s32_m(pg, op1, op2)
8294}
8295#[doc = "Divide"]
8296#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdiv[_n_s32]_x)"]
8297#[inline]
8298#[target_feature(enable = "sve")]
8299#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8300#[cfg_attr(test, assert_instr(sdiv))]
8301pub fn svdiv_n_s32_x(pg: svbool_t, op1: svint32_t, op2: i32) -> svint32_t {
8302 svdiv_s32_x(pg, op1, svdup_n_s32(op2))
8303}
8304#[doc = "Divide"]
8305#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdiv[_s32]_z)"]
8306#[inline]
8307#[target_feature(enable = "sve")]
8308#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8309#[cfg_attr(test, assert_instr(sdiv))]
8310pub fn svdiv_s32_z(pg: svbool_t, op1: svint32_t, op2: svint32_t) -> svint32_t {
8311 svdiv_s32_m(pg, svsel_s32(pg, op1, svdup_n_s32(0)), op2)
8312}
8313#[doc = "Divide"]
8314#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdiv[_n_s32]_z)"]
8315#[inline]
8316#[target_feature(enable = "sve")]
8317#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8318#[cfg_attr(test, assert_instr(sdiv))]
8319pub fn svdiv_n_s32_z(pg: svbool_t, op1: svint32_t, op2: i32) -> svint32_t {
8320 svdiv_s32_z(pg, op1, svdup_n_s32(op2))
8321}
8322#[doc = "Divide"]
8323#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdiv[_s64]_m)"]
8324#[inline]
8325#[target_feature(enable = "sve")]
8326#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8327#[cfg_attr(test, assert_instr(sdiv))]
8328pub fn svdiv_s64_m(pg: svbool_t, op1: svint64_t, op2: svint64_t) -> svint64_t {
8329 unsafe extern "unadjusted" {
8330 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.sdiv.nxv2i64")]
8331 fn _svdiv_s64_m(pg: svbool2_t, op1: svint64_t, op2: svint64_t) -> svint64_t;
8332 }
8333 unsafe { _svdiv_s64_m(pg.sve_into(), op1, op2) }
8334}
8335#[doc = "Divide"]
8336#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdiv[_n_s64]_m)"]
8337#[inline]
8338#[target_feature(enable = "sve")]
8339#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8340#[cfg_attr(test, assert_instr(sdiv))]
8341pub fn svdiv_n_s64_m(pg: svbool_t, op1: svint64_t, op2: i64) -> svint64_t {
8342 svdiv_s64_m(pg, op1, svdup_n_s64(op2))
8343}
8344#[doc = "Divide"]
8345#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdiv[_s64]_x)"]
8346#[inline]
8347#[target_feature(enable = "sve")]
8348#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8349#[cfg_attr(test, assert_instr(sdiv))]
8350pub fn svdiv_s64_x(pg: svbool_t, op1: svint64_t, op2: svint64_t) -> svint64_t {
8351 svdiv_s64_m(pg, op1, op2)
8352}
8353#[doc = "Divide"]
8354#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdiv[_n_s64]_x)"]
8355#[inline]
8356#[target_feature(enable = "sve")]
8357#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8358#[cfg_attr(test, assert_instr(sdiv))]
8359pub fn svdiv_n_s64_x(pg: svbool_t, op1: svint64_t, op2: i64) -> svint64_t {
8360 svdiv_s64_x(pg, op1, svdup_n_s64(op2))
8361}
8362#[doc = "Divide"]
8363#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdiv[_s64]_z)"]
8364#[inline]
8365#[target_feature(enable = "sve")]
8366#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8367#[cfg_attr(test, assert_instr(sdiv))]
8368pub fn svdiv_s64_z(pg: svbool_t, op1: svint64_t, op2: svint64_t) -> svint64_t {
8369 svdiv_s64_m(pg, svsel_s64(pg, op1, svdup_n_s64(0)), op2)
8370}
8371#[doc = "Divide"]
8372#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdiv[_n_s64]_z)"]
8373#[inline]
8374#[target_feature(enable = "sve")]
8375#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8376#[cfg_attr(test, assert_instr(sdiv))]
8377pub fn svdiv_n_s64_z(pg: svbool_t, op1: svint64_t, op2: i64) -> svint64_t {
8378 svdiv_s64_z(pg, op1, svdup_n_s64(op2))
8379}
8380#[doc = "Divide"]
8381#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdiv[_u32]_m)"]
8382#[inline]
8383#[target_feature(enable = "sve")]
8384#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8385#[cfg_attr(test, assert_instr(udiv))]
8386pub fn svdiv_u32_m(pg: svbool_t, op1: svuint32_t, op2: svuint32_t) -> svuint32_t {
8387 unsafe extern "unadjusted" {
8388 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.udiv.nxv4i32")]
8389 fn _svdiv_u32_m(pg: svbool4_t, op1: svint32_t, op2: svint32_t) -> svint32_t;
8390 }
8391 unsafe { _svdiv_u32_m(pg.sve_into(), op1.as_signed(), op2.as_signed()).as_unsigned() }
8392}
8393#[doc = "Divide"]
8394#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdiv[_n_u32]_m)"]
8395#[inline]
8396#[target_feature(enable = "sve")]
8397#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8398#[cfg_attr(test, assert_instr(udiv))]
8399pub fn svdiv_n_u32_m(pg: svbool_t, op1: svuint32_t, op2: u32) -> svuint32_t {
8400 svdiv_u32_m(pg, op1, svdup_n_u32(op2))
8401}
8402#[doc = "Divide"]
8403#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdiv[_u32]_x)"]
8404#[inline]
8405#[target_feature(enable = "sve")]
8406#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8407#[cfg_attr(test, assert_instr(udiv))]
8408pub fn svdiv_u32_x(pg: svbool_t, op1: svuint32_t, op2: svuint32_t) -> svuint32_t {
8409 svdiv_u32_m(pg, op1, op2)
8410}
8411#[doc = "Divide"]
8412#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdiv[_n_u32]_x)"]
8413#[inline]
8414#[target_feature(enable = "sve")]
8415#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8416#[cfg_attr(test, assert_instr(udiv))]
8417pub fn svdiv_n_u32_x(pg: svbool_t, op1: svuint32_t, op2: u32) -> svuint32_t {
8418 svdiv_u32_x(pg, op1, svdup_n_u32(op2))
8419}
8420#[doc = "Divide"]
8421#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdiv[_u32]_z)"]
8422#[inline]
8423#[target_feature(enable = "sve")]
8424#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8425#[cfg_attr(test, assert_instr(udiv))]
8426pub fn svdiv_u32_z(pg: svbool_t, op1: svuint32_t, op2: svuint32_t) -> svuint32_t {
8427 svdiv_u32_m(pg, svsel_u32(pg, op1, svdup_n_u32(0)), op2)
8428}
8429#[doc = "Divide"]
8430#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdiv[_n_u32]_z)"]
8431#[inline]
8432#[target_feature(enable = "sve")]
8433#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8434#[cfg_attr(test, assert_instr(udiv))]
8435pub fn svdiv_n_u32_z(pg: svbool_t, op1: svuint32_t, op2: u32) -> svuint32_t {
8436 svdiv_u32_z(pg, op1, svdup_n_u32(op2))
8437}
8438#[doc = "Divide"]
8439#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdiv[_u64]_m)"]
8440#[inline]
8441#[target_feature(enable = "sve")]
8442#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8443#[cfg_attr(test, assert_instr(udiv))]
8444pub fn svdiv_u64_m(pg: svbool_t, op1: svuint64_t, op2: svuint64_t) -> svuint64_t {
8445 unsafe extern "unadjusted" {
8446 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.udiv.nxv2i64")]
8447 fn _svdiv_u64_m(pg: svbool2_t, op1: svint64_t, op2: svint64_t) -> svint64_t;
8448 }
8449 unsafe { _svdiv_u64_m(pg.sve_into(), op1.as_signed(), op2.as_signed()).as_unsigned() }
8450}
8451#[doc = "Divide"]
8452#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdiv[_n_u64]_m)"]
8453#[inline]
8454#[target_feature(enable = "sve")]
8455#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8456#[cfg_attr(test, assert_instr(udiv))]
8457pub fn svdiv_n_u64_m(pg: svbool_t, op1: svuint64_t, op2: u64) -> svuint64_t {
8458 svdiv_u64_m(pg, op1, svdup_n_u64(op2))
8459}
8460#[doc = "Divide"]
8461#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdiv[_u64]_x)"]
8462#[inline]
8463#[target_feature(enable = "sve")]
8464#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8465#[cfg_attr(test, assert_instr(udiv))]
8466pub fn svdiv_u64_x(pg: svbool_t, op1: svuint64_t, op2: svuint64_t) -> svuint64_t {
8467 svdiv_u64_m(pg, op1, op2)
8468}
8469#[doc = "Divide"]
8470#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdiv[_n_u64]_x)"]
8471#[inline]
8472#[target_feature(enable = "sve")]
8473#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8474#[cfg_attr(test, assert_instr(udiv))]
8475pub fn svdiv_n_u64_x(pg: svbool_t, op1: svuint64_t, op2: u64) -> svuint64_t {
8476 svdiv_u64_x(pg, op1, svdup_n_u64(op2))
8477}
8478#[doc = "Divide"]
8479#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdiv[_u64]_z)"]
8480#[inline]
8481#[target_feature(enable = "sve")]
8482#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8483#[cfg_attr(test, assert_instr(udiv))]
8484pub fn svdiv_u64_z(pg: svbool_t, op1: svuint64_t, op2: svuint64_t) -> svuint64_t {
8485 svdiv_u64_m(pg, svsel_u64(pg, op1, svdup_n_u64(0)), op2)
8486}
8487#[doc = "Divide"]
8488#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdiv[_n_u64]_z)"]
8489#[inline]
8490#[target_feature(enable = "sve")]
8491#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8492#[cfg_attr(test, assert_instr(udiv))]
8493pub fn svdiv_n_u64_z(pg: svbool_t, op1: svuint64_t, op2: u64) -> svuint64_t {
8494 svdiv_u64_z(pg, op1, svdup_n_u64(op2))
8495}
8496#[doc = "Divide reversed"]
8497#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdivr[_f32]_m)"]
8498#[inline]
8499#[target_feature(enable = "sve")]
8500#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8501#[cfg_attr(test, assert_instr(fdivr))]
8502pub fn svdivr_f32_m(pg: svbool_t, op1: svfloat32_t, op2: svfloat32_t) -> svfloat32_t {
8503 unsafe extern "unadjusted" {
8504 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.fdivr.nxv4f32")]
8505 fn _svdivr_f32_m(pg: svbool4_t, op1: svfloat32_t, op2: svfloat32_t) -> svfloat32_t;
8506 }
8507 unsafe { _svdivr_f32_m(pg.sve_into(), op1, op2) }
8508}
8509#[doc = "Divide reversed"]
8510#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdivr[_n_f32]_m)"]
8511#[inline]
8512#[target_feature(enable = "sve")]
8513#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8514#[cfg_attr(test, assert_instr(fdivr))]
8515pub fn svdivr_n_f32_m(pg: svbool_t, op1: svfloat32_t, op2: f32) -> svfloat32_t {
8516 svdivr_f32_m(pg, op1, svdup_n_f32(op2))
8517}
8518#[doc = "Divide reversed"]
8519#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdivr[_f32]_x)"]
8520#[inline]
8521#[target_feature(enable = "sve")]
8522#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8523#[cfg_attr(test, assert_instr(fdivr))]
8524pub fn svdivr_f32_x(pg: svbool_t, op1: svfloat32_t, op2: svfloat32_t) -> svfloat32_t {
8525 svdivr_f32_m(pg, op1, op2)
8526}
8527#[doc = "Divide reversed"]
8528#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdivr[_n_f32]_x)"]
8529#[inline]
8530#[target_feature(enable = "sve")]
8531#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8532#[cfg_attr(test, assert_instr(fdivr))]
8533pub fn svdivr_n_f32_x(pg: svbool_t, op1: svfloat32_t, op2: f32) -> svfloat32_t {
8534 svdivr_f32_x(pg, op1, svdup_n_f32(op2))
8535}
8536#[doc = "Divide reversed"]
8537#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdivr[_f32]_z)"]
8538#[inline]
8539#[target_feature(enable = "sve")]
8540#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8541#[cfg_attr(test, assert_instr(fdivr))]
8542pub fn svdivr_f32_z(pg: svbool_t, op1: svfloat32_t, op2: svfloat32_t) -> svfloat32_t {
8543 svdivr_f32_m(pg, svsel_f32(pg, op1, svdup_n_f32(0.0)), op2)
8544}
8545#[doc = "Divide reversed"]
8546#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdivr[_n_f32]_z)"]
8547#[inline]
8548#[target_feature(enable = "sve")]
8549#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8550#[cfg_attr(test, assert_instr(fdivr))]
8551pub fn svdivr_n_f32_z(pg: svbool_t, op1: svfloat32_t, op2: f32) -> svfloat32_t {
8552 svdivr_f32_z(pg, op1, svdup_n_f32(op2))
8553}
8554#[doc = "Divide reversed"]
8555#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdivr[_f64]_m)"]
8556#[inline]
8557#[target_feature(enable = "sve")]
8558#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8559#[cfg_attr(test, assert_instr(fdivr))]
8560pub fn svdivr_f64_m(pg: svbool_t, op1: svfloat64_t, op2: svfloat64_t) -> svfloat64_t {
8561 unsafe extern "unadjusted" {
8562 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.fdivr.nxv2f64")]
8563 fn _svdivr_f64_m(pg: svbool2_t, op1: svfloat64_t, op2: svfloat64_t) -> svfloat64_t;
8564 }
8565 unsafe { _svdivr_f64_m(pg.sve_into(), op1, op2) }
8566}
8567#[doc = "Divide reversed"]
8568#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdivr[_n_f64]_m)"]
8569#[inline]
8570#[target_feature(enable = "sve")]
8571#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8572#[cfg_attr(test, assert_instr(fdivr))]
8573pub fn svdivr_n_f64_m(pg: svbool_t, op1: svfloat64_t, op2: f64) -> svfloat64_t {
8574 svdivr_f64_m(pg, op1, svdup_n_f64(op2))
8575}
8576#[doc = "Divide reversed"]
8577#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdivr[_f64]_x)"]
8578#[inline]
8579#[target_feature(enable = "sve")]
8580#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8581#[cfg_attr(test, assert_instr(fdivr))]
8582pub fn svdivr_f64_x(pg: svbool_t, op1: svfloat64_t, op2: svfloat64_t) -> svfloat64_t {
8583 svdivr_f64_m(pg, op1, op2)
8584}
8585#[doc = "Divide reversed"]
8586#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdivr[_n_f64]_x)"]
8587#[inline]
8588#[target_feature(enable = "sve")]
8589#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8590#[cfg_attr(test, assert_instr(fdivr))]
8591pub fn svdivr_n_f64_x(pg: svbool_t, op1: svfloat64_t, op2: f64) -> svfloat64_t {
8592 svdivr_f64_x(pg, op1, svdup_n_f64(op2))
8593}
8594#[doc = "Divide reversed"]
8595#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdivr[_f64]_z)"]
8596#[inline]
8597#[target_feature(enable = "sve")]
8598#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8599#[cfg_attr(test, assert_instr(fdivr))]
8600pub fn svdivr_f64_z(pg: svbool_t, op1: svfloat64_t, op2: svfloat64_t) -> svfloat64_t {
8601 svdivr_f64_m(pg, svsel_f64(pg, op1, svdup_n_f64(0.0)), op2)
8602}
8603#[doc = "Divide reversed"]
8604#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdivr[_n_f64]_z)"]
8605#[inline]
8606#[target_feature(enable = "sve")]
8607#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8608#[cfg_attr(test, assert_instr(fdivr))]
8609pub fn svdivr_n_f64_z(pg: svbool_t, op1: svfloat64_t, op2: f64) -> svfloat64_t {
8610 svdivr_f64_z(pg, op1, svdup_n_f64(op2))
8611}
8612#[doc = "Divide reversed"]
8613#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdivr[_s32]_m)"]
8614#[inline]
8615#[target_feature(enable = "sve")]
8616#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8617#[cfg_attr(test, assert_instr(sdivr))]
8618pub fn svdivr_s32_m(pg: svbool_t, op1: svint32_t, op2: svint32_t) -> svint32_t {
8619 unsafe extern "unadjusted" {
8620 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.sdivr.nxv4i32")]
8621 fn _svdivr_s32_m(pg: svbool4_t, op1: svint32_t, op2: svint32_t) -> svint32_t;
8622 }
8623 unsafe { _svdivr_s32_m(pg.sve_into(), op1, op2) }
8624}
8625#[doc = "Divide reversed"]
8626#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdivr[_n_s32]_m)"]
8627#[inline]
8628#[target_feature(enable = "sve")]
8629#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8630#[cfg_attr(test, assert_instr(sdivr))]
8631pub fn svdivr_n_s32_m(pg: svbool_t, op1: svint32_t, op2: i32) -> svint32_t {
8632 svdivr_s32_m(pg, op1, svdup_n_s32(op2))
8633}
8634#[doc = "Divide reversed"]
8635#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdivr[_s32]_x)"]
8636#[inline]
8637#[target_feature(enable = "sve")]
8638#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8639#[cfg_attr(test, assert_instr(sdivr))]
8640pub fn svdivr_s32_x(pg: svbool_t, op1: svint32_t, op2: svint32_t) -> svint32_t {
8641 svdivr_s32_m(pg, op1, op2)
8642}
8643#[doc = "Divide reversed"]
8644#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdivr[_n_s32]_x)"]
8645#[inline]
8646#[target_feature(enable = "sve")]
8647#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8648#[cfg_attr(test, assert_instr(sdivr))]
8649pub fn svdivr_n_s32_x(pg: svbool_t, op1: svint32_t, op2: i32) -> svint32_t {
8650 svdivr_s32_x(pg, op1, svdup_n_s32(op2))
8651}
8652#[doc = "Divide reversed"]
8653#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdivr[_s32]_z)"]
8654#[inline]
8655#[target_feature(enable = "sve")]
8656#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8657#[cfg_attr(test, assert_instr(sdivr))]
8658pub fn svdivr_s32_z(pg: svbool_t, op1: svint32_t, op2: svint32_t) -> svint32_t {
8659 svdivr_s32_m(pg, svsel_s32(pg, op1, svdup_n_s32(0)), op2)
8660}
8661#[doc = "Divide reversed"]
8662#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdivr[_n_s32]_z)"]
8663#[inline]
8664#[target_feature(enable = "sve")]
8665#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8666#[cfg_attr(test, assert_instr(sdivr))]
8667pub fn svdivr_n_s32_z(pg: svbool_t, op1: svint32_t, op2: i32) -> svint32_t {
8668 svdivr_s32_z(pg, op1, svdup_n_s32(op2))
8669}
8670#[doc = "Divide reversed"]
8671#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdivr[_s64]_m)"]
8672#[inline]
8673#[target_feature(enable = "sve")]
8674#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8675#[cfg_attr(test, assert_instr(sdivr))]
8676pub fn svdivr_s64_m(pg: svbool_t, op1: svint64_t, op2: svint64_t) -> svint64_t {
8677 unsafe extern "unadjusted" {
8678 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.sdivr.nxv2i64")]
8679 fn _svdivr_s64_m(pg: svbool2_t, op1: svint64_t, op2: svint64_t) -> svint64_t;
8680 }
8681 unsafe { _svdivr_s64_m(pg.sve_into(), op1, op2) }
8682}
8683#[doc = "Divide reversed"]
8684#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdivr[_n_s64]_m)"]
8685#[inline]
8686#[target_feature(enable = "sve")]
8687#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8688#[cfg_attr(test, assert_instr(sdivr))]
8689pub fn svdivr_n_s64_m(pg: svbool_t, op1: svint64_t, op2: i64) -> svint64_t {
8690 svdivr_s64_m(pg, op1, svdup_n_s64(op2))
8691}
8692#[doc = "Divide reversed"]
8693#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdivr[_s64]_x)"]
8694#[inline]
8695#[target_feature(enable = "sve")]
8696#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8697#[cfg_attr(test, assert_instr(sdivr))]
8698pub fn svdivr_s64_x(pg: svbool_t, op1: svint64_t, op2: svint64_t) -> svint64_t {
8699 svdivr_s64_m(pg, op1, op2)
8700}
8701#[doc = "Divide reversed"]
8702#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdivr[_n_s64]_x)"]
8703#[inline]
8704#[target_feature(enable = "sve")]
8705#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8706#[cfg_attr(test, assert_instr(sdivr))]
8707pub fn svdivr_n_s64_x(pg: svbool_t, op1: svint64_t, op2: i64) -> svint64_t {
8708 svdivr_s64_x(pg, op1, svdup_n_s64(op2))
8709}
8710#[doc = "Divide reversed"]
8711#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdivr[_s64]_z)"]
8712#[inline]
8713#[target_feature(enable = "sve")]
8714#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8715#[cfg_attr(test, assert_instr(sdivr))]
8716pub fn svdivr_s64_z(pg: svbool_t, op1: svint64_t, op2: svint64_t) -> svint64_t {
8717 svdivr_s64_m(pg, svsel_s64(pg, op1, svdup_n_s64(0)), op2)
8718}
8719#[doc = "Divide reversed"]
8720#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdivr[_n_s64]_z)"]
8721#[inline]
8722#[target_feature(enable = "sve")]
8723#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8724#[cfg_attr(test, assert_instr(sdivr))]
8725pub fn svdivr_n_s64_z(pg: svbool_t, op1: svint64_t, op2: i64) -> svint64_t {
8726 svdivr_s64_z(pg, op1, svdup_n_s64(op2))
8727}
8728#[doc = "Divide reversed"]
8729#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdivr[_u32]_m)"]
8730#[inline]
8731#[target_feature(enable = "sve")]
8732#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8733#[cfg_attr(test, assert_instr(udivr))]
8734pub fn svdivr_u32_m(pg: svbool_t, op1: svuint32_t, op2: svuint32_t) -> svuint32_t {
8735 unsafe extern "unadjusted" {
8736 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.udivr.nxv4i32")]
8737 fn _svdivr_u32_m(pg: svbool4_t, op1: svint32_t, op2: svint32_t) -> svint32_t;
8738 }
8739 unsafe { _svdivr_u32_m(pg.sve_into(), op1.as_signed(), op2.as_signed()).as_unsigned() }
8740}
8741#[doc = "Divide reversed"]
8742#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdivr[_n_u32]_m)"]
8743#[inline]
8744#[target_feature(enable = "sve")]
8745#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8746#[cfg_attr(test, assert_instr(udivr))]
8747pub fn svdivr_n_u32_m(pg: svbool_t, op1: svuint32_t, op2: u32) -> svuint32_t {
8748 svdivr_u32_m(pg, op1, svdup_n_u32(op2))
8749}
8750#[doc = "Divide reversed"]
8751#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdivr[_u32]_x)"]
8752#[inline]
8753#[target_feature(enable = "sve")]
8754#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8755#[cfg_attr(test, assert_instr(udivr))]
8756pub fn svdivr_u32_x(pg: svbool_t, op1: svuint32_t, op2: svuint32_t) -> svuint32_t {
8757 svdivr_u32_m(pg, op1, op2)
8758}
8759#[doc = "Divide reversed"]
8760#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdivr[_n_u32]_x)"]
8761#[inline]
8762#[target_feature(enable = "sve")]
8763#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8764#[cfg_attr(test, assert_instr(udivr))]
8765pub fn svdivr_n_u32_x(pg: svbool_t, op1: svuint32_t, op2: u32) -> svuint32_t {
8766 svdivr_u32_x(pg, op1, svdup_n_u32(op2))
8767}
8768#[doc = "Divide reversed"]
8769#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdivr[_u32]_z)"]
8770#[inline]
8771#[target_feature(enable = "sve")]
8772#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8773#[cfg_attr(test, assert_instr(udivr))]
8774pub fn svdivr_u32_z(pg: svbool_t, op1: svuint32_t, op2: svuint32_t) -> svuint32_t {
8775 svdivr_u32_m(pg, svsel_u32(pg, op1, svdup_n_u32(0)), op2)
8776}
8777#[doc = "Divide reversed"]
8778#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdivr[_n_u32]_z)"]
8779#[inline]
8780#[target_feature(enable = "sve")]
8781#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8782#[cfg_attr(test, assert_instr(udivr))]
8783pub fn svdivr_n_u32_z(pg: svbool_t, op1: svuint32_t, op2: u32) -> svuint32_t {
8784 svdivr_u32_z(pg, op1, svdup_n_u32(op2))
8785}
8786#[doc = "Divide reversed"]
8787#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdivr[_u64]_m)"]
8788#[inline]
8789#[target_feature(enable = "sve")]
8790#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8791#[cfg_attr(test, assert_instr(udivr))]
8792pub fn svdivr_u64_m(pg: svbool_t, op1: svuint64_t, op2: svuint64_t) -> svuint64_t {
8793 unsafe extern "unadjusted" {
8794 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.udivr.nxv2i64")]
8795 fn _svdivr_u64_m(pg: svbool2_t, op1: svint64_t, op2: svint64_t) -> svint64_t;
8796 }
8797 unsafe { _svdivr_u64_m(pg.sve_into(), op1.as_signed(), op2.as_signed()).as_unsigned() }
8798}
8799#[doc = "Divide reversed"]
8800#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdivr[_n_u64]_m)"]
8801#[inline]
8802#[target_feature(enable = "sve")]
8803#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8804#[cfg_attr(test, assert_instr(udivr))]
8805pub fn svdivr_n_u64_m(pg: svbool_t, op1: svuint64_t, op2: u64) -> svuint64_t {
8806 svdivr_u64_m(pg, op1, svdup_n_u64(op2))
8807}
8808#[doc = "Divide reversed"]
8809#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdivr[_u64]_x)"]
8810#[inline]
8811#[target_feature(enable = "sve")]
8812#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8813#[cfg_attr(test, assert_instr(udivr))]
8814pub fn svdivr_u64_x(pg: svbool_t, op1: svuint64_t, op2: svuint64_t) -> svuint64_t {
8815 svdivr_u64_m(pg, op1, op2)
8816}
8817#[doc = "Divide reversed"]
8818#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdivr[_n_u64]_x)"]
8819#[inline]
8820#[target_feature(enable = "sve")]
8821#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8822#[cfg_attr(test, assert_instr(udivr))]
8823pub fn svdivr_n_u64_x(pg: svbool_t, op1: svuint64_t, op2: u64) -> svuint64_t {
8824 svdivr_u64_x(pg, op1, svdup_n_u64(op2))
8825}
8826#[doc = "Divide reversed"]
8827#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdivr[_u64]_z)"]
8828#[inline]
8829#[target_feature(enable = "sve")]
8830#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8831#[cfg_attr(test, assert_instr(udivr))]
8832pub fn svdivr_u64_z(pg: svbool_t, op1: svuint64_t, op2: svuint64_t) -> svuint64_t {
8833 svdivr_u64_m(pg, svsel_u64(pg, op1, svdup_n_u64(0)), op2)
8834}
8835#[doc = "Divide reversed"]
8836#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdivr[_n_u64]_z)"]
8837#[inline]
8838#[target_feature(enable = "sve")]
8839#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8840#[cfg_attr(test, assert_instr(udivr))]
8841pub fn svdivr_n_u64_z(pg: svbool_t, op1: svuint64_t, op2: u64) -> svuint64_t {
8842 svdivr_u64_z(pg, op1, svdup_n_u64(op2))
8843}
8844#[doc = "Dot product"]
8845#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdot_lane[_s32])"]
8846#[inline]
8847#[target_feature(enable = "sve")]
8848#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8849#[cfg_attr(test, assert_instr(sdot, IMM_INDEX = 0))]
8850pub fn svdot_lane_s32<const IMM_INDEX: i32>(
8851 op1: svint32_t,
8852 op2: svint8_t,
8853 op3: svint8_t,
8854) -> svint32_t {
8855 static_assert_range!(IMM_INDEX, 0..=3);
8856 unsafe extern "unadjusted" {
8857 #[cfg_attr(
8858 target_arch = "aarch64",
8859 link_name = "llvm.aarch64.sve.sdot.lane.nxv4i32"
8860 )]
8861 fn _svdot_lane_s32(
8862 op1: svint32_t,
8863 op2: svint8_t,
8864 op3: svint8_t,
8865 imm_index: i32,
8866 ) -> svint32_t;
8867 }
8868 unsafe { _svdot_lane_s32(op1, op2, op3, IMM_INDEX) }
8869}
8870#[doc = "Dot product"]
8871#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdot_lane[_s64])"]
8872#[inline]
8873#[target_feature(enable = "sve")]
8874#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8875#[cfg_attr(test, assert_instr(sdot, IMM_INDEX = 0))]
8876pub fn svdot_lane_s64<const IMM_INDEX: i32>(
8877 op1: svint64_t,
8878 op2: svint16_t,
8879 op3: svint16_t,
8880) -> svint64_t {
8881 static_assert_range!(IMM_INDEX, 0..=1);
8882 unsafe extern "unadjusted" {
8883 #[cfg_attr(
8884 target_arch = "aarch64",
8885 link_name = "llvm.aarch64.sve.sdot.lane.nxv2i64"
8886 )]
8887 fn _svdot_lane_s64(
8888 op1: svint64_t,
8889 op2: svint16_t,
8890 op3: svint16_t,
8891 imm_index: i32,
8892 ) -> svint64_t;
8893 }
8894 unsafe { _svdot_lane_s64(op1, op2, op3, IMM_INDEX) }
8895}
8896#[doc = "Dot product"]
8897#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdot_lane[_u32])"]
8898#[inline]
8899#[target_feature(enable = "sve")]
8900#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8901#[cfg_attr(test, assert_instr(udot, IMM_INDEX = 0))]
8902pub fn svdot_lane_u32<const IMM_INDEX: i32>(
8903 op1: svuint32_t,
8904 op2: svuint8_t,
8905 op3: svuint8_t,
8906) -> svuint32_t {
8907 static_assert_range!(IMM_INDEX, 0..=3);
8908 unsafe extern "unadjusted" {
8909 #[cfg_attr(
8910 target_arch = "aarch64",
8911 link_name = "llvm.aarch64.sve.udot.lane.nxv4i32"
8912 )]
8913 fn _svdot_lane_u32(
8914 op1: svint32_t,
8915 op2: svint8_t,
8916 op3: svint8_t,
8917 imm_index: i32,
8918 ) -> svint32_t;
8919 }
8920 unsafe {
8921 _svdot_lane_u32(op1.as_signed(), op2.as_signed(), op3.as_signed(), IMM_INDEX).as_unsigned()
8922 }
8923}
8924#[doc = "Dot product"]
8925#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdot_lane[_u64])"]
8926#[inline]
8927#[target_feature(enable = "sve")]
8928#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8929#[cfg_attr(test, assert_instr(udot, IMM_INDEX = 0))]
8930pub fn svdot_lane_u64<const IMM_INDEX: i32>(
8931 op1: svuint64_t,
8932 op2: svuint16_t,
8933 op3: svuint16_t,
8934) -> svuint64_t {
8935 static_assert_range!(IMM_INDEX, 0..=1);
8936 unsafe extern "unadjusted" {
8937 #[cfg_attr(
8938 target_arch = "aarch64",
8939 link_name = "llvm.aarch64.sve.udot.lane.nxv2i64"
8940 )]
8941 fn _svdot_lane_u64(
8942 op1: svint64_t,
8943 op2: svint16_t,
8944 op3: svint16_t,
8945 imm_index: i32,
8946 ) -> svint64_t;
8947 }
8948 unsafe {
8949 _svdot_lane_u64(op1.as_signed(), op2.as_signed(), op3.as_signed(), IMM_INDEX).as_unsigned()
8950 }
8951}
8952#[doc = "Dot product"]
8953#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdot[_s32])"]
8954#[inline]
8955#[target_feature(enable = "sve")]
8956#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8957#[cfg_attr(test, assert_instr(sdot))]
8958pub fn svdot_s32(op1: svint32_t, op2: svint8_t, op3: svint8_t) -> svint32_t {
8959 unsafe extern "unadjusted" {
8960 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.sdot.nxv4i32")]
8961 fn _svdot_s32(op1: svint32_t, op2: svint8_t, op3: svint8_t) -> svint32_t;
8962 }
8963 unsafe { _svdot_s32(op1, op2, op3) }
8964}
8965#[doc = "Dot product"]
8966#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdot[_n_s32])"]
8967#[inline]
8968#[target_feature(enable = "sve")]
8969#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8970#[cfg_attr(test, assert_instr(sdot))]
8971pub fn svdot_n_s32(op1: svint32_t, op2: svint8_t, op3: i8) -> svint32_t {
8972 svdot_s32(op1, op2, svdup_n_s8(op3))
8973}
8974#[doc = "Dot product"]
8975#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdot[_s64])"]
8976#[inline]
8977#[target_feature(enable = "sve")]
8978#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8979#[cfg_attr(test, assert_instr(sdot))]
8980pub fn svdot_s64(op1: svint64_t, op2: svint16_t, op3: svint16_t) -> svint64_t {
8981 unsafe extern "unadjusted" {
8982 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.sdot.nxv2i64")]
8983 fn _svdot_s64(op1: svint64_t, op2: svint16_t, op3: svint16_t) -> svint64_t;
8984 }
8985 unsafe { _svdot_s64(op1, op2, op3) }
8986}
8987#[doc = "Dot product"]
8988#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdot[_n_s64])"]
8989#[inline]
8990#[target_feature(enable = "sve")]
8991#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8992#[cfg_attr(test, assert_instr(sdot))]
8993pub fn svdot_n_s64(op1: svint64_t, op2: svint16_t, op3: i16) -> svint64_t {
8994 svdot_s64(op1, op2, svdup_n_s16(op3))
8995}
8996#[doc = "Dot product"]
8997#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdot[_u32])"]
8998#[inline]
8999#[target_feature(enable = "sve")]
9000#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
9001#[cfg_attr(test, assert_instr(udot))]
9002pub fn svdot_u32(op1: svuint32_t, op2: svuint8_t, op3: svuint8_t) -> svuint32_t {
9003 unsafe extern "unadjusted" {
9004 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.udot.nxv4i32")]
9005 fn _svdot_u32(op1: svint32_t, op2: svint8_t, op3: svint8_t) -> svint32_t;
9006 }
9007 unsafe { _svdot_u32(op1.as_signed(), op2.as_signed(), op3.as_signed()).as_unsigned() }
9008}
9009#[doc = "Dot product"]
9010#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdot[_n_u32])"]
9011#[inline]
9012#[target_feature(enable = "sve")]
9013#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
9014#[cfg_attr(test, assert_instr(udot))]
9015pub fn svdot_n_u32(op1: svuint32_t, op2: svuint8_t, op3: u8) -> svuint32_t {
9016 svdot_u32(op1, op2, svdup_n_u8(op3))
9017}
9018#[doc = "Dot product"]
9019#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdot[_u64])"]
9020#[inline]
9021#[target_feature(enable = "sve")]
9022#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
9023#[cfg_attr(test, assert_instr(udot))]
9024pub fn svdot_u64(op1: svuint64_t, op2: svuint16_t, op3: svuint16_t) -> svuint64_t {
9025 unsafe extern "unadjusted" {
9026 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.udot.nxv2i64")]
9027 fn _svdot_u64(op1: svint64_t, op2: svint16_t, op3: svint16_t) -> svint64_t;
9028 }
9029 unsafe { _svdot_u64(op1.as_signed(), op2.as_signed(), op3.as_signed()).as_unsigned() }
9030}
9031#[doc = "Dot product"]
9032#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdot[_n_u64])"]
9033#[inline]
9034#[target_feature(enable = "sve")]
9035#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
9036#[cfg_attr(test, assert_instr(udot))]
9037pub fn svdot_n_u64(op1: svuint64_t, op2: svuint16_t, op3: u16) -> svuint64_t {
9038 svdot_u64(op1, op2, svdup_n_u16(op3))
9039}
9040#[doc = "Broadcast a scalar value"]
9041#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdup_lane[_f32])"]
9042#[inline]
9043#[target_feature(enable = "sve")]
9044#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
9045#[cfg_attr(test, assert_instr(tbl))]
9046pub fn svdup_lane_f32(data: svfloat32_t, index: u32) -> svfloat32_t {
9047 svtbl_f32(data, svdup_n_u32(index))
9048}
9049#[doc = "Broadcast a scalar value"]
9050#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdup_lane[_f64])"]
9051#[inline]
9052#[target_feature(enable = "sve")]
9053#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
9054#[cfg_attr(test, assert_instr(tbl))]
9055pub fn svdup_lane_f64(data: svfloat64_t, index: u64) -> svfloat64_t {
9056 svtbl_f64(data, svdup_n_u64(index))
9057}
9058#[doc = "Broadcast a scalar value"]
9059#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdup_lane[_s8])"]
9060#[inline]
9061#[target_feature(enable = "sve")]
9062#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
9063#[cfg_attr(test, assert_instr(tbl))]
9064pub fn svdup_lane_s8(data: svint8_t, index: u8) -> svint8_t {
9065 svtbl_s8(data, svdup_n_u8(index))
9066}
9067#[doc = "Broadcast a scalar value"]
9068#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdup_lane[_s16])"]
9069#[inline]
9070#[target_feature(enable = "sve")]
9071#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
9072#[cfg_attr(test, assert_instr(tbl))]
9073pub fn svdup_lane_s16(data: svint16_t, index: u16) -> svint16_t {
9074 svtbl_s16(data, svdup_n_u16(index))
9075}
9076#[doc = "Broadcast a scalar value"]
9077#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdup_lane[_s32])"]
9078#[inline]
9079#[target_feature(enable = "sve")]
9080#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
9081#[cfg_attr(test, assert_instr(tbl))]
9082pub fn svdup_lane_s32(data: svint32_t, index: u32) -> svint32_t {
9083 svtbl_s32(data, svdup_n_u32(index))
9084}
9085#[doc = "Broadcast a scalar value"]
9086#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdup_lane[_s64])"]
9087#[inline]
9088#[target_feature(enable = "sve")]
9089#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
9090#[cfg_attr(test, assert_instr(tbl))]
9091pub fn svdup_lane_s64(data: svint64_t, index: u64) -> svint64_t {
9092 svtbl_s64(data, svdup_n_u64(index))
9093}
9094#[doc = "Broadcast a scalar value"]
9095#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdup_lane[_u8])"]
9096#[inline]
9097#[target_feature(enable = "sve")]
9098#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
9099#[cfg_attr(test, assert_instr(tbl))]
9100pub fn svdup_lane_u8(data: svuint8_t, index: u8) -> svuint8_t {
9101 svtbl_u8(data, svdup_n_u8(index))
9102}
9103#[doc = "Broadcast a scalar value"]
9104#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdup_lane[_u16])"]
9105#[inline]
9106#[target_feature(enable = "sve")]
9107#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
9108#[cfg_attr(test, assert_instr(tbl))]
9109pub fn svdup_lane_u16(data: svuint16_t, index: u16) -> svuint16_t {
9110 svtbl_u16(data, svdup_n_u16(index))
9111}
9112#[doc = "Broadcast a scalar value"]
9113#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdup_lane[_u32])"]
9114#[inline]
9115#[target_feature(enable = "sve")]
9116#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
9117#[cfg_attr(test, assert_instr(tbl))]
9118pub fn svdup_lane_u32(data: svuint32_t, index: u32) -> svuint32_t {
9119 svtbl_u32(data, svdup_n_u32(index))
9120}
9121#[doc = "Broadcast a scalar value"]
9122#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdup_lane[_u64])"]
9123#[inline]
9124#[target_feature(enable = "sve")]
9125#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
9126#[cfg_attr(test, assert_instr(tbl))]
9127pub fn svdup_lane_u64(data: svuint64_t, index: u64) -> svuint64_t {
9128 svtbl_u64(data, svdup_n_u64(index))
9129}
9130#[doc = "Broadcast a scalar value"]
9131#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdup[_n]_b8)"]
9132#[inline]
9133#[target_feature(enable = "sve")]
9134#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
9135#[cfg_attr(test, assert_instr(sbfx))]
9136#[cfg_attr(test, assert_instr(whilelo))]
9137pub fn svdup_n_b8(op: bool) -> svbool_t {
9138 unsafe extern "unadjusted" {
9139 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.dup.x.nxv16i1")]
9140 fn _svdup_n_b8(op: bool) -> svbool_t;
9141 }
9142 unsafe { _svdup_n_b8(op) }
9143}
9144#[doc = "Broadcast a scalar value"]
9145#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdup[_n]_b16)"]
9146#[inline]
9147#[target_feature(enable = "sve")]
9148#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
9149#[cfg_attr(test, assert_instr(sbfx))]
9150#[cfg_attr(test, assert_instr(whilelo))]
9151pub fn svdup_n_b16(op: bool) -> svbool_t {
9152 unsafe extern "unadjusted" {
9153 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.dup.x.nxv8i1")]
9154 fn _svdup_n_b16(op: bool) -> svbool8_t;
9155 }
9156 unsafe { _svdup_n_b16(op).sve_into() }
9157}
9158#[doc = "Broadcast a scalar value"]
9159#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdup[_n]_b32)"]
9160#[inline]
9161#[target_feature(enable = "sve")]
9162#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
9163#[cfg_attr(test, assert_instr(sbfx))]
9164#[cfg_attr(test, assert_instr(whilelo))]
9165pub fn svdup_n_b32(op: bool) -> svbool_t {
9166 unsafe extern "unadjusted" {
9167 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.dup.x.nxv4i1")]
9168 fn _svdup_n_b32(op: bool) -> svbool4_t;
9169 }
9170 unsafe { _svdup_n_b32(op).sve_into() }
9171}
9172#[doc = "Broadcast a scalar value"]
9173#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdup[_n]_b64)"]
9174#[inline]
9175#[target_feature(enable = "sve")]
9176#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
9177#[cfg_attr(test, assert_instr(sbfx))]
9178#[cfg_attr(test, assert_instr(whilelo))]
9179pub fn svdup_n_b64(op: bool) -> svbool_t {
9180 unsafe extern "unadjusted" {
9181 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.dup.x.nxv2i1")]
9182 fn _svdup_n_b64(op: bool) -> svbool2_t;
9183 }
9184 unsafe { _svdup_n_b64(op).sve_into() }
9185}
9186#[doc = "Broadcast a scalar value"]
9187#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdup[_n]_f32)"]
9188#[inline]
9189#[target_feature(enable = "sve")]
9190#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
9191#[cfg_attr(test, assert_instr(mov))]
9192pub fn svdup_n_f32(op: f32) -> svfloat32_t {
9193 unsafe extern "unadjusted" {
9194 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.dup.x.nxv4f32")]
9195 fn _svdup_n_f32(op: f32) -> svfloat32_t;
9196 }
9197 unsafe { _svdup_n_f32(op) }
9198}
9199#[doc = "Broadcast a scalar value"]
9200#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdup[_n]_f64)"]
9201#[inline]
9202#[target_feature(enable = "sve")]
9203#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
9204#[cfg_attr(test, assert_instr(mov))]
9205pub fn svdup_n_f64(op: f64) -> svfloat64_t {
9206 unsafe extern "unadjusted" {
9207 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.dup.x.nxv2f64")]
9208 fn _svdup_n_f64(op: f64) -> svfloat64_t;
9209 }
9210 unsafe { _svdup_n_f64(op) }
9211}
9212#[doc = "Broadcast a scalar value"]
9213#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdup[_n]_s8)"]
9214#[inline]
9215#[target_feature(enable = "sve")]
9216#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
9217#[cfg_attr(test, assert_instr(mov))]
9218pub fn svdup_n_s8(op: i8) -> svint8_t {
9219 unsafe extern "unadjusted" {
9220 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.dup.x.nxv16i8")]
9221 fn _svdup_n_s8(op: i8) -> svint8_t;
9222 }
9223 unsafe { _svdup_n_s8(op) }
9224}
9225#[doc = "Broadcast a scalar value"]
9226#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdup[_n]_s16)"]
9227#[inline]
9228#[target_feature(enable = "sve")]
9229#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
9230#[cfg_attr(test, assert_instr(mov))]
9231pub fn svdup_n_s16(op: i16) -> svint16_t {
9232 unsafe extern "unadjusted" {
9233 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.dup.x.nxv8i16")]
9234 fn _svdup_n_s16(op: i16) -> svint16_t;
9235 }
9236 unsafe { _svdup_n_s16(op) }
9237}
9238#[doc = "Broadcast a scalar value"]
9239#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdup[_n]_s32)"]
9240#[inline]
9241#[target_feature(enable = "sve")]
9242#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
9243#[cfg_attr(test, assert_instr(mov))]
9244pub fn svdup_n_s32(op: i32) -> svint32_t {
9245 unsafe extern "unadjusted" {
9246 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.dup.x.nxv4i32")]
9247 fn _svdup_n_s32(op: i32) -> svint32_t;
9248 }
9249 unsafe { _svdup_n_s32(op) }
9250}
9251#[doc = "Broadcast a scalar value"]
9252#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdup[_n]_s64)"]
9253#[inline]
9254#[target_feature(enable = "sve")]
9255#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
9256#[cfg_attr(test, assert_instr(mov))]
9257pub fn svdup_n_s64(op: i64) -> svint64_t {
9258 unsafe extern "unadjusted" {
9259 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.dup.x.nxv2i64")]
9260 fn _svdup_n_s64(op: i64) -> svint64_t;
9261 }
9262 unsafe { _svdup_n_s64(op) }
9263}
9264#[doc = "Broadcast a scalar value"]
9265#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdup[_n]_u8)"]
9266#[inline]
9267#[target_feature(enable = "sve")]
9268#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
9269#[cfg_attr(test, assert_instr(mov))]
9270pub fn svdup_n_u8(op: u8) -> svuint8_t {
9271 unsafe { svdup_n_s8(op.as_signed()).as_unsigned() }
9272}
9273#[doc = "Broadcast a scalar value"]
9274#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdup[_n]_u16)"]
9275#[inline]
9276#[target_feature(enable = "sve")]
9277#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
9278#[cfg_attr(test, assert_instr(mov))]
9279pub fn svdup_n_u16(op: u16) -> svuint16_t {
9280 unsafe { svdup_n_s16(op.as_signed()).as_unsigned() }
9281}
9282#[doc = "Broadcast a scalar value"]
9283#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdup[_n]_u32)"]
9284#[inline]
9285#[target_feature(enable = "sve")]
9286#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
9287#[cfg_attr(test, assert_instr(mov))]
9288pub fn svdup_n_u32(op: u32) -> svuint32_t {
9289 unsafe { svdup_n_s32(op.as_signed()).as_unsigned() }
9290}
9291#[doc = "Broadcast a scalar value"]
9292#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdup[_n]_u64)"]
9293#[inline]
9294#[target_feature(enable = "sve")]
9295#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
9296#[cfg_attr(test, assert_instr(mov))]
9297pub fn svdup_n_u64(op: u64) -> svuint64_t {
9298 unsafe { svdup_n_s64(op.as_signed()).as_unsigned() }
9299}
9300#[doc = "Broadcast a scalar value"]
9301#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdup[_n]_f32_m)"]
9302#[inline]
9303#[target_feature(enable = "sve")]
9304#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
9305#[cfg_attr(test, assert_instr(mov))]
9306pub fn svdup_n_f32_m(inactive: svfloat32_t, pg: svbool_t, op: f32) -> svfloat32_t {
9307 unsafe extern "unadjusted" {
9308 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.dup.nxv4f32")]
9309 fn _svdup_n_f32_m(inactive: svfloat32_t, pg: svbool4_t, op: f32) -> svfloat32_t;
9310 }
9311 unsafe { _svdup_n_f32_m(inactive, pg.sve_into(), op) }
9312}
9313#[doc = "Broadcast a scalar value"]
9314#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdup[_n]_f32_x)"]
9315#[inline]
9316#[target_feature(enable = "sve")]
9317#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
9318#[cfg_attr(test, assert_instr(mov))]
9319pub fn svdup_n_f32_x(pg: svbool_t, op: f32) -> svfloat32_t {
9320 svdup_n_f32_m(svdup_n_f32(0.0), pg, op)
9321}
9322#[doc = "Broadcast a scalar value"]
9323#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdup[_n]_f32_z)"]
9324#[inline]
9325#[target_feature(enable = "sve")]
9326#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
9327#[cfg_attr(test, assert_instr(mov))]
9328pub fn svdup_n_f32_z(pg: svbool_t, op: f32) -> svfloat32_t {
9329 svdup_n_f32_m(svdup_n_f32(0.0), pg, op)
9330}
9331#[doc = "Broadcast a scalar value"]
9332#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdup[_n]_f64_m)"]
9333#[inline]
9334#[target_feature(enable = "sve")]
9335#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
9336#[cfg_attr(test, assert_instr(mov))]
9337pub fn svdup_n_f64_m(inactive: svfloat64_t, pg: svbool_t, op: f64) -> svfloat64_t {
9338 unsafe extern "unadjusted" {
9339 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.dup.nxv2f64")]
9340 fn _svdup_n_f64_m(inactive: svfloat64_t, pg: svbool2_t, op: f64) -> svfloat64_t;
9341 }
9342 unsafe { _svdup_n_f64_m(inactive, pg.sve_into(), op) }
9343}
9344#[doc = "Broadcast a scalar value"]
9345#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdup[_n]_f64_x)"]
9346#[inline]
9347#[target_feature(enable = "sve")]
9348#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
9349#[cfg_attr(test, assert_instr(mov))]
9350pub fn svdup_n_f64_x(pg: svbool_t, op: f64) -> svfloat64_t {
9351 svdup_n_f64_m(svdup_n_f64(0.0), pg, op)
9352}
9353#[doc = "Broadcast a scalar value"]
9354#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdup[_n]_f64_z)"]
9355#[inline]
9356#[target_feature(enable = "sve")]
9357#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
9358#[cfg_attr(test, assert_instr(mov))]
9359pub fn svdup_n_f64_z(pg: svbool_t, op: f64) -> svfloat64_t {
9360 svdup_n_f64_m(svdup_n_f64(0.0), pg, op)
9361}
9362#[doc = "Broadcast a scalar value"]
9363#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdup[_n]_s8_m)"]
9364#[inline]
9365#[target_feature(enable = "sve")]
9366#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
9367#[cfg_attr(test, assert_instr(mov))]
9368pub fn svdup_n_s8_m(inactive: svint8_t, pg: svbool_t, op: i8) -> svint8_t {
9369 unsafe extern "unadjusted" {
9370 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.dup.nxv16i8")]
9371 fn _svdup_n_s8_m(inactive: svint8_t, pg: svbool_t, op: i8) -> svint8_t;
9372 }
9373 unsafe { _svdup_n_s8_m(inactive, pg, op) }
9374}
9375#[doc = "Broadcast a scalar value"]
9376#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdup[_n]_s8_x)"]
9377#[inline]
9378#[target_feature(enable = "sve")]
9379#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
9380#[cfg_attr(test, assert_instr(mov))]
9381pub fn svdup_n_s8_x(pg: svbool_t, op: i8) -> svint8_t {
9382 svdup_n_s8_m(svdup_n_s8(0), pg, op)
9383}
9384#[doc = "Broadcast a scalar value"]
9385#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdup[_n]_s8_z)"]
9386#[inline]
9387#[target_feature(enable = "sve")]
9388#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
9389#[cfg_attr(test, assert_instr(mov))]
9390pub fn svdup_n_s8_z(pg: svbool_t, op: i8) -> svint8_t {
9391 svdup_n_s8_m(svdup_n_s8(0), pg, op)
9392}
9393#[doc = "Broadcast a scalar value"]
9394#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdup[_n]_s16_m)"]
9395#[inline]
9396#[target_feature(enable = "sve")]
9397#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
9398#[cfg_attr(test, assert_instr(mov))]
9399pub fn svdup_n_s16_m(inactive: svint16_t, pg: svbool_t, op: i16) -> svint16_t {
9400 unsafe extern "unadjusted" {
9401 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.dup.nxv8i16")]
9402 fn _svdup_n_s16_m(inactive: svint16_t, pg: svbool8_t, op: i16) -> svint16_t;
9403 }
9404 unsafe { _svdup_n_s16_m(inactive, pg.sve_into(), op) }
9405}
9406#[doc = "Broadcast a scalar value"]
9407#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdup[_n]_s16_x)"]
9408#[inline]
9409#[target_feature(enable = "sve")]
9410#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
9411#[cfg_attr(test, assert_instr(mov))]
9412pub fn svdup_n_s16_x(pg: svbool_t, op: i16) -> svint16_t {
9413 svdup_n_s16_m(svdup_n_s16(0), pg, op)
9414}
9415#[doc = "Broadcast a scalar value"]
9416#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdup[_n]_s16_z)"]
9417#[inline]
9418#[target_feature(enable = "sve")]
9419#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
9420#[cfg_attr(test, assert_instr(mov))]
9421pub fn svdup_n_s16_z(pg: svbool_t, op: i16) -> svint16_t {
9422 svdup_n_s16_m(svdup_n_s16(0), pg, op)
9423}
9424#[doc = "Broadcast a scalar value"]
9425#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdup[_n]_s32_m)"]
9426#[inline]
9427#[target_feature(enable = "sve")]
9428#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
9429#[cfg_attr(test, assert_instr(mov))]
9430pub fn svdup_n_s32_m(inactive: svint32_t, pg: svbool_t, op: i32) -> svint32_t {
9431 unsafe extern "unadjusted" {
9432 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.dup.nxv4i32")]
9433 fn _svdup_n_s32_m(inactive: svint32_t, pg: svbool4_t, op: i32) -> svint32_t;
9434 }
9435 unsafe { _svdup_n_s32_m(inactive, pg.sve_into(), op) }
9436}
9437#[doc = "Broadcast a scalar value"]
9438#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdup[_n]_s32_x)"]
9439#[inline]
9440#[target_feature(enable = "sve")]
9441#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
9442#[cfg_attr(test, assert_instr(mov))]
9443pub fn svdup_n_s32_x(pg: svbool_t, op: i32) -> svint32_t {
9444 svdup_n_s32_m(svdup_n_s32(0), pg, op)
9445}
9446#[doc = "Broadcast a scalar value"]
9447#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdup[_n]_s32_z)"]
9448#[inline]
9449#[target_feature(enable = "sve")]
9450#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
9451#[cfg_attr(test, assert_instr(mov))]
9452pub fn svdup_n_s32_z(pg: svbool_t, op: i32) -> svint32_t {
9453 svdup_n_s32_m(svdup_n_s32(0), pg, op)
9454}
9455#[doc = "Broadcast a scalar value"]
9456#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdup[_n]_s64_m)"]
9457#[inline]
9458#[target_feature(enable = "sve")]
9459#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
9460#[cfg_attr(test, assert_instr(mov))]
9461pub fn svdup_n_s64_m(inactive: svint64_t, pg: svbool_t, op: i64) -> svint64_t {
9462 unsafe extern "unadjusted" {
9463 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.dup.nxv2i64")]
9464 fn _svdup_n_s64_m(inactive: svint64_t, pg: svbool2_t, op: i64) -> svint64_t;
9465 }
9466 unsafe { _svdup_n_s64_m(inactive, pg.sve_into(), op) }
9467}
9468#[doc = "Broadcast a scalar value"]
9469#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdup[_n]_s64_x)"]
9470#[inline]
9471#[target_feature(enable = "sve")]
9472#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
9473#[cfg_attr(test, assert_instr(mov))]
9474pub fn svdup_n_s64_x(pg: svbool_t, op: i64) -> svint64_t {
9475 svdup_n_s64_m(svdup_n_s64(0), pg, op)
9476}
9477#[doc = "Broadcast a scalar value"]
9478#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdup[_n]_s64_z)"]
9479#[inline]
9480#[target_feature(enable = "sve")]
9481#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
9482#[cfg_attr(test, assert_instr(mov))]
9483pub fn svdup_n_s64_z(pg: svbool_t, op: i64) -> svint64_t {
9484 svdup_n_s64_m(svdup_n_s64(0), pg, op)
9485}
9486#[doc = "Broadcast a scalar value"]
9487#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdup[_n]_u8_m)"]
9488#[inline]
9489#[target_feature(enable = "sve")]
9490#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
9491#[cfg_attr(test, assert_instr(mov))]
9492pub fn svdup_n_u8_m(inactive: svuint8_t, pg: svbool_t, op: u8) -> svuint8_t {
9493 unsafe { svdup_n_s8_m(inactive.as_signed(), pg, op.as_signed()).as_unsigned() }
9494}
9495#[doc = "Broadcast a scalar value"]
9496#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdup[_n]_u8_x)"]
9497#[inline]
9498#[target_feature(enable = "sve")]
9499#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
9500#[cfg_attr(test, assert_instr(mov))]
9501pub fn svdup_n_u8_x(pg: svbool_t, op: u8) -> svuint8_t {
9502 svdup_n_u8_m(svdup_n_u8(0), pg, op)
9503}
9504#[doc = "Broadcast a scalar value"]
9505#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdup[_n]_u8_z)"]
9506#[inline]
9507#[target_feature(enable = "sve")]
9508#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
9509#[cfg_attr(test, assert_instr(mov))]
9510pub fn svdup_n_u8_z(pg: svbool_t, op: u8) -> svuint8_t {
9511 svdup_n_u8_m(svdup_n_u8(0), pg, op)
9512}
9513#[doc = "Broadcast a scalar value"]
9514#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdup[_n]_u16_m)"]
9515#[inline]
9516#[target_feature(enable = "sve")]
9517#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
9518#[cfg_attr(test, assert_instr(mov))]
9519pub fn svdup_n_u16_m(inactive: svuint16_t, pg: svbool_t, op: u16) -> svuint16_t {
9520 unsafe { svdup_n_s16_m(inactive.as_signed(), pg, op.as_signed()).as_unsigned() }
9521}
9522#[doc = "Broadcast a scalar value"]
9523#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdup[_n]_u16_x)"]
9524#[inline]
9525#[target_feature(enable = "sve")]
9526#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
9527#[cfg_attr(test, assert_instr(mov))]
9528pub fn svdup_n_u16_x(pg: svbool_t, op: u16) -> svuint16_t {
9529 svdup_n_u16_m(svdup_n_u16(0), pg, op)
9530}
9531#[doc = "Broadcast a scalar value"]
9532#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdup[_n]_u16_z)"]
9533#[inline]
9534#[target_feature(enable = "sve")]
9535#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
9536#[cfg_attr(test, assert_instr(mov))]
9537pub fn svdup_n_u16_z(pg: svbool_t, op: u16) -> svuint16_t {
9538 svdup_n_u16_m(svdup_n_u16(0), pg, op)
9539}
9540#[doc = "Broadcast a scalar value"]
9541#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdup[_n]_u32_m)"]
9542#[inline]
9543#[target_feature(enable = "sve")]
9544#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
9545#[cfg_attr(test, assert_instr(mov))]
9546pub fn svdup_n_u32_m(inactive: svuint32_t, pg: svbool_t, op: u32) -> svuint32_t {
9547 unsafe { svdup_n_s32_m(inactive.as_signed(), pg, op.as_signed()).as_unsigned() }
9548}
9549#[doc = "Broadcast a scalar value"]
9550#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdup[_n]_u32_x)"]
9551#[inline]
9552#[target_feature(enable = "sve")]
9553#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
9554#[cfg_attr(test, assert_instr(mov))]
9555pub fn svdup_n_u32_x(pg: svbool_t, op: u32) -> svuint32_t {
9556 svdup_n_u32_m(svdup_n_u32(0), pg, op)
9557}
9558#[doc = "Broadcast a scalar value"]
9559#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdup[_n]_u32_z)"]
9560#[inline]
9561#[target_feature(enable = "sve")]
9562#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
9563#[cfg_attr(test, assert_instr(mov))]
9564pub fn svdup_n_u32_z(pg: svbool_t, op: u32) -> svuint32_t {
9565 svdup_n_u32_m(svdup_n_u32(0), pg, op)
9566}
9567#[doc = "Broadcast a scalar value"]
9568#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdup[_n]_u64_m)"]
9569#[inline]
9570#[target_feature(enable = "sve")]
9571#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
9572#[cfg_attr(test, assert_instr(mov))]
9573pub fn svdup_n_u64_m(inactive: svuint64_t, pg: svbool_t, op: u64) -> svuint64_t {
9574 unsafe { svdup_n_s64_m(inactive.as_signed(), pg, op.as_signed()).as_unsigned() }
9575}
9576#[doc = "Broadcast a scalar value"]
9577#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdup[_n]_u64_x)"]
9578#[inline]
9579#[target_feature(enable = "sve")]
9580#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
9581#[cfg_attr(test, assert_instr(mov))]
9582pub fn svdup_n_u64_x(pg: svbool_t, op: u64) -> svuint64_t {
9583 svdup_n_u64_m(svdup_n_u64(0), pg, op)
9584}
9585#[doc = "Broadcast a scalar value"]
9586#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdup[_n]_u64_z)"]
9587#[inline]
9588#[target_feature(enable = "sve")]
9589#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
9590#[cfg_attr(test, assert_instr(mov))]
9591pub fn svdup_n_u64_z(pg: svbool_t, op: u64) -> svuint64_t {
9592 svdup_n_u64_m(svdup_n_u64(0), pg, op)
9593}
9594#[doc = "Broadcast a quadword of scalars"]
9595#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdupq_lane[_f32])"]
9596#[inline]
9597#[target_feature(enable = "sve")]
9598#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
9599#[cfg_attr(test, assert_instr(tbl))]
9600pub fn svdupq_lane_f32(data: svfloat32_t, index: u64) -> svfloat32_t {
9601 unsafe extern "unadjusted" {
9602 #[cfg_attr(
9603 target_arch = "aarch64",
9604 link_name = "llvm.aarch64.sve.dupq.lane.nxv4f32"
9605 )]
9606 fn _svdupq_lane_f32(data: svfloat32_t, index: i64) -> svfloat32_t;
9607 }
9608 unsafe { _svdupq_lane_f32(data, index.as_signed()) }
9609}
9610#[doc = "Broadcast a quadword of scalars"]
9611#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdupq_lane[_f64])"]
9612#[inline]
9613#[target_feature(enable = "sve")]
9614#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
9615#[cfg_attr(test, assert_instr(tbl))]
9616pub fn svdupq_lane_f64(data: svfloat64_t, index: u64) -> svfloat64_t {
9617 unsafe extern "unadjusted" {
9618 #[cfg_attr(
9619 target_arch = "aarch64",
9620 link_name = "llvm.aarch64.sve.dupq.lane.nxv2f64"
9621 )]
9622 fn _svdupq_lane_f64(data: svfloat64_t, index: i64) -> svfloat64_t;
9623 }
9624 unsafe { _svdupq_lane_f64(data, index.as_signed()) }
9625}
9626#[doc = "Broadcast a quadword of scalars"]
9627#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdupq_lane[_s8])"]
9628#[inline]
9629#[target_feature(enable = "sve")]
9630#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
9631#[cfg_attr(test, assert_instr(tbl))]
9632pub fn svdupq_lane_s8(data: svint8_t, index: u64) -> svint8_t {
9633 unsafe extern "unadjusted" {
9634 #[cfg_attr(
9635 target_arch = "aarch64",
9636 link_name = "llvm.aarch64.sve.dupq.lane.nxv16i8"
9637 )]
9638 fn _svdupq_lane_s8(data: svint8_t, index: i64) -> svint8_t;
9639 }
9640 unsafe { _svdupq_lane_s8(data, index.as_signed()) }
9641}
9642#[doc = "Broadcast a quadword of scalars"]
9643#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdupq_lane[_s16])"]
9644#[inline]
9645#[target_feature(enable = "sve")]
9646#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
9647#[cfg_attr(test, assert_instr(tbl))]
9648pub fn svdupq_lane_s16(data: svint16_t, index: u64) -> svint16_t {
9649 unsafe extern "unadjusted" {
9650 #[cfg_attr(
9651 target_arch = "aarch64",
9652 link_name = "llvm.aarch64.sve.dupq.lane.nxv8i16"
9653 )]
9654 fn _svdupq_lane_s16(data: svint16_t, index: i64) -> svint16_t;
9655 }
9656 unsafe { _svdupq_lane_s16(data, index.as_signed()) }
9657}
9658#[doc = "Broadcast a quadword of scalars"]
9659#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdupq_lane[_s32])"]
9660#[inline]
9661#[target_feature(enable = "sve")]
9662#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
9663#[cfg_attr(test, assert_instr(tbl))]
9664pub fn svdupq_lane_s32(data: svint32_t, index: u64) -> svint32_t {
9665 unsafe extern "unadjusted" {
9666 #[cfg_attr(
9667 target_arch = "aarch64",
9668 link_name = "llvm.aarch64.sve.dupq.lane.nxv4i32"
9669 )]
9670 fn _svdupq_lane_s32(data: svint32_t, index: i64) -> svint32_t;
9671 }
9672 unsafe { _svdupq_lane_s32(data, index.as_signed()) }
9673}
9674#[doc = "Broadcast a quadword of scalars"]
9675#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdupq_lane[_s64])"]
9676#[inline]
9677#[target_feature(enable = "sve")]
9678#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
9679#[cfg_attr(test, assert_instr(tbl))]
9680pub fn svdupq_lane_s64(data: svint64_t, index: u64) -> svint64_t {
9681 unsafe extern "unadjusted" {
9682 #[cfg_attr(
9683 target_arch = "aarch64",
9684 link_name = "llvm.aarch64.sve.dupq.lane.nxv2i64"
9685 )]
9686 fn _svdupq_lane_s64(data: svint64_t, index: i64) -> svint64_t;
9687 }
9688 unsafe { _svdupq_lane_s64(data, index.as_signed()) }
9689}
9690#[doc = "Broadcast a quadword of scalars"]
9691#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdupq_lane[_u8])"]
9692#[inline]
9693#[target_feature(enable = "sve")]
9694#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
9695#[cfg_attr(test, assert_instr(tbl))]
9696pub fn svdupq_lane_u8(data: svuint8_t, index: u64) -> svuint8_t {
9697 unsafe { svdupq_lane_s8(data.as_signed(), index).as_unsigned() }
9698}
9699#[doc = "Broadcast a quadword of scalars"]
9700#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdupq_lane[_u16])"]
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_u16(data: svuint16_t, index: u64) -> svuint16_t {
9706 unsafe { svdupq_lane_s16(data.as_signed(), index).as_unsigned() }
9707}
9708#[doc = "Broadcast a quadword of scalars"]
9709#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdupq_lane[_u32])"]
9710#[inline]
9711#[target_feature(enable = "sve")]
9712#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
9713#[cfg_attr(test, assert_instr(tbl))]
9714pub fn svdupq_lane_u32(data: svuint32_t, index: u64) -> svuint32_t {
9715 unsafe { svdupq_lane_s32(data.as_signed(), index).as_unsigned() }
9716}
9717#[doc = "Broadcast a quadword of scalars"]
9718#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdupq_lane[_u64])"]
9719#[inline]
9720#[target_feature(enable = "sve")]
9721#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
9722#[cfg_attr(test, assert_instr(tbl))]
9723pub fn svdupq_lane_u64(data: svuint64_t, index: u64) -> svuint64_t {
9724 unsafe { svdupq_lane_s64(data.as_signed(), index).as_unsigned() }
9725}
9726#[doc = "Broadcast a quadword of scalars"]
9727#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdupq[_n]_b16)"]
9728#[inline]
9729#[target_feature(enable = "sve")]
9730#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
9731pub fn svdupq_n_b16(
9732 x0: bool,
9733 x1: bool,
9734 x2: bool,
9735 x3: bool,
9736 x4: bool,
9737 x5: bool,
9738 x6: bool,
9739 x7: bool,
9740) -> svbool_t {
9741 let op1 = svdupq_n_s16(
9742 x0 as i16, x1 as i16, x2 as i16, x3 as i16, x4 as i16, x5 as i16, x6 as i16, x7 as i16,
9743 );
9744 svcmpne_wide_s16(svptrue_b16(), op1, svdup_n_s64(0))
9745}
9746#[doc = "Broadcast a quadword of scalars"]
9747#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdupq[_n]_b32)"]
9748#[inline]
9749#[target_feature(enable = "sve")]
9750#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
9751pub fn svdupq_n_b32(x0: bool, x1: bool, x2: bool, x3: bool) -> svbool_t {
9752 let op1 = svdupq_n_s32(x0 as i32, x1 as i32, x2 as i32, x3 as i32);
9753 svcmpne_wide_s32(svptrue_b32(), op1, svdup_n_s64(0))
9754}
9755#[doc = "Broadcast a quadword of scalars"]
9756#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdupq[_n]_b64)"]
9757#[inline]
9758#[target_feature(enable = "sve")]
9759#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
9760pub fn svdupq_n_b64(x0: bool, x1: bool) -> svbool_t {
9761 let op1 = svdupq_n_s64(x0 as i64, x1 as i64);
9762 svcmpne_s64(svptrue_b64(), op1, svdup_n_s64(0))
9763}
9764#[doc = "Broadcast a quadword of scalars"]
9765#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdupq[_n]_b8)"]
9766#[inline]
9767#[target_feature(enable = "sve")]
9768#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
9769pub fn svdupq_n_b8(
9770 x0: bool,
9771 x1: bool,
9772 x2: bool,
9773 x3: bool,
9774 x4: bool,
9775 x5: bool,
9776 x6: bool,
9777 x7: bool,
9778 x8: bool,
9779 x9: bool,
9780 x10: bool,
9781 x11: bool,
9782 x12: bool,
9783 x13: bool,
9784 x14: bool,
9785 x15: bool,
9786) -> svbool_t {
9787 let op1 = svdupq_n_s8(
9788 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,
9789 x9 as i8, x10 as i8, x11 as i8, x12 as i8, x13 as i8, x14 as i8, x15 as i8,
9790 );
9791 svcmpne_wide_s8(svptrue_b8(), op1, svdup_n_s64(0))
9792}
9793#[doc = "Broadcast a quadword of scalars"]
9794#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdupq[_n]_f32)"]
9795#[inline]
9796#[target_feature(enable = "sve")]
9797#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
9798pub fn svdupq_n_f32(x0: f32, x1: f32, x2: f32, x3: f32) -> svfloat32_t {
9799 unsafe extern "unadjusted" {
9800 #[cfg_attr(
9801 target_arch = "aarch64",
9802 link_name = "llvm.vector.insert.nxv4f32.v4f32"
9803 )]
9804 fn _svdupq_n_f32(op0: svfloat32_t, op1: float32x4_t, idx: i64) -> svfloat32_t;
9805 }
9806 unsafe {
9807 let op = _svdupq_n_f32(svundef_f32(), crate::mem::transmute([x0, x1, x2, x3]), 0);
9808 svdupq_lane_f32(op, 0)
9809 }
9810}
9811#[doc = "Broadcast a quadword of scalars"]
9812#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdupq[_n]_s32)"]
9813#[inline]
9814#[target_feature(enable = "sve")]
9815#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
9816pub fn svdupq_n_s32(x0: i32, x1: i32, x2: i32, x3: i32) -> svint32_t {
9817 unsafe extern "unadjusted" {
9818 #[cfg_attr(
9819 target_arch = "aarch64",
9820 link_name = "llvm.vector.insert.nxv4i32.v4i32"
9821 )]
9822 fn _svdupq_n_s32(op0: svint32_t, op1: int32x4_t, idx: i64) -> svint32_t;
9823 }
9824 unsafe {
9825 let op = _svdupq_n_s32(svundef_s32(), crate::mem::transmute([x0, x1, x2, x3]), 0);
9826 svdupq_lane_s32(op, 0)
9827 }
9828}
9829#[doc = "Broadcast a quadword of scalars"]
9830#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdupq[_n]_u32)"]
9831#[inline]
9832#[target_feature(enable = "sve")]
9833#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
9834pub fn svdupq_n_u32(x0: u32, x1: u32, x2: u32, x3: u32) -> svuint32_t {
9835 unsafe {
9836 svdupq_n_s32(
9837 x0.as_signed(),
9838 x1.as_signed(),
9839 x2.as_signed(),
9840 x3.as_signed(),
9841 )
9842 .as_unsigned()
9843 }
9844}
9845#[doc = "Broadcast a quadword of scalars"]
9846#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdupq[_n]_f64)"]
9847#[inline]
9848#[target_feature(enable = "sve")]
9849#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
9850pub fn svdupq_n_f64(x0: f64, x1: f64) -> svfloat64_t {
9851 unsafe extern "unadjusted" {
9852 #[cfg_attr(
9853 target_arch = "aarch64",
9854 link_name = "llvm.vector.insert.nxv2f64.v2f64"
9855 )]
9856 fn _svdupq_n_f64(op0: svfloat64_t, op1: float64x2_t, idx: i64) -> svfloat64_t;
9857 }
9858 unsafe {
9859 let op = _svdupq_n_f64(svundef_f64(), crate::mem::transmute([x0, x1]), 0);
9860 svdupq_lane_f64(op, 0)
9861 }
9862}
9863#[doc = "Broadcast a quadword of scalars"]
9864#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdupq[_n]_s64)"]
9865#[inline]
9866#[target_feature(enable = "sve")]
9867#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
9868pub fn svdupq_n_s64(x0: i64, x1: i64) -> svint64_t {
9869 unsafe extern "unadjusted" {
9870 #[cfg_attr(
9871 target_arch = "aarch64",
9872 link_name = "llvm.vector.insert.nxv2i64.v2i64"
9873 )]
9874 fn _svdupq_n_s64(op0: svint64_t, op1: int64x2_t, idx: i64) -> svint64_t;
9875 }
9876 unsafe {
9877 let op = _svdupq_n_s64(svundef_s64(), crate::mem::transmute([x0, x1]), 0);
9878 svdupq_lane_s64(op, 0)
9879 }
9880}
9881#[doc = "Broadcast a quadword of scalars"]
9882#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdupq[_n]_u64)"]
9883#[inline]
9884#[target_feature(enable = "sve")]
9885#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
9886pub fn svdupq_n_u64(x0: u64, x1: u64) -> svuint64_t {
9887 unsafe { svdupq_n_s64(x0.as_signed(), x1.as_signed()).as_unsigned() }
9888}
9889#[doc = "Broadcast a quadword of scalars"]
9890#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdupq[_n]_s16)"]
9891#[inline]
9892#[target_feature(enable = "sve")]
9893#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
9894pub fn svdupq_n_s16(
9895 x0: i16,
9896 x1: i16,
9897 x2: i16,
9898 x3: i16,
9899 x4: i16,
9900 x5: i16,
9901 x6: i16,
9902 x7: i16,
9903) -> svint16_t {
9904 unsafe extern "unadjusted" {
9905 #[cfg_attr(
9906 target_arch = "aarch64",
9907 link_name = "llvm.vector.insert.nxv8i16.v8i16"
9908 )]
9909 fn _svdupq_n_s16(op0: svint16_t, op1: int16x8_t, idx: i64) -> svint16_t;
9910 }
9911 unsafe {
9912 let op = _svdupq_n_s16(
9913 svundef_s16(),
9914 crate::mem::transmute([x0, x1, x2, x3, x4, x5, x6, x7]),
9915 0,
9916 );
9917 svdupq_lane_s16(op, 0)
9918 }
9919}
9920#[doc = "Broadcast a quadword of scalars"]
9921#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdupq[_n]_u16)"]
9922#[inline]
9923#[target_feature(enable = "sve")]
9924#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
9925pub fn svdupq_n_u16(
9926 x0: u16,
9927 x1: u16,
9928 x2: u16,
9929 x3: u16,
9930 x4: u16,
9931 x5: u16,
9932 x6: u16,
9933 x7: u16,
9934) -> svuint16_t {
9935 unsafe {
9936 svdupq_n_s16(
9937 x0.as_signed(),
9938 x1.as_signed(),
9939 x2.as_signed(),
9940 x3.as_signed(),
9941 x4.as_signed(),
9942 x5.as_signed(),
9943 x6.as_signed(),
9944 x7.as_signed(),
9945 )
9946 .as_unsigned()
9947 }
9948}
9949#[doc = "Broadcast a quadword of scalars"]
9950#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdupq[_n]_s8)"]
9951#[inline]
9952#[target_feature(enable = "sve")]
9953#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
9954pub fn svdupq_n_s8(
9955 x0: i8,
9956 x1: i8,
9957 x2: i8,
9958 x3: i8,
9959 x4: i8,
9960 x5: i8,
9961 x6: i8,
9962 x7: i8,
9963 x8: i8,
9964 x9: i8,
9965 x10: i8,
9966 x11: i8,
9967 x12: i8,
9968 x13: i8,
9969 x14: i8,
9970 x15: i8,
9971) -> svint8_t {
9972 unsafe extern "unadjusted" {
9973 #[cfg_attr(
9974 target_arch = "aarch64",
9975 link_name = "llvm.vector.insert.nxv16i8.v16i8"
9976 )]
9977 fn _svdupq_n_s8(op0: svint8_t, op1: int8x16_t, idx: i64) -> svint8_t;
9978 }
9979 unsafe {
9980 let op = _svdupq_n_s8(
9981 svundef_s8(),
9982 crate::mem::transmute([
9983 x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15,
9984 ]),
9985 0,
9986 );
9987 svdupq_lane_s8(op, 0)
9988 }
9989}
9990#[doc = "Broadcast a quadword of scalars"]
9991#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdupq[_n]_u8)"]
9992#[inline]
9993#[target_feature(enable = "sve")]
9994#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
9995pub fn svdupq_n_u8(
9996 x0: u8,
9997 x1: u8,
9998 x2: u8,
9999 x3: u8,
10000 x4: u8,
10001 x5: u8,
10002 x6: u8,
10003 x7: u8,
10004 x8: u8,
10005 x9: u8,
10006 x10: u8,
10007 x11: u8,
10008 x12: u8,
10009 x13: u8,
10010 x14: u8,
10011 x15: u8,
10012) -> svuint8_t {
10013 unsafe {
10014 svdupq_n_s8(
10015 x0.as_signed(),
10016 x1.as_signed(),
10017 x2.as_signed(),
10018 x3.as_signed(),
10019 x4.as_signed(),
10020 x5.as_signed(),
10021 x6.as_signed(),
10022 x7.as_signed(),
10023 x8.as_signed(),
10024 x9.as_signed(),
10025 x10.as_signed(),
10026 x11.as_signed(),
10027 x12.as_signed(),
10028 x13.as_signed(),
10029 x14.as_signed(),
10030 x15.as_signed(),
10031 )
10032 .as_unsigned()
10033 }
10034}
10035#[doc = "Bitwise exclusive OR"]
10036#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/sveor[_b]_z)"]
10037#[inline]
10038#[target_feature(enable = "sve")]
10039#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
10040#[cfg_attr(test, assert_instr(eor))]
10041pub fn sveor_b_z(pg: svbool_t, op1: svbool_t, op2: svbool_t) -> svbool_t {
10042 unsafe extern "unadjusted" {
10043 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.eor.z.nvx16i1")]
10044 fn _sveor_b_z(pg: svbool_t, op1: svbool_t, op2: svbool_t) -> svbool_t;
10045 }
10046 unsafe { _sveor_b_z(pg, op1, op2) }
10047}
10048#[doc = "Bitwise exclusive OR"]
10049#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/sveor[_s8]_m)"]
10050#[inline]
10051#[target_feature(enable = "sve")]
10052#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
10053#[cfg_attr(test, assert_instr(eor))]
10054pub fn sveor_s8_m(pg: svbool_t, op1: svint8_t, op2: svint8_t) -> svint8_t {
10055 unsafe extern "unadjusted" {
10056 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.eor.nxv16i8")]
10057 fn _sveor_s8_m(pg: svbool_t, op1: svint8_t, op2: svint8_t) -> svint8_t;
10058 }
10059 unsafe { _sveor_s8_m(pg, op1, op2) }
10060}
10061#[doc = "Bitwise exclusive OR"]
10062#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/sveor[_n_s8]_m)"]
10063#[inline]
10064#[target_feature(enable = "sve")]
10065#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
10066#[cfg_attr(test, assert_instr(eor))]
10067pub fn sveor_n_s8_m(pg: svbool_t, op1: svint8_t, op2: i8) -> svint8_t {
10068 sveor_s8_m(pg, op1, svdup_n_s8(op2))
10069}
10070#[doc = "Bitwise exclusive OR"]
10071#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/sveor[_s8]_x)"]
10072#[inline]
10073#[target_feature(enable = "sve")]
10074#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
10075#[cfg_attr(test, assert_instr(eor))]
10076pub fn sveor_s8_x(pg: svbool_t, op1: svint8_t, op2: svint8_t) -> svint8_t {
10077 sveor_s8_m(pg, op1, op2)
10078}
10079#[doc = "Bitwise exclusive OR"]
10080#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/sveor[_n_s8]_x)"]
10081#[inline]
10082#[target_feature(enable = "sve")]
10083#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
10084#[cfg_attr(test, assert_instr(eor))]
10085pub fn sveor_n_s8_x(pg: svbool_t, op1: svint8_t, op2: i8) -> svint8_t {
10086 sveor_s8_x(pg, op1, svdup_n_s8(op2))
10087}
10088#[doc = "Bitwise exclusive OR"]
10089#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/sveor[_s8]_z)"]
10090#[inline]
10091#[target_feature(enable = "sve")]
10092#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
10093#[cfg_attr(test, assert_instr(eor))]
10094pub fn sveor_s8_z(pg: svbool_t, op1: svint8_t, op2: svint8_t) -> svint8_t {
10095 sveor_s8_m(pg, svsel_s8(pg, op1, svdup_n_s8(0)), op2)
10096}
10097#[doc = "Bitwise exclusive OR"]
10098#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/sveor[_n_s8]_z)"]
10099#[inline]
10100#[target_feature(enable = "sve")]
10101#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
10102#[cfg_attr(test, assert_instr(eor))]
10103pub fn sveor_n_s8_z(pg: svbool_t, op1: svint8_t, op2: i8) -> svint8_t {
10104 sveor_s8_z(pg, op1, svdup_n_s8(op2))
10105}
10106#[doc = "Bitwise exclusive OR"]
10107#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/sveor[_s16]_m)"]
10108#[inline]
10109#[target_feature(enable = "sve")]
10110#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
10111#[cfg_attr(test, assert_instr(eor))]
10112pub fn sveor_s16_m(pg: svbool_t, op1: svint16_t, op2: svint16_t) -> svint16_t {
10113 unsafe extern "unadjusted" {
10114 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.eor.nxv8i16")]
10115 fn _sveor_s16_m(pg: svbool8_t, op1: svint16_t, op2: svint16_t) -> svint16_t;
10116 }
10117 unsafe { _sveor_s16_m(pg.sve_into(), op1, op2) }
10118}
10119#[doc = "Bitwise exclusive OR"]
10120#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/sveor[_n_s16]_m)"]
10121#[inline]
10122#[target_feature(enable = "sve")]
10123#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
10124#[cfg_attr(test, assert_instr(eor))]
10125pub fn sveor_n_s16_m(pg: svbool_t, op1: svint16_t, op2: i16) -> svint16_t {
10126 sveor_s16_m(pg, op1, svdup_n_s16(op2))
10127}
10128#[doc = "Bitwise exclusive OR"]
10129#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/sveor[_s16]_x)"]
10130#[inline]
10131#[target_feature(enable = "sve")]
10132#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
10133#[cfg_attr(test, assert_instr(eor))]
10134pub fn sveor_s16_x(pg: svbool_t, op1: svint16_t, op2: svint16_t) -> svint16_t {
10135 sveor_s16_m(pg, op1, op2)
10136}
10137#[doc = "Bitwise exclusive OR"]
10138#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/sveor[_n_s16]_x)"]
10139#[inline]
10140#[target_feature(enable = "sve")]
10141#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
10142#[cfg_attr(test, assert_instr(eor))]
10143pub fn sveor_n_s16_x(pg: svbool_t, op1: svint16_t, op2: i16) -> svint16_t {
10144 sveor_s16_x(pg, op1, svdup_n_s16(op2))
10145}
10146#[doc = "Bitwise exclusive OR"]
10147#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/sveor[_s16]_z)"]
10148#[inline]
10149#[target_feature(enable = "sve")]
10150#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
10151#[cfg_attr(test, assert_instr(eor))]
10152pub fn sveor_s16_z(pg: svbool_t, op1: svint16_t, op2: svint16_t) -> svint16_t {
10153 sveor_s16_m(pg, svsel_s16(pg, op1, svdup_n_s16(0)), op2)
10154}
10155#[doc = "Bitwise exclusive OR"]
10156#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/sveor[_n_s16]_z)"]
10157#[inline]
10158#[target_feature(enable = "sve")]
10159#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
10160#[cfg_attr(test, assert_instr(eor))]
10161pub fn sveor_n_s16_z(pg: svbool_t, op1: svint16_t, op2: i16) -> svint16_t {
10162 sveor_s16_z(pg, op1, svdup_n_s16(op2))
10163}
10164#[doc = "Bitwise exclusive OR"]
10165#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/sveor[_s32]_m)"]
10166#[inline]
10167#[target_feature(enable = "sve")]
10168#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
10169#[cfg_attr(test, assert_instr(eor))]
10170pub fn sveor_s32_m(pg: svbool_t, op1: svint32_t, op2: svint32_t) -> svint32_t {
10171 unsafe extern "unadjusted" {
10172 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.eor.nxv4i32")]
10173 fn _sveor_s32_m(pg: svbool4_t, op1: svint32_t, op2: svint32_t) -> svint32_t;
10174 }
10175 unsafe { _sveor_s32_m(pg.sve_into(), op1, op2) }
10176}
10177#[doc = "Bitwise exclusive OR"]
10178#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/sveor[_n_s32]_m)"]
10179#[inline]
10180#[target_feature(enable = "sve")]
10181#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
10182#[cfg_attr(test, assert_instr(eor))]
10183pub fn sveor_n_s32_m(pg: svbool_t, op1: svint32_t, op2: i32) -> svint32_t {
10184 sveor_s32_m(pg, op1, svdup_n_s32(op2))
10185}
10186#[doc = "Bitwise exclusive OR"]
10187#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/sveor[_s32]_x)"]
10188#[inline]
10189#[target_feature(enable = "sve")]
10190#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
10191#[cfg_attr(test, assert_instr(eor))]
10192pub fn sveor_s32_x(pg: svbool_t, op1: svint32_t, op2: svint32_t) -> svint32_t {
10193 sveor_s32_m(pg, op1, op2)
10194}
10195#[doc = "Bitwise exclusive OR"]
10196#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/sveor[_n_s32]_x)"]
10197#[inline]
10198#[target_feature(enable = "sve")]
10199#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
10200#[cfg_attr(test, assert_instr(eor))]
10201pub fn sveor_n_s32_x(pg: svbool_t, op1: svint32_t, op2: i32) -> svint32_t {
10202 sveor_s32_x(pg, op1, svdup_n_s32(op2))
10203}
10204#[doc = "Bitwise exclusive OR"]
10205#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/sveor[_s32]_z)"]
10206#[inline]
10207#[target_feature(enable = "sve")]
10208#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
10209#[cfg_attr(test, assert_instr(eor))]
10210pub fn sveor_s32_z(pg: svbool_t, op1: svint32_t, op2: svint32_t) -> svint32_t {
10211 sveor_s32_m(pg, svsel_s32(pg, op1, svdup_n_s32(0)), op2)
10212}
10213#[doc = "Bitwise exclusive OR"]
10214#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/sveor[_n_s32]_z)"]
10215#[inline]
10216#[target_feature(enable = "sve")]
10217#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
10218#[cfg_attr(test, assert_instr(eor))]
10219pub fn sveor_n_s32_z(pg: svbool_t, op1: svint32_t, op2: i32) -> svint32_t {
10220 sveor_s32_z(pg, op1, svdup_n_s32(op2))
10221}
10222#[doc = "Bitwise exclusive OR"]
10223#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/sveor[_s64]_m)"]
10224#[inline]
10225#[target_feature(enable = "sve")]
10226#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
10227#[cfg_attr(test, assert_instr(eor))]
10228pub fn sveor_s64_m(pg: svbool_t, op1: svint64_t, op2: svint64_t) -> svint64_t {
10229 unsafe extern "unadjusted" {
10230 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.eor.nxv2i64")]
10231 fn _sveor_s64_m(pg: svbool2_t, op1: svint64_t, op2: svint64_t) -> svint64_t;
10232 }
10233 unsafe { _sveor_s64_m(pg.sve_into(), op1, op2) }
10234}
10235#[doc = "Bitwise exclusive OR"]
10236#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/sveor[_n_s64]_m)"]
10237#[inline]
10238#[target_feature(enable = "sve")]
10239#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
10240#[cfg_attr(test, assert_instr(eor))]
10241pub fn sveor_n_s64_m(pg: svbool_t, op1: svint64_t, op2: i64) -> svint64_t {
10242 sveor_s64_m(pg, op1, svdup_n_s64(op2))
10243}
10244#[doc = "Bitwise exclusive OR"]
10245#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/sveor[_s64]_x)"]
10246#[inline]
10247#[target_feature(enable = "sve")]
10248#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
10249#[cfg_attr(test, assert_instr(eor))]
10250pub fn sveor_s64_x(pg: svbool_t, op1: svint64_t, op2: svint64_t) -> svint64_t {
10251 sveor_s64_m(pg, op1, op2)
10252}
10253#[doc = "Bitwise exclusive OR"]
10254#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/sveor[_n_s64]_x)"]
10255#[inline]
10256#[target_feature(enable = "sve")]
10257#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
10258#[cfg_attr(test, assert_instr(eor))]
10259pub fn sveor_n_s64_x(pg: svbool_t, op1: svint64_t, op2: i64) -> svint64_t {
10260 sveor_s64_x(pg, op1, svdup_n_s64(op2))
10261}
10262#[doc = "Bitwise exclusive OR"]
10263#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/sveor[_s64]_z)"]
10264#[inline]
10265#[target_feature(enable = "sve")]
10266#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
10267#[cfg_attr(test, assert_instr(eor))]
10268pub fn sveor_s64_z(pg: svbool_t, op1: svint64_t, op2: svint64_t) -> svint64_t {
10269 sveor_s64_m(pg, svsel_s64(pg, op1, svdup_n_s64(0)), op2)
10270}
10271#[doc = "Bitwise exclusive OR"]
10272#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/sveor[_n_s64]_z)"]
10273#[inline]
10274#[target_feature(enable = "sve")]
10275#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
10276#[cfg_attr(test, assert_instr(eor))]
10277pub fn sveor_n_s64_z(pg: svbool_t, op1: svint64_t, op2: i64) -> svint64_t {
10278 sveor_s64_z(pg, op1, svdup_n_s64(op2))
10279}
10280#[doc = "Bitwise exclusive OR"]
10281#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/sveor[_u8]_m)"]
10282#[inline]
10283#[target_feature(enable = "sve")]
10284#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
10285#[cfg_attr(test, assert_instr(eor))]
10286pub fn sveor_u8_m(pg: svbool_t, op1: svuint8_t, op2: svuint8_t) -> svuint8_t {
10287 unsafe { sveor_s8_m(pg, op1.as_signed(), op2.as_signed()).as_unsigned() }
10288}
10289#[doc = "Bitwise exclusive OR"]
10290#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/sveor[_n_u8]_m)"]
10291#[inline]
10292#[target_feature(enable = "sve")]
10293#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
10294#[cfg_attr(test, assert_instr(eor))]
10295pub fn sveor_n_u8_m(pg: svbool_t, op1: svuint8_t, op2: u8) -> svuint8_t {
10296 sveor_u8_m(pg, op1, svdup_n_u8(op2))
10297}
10298#[doc = "Bitwise exclusive OR"]
10299#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/sveor[_u8]_x)"]
10300#[inline]
10301#[target_feature(enable = "sve")]
10302#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
10303#[cfg_attr(test, assert_instr(eor))]
10304pub fn sveor_u8_x(pg: svbool_t, op1: svuint8_t, op2: svuint8_t) -> svuint8_t {
10305 sveor_u8_m(pg, op1, op2)
10306}
10307#[doc = "Bitwise exclusive OR"]
10308#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/sveor[_n_u8]_x)"]
10309#[inline]
10310#[target_feature(enable = "sve")]
10311#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
10312#[cfg_attr(test, assert_instr(eor))]
10313pub fn sveor_n_u8_x(pg: svbool_t, op1: svuint8_t, op2: u8) -> svuint8_t {
10314 sveor_u8_x(pg, op1, svdup_n_u8(op2))
10315}
10316#[doc = "Bitwise exclusive OR"]
10317#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/sveor[_u8]_z)"]
10318#[inline]
10319#[target_feature(enable = "sve")]
10320#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
10321#[cfg_attr(test, assert_instr(eor))]
10322pub fn sveor_u8_z(pg: svbool_t, op1: svuint8_t, op2: svuint8_t) -> svuint8_t {
10323 sveor_u8_m(pg, svsel_u8(pg, op1, svdup_n_u8(0)), op2)
10324}
10325#[doc = "Bitwise exclusive OR"]
10326#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/sveor[_n_u8]_z)"]
10327#[inline]
10328#[target_feature(enable = "sve")]
10329#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
10330#[cfg_attr(test, assert_instr(eor))]
10331pub fn sveor_n_u8_z(pg: svbool_t, op1: svuint8_t, op2: u8) -> svuint8_t {
10332 sveor_u8_z(pg, op1, svdup_n_u8(op2))
10333}
10334#[doc = "Bitwise exclusive OR"]
10335#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/sveor[_u16]_m)"]
10336#[inline]
10337#[target_feature(enable = "sve")]
10338#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
10339#[cfg_attr(test, assert_instr(eor))]
10340pub fn sveor_u16_m(pg: svbool_t, op1: svuint16_t, op2: svuint16_t) -> svuint16_t {
10341 unsafe { sveor_s16_m(pg, op1.as_signed(), op2.as_signed()).as_unsigned() }
10342}
10343#[doc = "Bitwise exclusive OR"]
10344#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/sveor[_n_u16]_m)"]
10345#[inline]
10346#[target_feature(enable = "sve")]
10347#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
10348#[cfg_attr(test, assert_instr(eor))]
10349pub fn sveor_n_u16_m(pg: svbool_t, op1: svuint16_t, op2: u16) -> svuint16_t {
10350 sveor_u16_m(pg, op1, svdup_n_u16(op2))
10351}
10352#[doc = "Bitwise exclusive OR"]
10353#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/sveor[_u16]_x)"]
10354#[inline]
10355#[target_feature(enable = "sve")]
10356#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
10357#[cfg_attr(test, assert_instr(eor))]
10358pub fn sveor_u16_x(pg: svbool_t, op1: svuint16_t, op2: svuint16_t) -> svuint16_t {
10359 sveor_u16_m(pg, op1, op2)
10360}
10361#[doc = "Bitwise exclusive OR"]
10362#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/sveor[_n_u16]_x)"]
10363#[inline]
10364#[target_feature(enable = "sve")]
10365#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
10366#[cfg_attr(test, assert_instr(eor))]
10367pub fn sveor_n_u16_x(pg: svbool_t, op1: svuint16_t, op2: u16) -> svuint16_t {
10368 sveor_u16_x(pg, op1, svdup_n_u16(op2))
10369}
10370#[doc = "Bitwise exclusive OR"]
10371#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/sveor[_u16]_z)"]
10372#[inline]
10373#[target_feature(enable = "sve")]
10374#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
10375#[cfg_attr(test, assert_instr(eor))]
10376pub fn sveor_u16_z(pg: svbool_t, op1: svuint16_t, op2: svuint16_t) -> svuint16_t {
10377 sveor_u16_m(pg, svsel_u16(pg, op1, svdup_n_u16(0)), op2)
10378}
10379#[doc = "Bitwise exclusive OR"]
10380#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/sveor[_n_u16]_z)"]
10381#[inline]
10382#[target_feature(enable = "sve")]
10383#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
10384#[cfg_attr(test, assert_instr(eor))]
10385pub fn sveor_n_u16_z(pg: svbool_t, op1: svuint16_t, op2: u16) -> svuint16_t {
10386 sveor_u16_z(pg, op1, svdup_n_u16(op2))
10387}
10388#[doc = "Bitwise exclusive OR"]
10389#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/sveor[_u32]_m)"]
10390#[inline]
10391#[target_feature(enable = "sve")]
10392#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
10393#[cfg_attr(test, assert_instr(eor))]
10394pub fn sveor_u32_m(pg: svbool_t, op1: svuint32_t, op2: svuint32_t) -> svuint32_t {
10395 unsafe { sveor_s32_m(pg, op1.as_signed(), op2.as_signed()).as_unsigned() }
10396}
10397#[doc = "Bitwise exclusive OR"]
10398#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/sveor[_n_u32]_m)"]
10399#[inline]
10400#[target_feature(enable = "sve")]
10401#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
10402#[cfg_attr(test, assert_instr(eor))]
10403pub fn sveor_n_u32_m(pg: svbool_t, op1: svuint32_t, op2: u32) -> svuint32_t {
10404 sveor_u32_m(pg, op1, svdup_n_u32(op2))
10405}
10406#[doc = "Bitwise exclusive OR"]
10407#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/sveor[_u32]_x)"]
10408#[inline]
10409#[target_feature(enable = "sve")]
10410#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
10411#[cfg_attr(test, assert_instr(eor))]
10412pub fn sveor_u32_x(pg: svbool_t, op1: svuint32_t, op2: svuint32_t) -> svuint32_t {
10413 sveor_u32_m(pg, op1, op2)
10414}
10415#[doc = "Bitwise exclusive OR"]
10416#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/sveor[_n_u32]_x)"]
10417#[inline]
10418#[target_feature(enable = "sve")]
10419#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
10420#[cfg_attr(test, assert_instr(eor))]
10421pub fn sveor_n_u32_x(pg: svbool_t, op1: svuint32_t, op2: u32) -> svuint32_t {
10422 sveor_u32_x(pg, op1, svdup_n_u32(op2))
10423}
10424#[doc = "Bitwise exclusive OR"]
10425#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/sveor[_u32]_z)"]
10426#[inline]
10427#[target_feature(enable = "sve")]
10428#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
10429#[cfg_attr(test, assert_instr(eor))]
10430pub fn sveor_u32_z(pg: svbool_t, op1: svuint32_t, op2: svuint32_t) -> svuint32_t {
10431 sveor_u32_m(pg, svsel_u32(pg, op1, svdup_n_u32(0)), op2)
10432}
10433#[doc = "Bitwise exclusive OR"]
10434#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/sveor[_n_u32]_z)"]
10435#[inline]
10436#[target_feature(enable = "sve")]
10437#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
10438#[cfg_attr(test, assert_instr(eor))]
10439pub fn sveor_n_u32_z(pg: svbool_t, op1: svuint32_t, op2: u32) -> svuint32_t {
10440 sveor_u32_z(pg, op1, svdup_n_u32(op2))
10441}
10442#[doc = "Bitwise exclusive OR"]
10443#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/sveor[_u64]_m)"]
10444#[inline]
10445#[target_feature(enable = "sve")]
10446#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
10447#[cfg_attr(test, assert_instr(eor))]
10448pub fn sveor_u64_m(pg: svbool_t, op1: svuint64_t, op2: svuint64_t) -> svuint64_t {
10449 unsafe { sveor_s64_m(pg, op1.as_signed(), op2.as_signed()).as_unsigned() }
10450}
10451#[doc = "Bitwise exclusive OR"]
10452#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/sveor[_n_u64]_m)"]
10453#[inline]
10454#[target_feature(enable = "sve")]
10455#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
10456#[cfg_attr(test, assert_instr(eor))]
10457pub fn sveor_n_u64_m(pg: svbool_t, op1: svuint64_t, op2: u64) -> svuint64_t {
10458 sveor_u64_m(pg, op1, svdup_n_u64(op2))
10459}
10460#[doc = "Bitwise exclusive OR"]
10461#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/sveor[_u64]_x)"]
10462#[inline]
10463#[target_feature(enable = "sve")]
10464#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
10465#[cfg_attr(test, assert_instr(eor))]
10466pub fn sveor_u64_x(pg: svbool_t, op1: svuint64_t, op2: svuint64_t) -> svuint64_t {
10467 sveor_u64_m(pg, op1, op2)
10468}
10469#[doc = "Bitwise exclusive OR"]
10470#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/sveor[_n_u64]_x)"]
10471#[inline]
10472#[target_feature(enable = "sve")]
10473#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
10474#[cfg_attr(test, assert_instr(eor))]
10475pub fn sveor_n_u64_x(pg: svbool_t, op1: svuint64_t, op2: u64) -> svuint64_t {
10476 sveor_u64_x(pg, op1, svdup_n_u64(op2))
10477}
10478#[doc = "Bitwise exclusive OR"]
10479#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/sveor[_u64]_z)"]
10480#[inline]
10481#[target_feature(enable = "sve")]
10482#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
10483#[cfg_attr(test, assert_instr(eor))]
10484pub fn sveor_u64_z(pg: svbool_t, op1: svuint64_t, op2: svuint64_t) -> svuint64_t {
10485 sveor_u64_m(pg, svsel_u64(pg, op1, svdup_n_u64(0)), op2)
10486}
10487#[doc = "Bitwise exclusive OR"]
10488#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/sveor[_n_u64]_z)"]
10489#[inline]
10490#[target_feature(enable = "sve")]
10491#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
10492#[cfg_attr(test, assert_instr(eor))]
10493pub fn sveor_n_u64_z(pg: svbool_t, op1: svuint64_t, op2: u64) -> svuint64_t {
10494 sveor_u64_z(pg, op1, svdup_n_u64(op2))
10495}
10496#[doc = "Bitwise exclusive OR reduction to scalar"]
10497#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/sveorv[_s8])"]
10498#[inline]
10499#[target_feature(enable = "sve")]
10500#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
10501#[cfg_attr(test, assert_instr(eorv))]
10502pub fn sveorv_s8(pg: svbool_t, op: svint8_t) -> i8 {
10503 unsafe extern "unadjusted" {
10504 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.eorv.nxv16i8")]
10505 fn _sveorv_s8(pg: svbool_t, op: svint8_t) -> i8;
10506 }
10507 unsafe { _sveorv_s8(pg, op) }
10508}
10509#[doc = "Bitwise exclusive OR reduction to scalar"]
10510#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/sveorv[_s16])"]
10511#[inline]
10512#[target_feature(enable = "sve")]
10513#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
10514#[cfg_attr(test, assert_instr(eorv))]
10515pub fn sveorv_s16(pg: svbool_t, op: svint16_t) -> i16 {
10516 unsafe extern "unadjusted" {
10517 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.eorv.nxv8i16")]
10518 fn _sveorv_s16(pg: svbool8_t, op: svint16_t) -> i16;
10519 }
10520 unsafe { _sveorv_s16(pg.sve_into(), op) }
10521}
10522#[doc = "Bitwise exclusive OR reduction to scalar"]
10523#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/sveorv[_s32])"]
10524#[inline]
10525#[target_feature(enable = "sve")]
10526#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
10527#[cfg_attr(test, assert_instr(eorv))]
10528pub fn sveorv_s32(pg: svbool_t, op: svint32_t) -> i32 {
10529 unsafe extern "unadjusted" {
10530 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.eorv.nxv4i32")]
10531 fn _sveorv_s32(pg: svbool4_t, op: svint32_t) -> i32;
10532 }
10533 unsafe { _sveorv_s32(pg.sve_into(), op) }
10534}
10535#[doc = "Bitwise exclusive OR reduction to scalar"]
10536#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/sveorv[_s64])"]
10537#[inline]
10538#[target_feature(enable = "sve")]
10539#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
10540#[cfg_attr(test, assert_instr(eorv))]
10541pub fn sveorv_s64(pg: svbool_t, op: svint64_t) -> i64 {
10542 unsafe extern "unadjusted" {
10543 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.eorv.nxv2i64")]
10544 fn _sveorv_s64(pg: svbool2_t, op: svint64_t) -> i64;
10545 }
10546 unsafe { _sveorv_s64(pg.sve_into(), op) }
10547}
10548#[doc = "Bitwise exclusive OR reduction to scalar"]
10549#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/sveorv[_u8])"]
10550#[inline]
10551#[target_feature(enable = "sve")]
10552#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
10553#[cfg_attr(test, assert_instr(eorv))]
10554pub fn sveorv_u8(pg: svbool_t, op: svuint8_t) -> u8 {
10555 unsafe { sveorv_s8(pg, op.as_signed()).as_unsigned() }
10556}
10557#[doc = "Bitwise exclusive OR reduction to scalar"]
10558#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/sveorv[_u16])"]
10559#[inline]
10560#[target_feature(enable = "sve")]
10561#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
10562#[cfg_attr(test, assert_instr(eorv))]
10563pub fn sveorv_u16(pg: svbool_t, op: svuint16_t) -> u16 {
10564 unsafe { sveorv_s16(pg, op.as_signed()).as_unsigned() }
10565}
10566#[doc = "Bitwise exclusive OR reduction to scalar"]
10567#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/sveorv[_u32])"]
10568#[inline]
10569#[target_feature(enable = "sve")]
10570#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
10571#[cfg_attr(test, assert_instr(eorv))]
10572pub fn sveorv_u32(pg: svbool_t, op: svuint32_t) -> u32 {
10573 unsafe { sveorv_s32(pg, op.as_signed()).as_unsigned() }
10574}
10575#[doc = "Bitwise exclusive OR reduction to scalar"]
10576#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/sveorv[_u64])"]
10577#[inline]
10578#[target_feature(enable = "sve")]
10579#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
10580#[cfg_attr(test, assert_instr(eorv))]
10581pub fn sveorv_u64(pg: svbool_t, op: svuint64_t) -> u64 {
10582 unsafe { sveorv_s64(pg, op.as_signed()).as_unsigned() }
10583}
10584#[doc = "Floating-point exponential accelerator"]
10585#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svexpa[_f32])"]
10586#[inline]
10587#[target_feature(enable = "sve")]
10588#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
10589#[cfg_attr(test, assert_instr(fexpa))]
10590pub fn svexpa_f32(op: svuint32_t) -> svfloat32_t {
10591 unsafe extern "unadjusted" {
10592 #[cfg_attr(
10593 target_arch = "aarch64",
10594 link_name = "llvm.aarch64.sve.fexpa.x.nxv4f32 "
10595 )]
10596 fn _svexpa_f32(op: svint32_t) -> svfloat32_t;
10597 }
10598 unsafe { _svexpa_f32(op.as_signed()) }
10599}
10600#[doc = "Floating-point exponential accelerator"]
10601#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svexpa[_f64])"]
10602#[inline]
10603#[target_feature(enable = "sve")]
10604#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
10605#[cfg_attr(test, assert_instr(fexpa))]
10606pub fn svexpa_f64(op: svuint64_t) -> svfloat64_t {
10607 unsafe extern "unadjusted" {
10608 #[cfg_attr(
10609 target_arch = "aarch64",
10610 link_name = "llvm.aarch64.sve.fexpa.x.nxv2f64 "
10611 )]
10612 fn _svexpa_f64(op: svint64_t) -> svfloat64_t;
10613 }
10614 unsafe { _svexpa_f64(op.as_signed()) }
10615}
10616#[doc = "Extract vector from pair of vectors"]
10617#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svext[_f32])"]
10618#[inline]
10619#[target_feature(enable = "sve")]
10620#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
10621#[cfg_attr(test, assert_instr(ext, IMM3 = 1))]
10622pub fn svext_f32<const IMM3: i32>(op1: svfloat32_t, op2: svfloat32_t) -> svfloat32_t {
10623 static_assert_range!(IMM3, 0..=63);
10624 unsafe extern "unadjusted" {
10625 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.ext.nxv4f32")]
10626 fn _svext_f32(op1: svfloat32_t, op2: svfloat32_t, imm3: i32) -> svfloat32_t;
10627 }
10628 unsafe { _svext_f32(op1, op2, IMM3) }
10629}
10630#[doc = "Extract vector from pair of vectors"]
10631#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svext[_f64])"]
10632#[inline]
10633#[target_feature(enable = "sve")]
10634#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
10635#[cfg_attr(test, assert_instr(ext, IMM3 = 1))]
10636pub fn svext_f64<const IMM3: i32>(op1: svfloat64_t, op2: svfloat64_t) -> svfloat64_t {
10637 static_assert_range!(IMM3, 0..=31);
10638 unsafe extern "unadjusted" {
10639 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.ext.nxv2f64")]
10640 fn _svext_f64(op1: svfloat64_t, op2: svfloat64_t, imm3: i32) -> svfloat64_t;
10641 }
10642 unsafe { _svext_f64(op1, op2, IMM3) }
10643}
10644#[doc = "Extract vector from pair of vectors"]
10645#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svext[_s8])"]
10646#[inline]
10647#[target_feature(enable = "sve")]
10648#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
10649#[cfg_attr(test, assert_instr(ext, IMM3 = 1))]
10650pub fn svext_s8<const IMM3: i32>(op1: svint8_t, op2: svint8_t) -> svint8_t {
10651 static_assert_range!(IMM3, 0..=255);
10652 unsafe extern "unadjusted" {
10653 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.ext.nxv16i8")]
10654 fn _svext_s8(op1: svint8_t, op2: svint8_t, imm3: i32) -> svint8_t;
10655 }
10656 unsafe { _svext_s8(op1, op2, IMM3) }
10657}
10658#[doc = "Extract vector from pair of vectors"]
10659#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svext[_s16])"]
10660#[inline]
10661#[target_feature(enable = "sve")]
10662#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
10663#[cfg_attr(test, assert_instr(ext, IMM3 = 1))]
10664pub fn svext_s16<const IMM3: i32>(op1: svint16_t, op2: svint16_t) -> svint16_t {
10665 static_assert_range!(IMM3, 0..=127);
10666 unsafe extern "unadjusted" {
10667 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.ext.nxv8i16")]
10668 fn _svext_s16(op1: svint16_t, op2: svint16_t, imm3: i32) -> svint16_t;
10669 }
10670 unsafe { _svext_s16(op1, op2, IMM3) }
10671}
10672#[doc = "Extract vector from pair of vectors"]
10673#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svext[_s32])"]
10674#[inline]
10675#[target_feature(enable = "sve")]
10676#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
10677#[cfg_attr(test, assert_instr(ext, IMM3 = 1))]
10678pub fn svext_s32<const IMM3: i32>(op1: svint32_t, op2: svint32_t) -> svint32_t {
10679 static_assert_range!(IMM3, 0..=63);
10680 unsafe extern "unadjusted" {
10681 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.ext.nxv4i32")]
10682 fn _svext_s32(op1: svint32_t, op2: svint32_t, imm3: i32) -> svint32_t;
10683 }
10684 unsafe { _svext_s32(op1, op2, IMM3) }
10685}
10686#[doc = "Extract vector from pair of vectors"]
10687#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svext[_s64])"]
10688#[inline]
10689#[target_feature(enable = "sve")]
10690#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
10691#[cfg_attr(test, assert_instr(ext, IMM3 = 1))]
10692pub fn svext_s64<const IMM3: i32>(op1: svint64_t, op2: svint64_t) -> svint64_t {
10693 static_assert_range!(IMM3, 0..=31);
10694 unsafe extern "unadjusted" {
10695 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.ext.nxv2i64")]
10696 fn _svext_s64(op1: svint64_t, op2: svint64_t, imm3: i32) -> svint64_t;
10697 }
10698 unsafe { _svext_s64(op1, op2, IMM3) }
10699}
10700#[doc = "Extract vector from pair of vectors"]
10701#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svext[_u8])"]
10702#[inline]
10703#[target_feature(enable = "sve")]
10704#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
10705#[cfg_attr(test, assert_instr(ext, IMM3 = 1))]
10706pub fn svext_u8<const IMM3: i32>(op1: svuint8_t, op2: svuint8_t) -> svuint8_t {
10707 static_assert_range!(IMM3, 0..=255);
10708 unsafe { svext_s8::<IMM3>(op1.as_signed(), op2.as_signed()).as_unsigned() }
10709}
10710#[doc = "Extract vector from pair of vectors"]
10711#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svext[_u16])"]
10712#[inline]
10713#[target_feature(enable = "sve")]
10714#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
10715#[cfg_attr(test, assert_instr(ext, IMM3 = 1))]
10716pub fn svext_u16<const IMM3: i32>(op1: svuint16_t, op2: svuint16_t) -> svuint16_t {
10717 static_assert_range!(IMM3, 0..=127);
10718 unsafe { svext_s16::<IMM3>(op1.as_signed(), op2.as_signed()).as_unsigned() }
10719}
10720#[doc = "Extract vector from pair of vectors"]
10721#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svext[_u32])"]
10722#[inline]
10723#[target_feature(enable = "sve")]
10724#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
10725#[cfg_attr(test, assert_instr(ext, IMM3 = 1))]
10726pub fn svext_u32<const IMM3: i32>(op1: svuint32_t, op2: svuint32_t) -> svuint32_t {
10727 static_assert_range!(IMM3, 0..=63);
10728 unsafe { svext_s32::<IMM3>(op1.as_signed(), op2.as_signed()).as_unsigned() }
10729}
10730#[doc = "Extract vector from pair of vectors"]
10731#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svext[_u64])"]
10732#[inline]
10733#[target_feature(enable = "sve")]
10734#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
10735#[cfg_attr(test, assert_instr(ext, IMM3 = 1))]
10736pub fn svext_u64<const IMM3: i32>(op1: svuint64_t, op2: svuint64_t) -> svuint64_t {
10737 static_assert_range!(IMM3, 0..=31);
10738 unsafe { svext_s64::<IMM3>(op1.as_signed(), op2.as_signed()).as_unsigned() }
10739}
10740#[doc = "Sign-extend the low 8 bits"]
10741#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svextb[_s16]_m)"]
10742#[inline]
10743#[target_feature(enable = "sve")]
10744#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
10745#[cfg_attr(test, assert_instr(sxtb))]
10746pub fn svextb_s16_m(inactive: svint16_t, pg: svbool_t, op: svint16_t) -> svint16_t {
10747 unsafe extern "unadjusted" {
10748 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.sxtb.nxv8i16")]
10749 fn _svextb_s16_m(inactive: svint16_t, pg: svbool8_t, op: svint16_t) -> svint16_t;
10750 }
10751 unsafe { _svextb_s16_m(inactive, pg.sve_into(), op) }
10752}
10753#[doc = "Sign-extend the low 8 bits"]
10754#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svextb[_s16]_x)"]
10755#[inline]
10756#[target_feature(enable = "sve")]
10757#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
10758#[cfg_attr(test, assert_instr(sxtb))]
10759pub fn svextb_s16_x(pg: svbool_t, op: svint16_t) -> svint16_t {
10760 svextb_s16_m(op, pg, op)
10761}
10762#[doc = "Sign-extend the low 8 bits"]
10763#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svextb[_s16]_z)"]
10764#[inline]
10765#[target_feature(enable = "sve")]
10766#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
10767#[cfg_attr(test, assert_instr(sxtb))]
10768pub fn svextb_s16_z(pg: svbool_t, op: svint16_t) -> svint16_t {
10769 svextb_s16_m(svdup_n_s16(0), pg, op)
10770}
10771#[doc = "Sign-extend the low 8 bits"]
10772#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svextb[_s32]_m)"]
10773#[inline]
10774#[target_feature(enable = "sve")]
10775#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
10776#[cfg_attr(test, assert_instr(sxtb))]
10777pub fn svextb_s32_m(inactive: svint32_t, pg: svbool_t, op: svint32_t) -> svint32_t {
10778 unsafe extern "unadjusted" {
10779 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.sxtb.nxv4i32")]
10780 fn _svextb_s32_m(inactive: svint32_t, pg: svbool4_t, op: svint32_t) -> svint32_t;
10781 }
10782 unsafe { _svextb_s32_m(inactive, pg.sve_into(), op) }
10783}
10784#[doc = "Sign-extend the low 8 bits"]
10785#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svextb[_s32]_x)"]
10786#[inline]
10787#[target_feature(enable = "sve")]
10788#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
10789#[cfg_attr(test, assert_instr(sxtb))]
10790pub fn svextb_s32_x(pg: svbool_t, op: svint32_t) -> svint32_t {
10791 svextb_s32_m(op, pg, op)
10792}
10793#[doc = "Sign-extend the low 8 bits"]
10794#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svextb[_s32]_z)"]
10795#[inline]
10796#[target_feature(enable = "sve")]
10797#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
10798#[cfg_attr(test, assert_instr(sxtb))]
10799pub fn svextb_s32_z(pg: svbool_t, op: svint32_t) -> svint32_t {
10800 svextb_s32_m(svdup_n_s32(0), pg, op)
10801}
10802#[doc = "Sign-extend the low 16 bits"]
10803#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svexth[_s32]_m)"]
10804#[inline]
10805#[target_feature(enable = "sve")]
10806#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
10807#[cfg_attr(test, assert_instr(sxth))]
10808pub fn svexth_s32_m(inactive: svint32_t, pg: svbool_t, op: svint32_t) -> svint32_t {
10809 unsafe extern "unadjusted" {
10810 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.sxth.nxv4i32")]
10811 fn _svexth_s32_m(inactive: svint32_t, pg: svbool4_t, op: svint32_t) -> svint32_t;
10812 }
10813 unsafe { _svexth_s32_m(inactive, pg.sve_into(), op) }
10814}
10815#[doc = "Sign-extend the low 16 bits"]
10816#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svexth[_s32]_x)"]
10817#[inline]
10818#[target_feature(enable = "sve")]
10819#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
10820#[cfg_attr(test, assert_instr(sxth))]
10821pub fn svexth_s32_x(pg: svbool_t, op: svint32_t) -> svint32_t {
10822 svexth_s32_m(op, pg, op)
10823}
10824#[doc = "Sign-extend the low 16 bits"]
10825#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svexth[_s32]_z)"]
10826#[inline]
10827#[target_feature(enable = "sve")]
10828#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
10829#[cfg_attr(test, assert_instr(sxth))]
10830pub fn svexth_s32_z(pg: svbool_t, op: svint32_t) -> svint32_t {
10831 svexth_s32_m(svdup_n_s32(0), pg, op)
10832}
10833#[doc = "Sign-extend the low 8 bits"]
10834#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svextb[_s64]_m)"]
10835#[inline]
10836#[target_feature(enable = "sve")]
10837#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
10838#[cfg_attr(test, assert_instr(sxtb))]
10839pub fn svextb_s64_m(inactive: svint64_t, pg: svbool_t, op: svint64_t) -> svint64_t {
10840 unsafe extern "unadjusted" {
10841 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.sxtb.nxv2i64")]
10842 fn _svextb_s64_m(inactive: svint64_t, pg: svbool2_t, op: svint64_t) -> svint64_t;
10843 }
10844 unsafe { _svextb_s64_m(inactive, pg.sve_into(), op) }
10845}
10846#[doc = "Sign-extend the low 8 bits"]
10847#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svextb[_s64]_x)"]
10848#[inline]
10849#[target_feature(enable = "sve")]
10850#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
10851#[cfg_attr(test, assert_instr(sxtb))]
10852pub fn svextb_s64_x(pg: svbool_t, op: svint64_t) -> svint64_t {
10853 svextb_s64_m(op, pg, op)
10854}
10855#[doc = "Sign-extend the low 8 bits"]
10856#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svextb[_s64]_z)"]
10857#[inline]
10858#[target_feature(enable = "sve")]
10859#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
10860#[cfg_attr(test, assert_instr(sxtb))]
10861pub fn svextb_s64_z(pg: svbool_t, op: svint64_t) -> svint64_t {
10862 svextb_s64_m(svdup_n_s64(0), pg, op)
10863}
10864#[doc = "Sign-extend the low 16 bits"]
10865#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svexth[_s64]_m)"]
10866#[inline]
10867#[target_feature(enable = "sve")]
10868#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
10869#[cfg_attr(test, assert_instr(sxth))]
10870pub fn svexth_s64_m(inactive: svint64_t, pg: svbool_t, op: svint64_t) -> svint64_t {
10871 unsafe extern "unadjusted" {
10872 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.sxth.nxv2i64")]
10873 fn _svexth_s64_m(inactive: svint64_t, pg: svbool2_t, op: svint64_t) -> svint64_t;
10874 }
10875 unsafe { _svexth_s64_m(inactive, pg.sve_into(), op) }
10876}
10877#[doc = "Sign-extend the low 16 bits"]
10878#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svexth[_s64]_x)"]
10879#[inline]
10880#[target_feature(enable = "sve")]
10881#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
10882#[cfg_attr(test, assert_instr(sxth))]
10883pub fn svexth_s64_x(pg: svbool_t, op: svint64_t) -> svint64_t {
10884 svexth_s64_m(op, pg, op)
10885}
10886#[doc = "Sign-extend the low 16 bits"]
10887#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svexth[_s64]_z)"]
10888#[inline]
10889#[target_feature(enable = "sve")]
10890#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
10891#[cfg_attr(test, assert_instr(sxth))]
10892pub fn svexth_s64_z(pg: svbool_t, op: svint64_t) -> svint64_t {
10893 svexth_s64_m(svdup_n_s64(0), pg, op)
10894}
10895#[doc = "Sign-extend the low 32 bits"]
10896#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svextw[_s64]_m)"]
10897#[inline]
10898#[target_feature(enable = "sve")]
10899#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
10900#[cfg_attr(test, assert_instr(sxtw))]
10901pub fn svextw_s64_m(inactive: svint64_t, pg: svbool_t, op: svint64_t) -> svint64_t {
10902 unsafe extern "unadjusted" {
10903 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.sxtw.nxv2i64")]
10904 fn _svextw_s64_m(inactive: svint64_t, pg: svbool2_t, op: svint64_t) -> svint64_t;
10905 }
10906 unsafe { _svextw_s64_m(inactive, pg.sve_into(), op) }
10907}
10908#[doc = "Sign-extend the low 32 bits"]
10909#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svextw[_s64]_x)"]
10910#[inline]
10911#[target_feature(enable = "sve")]
10912#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
10913#[cfg_attr(test, assert_instr(sxtw))]
10914pub fn svextw_s64_x(pg: svbool_t, op: svint64_t) -> svint64_t {
10915 svextw_s64_m(op, pg, op)
10916}
10917#[doc = "Sign-extend the low 32 bits"]
10918#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svextw[_s64]_z)"]
10919#[inline]
10920#[target_feature(enable = "sve")]
10921#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
10922#[cfg_attr(test, assert_instr(sxtw))]
10923pub fn svextw_s64_z(pg: svbool_t, op: svint64_t) -> svint64_t {
10924 svextw_s64_m(svdup_n_s64(0), pg, op)
10925}
10926#[doc = "Zero-extend the low 8 bits"]
10927#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svextb[_u16]_m)"]
10928#[inline]
10929#[target_feature(enable = "sve")]
10930#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
10931#[cfg_attr(test, assert_instr(uxtb))]
10932pub fn svextb_u16_m(inactive: svuint16_t, pg: svbool_t, op: svuint16_t) -> svuint16_t {
10933 unsafe extern "unadjusted" {
10934 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.uxtb.nxv8i16")]
10935 fn _svextb_u16_m(inactive: svint16_t, pg: svbool8_t, op: svint16_t) -> svint16_t;
10936 }
10937 unsafe { _svextb_u16_m(inactive.as_signed(), pg.sve_into(), op.as_signed()).as_unsigned() }
10938}
10939#[doc = "Zero-extend the low 8 bits"]
10940#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svextb[_u16]_x)"]
10941#[inline]
10942#[target_feature(enable = "sve")]
10943#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
10944#[cfg_attr(test, assert_instr(uxtb))]
10945pub fn svextb_u16_x(pg: svbool_t, op: svuint16_t) -> svuint16_t {
10946 svextb_u16_m(op, pg, op)
10947}
10948#[doc = "Zero-extend the low 8 bits"]
10949#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svextb[_u16]_z)"]
10950#[inline]
10951#[target_feature(enable = "sve")]
10952#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
10953#[cfg_attr(test, assert_instr(uxtb))]
10954pub fn svextb_u16_z(pg: svbool_t, op: svuint16_t) -> svuint16_t {
10955 svextb_u16_m(svdup_n_u16(0), pg, op)
10956}
10957#[doc = "Zero-extend the low 8 bits"]
10958#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svextb[_u32]_m)"]
10959#[inline]
10960#[target_feature(enable = "sve")]
10961#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
10962#[cfg_attr(test, assert_instr(uxtb))]
10963pub fn svextb_u32_m(inactive: svuint32_t, pg: svbool_t, op: svuint32_t) -> svuint32_t {
10964 unsafe extern "unadjusted" {
10965 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.uxtb.nxv4i32")]
10966 fn _svextb_u32_m(inactive: svint32_t, pg: svbool4_t, op: svint32_t) -> svint32_t;
10967 }
10968 unsafe { _svextb_u32_m(inactive.as_signed(), pg.sve_into(), op.as_signed()).as_unsigned() }
10969}
10970#[doc = "Zero-extend the low 8 bits"]
10971#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svextb[_u32]_x)"]
10972#[inline]
10973#[target_feature(enable = "sve")]
10974#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
10975#[cfg_attr(test, assert_instr(uxtb))]
10976pub fn svextb_u32_x(pg: svbool_t, op: svuint32_t) -> svuint32_t {
10977 svextb_u32_m(op, pg, op)
10978}
10979#[doc = "Zero-extend the low 8 bits"]
10980#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svextb[_u32]_z)"]
10981#[inline]
10982#[target_feature(enable = "sve")]
10983#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
10984#[cfg_attr(test, assert_instr(uxtb))]
10985pub fn svextb_u32_z(pg: svbool_t, op: svuint32_t) -> svuint32_t {
10986 svextb_u32_m(svdup_n_u32(0), pg, op)
10987}
10988#[doc = "Zero-extend the low 16 bits"]
10989#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svexth[_u32]_m)"]
10990#[inline]
10991#[target_feature(enable = "sve")]
10992#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
10993#[cfg_attr(test, assert_instr(uxth))]
10994pub fn svexth_u32_m(inactive: svuint32_t, pg: svbool_t, op: svuint32_t) -> svuint32_t {
10995 unsafe extern "unadjusted" {
10996 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.uxth.nxv4i32")]
10997 fn _svexth_u32_m(inactive: svint32_t, pg: svbool4_t, op: svint32_t) -> svint32_t;
10998 }
10999 unsafe { _svexth_u32_m(inactive.as_signed(), pg.sve_into(), op.as_signed()).as_unsigned() }
11000}
11001#[doc = "Zero-extend the low 16 bits"]
11002#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svexth[_u32]_x)"]
11003#[inline]
11004#[target_feature(enable = "sve")]
11005#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
11006#[cfg_attr(test, assert_instr(uxth))]
11007pub fn svexth_u32_x(pg: svbool_t, op: svuint32_t) -> svuint32_t {
11008 svexth_u32_m(op, pg, op)
11009}
11010#[doc = "Zero-extend the low 16 bits"]
11011#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svexth[_u32]_z)"]
11012#[inline]
11013#[target_feature(enable = "sve")]
11014#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
11015#[cfg_attr(test, assert_instr(uxth))]
11016pub fn svexth_u32_z(pg: svbool_t, op: svuint32_t) -> svuint32_t {
11017 svexth_u32_m(svdup_n_u32(0), pg, op)
11018}
11019#[doc = "Zero-extend the low 8 bits"]
11020#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svextb[_u64]_m)"]
11021#[inline]
11022#[target_feature(enable = "sve")]
11023#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
11024#[cfg_attr(test, assert_instr(uxtb))]
11025pub fn svextb_u64_m(inactive: svuint64_t, pg: svbool_t, op: svuint64_t) -> svuint64_t {
11026 unsafe extern "unadjusted" {
11027 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.uxtb.nxv2i64")]
11028 fn _svextb_u64_m(inactive: svint64_t, pg: svbool2_t, op: svint64_t) -> svint64_t;
11029 }
11030 unsafe { _svextb_u64_m(inactive.as_signed(), pg.sve_into(), op.as_signed()).as_unsigned() }
11031}
11032#[doc = "Zero-extend the low 8 bits"]
11033#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svextb[_u64]_x)"]
11034#[inline]
11035#[target_feature(enable = "sve")]
11036#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
11037#[cfg_attr(test, assert_instr(uxtb))]
11038pub fn svextb_u64_x(pg: svbool_t, op: svuint64_t) -> svuint64_t {
11039 svextb_u64_m(op, pg, op)
11040}
11041#[doc = "Zero-extend the low 8 bits"]
11042#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svextb[_u64]_z)"]
11043#[inline]
11044#[target_feature(enable = "sve")]
11045#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
11046#[cfg_attr(test, assert_instr(uxtb))]
11047pub fn svextb_u64_z(pg: svbool_t, op: svuint64_t) -> svuint64_t {
11048 svextb_u64_m(svdup_n_u64(0), pg, op)
11049}
11050#[doc = "Zero-extend the low 16 bits"]
11051#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svexth[_u64]_m)"]
11052#[inline]
11053#[target_feature(enable = "sve")]
11054#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
11055#[cfg_attr(test, assert_instr(uxth))]
11056pub fn svexth_u64_m(inactive: svuint64_t, pg: svbool_t, op: svuint64_t) -> svuint64_t {
11057 unsafe extern "unadjusted" {
11058 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.uxth.nxv2i64")]
11059 fn _svexth_u64_m(inactive: svint64_t, pg: svbool2_t, op: svint64_t) -> svint64_t;
11060 }
11061 unsafe { _svexth_u64_m(inactive.as_signed(), pg.sve_into(), op.as_signed()).as_unsigned() }
11062}
11063#[doc = "Zero-extend the low 16 bits"]
11064#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svexth[_u64]_x)"]
11065#[inline]
11066#[target_feature(enable = "sve")]
11067#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
11068#[cfg_attr(test, assert_instr(uxth))]
11069pub fn svexth_u64_x(pg: svbool_t, op: svuint64_t) -> svuint64_t {
11070 svexth_u64_m(op, pg, op)
11071}
11072#[doc = "Zero-extend the low 16 bits"]
11073#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svexth[_u64]_z)"]
11074#[inline]
11075#[target_feature(enable = "sve")]
11076#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
11077#[cfg_attr(test, assert_instr(uxth))]
11078pub fn svexth_u64_z(pg: svbool_t, op: svuint64_t) -> svuint64_t {
11079 svexth_u64_m(svdup_n_u64(0), pg, op)
11080}
11081#[doc = "Zero-extend the low 32 bits"]
11082#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svextw[_u64]_m)"]
11083#[inline]
11084#[target_feature(enable = "sve")]
11085#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
11086#[cfg_attr(test, assert_instr(uxtw))]
11087pub fn svextw_u64_m(inactive: svuint64_t, pg: svbool_t, op: svuint64_t) -> svuint64_t {
11088 unsafe extern "unadjusted" {
11089 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.uxtw.nxv2i64")]
11090 fn _svextw_u64_m(inactive: svint64_t, pg: svbool2_t, op: svint64_t) -> svint64_t;
11091 }
11092 unsafe { _svextw_u64_m(inactive.as_signed(), pg.sve_into(), op.as_signed()).as_unsigned() }
11093}
11094#[doc = "Zero-extend the low 32 bits"]
11095#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svextw[_u64]_x)"]
11096#[inline]
11097#[target_feature(enable = "sve")]
11098#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
11099#[cfg_attr(test, assert_instr(uxtw))]
11100pub fn svextw_u64_x(pg: svbool_t, op: svuint64_t) -> svuint64_t {
11101 svextw_u64_m(op, pg, op)
11102}
11103#[doc = "Zero-extend the low 32 bits"]
11104#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svextw[_u64]_z)"]
11105#[inline]
11106#[target_feature(enable = "sve")]
11107#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
11108#[cfg_attr(test, assert_instr(uxtw))]
11109pub fn svextw_u64_z(pg: svbool_t, op: svuint64_t) -> svuint64_t {
11110 svextw_u64_m(svdup_n_u64(0), pg, op)
11111}
11112#[doc = "Extract one vector from a tuple of two vectors"]
11113#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svget2[_f32])"]
11114#[inline]
11115#[target_feature(enable = "sve")]
11116#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
11117pub fn svget2_f32<const IMM_INDEX: i32>(tuple: svfloat32x2_t) -> svfloat32_t {
11118 static_assert_range!(IMM_INDEX, 0..=1);
11119 unsafe { crate::intrinsics::simd::scalable::sve_tuple_get::<_, _, { IMM_INDEX }>(tuple) }
11120}
11121#[doc = "Extract one vector from a tuple of two vectors"]
11122#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svget2[_f64])"]
11123#[inline]
11124#[target_feature(enable = "sve")]
11125#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
11126pub fn svget2_f64<const IMM_INDEX: i32>(tuple: svfloat64x2_t) -> svfloat64_t {
11127 static_assert_range!(IMM_INDEX, 0..=1);
11128 unsafe { crate::intrinsics::simd::scalable::sve_tuple_get::<_, _, { IMM_INDEX }>(tuple) }
11129}
11130#[doc = "Extract one vector from a tuple of two vectors"]
11131#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svget2[_s8])"]
11132#[inline]
11133#[target_feature(enable = "sve")]
11134#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
11135pub fn svget2_s8<const IMM_INDEX: i32>(tuple: svint8x2_t) -> svint8_t {
11136 static_assert_range!(IMM_INDEX, 0..=1);
11137 unsafe { crate::intrinsics::simd::scalable::sve_tuple_get::<_, _, { IMM_INDEX }>(tuple) }
11138}
11139#[doc = "Extract one vector from a tuple of two vectors"]
11140#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svget2[_s16])"]
11141#[inline]
11142#[target_feature(enable = "sve")]
11143#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
11144pub fn svget2_s16<const IMM_INDEX: i32>(tuple: svint16x2_t) -> svint16_t {
11145 static_assert_range!(IMM_INDEX, 0..=1);
11146 unsafe { crate::intrinsics::simd::scalable::sve_tuple_get::<_, _, { IMM_INDEX }>(tuple) }
11147}
11148#[doc = "Extract one vector from a tuple of two vectors"]
11149#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svget2[_s32])"]
11150#[inline]
11151#[target_feature(enable = "sve")]
11152#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
11153pub fn svget2_s32<const IMM_INDEX: i32>(tuple: svint32x2_t) -> svint32_t {
11154 static_assert_range!(IMM_INDEX, 0..=1);
11155 unsafe { crate::intrinsics::simd::scalable::sve_tuple_get::<_, _, { IMM_INDEX }>(tuple) }
11156}
11157#[doc = "Extract one vector from a tuple of two vectors"]
11158#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svget2[_s64])"]
11159#[inline]
11160#[target_feature(enable = "sve")]
11161#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
11162pub fn svget2_s64<const IMM_INDEX: i32>(tuple: svint64x2_t) -> svint64_t {
11163 static_assert_range!(IMM_INDEX, 0..=1);
11164 unsafe { crate::intrinsics::simd::scalable::sve_tuple_get::<_, _, { IMM_INDEX }>(tuple) }
11165}
11166#[doc = "Extract one vector from a tuple of two vectors"]
11167#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svget2[_u8])"]
11168#[inline]
11169#[target_feature(enable = "sve")]
11170#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
11171pub fn svget2_u8<const IMM_INDEX: i32>(tuple: svuint8x2_t) -> svuint8_t {
11172 static_assert_range!(IMM_INDEX, 0..=1);
11173 unsafe { crate::intrinsics::simd::scalable::sve_tuple_get::<_, _, { IMM_INDEX }>(tuple) }
11174}
11175#[doc = "Extract one vector from a tuple of two vectors"]
11176#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svget2[_u16])"]
11177#[inline]
11178#[target_feature(enable = "sve")]
11179#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
11180pub fn svget2_u16<const IMM_INDEX: i32>(tuple: svuint16x2_t) -> svuint16_t {
11181 static_assert_range!(IMM_INDEX, 0..=1);
11182 unsafe { crate::intrinsics::simd::scalable::sve_tuple_get::<_, _, { IMM_INDEX }>(tuple) }
11183}
11184#[doc = "Extract one vector from a tuple of two vectors"]
11185#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svget2[_u32])"]
11186#[inline]
11187#[target_feature(enable = "sve")]
11188#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
11189pub fn svget2_u32<const IMM_INDEX: i32>(tuple: svuint32x2_t) -> svuint32_t {
11190 static_assert_range!(IMM_INDEX, 0..=1);
11191 unsafe { crate::intrinsics::simd::scalable::sve_tuple_get::<_, _, { IMM_INDEX }>(tuple) }
11192}
11193#[doc = "Extract one vector from a tuple of two vectors"]
11194#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svget2[_u64])"]
11195#[inline]
11196#[target_feature(enable = "sve")]
11197#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
11198pub fn svget2_u64<const IMM_INDEX: i32>(tuple: svuint64x2_t) -> svuint64_t {
11199 static_assert_range!(IMM_INDEX, 0..=1);
11200 unsafe { crate::intrinsics::simd::scalable::sve_tuple_get::<_, _, { IMM_INDEX }>(tuple) }
11201}
11202#[doc = "Extract one vector from a tuple of three vectors"]
11203#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svget3[_f32])"]
11204#[inline]
11205#[target_feature(enable = "sve")]
11206#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
11207pub fn svget3_f32<const IMM_INDEX: i32>(tuple: svfloat32x3_t) -> svfloat32_t {
11208 static_assert_range!(IMM_INDEX, 0..=2);
11209 unsafe { crate::intrinsics::simd::scalable::sve_tuple_get::<_, _, { IMM_INDEX }>(tuple) }
11210}
11211#[doc = "Extract one vector from a tuple of three vectors"]
11212#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svget3[_f64])"]
11213#[inline]
11214#[target_feature(enable = "sve")]
11215#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
11216pub fn svget3_f64<const IMM_INDEX: i32>(tuple: svfloat64x3_t) -> svfloat64_t {
11217 static_assert_range!(IMM_INDEX, 0..=2);
11218 unsafe { crate::intrinsics::simd::scalable::sve_tuple_get::<_, _, { IMM_INDEX }>(tuple) }
11219}
11220#[doc = "Extract one vector from a tuple of three vectors"]
11221#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svget3[_s8])"]
11222#[inline]
11223#[target_feature(enable = "sve")]
11224#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
11225pub fn svget3_s8<const IMM_INDEX: i32>(tuple: svint8x3_t) -> svint8_t {
11226 static_assert_range!(IMM_INDEX, 0..=2);
11227 unsafe { crate::intrinsics::simd::scalable::sve_tuple_get::<_, _, { IMM_INDEX }>(tuple) }
11228}
11229#[doc = "Extract one vector from a tuple of three vectors"]
11230#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svget3[_s16])"]
11231#[inline]
11232#[target_feature(enable = "sve")]
11233#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
11234pub fn svget3_s16<const IMM_INDEX: i32>(tuple: svint16x3_t) -> svint16_t {
11235 static_assert_range!(IMM_INDEX, 0..=2);
11236 unsafe { crate::intrinsics::simd::scalable::sve_tuple_get::<_, _, { IMM_INDEX }>(tuple) }
11237}
11238#[doc = "Extract one vector from a tuple of three vectors"]
11239#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svget3[_s32])"]
11240#[inline]
11241#[target_feature(enable = "sve")]
11242#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
11243pub fn svget3_s32<const IMM_INDEX: i32>(tuple: svint32x3_t) -> svint32_t {
11244 static_assert_range!(IMM_INDEX, 0..=2);
11245 unsafe { crate::intrinsics::simd::scalable::sve_tuple_get::<_, _, { IMM_INDEX }>(tuple) }
11246}
11247#[doc = "Extract one vector from a tuple of three vectors"]
11248#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svget3[_s64])"]
11249#[inline]
11250#[target_feature(enable = "sve")]
11251#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
11252pub fn svget3_s64<const IMM_INDEX: i32>(tuple: svint64x3_t) -> svint64_t {
11253 static_assert_range!(IMM_INDEX, 0..=2);
11254 unsafe { crate::intrinsics::simd::scalable::sve_tuple_get::<_, _, { IMM_INDEX }>(tuple) }
11255}
11256#[doc = "Extract one vector from a tuple of three vectors"]
11257#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svget3[_u8])"]
11258#[inline]
11259#[target_feature(enable = "sve")]
11260#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
11261pub fn svget3_u8<const IMM_INDEX: i32>(tuple: svuint8x3_t) -> svuint8_t {
11262 static_assert_range!(IMM_INDEX, 0..=2);
11263 unsafe { crate::intrinsics::simd::scalable::sve_tuple_get::<_, _, { IMM_INDEX }>(tuple) }
11264}
11265#[doc = "Extract one vector from a tuple of three vectors"]
11266#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svget3[_u16])"]
11267#[inline]
11268#[target_feature(enable = "sve")]
11269#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
11270pub fn svget3_u16<const IMM_INDEX: i32>(tuple: svuint16x3_t) -> svuint16_t {
11271 static_assert_range!(IMM_INDEX, 0..=2);
11272 unsafe { crate::intrinsics::simd::scalable::sve_tuple_get::<_, _, { IMM_INDEX }>(tuple) }
11273}
11274#[doc = "Extract one vector from a tuple of three vectors"]
11275#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svget3[_u32])"]
11276#[inline]
11277#[target_feature(enable = "sve")]
11278#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
11279pub fn svget3_u32<const IMM_INDEX: i32>(tuple: svuint32x3_t) -> svuint32_t {
11280 static_assert_range!(IMM_INDEX, 0..=2);
11281 unsafe { crate::intrinsics::simd::scalable::sve_tuple_get::<_, _, { IMM_INDEX }>(tuple) }
11282}
11283#[doc = "Extract one vector from a tuple of three vectors"]
11284#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svget3[_u64])"]
11285#[inline]
11286#[target_feature(enable = "sve")]
11287#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
11288pub fn svget3_u64<const IMM_INDEX: i32>(tuple: svuint64x3_t) -> svuint64_t {
11289 static_assert_range!(IMM_INDEX, 0..=2);
11290 unsafe { crate::intrinsics::simd::scalable::sve_tuple_get::<_, _, { IMM_INDEX }>(tuple) }
11291}
11292#[doc = "Extract one vector from a tuple of four vectors"]
11293#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svget4[_f32])"]
11294#[inline]
11295#[target_feature(enable = "sve")]
11296#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
11297pub fn svget4_f32<const IMM_INDEX: i32>(tuple: svfloat32x4_t) -> svfloat32_t {
11298 static_assert_range!(IMM_INDEX, 0..=3);
11299 unsafe { crate::intrinsics::simd::scalable::sve_tuple_get::<_, _, { IMM_INDEX }>(tuple) }
11300}
11301#[doc = "Extract one vector from a tuple of four vectors"]
11302#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svget4[_f64])"]
11303#[inline]
11304#[target_feature(enable = "sve")]
11305#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
11306pub fn svget4_f64<const IMM_INDEX: i32>(tuple: svfloat64x4_t) -> svfloat64_t {
11307 static_assert_range!(IMM_INDEX, 0..=3);
11308 unsafe { crate::intrinsics::simd::scalable::sve_tuple_get::<_, _, { IMM_INDEX }>(tuple) }
11309}
11310#[doc = "Extract one vector from a tuple of four vectors"]
11311#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svget4[_s8])"]
11312#[inline]
11313#[target_feature(enable = "sve")]
11314#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
11315pub fn svget4_s8<const IMM_INDEX: i32>(tuple: svint8x4_t) -> svint8_t {
11316 static_assert_range!(IMM_INDEX, 0..=3);
11317 unsafe { crate::intrinsics::simd::scalable::sve_tuple_get::<_, _, { IMM_INDEX }>(tuple) }
11318}
11319#[doc = "Extract one vector from a tuple of four vectors"]
11320#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svget4[_s16])"]
11321#[inline]
11322#[target_feature(enable = "sve")]
11323#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
11324pub fn svget4_s16<const IMM_INDEX: i32>(tuple: svint16x4_t) -> svint16_t {
11325 static_assert_range!(IMM_INDEX, 0..=3);
11326 unsafe { crate::intrinsics::simd::scalable::sve_tuple_get::<_, _, { IMM_INDEX }>(tuple) }
11327}
11328#[doc = "Extract one vector from a tuple of four vectors"]
11329#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svget4[_s32])"]
11330#[inline]
11331#[target_feature(enable = "sve")]
11332#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
11333pub fn svget4_s32<const IMM_INDEX: i32>(tuple: svint32x4_t) -> svint32_t {
11334 static_assert_range!(IMM_INDEX, 0..=3);
11335 unsafe { crate::intrinsics::simd::scalable::sve_tuple_get::<_, _, { IMM_INDEX }>(tuple) }
11336}
11337#[doc = "Extract one vector from a tuple of four vectors"]
11338#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svget4[_s64])"]
11339#[inline]
11340#[target_feature(enable = "sve")]
11341#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
11342pub fn svget4_s64<const IMM_INDEX: i32>(tuple: svint64x4_t) -> svint64_t {
11343 static_assert_range!(IMM_INDEX, 0..=3);
11344 unsafe { crate::intrinsics::simd::scalable::sve_tuple_get::<_, _, { IMM_INDEX }>(tuple) }
11345}
11346#[doc = "Extract one vector from a tuple of four vectors"]
11347#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svget4[_u8])"]
11348#[inline]
11349#[target_feature(enable = "sve")]
11350#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
11351pub fn svget4_u8<const IMM_INDEX: i32>(tuple: svuint8x4_t) -> svuint8_t {
11352 static_assert_range!(IMM_INDEX, 0..=3);
11353 unsafe { crate::intrinsics::simd::scalable::sve_tuple_get::<_, _, { IMM_INDEX }>(tuple) }
11354}
11355#[doc = "Extract one vector from a tuple of four vectors"]
11356#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svget4[_u16])"]
11357#[inline]
11358#[target_feature(enable = "sve")]
11359#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
11360pub fn svget4_u16<const IMM_INDEX: i32>(tuple: svuint16x4_t) -> svuint16_t {
11361 static_assert_range!(IMM_INDEX, 0..=3);
11362 unsafe { crate::intrinsics::simd::scalable::sve_tuple_get::<_, _, { IMM_INDEX }>(tuple) }
11363}
11364#[doc = "Extract one vector from a tuple of four vectors"]
11365#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svget4[_u32])"]
11366#[inline]
11367#[target_feature(enable = "sve")]
11368#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
11369pub fn svget4_u32<const IMM_INDEX: i32>(tuple: svuint32x4_t) -> svuint32_t {
11370 static_assert_range!(IMM_INDEX, 0..=3);
11371 unsafe { crate::intrinsics::simd::scalable::sve_tuple_get::<_, _, { IMM_INDEX }>(tuple) }
11372}
11373#[doc = "Extract one vector from a tuple of four vectors"]
11374#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svget4[_u64])"]
11375#[inline]
11376#[target_feature(enable = "sve")]
11377#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
11378pub fn svget4_u64<const IMM_INDEX: i32>(tuple: svuint64x4_t) -> svuint64_t {
11379 static_assert_range!(IMM_INDEX, 0..=3);
11380 unsafe { crate::intrinsics::simd::scalable::sve_tuple_get::<_, _, { IMM_INDEX }>(tuple) }
11381}
11382#[doc = "Create linear series"]
11383#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svindex_s8)"]
11384#[inline]
11385#[target_feature(enable = "sve")]
11386#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
11387#[cfg_attr(test, assert_instr(index))]
11388pub fn svindex_s8(base: i8, step: i8) -> svint8_t {
11389 unsafe extern "unadjusted" {
11390 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.index.nxv16i8")]
11391 fn _svindex_s8(base: i8, step: i8) -> svint8_t;
11392 }
11393 unsafe { _svindex_s8(base, step) }
11394}
11395#[doc = "Create linear series"]
11396#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svindex_s16)"]
11397#[inline]
11398#[target_feature(enable = "sve")]
11399#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
11400#[cfg_attr(test, assert_instr(index))]
11401pub fn svindex_s16(base: i16, step: i16) -> svint16_t {
11402 unsafe extern "unadjusted" {
11403 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.index.nxv8i16")]
11404 fn _svindex_s16(base: i16, step: i16) -> svint16_t;
11405 }
11406 unsafe { _svindex_s16(base, step) }
11407}
11408#[doc = "Create linear series"]
11409#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svindex_s32)"]
11410#[inline]
11411#[target_feature(enable = "sve")]
11412#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
11413#[cfg_attr(test, assert_instr(index))]
11414pub fn svindex_s32(base: i32, step: i32) -> svint32_t {
11415 unsafe extern "unadjusted" {
11416 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.index.nxv4i32")]
11417 fn _svindex_s32(base: i32, step: i32) -> svint32_t;
11418 }
11419 unsafe { _svindex_s32(base, step) }
11420}
11421#[doc = "Create linear series"]
11422#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svindex_s64)"]
11423#[inline]
11424#[target_feature(enable = "sve")]
11425#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
11426#[cfg_attr(test, assert_instr(index))]
11427pub fn svindex_s64(base: i64, step: i64) -> svint64_t {
11428 unsafe extern "unadjusted" {
11429 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.index.nxv2i64")]
11430 fn _svindex_s64(base: i64, step: i64) -> svint64_t;
11431 }
11432 unsafe { _svindex_s64(base, step) }
11433}
11434#[doc = "Create linear series"]
11435#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svindex_u8)"]
11436#[inline]
11437#[target_feature(enable = "sve")]
11438#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
11439#[cfg_attr(test, assert_instr(index))]
11440pub fn svindex_u8(base: u8, step: u8) -> svuint8_t {
11441 unsafe { svindex_s8(base.as_signed(), step.as_signed()).as_unsigned() }
11442}
11443#[doc = "Create linear series"]
11444#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svindex_u16)"]
11445#[inline]
11446#[target_feature(enable = "sve")]
11447#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
11448#[cfg_attr(test, assert_instr(index))]
11449pub fn svindex_u16(base: u16, step: u16) -> svuint16_t {
11450 unsafe { svindex_s16(base.as_signed(), step.as_signed()).as_unsigned() }
11451}
11452#[doc = "Create linear series"]
11453#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svindex_u32)"]
11454#[inline]
11455#[target_feature(enable = "sve")]
11456#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
11457#[cfg_attr(test, assert_instr(index))]
11458pub fn svindex_u32(base: u32, step: u32) -> svuint32_t {
11459 unsafe { svindex_s32(base.as_signed(), step.as_signed()).as_unsigned() }
11460}
11461#[doc = "Create linear series"]
11462#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svindex_u64)"]
11463#[inline]
11464#[target_feature(enable = "sve")]
11465#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
11466#[cfg_attr(test, assert_instr(index))]
11467pub fn svindex_u64(base: u64, step: u64) -> svuint64_t {
11468 unsafe { svindex_s64(base.as_signed(), step.as_signed()).as_unsigned() }
11469}
11470#[doc = "Insert scalar in shifted vector"]
11471#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svinsr[_n_f32])"]
11472#[inline]
11473#[target_feature(enable = "sve")]
11474#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
11475#[cfg_attr(test, assert_instr(insr))]
11476pub fn svinsr_n_f32(op1: svfloat32_t, op2: f32) -> svfloat32_t {
11477 unsafe extern "unadjusted" {
11478 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.insr.nxv4f32")]
11479 fn _svinsr_n_f32(op1: svfloat32_t, op2: f32) -> svfloat32_t;
11480 }
11481 unsafe { _svinsr_n_f32(op1, op2) }
11482}
11483#[doc = "Insert scalar in shifted vector"]
11484#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svinsr[_n_f64])"]
11485#[inline]
11486#[target_feature(enable = "sve")]
11487#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
11488#[cfg_attr(test, assert_instr(insr))]
11489pub fn svinsr_n_f64(op1: svfloat64_t, op2: f64) -> svfloat64_t {
11490 unsafe extern "unadjusted" {
11491 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.insr.nxv2f64")]
11492 fn _svinsr_n_f64(op1: svfloat64_t, op2: f64) -> svfloat64_t;
11493 }
11494 unsafe { _svinsr_n_f64(op1, op2) }
11495}
11496#[doc = "Insert scalar in shifted vector"]
11497#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svinsr[_n_s8])"]
11498#[inline]
11499#[target_feature(enable = "sve")]
11500#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
11501#[cfg_attr(test, assert_instr(insr))]
11502pub fn svinsr_n_s8(op1: svint8_t, op2: i8) -> svint8_t {
11503 unsafe extern "unadjusted" {
11504 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.insr.nxv16i8")]
11505 fn _svinsr_n_s8(op1: svint8_t, op2: i8) -> svint8_t;
11506 }
11507 unsafe { _svinsr_n_s8(op1, op2) }
11508}
11509#[doc = "Insert scalar in shifted vector"]
11510#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svinsr[_n_s16])"]
11511#[inline]
11512#[target_feature(enable = "sve")]
11513#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
11514#[cfg_attr(test, assert_instr(insr))]
11515pub fn svinsr_n_s16(op1: svint16_t, op2: i16) -> svint16_t {
11516 unsafe extern "unadjusted" {
11517 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.insr.nxv8i16")]
11518 fn _svinsr_n_s16(op1: svint16_t, op2: i16) -> svint16_t;
11519 }
11520 unsafe { _svinsr_n_s16(op1, op2) }
11521}
11522#[doc = "Insert scalar in shifted vector"]
11523#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svinsr[_n_s32])"]
11524#[inline]
11525#[target_feature(enable = "sve")]
11526#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
11527#[cfg_attr(test, assert_instr(insr))]
11528pub fn svinsr_n_s32(op1: svint32_t, op2: i32) -> svint32_t {
11529 unsafe extern "unadjusted" {
11530 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.insr.nxv4i32")]
11531 fn _svinsr_n_s32(op1: svint32_t, op2: i32) -> svint32_t;
11532 }
11533 unsafe { _svinsr_n_s32(op1, op2) }
11534}
11535#[doc = "Insert scalar in shifted vector"]
11536#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svinsr[_n_s64])"]
11537#[inline]
11538#[target_feature(enable = "sve")]
11539#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
11540#[cfg_attr(test, assert_instr(insr))]
11541pub fn svinsr_n_s64(op1: svint64_t, op2: i64) -> svint64_t {
11542 unsafe extern "unadjusted" {
11543 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.insr.nxv2i64")]
11544 fn _svinsr_n_s64(op1: svint64_t, op2: i64) -> svint64_t;
11545 }
11546 unsafe { _svinsr_n_s64(op1, op2) }
11547}
11548#[doc = "Insert scalar in shifted vector"]
11549#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svinsr[_n_u8])"]
11550#[inline]
11551#[target_feature(enable = "sve")]
11552#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
11553#[cfg_attr(test, assert_instr(insr))]
11554pub fn svinsr_n_u8(op1: svuint8_t, op2: u8) -> svuint8_t {
11555 unsafe { svinsr_n_s8(op1.as_signed(), op2.as_signed()).as_unsigned() }
11556}
11557#[doc = "Insert scalar in shifted vector"]
11558#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svinsr[_n_u16])"]
11559#[inline]
11560#[target_feature(enable = "sve")]
11561#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
11562#[cfg_attr(test, assert_instr(insr))]
11563pub fn svinsr_n_u16(op1: svuint16_t, op2: u16) -> svuint16_t {
11564 unsafe { svinsr_n_s16(op1.as_signed(), op2.as_signed()).as_unsigned() }
11565}
11566#[doc = "Insert scalar in shifted vector"]
11567#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svinsr[_n_u32])"]
11568#[inline]
11569#[target_feature(enable = "sve")]
11570#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
11571#[cfg_attr(test, assert_instr(insr))]
11572pub fn svinsr_n_u32(op1: svuint32_t, op2: u32) -> svuint32_t {
11573 unsafe { svinsr_n_s32(op1.as_signed(), op2.as_signed()).as_unsigned() }
11574}
11575#[doc = "Insert scalar in shifted vector"]
11576#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svinsr[_n_u64])"]
11577#[inline]
11578#[target_feature(enable = "sve")]
11579#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
11580#[cfg_attr(test, assert_instr(insr))]
11581pub fn svinsr_n_u64(op1: svuint64_t, op2: u64) -> svuint64_t {
11582 unsafe { svinsr_n_s64(op1.as_signed(), op2.as_signed()).as_unsigned() }
11583}
11584#[doc = "Extract element after last"]
11585#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svlasta[_f32])"]
11586#[inline]
11587#[target_feature(enable = "sve")]
11588#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
11589#[cfg_attr(test, assert_instr(lasta))]
11590pub fn svlasta_f32(pg: svbool_t, op: svfloat32_t) -> f32 {
11591 unsafe extern "unadjusted" {
11592 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.lasta.nxv4f32")]
11593 fn _svlasta_f32(pg: svbool4_t, op: svfloat32_t) -> f32;
11594 }
11595 unsafe { _svlasta_f32(pg.sve_into(), op) }
11596}
11597#[doc = "Extract element after last"]
11598#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svlasta[_f64])"]
11599#[inline]
11600#[target_feature(enable = "sve")]
11601#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
11602#[cfg_attr(test, assert_instr(lasta))]
11603pub fn svlasta_f64(pg: svbool_t, op: svfloat64_t) -> f64 {
11604 unsafe extern "unadjusted" {
11605 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.lasta.nxv2f64")]
11606 fn _svlasta_f64(pg: svbool2_t, op: svfloat64_t) -> f64;
11607 }
11608 unsafe { _svlasta_f64(pg.sve_into(), op) }
11609}
11610#[doc = "Extract element after last"]
11611#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svlasta[_s8])"]
11612#[inline]
11613#[target_feature(enable = "sve")]
11614#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
11615#[cfg_attr(test, assert_instr(lasta))]
11616pub fn svlasta_s8(pg: svbool_t, op: svint8_t) -> i8 {
11617 unsafe extern "unadjusted" {
11618 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.lasta.nxv16i8")]
11619 fn _svlasta_s8(pg: svbool_t, op: svint8_t) -> i8;
11620 }
11621 unsafe { _svlasta_s8(pg, op) }
11622}
11623#[doc = "Extract element after last"]
11624#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svlasta[_s16])"]
11625#[inline]
11626#[target_feature(enable = "sve")]
11627#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
11628#[cfg_attr(test, assert_instr(lasta))]
11629pub fn svlasta_s16(pg: svbool_t, op: svint16_t) -> i16 {
11630 unsafe extern "unadjusted" {
11631 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.lasta.nxv8i16")]
11632 fn _svlasta_s16(pg: svbool8_t, op: svint16_t) -> i16;
11633 }
11634 unsafe { _svlasta_s16(pg.sve_into(), op) }
11635}
11636#[doc = "Extract element after last"]
11637#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svlasta[_s32])"]
11638#[inline]
11639#[target_feature(enable = "sve")]
11640#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
11641#[cfg_attr(test, assert_instr(lasta))]
11642pub fn svlasta_s32(pg: svbool_t, op: svint32_t) -> i32 {
11643 unsafe extern "unadjusted" {
11644 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.lasta.nxv4i32")]
11645 fn _svlasta_s32(pg: svbool4_t, op: svint32_t) -> i32;
11646 }
11647 unsafe { _svlasta_s32(pg.sve_into(), op) }
11648}
11649#[doc = "Extract element after last"]
11650#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svlasta[_s64])"]
11651#[inline]
11652#[target_feature(enable = "sve")]
11653#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
11654#[cfg_attr(test, assert_instr(lasta))]
11655pub fn svlasta_s64(pg: svbool_t, op: svint64_t) -> i64 {
11656 unsafe extern "unadjusted" {
11657 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.lasta.nxv2i64")]
11658 fn _svlasta_s64(pg: svbool2_t, op: svint64_t) -> i64;
11659 }
11660 unsafe { _svlasta_s64(pg.sve_into(), op) }
11661}
11662#[doc = "Extract element after last"]
11663#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svlasta[_u8])"]
11664#[inline]
11665#[target_feature(enable = "sve")]
11666#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
11667#[cfg_attr(test, assert_instr(lasta))]
11668pub fn svlasta_u8(pg: svbool_t, op: svuint8_t) -> u8 {
11669 unsafe { svlasta_s8(pg, op.as_signed()).as_unsigned() }
11670}
11671#[doc = "Extract element after last"]
11672#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svlasta[_u16])"]
11673#[inline]
11674#[target_feature(enable = "sve")]
11675#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
11676#[cfg_attr(test, assert_instr(lasta))]
11677pub fn svlasta_u16(pg: svbool_t, op: svuint16_t) -> u16 {
11678 unsafe { svlasta_s16(pg, op.as_signed()).as_unsigned() }
11679}
11680#[doc = "Extract element after last"]
11681#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svlasta[_u32])"]
11682#[inline]
11683#[target_feature(enable = "sve")]
11684#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
11685#[cfg_attr(test, assert_instr(lasta))]
11686pub fn svlasta_u32(pg: svbool_t, op: svuint32_t) -> u32 {
11687 unsafe { svlasta_s32(pg, op.as_signed()).as_unsigned() }
11688}
11689#[doc = "Extract element after last"]
11690#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svlasta[_u64])"]
11691#[inline]
11692#[target_feature(enable = "sve")]
11693#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
11694#[cfg_attr(test, assert_instr(lasta))]
11695pub fn svlasta_u64(pg: svbool_t, op: svuint64_t) -> u64 {
11696 unsafe { svlasta_s64(pg, op.as_signed()).as_unsigned() }
11697}
11698#[doc = "Extract last element"]
11699#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svlastb[_f32])"]
11700#[inline]
11701#[target_feature(enable = "sve")]
11702#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
11703#[cfg_attr(test, assert_instr(lastb))]
11704pub fn svlastb_f32(pg: svbool_t, op: svfloat32_t) -> f32 {
11705 unsafe extern "unadjusted" {
11706 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.lastb.nxv4f32")]
11707 fn _svlastb_f32(pg: svbool4_t, op: svfloat32_t) -> f32;
11708 }
11709 unsafe { _svlastb_f32(pg.sve_into(), op) }
11710}
11711#[doc = "Extract last element"]
11712#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svlastb[_f64])"]
11713#[inline]
11714#[target_feature(enable = "sve")]
11715#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
11716#[cfg_attr(test, assert_instr(lastb))]
11717pub fn svlastb_f64(pg: svbool_t, op: svfloat64_t) -> f64 {
11718 unsafe extern "unadjusted" {
11719 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.lastb.nxv2f64")]
11720 fn _svlastb_f64(pg: svbool2_t, op: svfloat64_t) -> f64;
11721 }
11722 unsafe { _svlastb_f64(pg.sve_into(), op) }
11723}
11724#[doc = "Extract last element"]
11725#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svlastb[_s8])"]
11726#[inline]
11727#[target_feature(enable = "sve")]
11728#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
11729#[cfg_attr(test, assert_instr(lastb))]
11730pub fn svlastb_s8(pg: svbool_t, op: svint8_t) -> i8 {
11731 unsafe extern "unadjusted" {
11732 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.lastb.nxv16i8")]
11733 fn _svlastb_s8(pg: svbool_t, op: svint8_t) -> i8;
11734 }
11735 unsafe { _svlastb_s8(pg, op) }
11736}
11737#[doc = "Extract last element"]
11738#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svlastb[_s16])"]
11739#[inline]
11740#[target_feature(enable = "sve")]
11741#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
11742#[cfg_attr(test, assert_instr(lastb))]
11743pub fn svlastb_s16(pg: svbool_t, op: svint16_t) -> i16 {
11744 unsafe extern "unadjusted" {
11745 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.lastb.nxv8i16")]
11746 fn _svlastb_s16(pg: svbool8_t, op: svint16_t) -> i16;
11747 }
11748 unsafe { _svlastb_s16(pg.sve_into(), op) }
11749}
11750#[doc = "Extract last element"]
11751#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svlastb[_s32])"]
11752#[inline]
11753#[target_feature(enable = "sve")]
11754#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
11755#[cfg_attr(test, assert_instr(lastb))]
11756pub fn svlastb_s32(pg: svbool_t, op: svint32_t) -> i32 {
11757 unsafe extern "unadjusted" {
11758 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.lastb.nxv4i32")]
11759 fn _svlastb_s32(pg: svbool4_t, op: svint32_t) -> i32;
11760 }
11761 unsafe { _svlastb_s32(pg.sve_into(), op) }
11762}
11763#[doc = "Extract last element"]
11764#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svlastb[_s64])"]
11765#[inline]
11766#[target_feature(enable = "sve")]
11767#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
11768#[cfg_attr(test, assert_instr(lastb))]
11769pub fn svlastb_s64(pg: svbool_t, op: svint64_t) -> i64 {
11770 unsafe extern "unadjusted" {
11771 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.lastb.nxv2i64")]
11772 fn _svlastb_s64(pg: svbool2_t, op: svint64_t) -> i64;
11773 }
11774 unsafe { _svlastb_s64(pg.sve_into(), op) }
11775}
11776#[doc = "Extract last element"]
11777#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svlastb[_u8])"]
11778#[inline]
11779#[target_feature(enable = "sve")]
11780#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
11781#[cfg_attr(test, assert_instr(lastb))]
11782pub fn svlastb_u8(pg: svbool_t, op: svuint8_t) -> u8 {
11783 unsafe { svlastb_s8(pg, op.as_signed()).as_unsigned() }
11784}
11785#[doc = "Extract last element"]
11786#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svlastb[_u16])"]
11787#[inline]
11788#[target_feature(enable = "sve")]
11789#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
11790#[cfg_attr(test, assert_instr(lastb))]
11791pub fn svlastb_u16(pg: svbool_t, op: svuint16_t) -> u16 {
11792 unsafe { svlastb_s16(pg, op.as_signed()).as_unsigned() }
11793}
11794#[doc = "Extract last element"]
11795#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svlastb[_u32])"]
11796#[inline]
11797#[target_feature(enable = "sve")]
11798#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
11799#[cfg_attr(test, assert_instr(lastb))]
11800pub fn svlastb_u32(pg: svbool_t, op: svuint32_t) -> u32 {
11801 unsafe { svlastb_s32(pg, op.as_signed()).as_unsigned() }
11802}
11803#[doc = "Extract last element"]
11804#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svlastb[_u64])"]
11805#[inline]
11806#[target_feature(enable = "sve")]
11807#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
11808#[cfg_attr(test, assert_instr(lastb))]
11809pub fn svlastb_u64(pg: svbool_t, op: svuint64_t) -> u64 {
11810 unsafe { svlastb_s64(pg, op.as_signed()).as_unsigned() }
11811}
11812#[doc = "Unextended load"]
11813#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1[_f32])"]
11814#[doc = "## Safety"]
11815#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
11816#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
11817#[inline]
11818#[target_feature(enable = "sve")]
11819#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
11820#[cfg_attr(test, assert_instr(ld1w))]
11821pub unsafe fn svld1_f32(pg: svbool_t, base: *const f32) -> svfloat32_t {
11822 unsafe extern "unadjusted" {
11823 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.ld1.nxv4f32")]
11824 fn _svld1_f32(pg: svbool4_t, base: *const f32) -> svfloat32_t;
11825 }
11826 _svld1_f32(pg.sve_into(), base)
11827}
11828#[doc = "Unextended load"]
11829#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1[_f64])"]
11830#[doc = "## Safety"]
11831#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
11832#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
11833#[inline]
11834#[target_feature(enable = "sve")]
11835#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
11836#[cfg_attr(test, assert_instr(ld1d))]
11837pub unsafe fn svld1_f64(pg: svbool_t, base: *const f64) -> svfloat64_t {
11838 unsafe extern "unadjusted" {
11839 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.ld1.nxv2f64")]
11840 fn _svld1_f64(pg: svbool2_t, base: *const f64) -> svfloat64_t;
11841 }
11842 _svld1_f64(pg.sve_into(), base)
11843}
11844#[doc = "Unextended load"]
11845#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1[_s8])"]
11846#[doc = "## Safety"]
11847#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
11848#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
11849#[inline]
11850#[target_feature(enable = "sve")]
11851#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
11852#[cfg_attr(test, assert_instr(ld1b))]
11853pub unsafe fn svld1_s8(pg: svbool_t, base: *const i8) -> svint8_t {
11854 unsafe extern "unadjusted" {
11855 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.ld1.nxv16i8")]
11856 fn _svld1_s8(pg: svbool_t, base: *const i8) -> svint8_t;
11857 }
11858 _svld1_s8(pg, base)
11859}
11860#[doc = "Unextended load"]
11861#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1[_s16])"]
11862#[doc = "## Safety"]
11863#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
11864#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
11865#[inline]
11866#[target_feature(enable = "sve")]
11867#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
11868#[cfg_attr(test, assert_instr(ld1h))]
11869pub unsafe fn svld1_s16(pg: svbool_t, base: *const i16) -> svint16_t {
11870 unsafe extern "unadjusted" {
11871 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.ld1.nxv8i16")]
11872 fn _svld1_s16(pg: svbool8_t, base: *const i16) -> svint16_t;
11873 }
11874 _svld1_s16(pg.sve_into(), base)
11875}
11876#[doc = "Unextended load"]
11877#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1[_s32])"]
11878#[doc = "## Safety"]
11879#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
11880#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
11881#[inline]
11882#[target_feature(enable = "sve")]
11883#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
11884#[cfg_attr(test, assert_instr(ld1w))]
11885pub unsafe fn svld1_s32(pg: svbool_t, base: *const i32) -> svint32_t {
11886 unsafe extern "unadjusted" {
11887 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.ld1.nxv4i32")]
11888 fn _svld1_s32(pg: svbool4_t, base: *const i32) -> svint32_t;
11889 }
11890 _svld1_s32(pg.sve_into(), base)
11891}
11892#[doc = "Unextended load"]
11893#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1[_s64])"]
11894#[doc = "## Safety"]
11895#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
11896#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
11897#[inline]
11898#[target_feature(enable = "sve")]
11899#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
11900#[cfg_attr(test, assert_instr(ld1d))]
11901pub unsafe fn svld1_s64(pg: svbool_t, base: *const i64) -> svint64_t {
11902 unsafe extern "unadjusted" {
11903 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.ld1.nxv2i64")]
11904 fn _svld1_s64(pg: svbool2_t, base: *const i64) -> svint64_t;
11905 }
11906 _svld1_s64(pg.sve_into(), base)
11907}
11908#[doc = "Unextended load"]
11909#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1[_u8])"]
11910#[doc = "## Safety"]
11911#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
11912#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
11913#[inline]
11914#[target_feature(enable = "sve")]
11915#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
11916#[cfg_attr(test, assert_instr(ld1b))]
11917pub unsafe fn svld1_u8(pg: svbool_t, base: *const u8) -> svuint8_t {
11918 svld1_s8(pg, base.as_signed()).as_unsigned()
11919}
11920#[doc = "Unextended load"]
11921#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1[_u16])"]
11922#[doc = "## Safety"]
11923#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
11924#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
11925#[inline]
11926#[target_feature(enable = "sve")]
11927#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
11928#[cfg_attr(test, assert_instr(ld1h))]
11929pub unsafe fn svld1_u16(pg: svbool_t, base: *const u16) -> svuint16_t {
11930 svld1_s16(pg, base.as_signed()).as_unsigned()
11931}
11932#[doc = "Unextended load"]
11933#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1[_u32])"]
11934#[doc = "## Safety"]
11935#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
11936#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
11937#[inline]
11938#[target_feature(enable = "sve")]
11939#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
11940#[cfg_attr(test, assert_instr(ld1w))]
11941pub unsafe fn svld1_u32(pg: svbool_t, base: *const u32) -> svuint32_t {
11942 svld1_s32(pg, base.as_signed()).as_unsigned()
11943}
11944#[doc = "Unextended load"]
11945#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1[_u64])"]
11946#[doc = "## Safety"]
11947#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
11948#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
11949#[inline]
11950#[target_feature(enable = "sve")]
11951#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
11952#[cfg_attr(test, assert_instr(ld1d))]
11953pub unsafe fn svld1_u64(pg: svbool_t, base: *const u64) -> svuint64_t {
11954 svld1_s64(pg, base.as_signed()).as_unsigned()
11955}
11956#[doc = "Unextended load"]
11957#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1_gather_[s32]index[_f32])"]
11958#[doc = "## Safety"]
11959#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
11960#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
11961#[inline]
11962#[target_feature(enable = "sve")]
11963#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
11964#[cfg_attr(test, assert_instr(ld1w))]
11965pub unsafe fn svld1_gather_s32index_f32(
11966 pg: svbool_t,
11967 base: *const f32,
11968 indices: svint32_t,
11969) -> svfloat32_t {
11970 unsafe extern "unadjusted" {
11971 #[cfg_attr(
11972 target_arch = "aarch64",
11973 link_name = "llvm.aarch64.sve.ld1.gather.sxtw.index.nxv4f32"
11974 )]
11975 fn _svld1_gather_s32index_f32(
11976 pg: svbool4_t,
11977 base: *const f32,
11978 indices: svint32_t,
11979 ) -> svfloat32_t;
11980 }
11981 _svld1_gather_s32index_f32(pg.sve_into(), base, indices)
11982}
11983#[doc = "Unextended load"]
11984#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1_gather_[s32]index[_s32])"]
11985#[doc = "## Safety"]
11986#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
11987#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
11988#[inline]
11989#[target_feature(enable = "sve")]
11990#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
11991#[cfg_attr(test, assert_instr(ld1w))]
11992pub unsafe fn svld1_gather_s32index_s32(
11993 pg: svbool_t,
11994 base: *const i32,
11995 indices: svint32_t,
11996) -> svint32_t {
11997 unsafe extern "unadjusted" {
11998 #[cfg_attr(
11999 target_arch = "aarch64",
12000 link_name = "llvm.aarch64.sve.ld1.gather.sxtw.index.nxv4i32"
12001 )]
12002 fn _svld1_gather_s32index_s32(
12003 pg: svbool4_t,
12004 base: *const i32,
12005 indices: svint32_t,
12006 ) -> svint32_t;
12007 }
12008 _svld1_gather_s32index_s32(pg.sve_into(), base, indices)
12009}
12010#[doc = "Unextended load"]
12011#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1_gather_[s32]index[_u32])"]
12012#[doc = "## Safety"]
12013#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
12014#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
12015#[inline]
12016#[target_feature(enable = "sve")]
12017#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
12018#[cfg_attr(test, assert_instr(ld1w))]
12019pub unsafe fn svld1_gather_s32index_u32(
12020 pg: svbool_t,
12021 base: *const u32,
12022 indices: svint32_t,
12023) -> svuint32_t {
12024 svld1_gather_s32index_s32(pg, base.as_signed(), indices).as_unsigned()
12025}
12026#[doc = "Unextended load"]
12027#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1_gather_[s64]index[_f64])"]
12028#[doc = "## Safety"]
12029#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
12030#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
12031#[inline]
12032#[target_feature(enable = "sve")]
12033#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
12034#[cfg_attr(test, assert_instr(ld1d))]
12035pub unsafe fn svld1_gather_s64index_f64(
12036 pg: svbool_t,
12037 base: *const f64,
12038 indices: svint64_t,
12039) -> svfloat64_t {
12040 unsafe extern "unadjusted" {
12041 #[cfg_attr(
12042 target_arch = "aarch64",
12043 link_name = "llvm.aarch64.sve.ld1.gather.index.nxv2f64"
12044 )]
12045 fn _svld1_gather_s64index_f64(
12046 pg: svbool2_t,
12047 base: *const f64,
12048 indices: svint64_t,
12049 ) -> svfloat64_t;
12050 }
12051 _svld1_gather_s64index_f64(pg.sve_into(), base, indices)
12052}
12053#[doc = "Unextended load"]
12054#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1_gather_[s64]index[_s64])"]
12055#[doc = "## Safety"]
12056#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
12057#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
12058#[inline]
12059#[target_feature(enable = "sve")]
12060#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
12061#[cfg_attr(test, assert_instr(ld1d))]
12062pub unsafe fn svld1_gather_s64index_s64(
12063 pg: svbool_t,
12064 base: *const i64,
12065 indices: svint64_t,
12066) -> svint64_t {
12067 unsafe extern "unadjusted" {
12068 #[cfg_attr(
12069 target_arch = "aarch64",
12070 link_name = "llvm.aarch64.sve.ld1.gather.index.nxv2i64"
12071 )]
12072 fn _svld1_gather_s64index_s64(
12073 pg: svbool2_t,
12074 base: *const i64,
12075 indices: svint64_t,
12076 ) -> svint64_t;
12077 }
12078 _svld1_gather_s64index_s64(pg.sve_into(), base, indices)
12079}
12080#[doc = "Unextended load"]
12081#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1_gather_[s64]index[_u64])"]
12082#[doc = "## Safety"]
12083#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
12084#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
12085#[inline]
12086#[target_feature(enable = "sve")]
12087#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
12088#[cfg_attr(test, assert_instr(ld1d))]
12089pub unsafe fn svld1_gather_s64index_u64(
12090 pg: svbool_t,
12091 base: *const u64,
12092 indices: svint64_t,
12093) -> svuint64_t {
12094 svld1_gather_s64index_s64(pg, base.as_signed(), indices).as_unsigned()
12095}
12096#[doc = "Unextended load"]
12097#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1_gather_[u32]index[_f32])"]
12098#[doc = "## Safety"]
12099#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
12100#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
12101#[inline]
12102#[target_feature(enable = "sve")]
12103#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
12104#[cfg_attr(test, assert_instr(ld1w))]
12105pub unsafe fn svld1_gather_u32index_f32(
12106 pg: svbool_t,
12107 base: *const f32,
12108 indices: svuint32_t,
12109) -> svfloat32_t {
12110 unsafe extern "unadjusted" {
12111 #[cfg_attr(
12112 target_arch = "aarch64",
12113 link_name = "llvm.aarch64.sve.ld1.gather.uxtw.index.nxv4f32"
12114 )]
12115 fn _svld1_gather_u32index_f32(
12116 pg: svbool4_t,
12117 base: *const f32,
12118 indices: svint32_t,
12119 ) -> svfloat32_t;
12120 }
12121 _svld1_gather_u32index_f32(pg.sve_into(), base, indices.as_signed())
12122}
12123#[doc = "Unextended load"]
12124#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1_gather_[u32]index[_s32])"]
12125#[doc = "## Safety"]
12126#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
12127#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
12128#[inline]
12129#[target_feature(enable = "sve")]
12130#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
12131#[cfg_attr(test, assert_instr(ld1w))]
12132pub unsafe fn svld1_gather_u32index_s32(
12133 pg: svbool_t,
12134 base: *const i32,
12135 indices: svuint32_t,
12136) -> svint32_t {
12137 unsafe extern "unadjusted" {
12138 #[cfg_attr(
12139 target_arch = "aarch64",
12140 link_name = "llvm.aarch64.sve.ld1.gather.uxtw.index.nxv4i32"
12141 )]
12142 fn _svld1_gather_u32index_s32(
12143 pg: svbool4_t,
12144 base: *const i32,
12145 indices: svint32_t,
12146 ) -> svint32_t;
12147 }
12148 _svld1_gather_u32index_s32(pg.sve_into(), base, indices.as_signed())
12149}
12150#[doc = "Unextended load"]
12151#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1_gather_[u32]index[_u32])"]
12152#[doc = "## Safety"]
12153#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
12154#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
12155#[inline]
12156#[target_feature(enable = "sve")]
12157#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
12158#[cfg_attr(test, assert_instr(ld1w))]
12159pub unsafe fn svld1_gather_u32index_u32(
12160 pg: svbool_t,
12161 base: *const u32,
12162 indices: svuint32_t,
12163) -> svuint32_t {
12164 svld1_gather_u32index_s32(pg, base.as_signed(), indices).as_unsigned()
12165}
12166#[doc = "Unextended load"]
12167#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1_gather_[u64]index[_f64])"]
12168#[doc = "## Safety"]
12169#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
12170#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
12171#[inline]
12172#[target_feature(enable = "sve")]
12173#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
12174#[cfg_attr(test, assert_instr(ld1d))]
12175pub unsafe fn svld1_gather_u64index_f64(
12176 pg: svbool_t,
12177 base: *const f64,
12178 indices: svuint64_t,
12179) -> svfloat64_t {
12180 svld1_gather_s64index_f64(pg, base, indices.as_signed())
12181}
12182#[doc = "Unextended load"]
12183#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1_gather_[u64]index[_s64])"]
12184#[doc = "## Safety"]
12185#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
12186#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
12187#[inline]
12188#[target_feature(enable = "sve")]
12189#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
12190#[cfg_attr(test, assert_instr(ld1d))]
12191pub unsafe fn svld1_gather_u64index_s64(
12192 pg: svbool_t,
12193 base: *const i64,
12194 indices: svuint64_t,
12195) -> svint64_t {
12196 svld1_gather_s64index_s64(pg, base, indices.as_signed())
12197}
12198#[doc = "Unextended load"]
12199#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1_gather_[u64]index[_u64])"]
12200#[doc = "## Safety"]
12201#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
12202#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
12203#[inline]
12204#[target_feature(enable = "sve")]
12205#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
12206#[cfg_attr(test, assert_instr(ld1d))]
12207pub unsafe fn svld1_gather_u64index_u64(
12208 pg: svbool_t,
12209 base: *const u64,
12210 indices: svuint64_t,
12211) -> svuint64_t {
12212 svld1_gather_s64index_s64(pg, base.as_signed(), indices.as_signed()).as_unsigned()
12213}
12214#[doc = "Unextended load"]
12215#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1_gather_[s32]offset[_f32])"]
12216#[doc = "## Safety"]
12217#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
12218#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
12219#[inline]
12220#[target_feature(enable = "sve")]
12221#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
12222#[cfg_attr(test, assert_instr(ld1w))]
12223pub unsafe fn svld1_gather_s32offset_f32(
12224 pg: svbool_t,
12225 base: *const f32,
12226 offsets: svint32_t,
12227) -> svfloat32_t {
12228 unsafe extern "unadjusted" {
12229 #[cfg_attr(
12230 target_arch = "aarch64",
12231 link_name = "llvm.aarch64.sve.ld1.gather.sxtw.nxv4f32"
12232 )]
12233 fn _svld1_gather_s32offset_f32(
12234 pg: svbool4_t,
12235 base: *const f32,
12236 offsets: svint32_t,
12237 ) -> svfloat32_t;
12238 }
12239 _svld1_gather_s32offset_f32(pg.sve_into(), base, offsets)
12240}
12241#[doc = "Unextended load"]
12242#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1_gather_[s32]offset[_s32])"]
12243#[doc = "## Safety"]
12244#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
12245#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
12246#[inline]
12247#[target_feature(enable = "sve")]
12248#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
12249#[cfg_attr(test, assert_instr(ld1w))]
12250pub unsafe fn svld1_gather_s32offset_s32(
12251 pg: svbool_t,
12252 base: *const i32,
12253 offsets: svint32_t,
12254) -> svint32_t {
12255 unsafe extern "unadjusted" {
12256 #[cfg_attr(
12257 target_arch = "aarch64",
12258 link_name = "llvm.aarch64.sve.ld1.gather.sxtw.nxv4i32"
12259 )]
12260 fn _svld1_gather_s32offset_s32(
12261 pg: svbool4_t,
12262 base: *const i32,
12263 offsets: svint32_t,
12264 ) -> svint32_t;
12265 }
12266 _svld1_gather_s32offset_s32(pg.sve_into(), base, offsets)
12267}
12268#[doc = "Unextended load"]
12269#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1_gather_[s32]offset[_u32])"]
12270#[doc = "## Safety"]
12271#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
12272#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
12273#[inline]
12274#[target_feature(enable = "sve")]
12275#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
12276#[cfg_attr(test, assert_instr(ld1w))]
12277pub unsafe fn svld1_gather_s32offset_u32(
12278 pg: svbool_t,
12279 base: *const u32,
12280 offsets: svint32_t,
12281) -> svuint32_t {
12282 svld1_gather_s32offset_s32(pg, base.as_signed(), offsets).as_unsigned()
12283}
12284#[doc = "Unextended load"]
12285#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1_gather_[s64]offset[_f64])"]
12286#[doc = "## Safety"]
12287#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
12288#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
12289#[inline]
12290#[target_feature(enable = "sve")]
12291#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
12292#[cfg_attr(test, assert_instr(ld1d))]
12293pub unsafe fn svld1_gather_s64offset_f64(
12294 pg: svbool_t,
12295 base: *const f64,
12296 offsets: svint64_t,
12297) -> svfloat64_t {
12298 unsafe extern "unadjusted" {
12299 #[cfg_attr(
12300 target_arch = "aarch64",
12301 link_name = "llvm.aarch64.sve.ld1.gather.nxv2f64"
12302 )]
12303 fn _svld1_gather_s64offset_f64(
12304 pg: svbool2_t,
12305 base: *const f64,
12306 offsets: svint64_t,
12307 ) -> svfloat64_t;
12308 }
12309 _svld1_gather_s64offset_f64(pg.sve_into(), base, offsets)
12310}
12311#[doc = "Unextended load"]
12312#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1_gather_[s64]offset[_s64])"]
12313#[doc = "## Safety"]
12314#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
12315#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
12316#[inline]
12317#[target_feature(enable = "sve")]
12318#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
12319#[cfg_attr(test, assert_instr(ld1d))]
12320pub unsafe fn svld1_gather_s64offset_s64(
12321 pg: svbool_t,
12322 base: *const i64,
12323 offsets: svint64_t,
12324) -> svint64_t {
12325 unsafe extern "unadjusted" {
12326 #[cfg_attr(
12327 target_arch = "aarch64",
12328 link_name = "llvm.aarch64.sve.ld1.gather.nxv2i64"
12329 )]
12330 fn _svld1_gather_s64offset_s64(
12331 pg: svbool2_t,
12332 base: *const i64,
12333 offsets: svint64_t,
12334 ) -> svint64_t;
12335 }
12336 _svld1_gather_s64offset_s64(pg.sve_into(), base, offsets)
12337}
12338#[doc = "Unextended load"]
12339#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1_gather_[s64]offset[_u64])"]
12340#[doc = "## Safety"]
12341#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
12342#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
12343#[inline]
12344#[target_feature(enable = "sve")]
12345#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
12346#[cfg_attr(test, assert_instr(ld1d))]
12347pub unsafe fn svld1_gather_s64offset_u64(
12348 pg: svbool_t,
12349 base: *const u64,
12350 offsets: svint64_t,
12351) -> svuint64_t {
12352 svld1_gather_s64offset_s64(pg, base.as_signed(), offsets).as_unsigned()
12353}
12354#[doc = "Unextended load"]
12355#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1_gather_[u32]offset[_f32])"]
12356#[doc = "## Safety"]
12357#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
12358#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
12359#[inline]
12360#[target_feature(enable = "sve")]
12361#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
12362#[cfg_attr(test, assert_instr(ld1w))]
12363pub unsafe fn svld1_gather_u32offset_f32(
12364 pg: svbool_t,
12365 base: *const f32,
12366 offsets: svuint32_t,
12367) -> svfloat32_t {
12368 unsafe extern "unadjusted" {
12369 #[cfg_attr(
12370 target_arch = "aarch64",
12371 link_name = "llvm.aarch64.sve.ld1.gather.uxtw.nxv4f32"
12372 )]
12373 fn _svld1_gather_u32offset_f32(
12374 pg: svbool4_t,
12375 base: *const f32,
12376 offsets: svint32_t,
12377 ) -> svfloat32_t;
12378 }
12379 _svld1_gather_u32offset_f32(pg.sve_into(), base, offsets.as_signed())
12380}
12381#[doc = "Unextended load"]
12382#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1_gather_[u32]offset[_s32])"]
12383#[doc = "## Safety"]
12384#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
12385#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
12386#[inline]
12387#[target_feature(enable = "sve")]
12388#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
12389#[cfg_attr(test, assert_instr(ld1w))]
12390pub unsafe fn svld1_gather_u32offset_s32(
12391 pg: svbool_t,
12392 base: *const i32,
12393 offsets: svuint32_t,
12394) -> svint32_t {
12395 unsafe extern "unadjusted" {
12396 #[cfg_attr(
12397 target_arch = "aarch64",
12398 link_name = "llvm.aarch64.sve.ld1.gather.uxtw.nxv4i32"
12399 )]
12400 fn _svld1_gather_u32offset_s32(
12401 pg: svbool4_t,
12402 base: *const i32,
12403 offsets: svint32_t,
12404 ) -> svint32_t;
12405 }
12406 _svld1_gather_u32offset_s32(pg.sve_into(), base, offsets.as_signed())
12407}
12408#[doc = "Unextended load"]
12409#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1_gather_[u32]offset[_u32])"]
12410#[doc = "## Safety"]
12411#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
12412#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
12413#[inline]
12414#[target_feature(enable = "sve")]
12415#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
12416#[cfg_attr(test, assert_instr(ld1w))]
12417pub unsafe fn svld1_gather_u32offset_u32(
12418 pg: svbool_t,
12419 base: *const u32,
12420 offsets: svuint32_t,
12421) -> svuint32_t {
12422 svld1_gather_u32offset_s32(pg, base.as_signed(), offsets).as_unsigned()
12423}
12424#[doc = "Unextended load"]
12425#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1_gather_[u64]offset[_f64])"]
12426#[doc = "## Safety"]
12427#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
12428#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
12429#[inline]
12430#[target_feature(enable = "sve")]
12431#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
12432#[cfg_attr(test, assert_instr(ld1d))]
12433pub unsafe fn svld1_gather_u64offset_f64(
12434 pg: svbool_t,
12435 base: *const f64,
12436 offsets: svuint64_t,
12437) -> svfloat64_t {
12438 svld1_gather_s64offset_f64(pg, base, offsets.as_signed())
12439}
12440#[doc = "Unextended load"]
12441#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1_gather_[u64]offset[_s64])"]
12442#[doc = "## Safety"]
12443#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
12444#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
12445#[inline]
12446#[target_feature(enable = "sve")]
12447#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
12448#[cfg_attr(test, assert_instr(ld1d))]
12449pub unsafe fn svld1_gather_u64offset_s64(
12450 pg: svbool_t,
12451 base: *const i64,
12452 offsets: svuint64_t,
12453) -> svint64_t {
12454 svld1_gather_s64offset_s64(pg, base, offsets.as_signed())
12455}
12456#[doc = "Unextended load"]
12457#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1_gather_[u64]offset[_u64])"]
12458#[doc = "## Safety"]
12459#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
12460#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
12461#[inline]
12462#[target_feature(enable = "sve")]
12463#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
12464#[cfg_attr(test, assert_instr(ld1d))]
12465pub unsafe fn svld1_gather_u64offset_u64(
12466 pg: svbool_t,
12467 base: *const u64,
12468 offsets: svuint64_t,
12469) -> svuint64_t {
12470 svld1_gather_s64offset_s64(pg, base.as_signed(), offsets.as_signed()).as_unsigned()
12471}
12472#[doc = "Unextended load"]
12473#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1_gather[_u32base]_f32)"]
12474#[doc = "## Safety"]
12475#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
12476#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
12477#[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."]
12478#[inline]
12479#[target_feature(enable = "sve")]
12480#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
12481#[cfg_attr(test, assert_instr(ld1w))]
12482pub unsafe fn svld1_gather_u32base_f32(pg: svbool_t, bases: svuint32_t) -> svfloat32_t {
12483 svld1_gather_u32base_offset_f32(pg, bases, 0)
12484}
12485#[doc = "Unextended load"]
12486#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1_gather[_u32base]_s32)"]
12487#[doc = "## Safety"]
12488#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
12489#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
12490#[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."]
12491#[inline]
12492#[target_feature(enable = "sve")]
12493#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
12494#[cfg_attr(test, assert_instr(ld1w))]
12495pub unsafe fn svld1_gather_u32base_s32(pg: svbool_t, bases: svuint32_t) -> svint32_t {
12496 svld1_gather_u32base_offset_s32(pg, bases, 0)
12497}
12498#[doc = "Unextended load"]
12499#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1_gather[_u32base]_u32)"]
12500#[doc = "## Safety"]
12501#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
12502#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
12503#[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."]
12504#[inline]
12505#[target_feature(enable = "sve")]
12506#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
12507#[cfg_attr(test, assert_instr(ld1w))]
12508pub unsafe fn svld1_gather_u32base_u32(pg: svbool_t, bases: svuint32_t) -> svuint32_t {
12509 svld1_gather_u32base_offset_u32(pg, bases, 0)
12510}
12511#[doc = "Unextended load"]
12512#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1_gather[_u64base]_f64)"]
12513#[doc = "## Safety"]
12514#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
12515#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
12516#[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."]
12517#[inline]
12518#[target_feature(enable = "sve")]
12519#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
12520#[cfg_attr(test, assert_instr(ld1d))]
12521pub unsafe fn svld1_gather_u64base_f64(pg: svbool_t, bases: svuint64_t) -> svfloat64_t {
12522 svld1_gather_u64base_offset_f64(pg, bases, 0)
12523}
12524#[doc = "Unextended load"]
12525#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1_gather[_u64base]_s64)"]
12526#[doc = "## Safety"]
12527#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
12528#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
12529#[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."]
12530#[inline]
12531#[target_feature(enable = "sve")]
12532#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
12533#[cfg_attr(test, assert_instr(ld1d))]
12534pub unsafe fn svld1_gather_u64base_s64(pg: svbool_t, bases: svuint64_t) -> svint64_t {
12535 svld1_gather_u64base_offset_s64(pg, bases, 0)
12536}
12537#[doc = "Unextended load"]
12538#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1_gather[_u64base]_u64)"]
12539#[doc = "## Safety"]
12540#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
12541#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
12542#[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."]
12543#[inline]
12544#[target_feature(enable = "sve")]
12545#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
12546#[cfg_attr(test, assert_instr(ld1d))]
12547pub unsafe fn svld1_gather_u64base_u64(pg: svbool_t, bases: svuint64_t) -> svuint64_t {
12548 svld1_gather_u64base_offset_u64(pg, bases, 0)
12549}
12550#[doc = "Unextended load"]
12551#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1_gather[_u32base]_index_f32)"]
12552#[doc = "## Safety"]
12553#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
12554#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
12555#[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."]
12556#[inline]
12557#[target_feature(enable = "sve")]
12558#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
12559#[cfg_attr(test, assert_instr(ld1w))]
12560pub unsafe fn svld1_gather_u32base_index_f32(
12561 pg: svbool_t,
12562 bases: svuint32_t,
12563 index: i64,
12564) -> svfloat32_t {
12565 svld1_gather_u32base_offset_f32(pg, bases, index.unchecked_shl(2))
12566}
12567#[doc = "Unextended load"]
12568#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1_gather[_u32base]_index_s32)"]
12569#[doc = "## Safety"]
12570#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
12571#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
12572#[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."]
12573#[inline]
12574#[target_feature(enable = "sve")]
12575#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
12576#[cfg_attr(test, assert_instr(ld1w))]
12577pub unsafe fn svld1_gather_u32base_index_s32(
12578 pg: svbool_t,
12579 bases: svuint32_t,
12580 index: i64,
12581) -> svint32_t {
12582 svld1_gather_u32base_offset_s32(pg, bases, index.unchecked_shl(2))
12583}
12584#[doc = "Unextended load"]
12585#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1_gather[_u32base]_index_u32)"]
12586#[doc = "## Safety"]
12587#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
12588#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
12589#[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."]
12590#[inline]
12591#[target_feature(enable = "sve")]
12592#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
12593#[cfg_attr(test, assert_instr(ld1w))]
12594pub unsafe fn svld1_gather_u32base_index_u32(
12595 pg: svbool_t,
12596 bases: svuint32_t,
12597 index: i64,
12598) -> svuint32_t {
12599 svld1_gather_u32base_offset_u32(pg, bases, index.unchecked_shl(2))
12600}
12601#[doc = "Unextended load"]
12602#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1_gather[_u64base]_index_f64)"]
12603#[doc = "## Safety"]
12604#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
12605#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
12606#[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."]
12607#[inline]
12608#[target_feature(enable = "sve")]
12609#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
12610#[cfg_attr(test, assert_instr(ld1d))]
12611pub unsafe fn svld1_gather_u64base_index_f64(
12612 pg: svbool_t,
12613 bases: svuint64_t,
12614 index: i64,
12615) -> svfloat64_t {
12616 svld1_gather_u64base_offset_f64(pg, bases, index.unchecked_shl(3))
12617}
12618#[doc = "Unextended load"]
12619#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1_gather[_u64base]_index_s64)"]
12620#[doc = "## Safety"]
12621#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
12622#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
12623#[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."]
12624#[inline]
12625#[target_feature(enable = "sve")]
12626#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
12627#[cfg_attr(test, assert_instr(ld1d))]
12628pub unsafe fn svld1_gather_u64base_index_s64(
12629 pg: svbool_t,
12630 bases: svuint64_t,
12631 index: i64,
12632) -> svint64_t {
12633 svld1_gather_u64base_offset_s64(pg, bases, index.unchecked_shl(3))
12634}
12635#[doc = "Unextended load"]
12636#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1_gather[_u64base]_index_u64)"]
12637#[doc = "## Safety"]
12638#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
12639#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
12640#[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."]
12641#[inline]
12642#[target_feature(enable = "sve")]
12643#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
12644#[cfg_attr(test, assert_instr(ld1d))]
12645pub unsafe fn svld1_gather_u64base_index_u64(
12646 pg: svbool_t,
12647 bases: svuint64_t,
12648 index: i64,
12649) -> svuint64_t {
12650 svld1_gather_u64base_offset_u64(pg, bases, index.unchecked_shl(3))
12651}
12652#[doc = "Unextended load"]
12653#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1_gather[_u32base]_offset_f32)"]
12654#[doc = "## Safety"]
12655#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
12656#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
12657#[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."]
12658#[inline]
12659#[target_feature(enable = "sve")]
12660#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
12661#[cfg_attr(test, assert_instr(ld1w))]
12662pub unsafe fn svld1_gather_u32base_offset_f32(
12663 pg: svbool_t,
12664 bases: svuint32_t,
12665 offset: i64,
12666) -> svfloat32_t {
12667 unsafe extern "unadjusted" {
12668 #[cfg_attr(
12669 target_arch = "aarch64",
12670 link_name = "llvm.aarch64.sve.ld1.gather.scalar.offset.nxv4f32.nxv4i32"
12671 )]
12672 fn _svld1_gather_u32base_offset_f32(
12673 pg: svbool4_t,
12674 bases: svint32_t,
12675 offset: i64,
12676 ) -> svfloat32_t;
12677 }
12678 _svld1_gather_u32base_offset_f32(pg.sve_into(), bases.as_signed(), offset)
12679}
12680#[doc = "Unextended load"]
12681#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1_gather[_u32base]_offset_s32)"]
12682#[doc = "## Safety"]
12683#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
12684#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
12685#[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."]
12686#[inline]
12687#[target_feature(enable = "sve")]
12688#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
12689#[cfg_attr(test, assert_instr(ld1w))]
12690pub unsafe fn svld1_gather_u32base_offset_s32(
12691 pg: svbool_t,
12692 bases: svuint32_t,
12693 offset: i64,
12694) -> svint32_t {
12695 unsafe extern "unadjusted" {
12696 #[cfg_attr(
12697 target_arch = "aarch64",
12698 link_name = "llvm.aarch64.sve.ld1.gather.scalar.offset.nxv4i32.nxv4i32"
12699 )]
12700 fn _svld1_gather_u32base_offset_s32(
12701 pg: svbool4_t,
12702 bases: svint32_t,
12703 offset: i64,
12704 ) -> svint32_t;
12705 }
12706 _svld1_gather_u32base_offset_s32(pg.sve_into(), bases.as_signed(), offset)
12707}
12708#[doc = "Unextended load"]
12709#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1_gather[_u32base]_offset_u32)"]
12710#[doc = "## Safety"]
12711#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
12712#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
12713#[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."]
12714#[inline]
12715#[target_feature(enable = "sve")]
12716#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
12717#[cfg_attr(test, assert_instr(ld1w))]
12718pub unsafe fn svld1_gather_u32base_offset_u32(
12719 pg: svbool_t,
12720 bases: svuint32_t,
12721 offset: i64,
12722) -> svuint32_t {
12723 svld1_gather_u32base_offset_s32(pg, bases, offset).as_unsigned()
12724}
12725#[doc = "Unextended load"]
12726#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1_gather[_u64base]_offset_f64)"]
12727#[doc = "## Safety"]
12728#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
12729#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
12730#[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."]
12731#[inline]
12732#[target_feature(enable = "sve")]
12733#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
12734#[cfg_attr(test, assert_instr(ld1d))]
12735pub unsafe fn svld1_gather_u64base_offset_f64(
12736 pg: svbool_t,
12737 bases: svuint64_t,
12738 offset: i64,
12739) -> svfloat64_t {
12740 unsafe extern "unadjusted" {
12741 #[cfg_attr(
12742 target_arch = "aarch64",
12743 link_name = "llvm.aarch64.sve.ld1.gather.scalar.offset.nxv2f64.nxv2i64"
12744 )]
12745 fn _svld1_gather_u64base_offset_f64(
12746 pg: svbool2_t,
12747 bases: svint64_t,
12748 offset: i64,
12749 ) -> svfloat64_t;
12750 }
12751 _svld1_gather_u64base_offset_f64(pg.sve_into(), bases.as_signed(), offset)
12752}
12753#[doc = "Unextended load"]
12754#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1_gather[_u64base]_offset_s64)"]
12755#[doc = "## Safety"]
12756#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
12757#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
12758#[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."]
12759#[inline]
12760#[target_feature(enable = "sve")]
12761#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
12762#[cfg_attr(test, assert_instr(ld1d))]
12763pub unsafe fn svld1_gather_u64base_offset_s64(
12764 pg: svbool_t,
12765 bases: svuint64_t,
12766 offset: i64,
12767) -> svint64_t {
12768 unsafe extern "unadjusted" {
12769 #[cfg_attr(
12770 target_arch = "aarch64",
12771 link_name = "llvm.aarch64.sve.ld1.gather.scalar.offset.nxv2i64.nxv2i64"
12772 )]
12773 fn _svld1_gather_u64base_offset_s64(
12774 pg: svbool2_t,
12775 bases: svint64_t,
12776 offset: i64,
12777 ) -> svint64_t;
12778 }
12779 _svld1_gather_u64base_offset_s64(pg.sve_into(), bases.as_signed(), offset)
12780}
12781#[doc = "Unextended load"]
12782#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1_gather[_u64base]_offset_u64)"]
12783#[doc = "## Safety"]
12784#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
12785#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
12786#[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."]
12787#[inline]
12788#[target_feature(enable = "sve")]
12789#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
12790#[cfg_attr(test, assert_instr(ld1d))]
12791pub unsafe fn svld1_gather_u64base_offset_u64(
12792 pg: svbool_t,
12793 bases: svuint64_t,
12794 offset: i64,
12795) -> svuint64_t {
12796 svld1_gather_u64base_offset_s64(pg, bases, offset).as_unsigned()
12797}
12798#[doc = "Unextended load"]
12799#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1_vnum[_f32])"]
12800#[doc = "## Safety"]
12801#[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."]
12802#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
12803#[inline]
12804#[target_feature(enable = "sve")]
12805#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
12806#[cfg_attr(test, assert_instr(ld1w))]
12807pub unsafe fn svld1_vnum_f32(pg: svbool_t, base: *const f32, vnum: i64) -> svfloat32_t {
12808 svld1_f32(pg, base.offset(svcntw() as isize * vnum as isize))
12809}
12810#[doc = "Unextended load"]
12811#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1_vnum[_f64])"]
12812#[doc = "## Safety"]
12813#[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."]
12814#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
12815#[inline]
12816#[target_feature(enable = "sve")]
12817#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
12818#[cfg_attr(test, assert_instr(ld1d))]
12819pub unsafe fn svld1_vnum_f64(pg: svbool_t, base: *const f64, vnum: i64) -> svfloat64_t {
12820 svld1_f64(pg, base.offset(svcntd() as isize * vnum as isize))
12821}
12822#[doc = "Unextended load"]
12823#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1_vnum[_s8])"]
12824#[doc = "## Safety"]
12825#[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."]
12826#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
12827#[inline]
12828#[target_feature(enable = "sve")]
12829#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
12830#[cfg_attr(test, assert_instr(ld1b))]
12831pub unsafe fn svld1_vnum_s8(pg: svbool_t, base: *const i8, vnum: i64) -> svint8_t {
12832 svld1_s8(pg, base.offset(svcntb() as isize * vnum as isize))
12833}
12834#[doc = "Unextended load"]
12835#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1_vnum[_s16])"]
12836#[doc = "## Safety"]
12837#[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."]
12838#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
12839#[inline]
12840#[target_feature(enable = "sve")]
12841#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
12842#[cfg_attr(test, assert_instr(ld1h))]
12843pub unsafe fn svld1_vnum_s16(pg: svbool_t, base: *const i16, vnum: i64) -> svint16_t {
12844 svld1_s16(pg, base.offset(svcnth() as isize * vnum as isize))
12845}
12846#[doc = "Unextended load"]
12847#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1_vnum[_s32])"]
12848#[doc = "## Safety"]
12849#[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."]
12850#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
12851#[inline]
12852#[target_feature(enable = "sve")]
12853#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
12854#[cfg_attr(test, assert_instr(ld1w))]
12855pub unsafe fn svld1_vnum_s32(pg: svbool_t, base: *const i32, vnum: i64) -> svint32_t {
12856 svld1_s32(pg, base.offset(svcntw() as isize * vnum as isize))
12857}
12858#[doc = "Unextended load"]
12859#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1_vnum[_s64])"]
12860#[doc = "## Safety"]
12861#[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."]
12862#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
12863#[inline]
12864#[target_feature(enable = "sve")]
12865#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
12866#[cfg_attr(test, assert_instr(ld1d))]
12867pub unsafe fn svld1_vnum_s64(pg: svbool_t, base: *const i64, vnum: i64) -> svint64_t {
12868 svld1_s64(pg, base.offset(svcntd() as isize * vnum as isize))
12869}
12870#[doc = "Unextended load"]
12871#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1_vnum[_u8])"]
12872#[doc = "## Safety"]
12873#[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."]
12874#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
12875#[inline]
12876#[target_feature(enable = "sve")]
12877#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
12878#[cfg_attr(test, assert_instr(ld1b))]
12879pub unsafe fn svld1_vnum_u8(pg: svbool_t, base: *const u8, vnum: i64) -> svuint8_t {
12880 svld1_u8(pg, base.offset(svcntb() as isize * vnum as isize))
12881}
12882#[doc = "Unextended load"]
12883#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1_vnum[_u16])"]
12884#[doc = "## Safety"]
12885#[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."]
12886#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
12887#[inline]
12888#[target_feature(enable = "sve")]
12889#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
12890#[cfg_attr(test, assert_instr(ld1h))]
12891pub unsafe fn svld1_vnum_u16(pg: svbool_t, base: *const u16, vnum: i64) -> svuint16_t {
12892 svld1_u16(pg, base.offset(svcnth() as isize * vnum as isize))
12893}
12894#[doc = "Unextended load"]
12895#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1_vnum[_u32])"]
12896#[doc = "## Safety"]
12897#[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."]
12898#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
12899#[inline]
12900#[target_feature(enable = "sve")]
12901#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
12902#[cfg_attr(test, assert_instr(ld1w))]
12903pub unsafe fn svld1_vnum_u32(pg: svbool_t, base: *const u32, vnum: i64) -> svuint32_t {
12904 svld1_u32(pg, base.offset(svcntw() as isize * vnum as isize))
12905}
12906#[doc = "Unextended load"]
12907#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1_vnum[_u64])"]
12908#[doc = "## Safety"]
12909#[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."]
12910#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
12911#[inline]
12912#[target_feature(enable = "sve")]
12913#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
12914#[cfg_attr(test, assert_instr(ld1d))]
12915pub unsafe fn svld1_vnum_u64(pg: svbool_t, base: *const u64, vnum: i64) -> svuint64_t {
12916 svld1_u64(pg, base.offset(svcntd() as isize * vnum as isize))
12917}
12918#[doc = "Load and replicate 256 bits of data"]
12919#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1ro[_f32])"]
12920#[doc = "## Safety"]
12921#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
12922#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
12923#[inline]
12924#[target_feature(enable = "sve,f64mm")]
12925#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
12926#[cfg_attr(test, assert_instr(ld1row))]
12927pub unsafe fn svld1ro_f32(pg: svbool_t, base: *const f32) -> svfloat32_t {
12928 unsafe extern "unadjusted" {
12929 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.ld1ro.nxv4f32")]
12930 fn _svld1ro_f32(pg: svbool4_t, base: *const f32) -> svfloat32_t;
12931 }
12932 _svld1ro_f32(pg.sve_into(), base)
12933}
12934#[doc = "Load and replicate 256 bits of data"]
12935#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1ro[_f64])"]
12936#[doc = "## Safety"]
12937#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
12938#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
12939#[inline]
12940#[target_feature(enable = "sve,f64mm")]
12941#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
12942#[cfg_attr(test, assert_instr(ld1rod))]
12943pub unsafe fn svld1ro_f64(pg: svbool_t, base: *const f64) -> svfloat64_t {
12944 unsafe extern "unadjusted" {
12945 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.ld1ro.nxv2f64")]
12946 fn _svld1ro_f64(pg: svbool2_t, base: *const f64) -> svfloat64_t;
12947 }
12948 _svld1ro_f64(pg.sve_into(), base)
12949}
12950#[doc = "Load and replicate 256 bits of data"]
12951#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1ro[_s8])"]
12952#[doc = "## Safety"]
12953#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
12954#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
12955#[inline]
12956#[target_feature(enable = "sve,f64mm")]
12957#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
12958#[cfg_attr(test, assert_instr(ld1rob))]
12959pub unsafe fn svld1ro_s8(pg: svbool_t, base: *const i8) -> svint8_t {
12960 unsafe extern "unadjusted" {
12961 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.ld1ro.nxv16i8")]
12962 fn _svld1ro_s8(pg: svbool_t, base: *const i8) -> svint8_t;
12963 }
12964 _svld1ro_s8(pg, base)
12965}
12966#[doc = "Load and replicate 256 bits of data"]
12967#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1ro[_s16])"]
12968#[doc = "## Safety"]
12969#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
12970#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
12971#[inline]
12972#[target_feature(enable = "sve,f64mm")]
12973#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
12974#[cfg_attr(test, assert_instr(ld1roh))]
12975pub unsafe fn svld1ro_s16(pg: svbool_t, base: *const i16) -> svint16_t {
12976 unsafe extern "unadjusted" {
12977 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.ld1ro.nxv8i16")]
12978 fn _svld1ro_s16(pg: svbool8_t, base: *const i16) -> svint16_t;
12979 }
12980 _svld1ro_s16(pg.sve_into(), base)
12981}
12982#[doc = "Load and replicate 256 bits of data"]
12983#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1ro[_s32])"]
12984#[doc = "## Safety"]
12985#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
12986#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
12987#[inline]
12988#[target_feature(enable = "sve,f64mm")]
12989#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
12990#[cfg_attr(test, assert_instr(ld1row))]
12991pub unsafe fn svld1ro_s32(pg: svbool_t, base: *const i32) -> svint32_t {
12992 unsafe extern "unadjusted" {
12993 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.ld1ro.nxv4i32")]
12994 fn _svld1ro_s32(pg: svbool4_t, base: *const i32) -> svint32_t;
12995 }
12996 _svld1ro_s32(pg.sve_into(), base)
12997}
12998#[doc = "Load and replicate 256 bits of data"]
12999#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1ro[_s64])"]
13000#[doc = "## Safety"]
13001#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
13002#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
13003#[inline]
13004#[target_feature(enable = "sve,f64mm")]
13005#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
13006#[cfg_attr(test, assert_instr(ld1rod))]
13007pub unsafe fn svld1ro_s64(pg: svbool_t, base: *const i64) -> svint64_t {
13008 unsafe extern "unadjusted" {
13009 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.ld1ro.nxv2i64")]
13010 fn _svld1ro_s64(pg: svbool2_t, base: *const i64) -> svint64_t;
13011 }
13012 _svld1ro_s64(pg.sve_into(), base)
13013}
13014#[doc = "Load and replicate 256 bits of data"]
13015#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1ro[_u8])"]
13016#[doc = "## Safety"]
13017#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
13018#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
13019#[inline]
13020#[target_feature(enable = "sve,f64mm")]
13021#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
13022#[cfg_attr(test, assert_instr(ld1rob))]
13023pub unsafe fn svld1ro_u8(pg: svbool_t, base: *const u8) -> svuint8_t {
13024 svld1ro_s8(pg, base.as_signed()).as_unsigned()
13025}
13026#[doc = "Load and replicate 256 bits of data"]
13027#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1ro[_u16])"]
13028#[doc = "## Safety"]
13029#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
13030#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
13031#[inline]
13032#[target_feature(enable = "sve,f64mm")]
13033#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
13034#[cfg_attr(test, assert_instr(ld1roh))]
13035pub unsafe fn svld1ro_u16(pg: svbool_t, base: *const u16) -> svuint16_t {
13036 svld1ro_s16(pg, base.as_signed()).as_unsigned()
13037}
13038#[doc = "Load and replicate 256 bits of data"]
13039#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1ro[_u32])"]
13040#[doc = "## Safety"]
13041#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
13042#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
13043#[inline]
13044#[target_feature(enable = "sve,f64mm")]
13045#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
13046#[cfg_attr(test, assert_instr(ld1row))]
13047pub unsafe fn svld1ro_u32(pg: svbool_t, base: *const u32) -> svuint32_t {
13048 svld1ro_s32(pg, base.as_signed()).as_unsigned()
13049}
13050#[doc = "Load and replicate 256 bits of data"]
13051#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1ro[_u64])"]
13052#[doc = "## Safety"]
13053#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
13054#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
13055#[inline]
13056#[target_feature(enable = "sve,f64mm")]
13057#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
13058#[cfg_attr(test, assert_instr(ld1rod))]
13059pub unsafe fn svld1ro_u64(pg: svbool_t, base: *const u64) -> svuint64_t {
13060 svld1ro_s64(pg, base.as_signed()).as_unsigned()
13061}
13062#[doc = "Load and replicate 128 bits of data"]
13063#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1rq[_f32])"]
13064#[doc = "## Safety"]
13065#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
13066#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
13067#[inline]
13068#[target_feature(enable = "sve")]
13069#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
13070#[cfg_attr(test, assert_instr(ld1rqw))]
13071pub unsafe fn svld1rq_f32(pg: svbool_t, base: *const f32) -> svfloat32_t {
13072 unsafe extern "unadjusted" {
13073 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.ld1rq.nxv4f32")]
13074 fn _svld1rq_f32(pg: svbool4_t, base: *const f32) -> svfloat32_t;
13075 }
13076 _svld1rq_f32(pg.sve_into(), base)
13077}
13078#[doc = "Load and replicate 128 bits of data"]
13079#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1rq[_f64])"]
13080#[doc = "## Safety"]
13081#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
13082#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
13083#[inline]
13084#[target_feature(enable = "sve")]
13085#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
13086#[cfg_attr(test, assert_instr(ld1rqd))]
13087pub unsafe fn svld1rq_f64(pg: svbool_t, base: *const f64) -> svfloat64_t {
13088 unsafe extern "unadjusted" {
13089 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.ld1rq.nxv2f64")]
13090 fn _svld1rq_f64(pg: svbool2_t, base: *const f64) -> svfloat64_t;
13091 }
13092 _svld1rq_f64(pg.sve_into(), base)
13093}
13094#[doc = "Load and replicate 128 bits of data"]
13095#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1rq[_s8])"]
13096#[doc = "## Safety"]
13097#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
13098#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
13099#[inline]
13100#[target_feature(enable = "sve")]
13101#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
13102#[cfg_attr(test, assert_instr(ld1rqb))]
13103pub unsafe fn svld1rq_s8(pg: svbool_t, base: *const i8) -> svint8_t {
13104 unsafe extern "unadjusted" {
13105 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.ld1rq.nxv16i8")]
13106 fn _svld1rq_s8(pg: svbool_t, base: *const i8) -> svint8_t;
13107 }
13108 _svld1rq_s8(pg, base)
13109}
13110#[doc = "Load and replicate 128 bits of data"]
13111#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1rq[_s16])"]
13112#[doc = "## Safety"]
13113#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
13114#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
13115#[inline]
13116#[target_feature(enable = "sve")]
13117#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
13118#[cfg_attr(test, assert_instr(ld1rqh))]
13119pub unsafe fn svld1rq_s16(pg: svbool_t, base: *const i16) -> svint16_t {
13120 unsafe extern "unadjusted" {
13121 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.ld1rq.nxv8i16")]
13122 fn _svld1rq_s16(pg: svbool8_t, base: *const i16) -> svint16_t;
13123 }
13124 _svld1rq_s16(pg.sve_into(), base)
13125}
13126#[doc = "Load and replicate 128 bits of data"]
13127#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1rq[_s32])"]
13128#[doc = "## Safety"]
13129#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
13130#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
13131#[inline]
13132#[target_feature(enable = "sve")]
13133#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
13134#[cfg_attr(test, assert_instr(ld1rqw))]
13135pub unsafe fn svld1rq_s32(pg: svbool_t, base: *const i32) -> svint32_t {
13136 unsafe extern "unadjusted" {
13137 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.ld1rq.nxv4i32")]
13138 fn _svld1rq_s32(pg: svbool4_t, base: *const i32) -> svint32_t;
13139 }
13140 _svld1rq_s32(pg.sve_into(), base)
13141}
13142#[doc = "Load and replicate 128 bits of data"]
13143#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1rq[_s64])"]
13144#[doc = "## Safety"]
13145#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
13146#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
13147#[inline]
13148#[target_feature(enable = "sve")]
13149#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
13150#[cfg_attr(test, assert_instr(ld1rqd))]
13151pub unsafe fn svld1rq_s64(pg: svbool_t, base: *const i64) -> svint64_t {
13152 unsafe extern "unadjusted" {
13153 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.ld1rq.nxv2i64")]
13154 fn _svld1rq_s64(pg: svbool2_t, base: *const i64) -> svint64_t;
13155 }
13156 _svld1rq_s64(pg.sve_into(), base)
13157}
13158#[doc = "Load and replicate 128 bits of data"]
13159#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1rq[_u8])"]
13160#[doc = "## Safety"]
13161#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
13162#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
13163#[inline]
13164#[target_feature(enable = "sve")]
13165#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
13166#[cfg_attr(test, assert_instr(ld1rqb))]
13167pub unsafe fn svld1rq_u8(pg: svbool_t, base: *const u8) -> svuint8_t {
13168 svld1rq_s8(pg, base.as_signed()).as_unsigned()
13169}
13170#[doc = "Load and replicate 128 bits of data"]
13171#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1rq[_u16])"]
13172#[doc = "## Safety"]
13173#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
13174#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
13175#[inline]
13176#[target_feature(enable = "sve")]
13177#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
13178#[cfg_attr(test, assert_instr(ld1rqh))]
13179pub unsafe fn svld1rq_u16(pg: svbool_t, base: *const u16) -> svuint16_t {
13180 svld1rq_s16(pg, base.as_signed()).as_unsigned()
13181}
13182#[doc = "Load and replicate 128 bits of data"]
13183#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1rq[_u32])"]
13184#[doc = "## Safety"]
13185#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
13186#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
13187#[inline]
13188#[target_feature(enable = "sve")]
13189#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
13190#[cfg_attr(test, assert_instr(ld1rqw))]
13191pub unsafe fn svld1rq_u32(pg: svbool_t, base: *const u32) -> svuint32_t {
13192 svld1rq_s32(pg, base.as_signed()).as_unsigned()
13193}
13194#[doc = "Load and replicate 128 bits of data"]
13195#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1rq[_u64])"]
13196#[doc = "## Safety"]
13197#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
13198#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
13199#[inline]
13200#[target_feature(enable = "sve")]
13201#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
13202#[cfg_attr(test, assert_instr(ld1rqd))]
13203pub unsafe fn svld1rq_u64(pg: svbool_t, base: *const u64) -> svuint64_t {
13204 svld1rq_s64(pg, base.as_signed()).as_unsigned()
13205}
13206#[doc = "Load 8-bit data and sign-extend"]
13207#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1sb_gather_[s32]offset_s32)"]
13208#[doc = "## Safety"]
13209#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
13210#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
13211#[inline]
13212#[target_feature(enable = "sve")]
13213#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
13214#[cfg_attr(test, assert_instr(ld1sb))]
13215pub unsafe fn svld1sb_gather_s32offset_s32(
13216 pg: svbool_t,
13217 base: *const i8,
13218 offsets: svint32_t,
13219) -> svint32_t {
13220 unsafe extern "unadjusted" {
13221 #[cfg_attr(
13222 target_arch = "aarch64",
13223 link_name = "llvm.aarch64.sve.ld1.gather.sxtw.nxv4i8"
13224 )]
13225 fn _svld1sb_gather_s32offset_s32(
13226 pg: svbool4_t,
13227 base: *const i8,
13228 offsets: svint32_t,
13229 ) -> nxv4i8;
13230 }
13231 crate::intrinsics::simd::simd_cast(_svld1sb_gather_s32offset_s32(pg.sve_into(), base, offsets))
13232}
13233#[doc = "Load 16-bit data and sign-extend"]
13234#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1sh_gather_[s32]offset_s32)"]
13235#[doc = "## Safety"]
13236#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
13237#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
13238#[inline]
13239#[target_feature(enable = "sve")]
13240#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
13241#[cfg_attr(test, assert_instr(ld1sh))]
13242pub unsafe fn svld1sh_gather_s32offset_s32(
13243 pg: svbool_t,
13244 base: *const i16,
13245 offsets: svint32_t,
13246) -> svint32_t {
13247 unsafe extern "unadjusted" {
13248 #[cfg_attr(
13249 target_arch = "aarch64",
13250 link_name = "llvm.aarch64.sve.ld1.gather.sxtw.nxv4i16"
13251 )]
13252 fn _svld1sh_gather_s32offset_s32(
13253 pg: svbool4_t,
13254 base: *const i16,
13255 offsets: svint32_t,
13256 ) -> nxv4i16;
13257 }
13258 crate::intrinsics::simd::simd_cast(_svld1sh_gather_s32offset_s32(pg.sve_into(), base, offsets))
13259}
13260#[doc = "Load 8-bit data and sign-extend"]
13261#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1sb_gather_[s32]offset_u32)"]
13262#[doc = "## Safety"]
13263#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
13264#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
13265#[inline]
13266#[target_feature(enable = "sve")]
13267#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
13268#[cfg_attr(test, assert_instr(ld1sb))]
13269pub unsafe fn svld1sb_gather_s32offset_u32(
13270 pg: svbool_t,
13271 base: *const i8,
13272 offsets: svint32_t,
13273) -> svuint32_t {
13274 svld1sb_gather_s32offset_s32(pg, base, offsets).as_unsigned()
13275}
13276#[doc = "Load 16-bit data and sign-extend"]
13277#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1sh_gather_[s32]offset_u32)"]
13278#[doc = "## Safety"]
13279#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
13280#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
13281#[inline]
13282#[target_feature(enable = "sve")]
13283#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
13284#[cfg_attr(test, assert_instr(ld1sh))]
13285pub unsafe fn svld1sh_gather_s32offset_u32(
13286 pg: svbool_t,
13287 base: *const i16,
13288 offsets: svint32_t,
13289) -> svuint32_t {
13290 svld1sh_gather_s32offset_s32(pg, base, offsets).as_unsigned()
13291}
13292#[doc = "Load 8-bit data and sign-extend"]
13293#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1sb_gather_[s64]offset_s64)"]
13294#[doc = "## Safety"]
13295#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
13296#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
13297#[inline]
13298#[target_feature(enable = "sve")]
13299#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
13300#[cfg_attr(test, assert_instr(ld1sb))]
13301pub unsafe fn svld1sb_gather_s64offset_s64(
13302 pg: svbool_t,
13303 base: *const i8,
13304 offsets: svint64_t,
13305) -> svint64_t {
13306 unsafe extern "unadjusted" {
13307 #[cfg_attr(
13308 target_arch = "aarch64",
13309 link_name = "llvm.aarch64.sve.ld1.gather.nxv2i8"
13310 )]
13311 fn _svld1sb_gather_s64offset_s64(
13312 pg: svbool2_t,
13313 base: *const i8,
13314 offsets: svint64_t,
13315 ) -> nxv2i8;
13316 }
13317 crate::intrinsics::simd::simd_cast(_svld1sb_gather_s64offset_s64(pg.sve_into(), base, offsets))
13318}
13319#[doc = "Load 16-bit data and sign-extend"]
13320#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1sh_gather_[s64]offset_s64)"]
13321#[doc = "## Safety"]
13322#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
13323#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
13324#[inline]
13325#[target_feature(enable = "sve")]
13326#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
13327#[cfg_attr(test, assert_instr(ld1sh))]
13328pub unsafe fn svld1sh_gather_s64offset_s64(
13329 pg: svbool_t,
13330 base: *const i16,
13331 offsets: svint64_t,
13332) -> svint64_t {
13333 unsafe extern "unadjusted" {
13334 #[cfg_attr(
13335 target_arch = "aarch64",
13336 link_name = "llvm.aarch64.sve.ld1.gather.nxv2i16"
13337 )]
13338 fn _svld1sh_gather_s64offset_s64(
13339 pg: svbool2_t,
13340 base: *const i16,
13341 offsets: svint64_t,
13342 ) -> nxv2i16;
13343 }
13344 crate::intrinsics::simd::simd_cast(_svld1sh_gather_s64offset_s64(pg.sve_into(), base, offsets))
13345}
13346#[doc = "Load 32-bit data and sign-extend"]
13347#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1sw_gather_[s64]offset_s64)"]
13348#[doc = "## Safety"]
13349#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
13350#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
13351#[inline]
13352#[target_feature(enable = "sve")]
13353#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
13354#[cfg_attr(test, assert_instr(ld1sw))]
13355pub unsafe fn svld1sw_gather_s64offset_s64(
13356 pg: svbool_t,
13357 base: *const i32,
13358 offsets: svint64_t,
13359) -> svint64_t {
13360 unsafe extern "unadjusted" {
13361 #[cfg_attr(
13362 target_arch = "aarch64",
13363 link_name = "llvm.aarch64.sve.ld1.gather.nxv2i32"
13364 )]
13365 fn _svld1sw_gather_s64offset_s64(
13366 pg: svbool2_t,
13367 base: *const i32,
13368 offsets: svint64_t,
13369 ) -> nxv2i32;
13370 }
13371 crate::intrinsics::simd::simd_cast(_svld1sw_gather_s64offset_s64(pg.sve_into(), base, offsets))
13372}
13373#[doc = "Load 8-bit data and sign-extend"]
13374#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1sb_gather_[s64]offset_u64)"]
13375#[doc = "## Safety"]
13376#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
13377#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
13378#[inline]
13379#[target_feature(enable = "sve")]
13380#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
13381#[cfg_attr(test, assert_instr(ld1sb))]
13382pub unsafe fn svld1sb_gather_s64offset_u64(
13383 pg: svbool_t,
13384 base: *const i8,
13385 offsets: svint64_t,
13386) -> svuint64_t {
13387 svld1sb_gather_s64offset_s64(pg, base, offsets).as_unsigned()
13388}
13389#[doc = "Load 16-bit data and sign-extend"]
13390#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1sh_gather_[s64]offset_u64)"]
13391#[doc = "## Safety"]
13392#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
13393#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
13394#[inline]
13395#[target_feature(enable = "sve")]
13396#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
13397#[cfg_attr(test, assert_instr(ld1sh))]
13398pub unsafe fn svld1sh_gather_s64offset_u64(
13399 pg: svbool_t,
13400 base: *const i16,
13401 offsets: svint64_t,
13402) -> svuint64_t {
13403 svld1sh_gather_s64offset_s64(pg, base, offsets).as_unsigned()
13404}
13405#[doc = "Load 32-bit data and sign-extend"]
13406#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1sw_gather_[s64]offset_u64)"]
13407#[doc = "## Safety"]
13408#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
13409#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
13410#[inline]
13411#[target_feature(enable = "sve")]
13412#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
13413#[cfg_attr(test, assert_instr(ld1sw))]
13414pub unsafe fn svld1sw_gather_s64offset_u64(
13415 pg: svbool_t,
13416 base: *const i32,
13417 offsets: svint64_t,
13418) -> svuint64_t {
13419 svld1sw_gather_s64offset_s64(pg, base, offsets).as_unsigned()
13420}
13421#[doc = "Load 8-bit data and sign-extend"]
13422#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1sb_gather_[u32]offset_s32)"]
13423#[doc = "## Safety"]
13424#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
13425#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
13426#[inline]
13427#[target_feature(enable = "sve")]
13428#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
13429#[cfg_attr(test, assert_instr(ld1sb))]
13430pub unsafe fn svld1sb_gather_u32offset_s32(
13431 pg: svbool_t,
13432 base: *const i8,
13433 offsets: svuint32_t,
13434) -> svint32_t {
13435 unsafe extern "unadjusted" {
13436 #[cfg_attr(
13437 target_arch = "aarch64",
13438 link_name = "llvm.aarch64.sve.ld1.gather.uxtw.nxv4i8"
13439 )]
13440 fn _svld1sb_gather_u32offset_s32(
13441 pg: svbool4_t,
13442 base: *const i8,
13443 offsets: svint32_t,
13444 ) -> nxv4i8;
13445 }
13446 crate::intrinsics::simd::simd_cast(_svld1sb_gather_u32offset_s32(
13447 pg.sve_into(),
13448 base,
13449 offsets.as_signed(),
13450 ))
13451}
13452#[doc = "Load 16-bit data and sign-extend"]
13453#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1sh_gather_[u32]offset_s32)"]
13454#[doc = "## Safety"]
13455#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
13456#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
13457#[inline]
13458#[target_feature(enable = "sve")]
13459#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
13460#[cfg_attr(test, assert_instr(ld1sh))]
13461pub unsafe fn svld1sh_gather_u32offset_s32(
13462 pg: svbool_t,
13463 base: *const i16,
13464 offsets: svuint32_t,
13465) -> svint32_t {
13466 unsafe extern "unadjusted" {
13467 #[cfg_attr(
13468 target_arch = "aarch64",
13469 link_name = "llvm.aarch64.sve.ld1.gather.uxtw.nxv4i16"
13470 )]
13471 fn _svld1sh_gather_u32offset_s32(
13472 pg: svbool4_t,
13473 base: *const i16,
13474 offsets: svint32_t,
13475 ) -> nxv4i16;
13476 }
13477 crate::intrinsics::simd::simd_cast(_svld1sh_gather_u32offset_s32(
13478 pg.sve_into(),
13479 base,
13480 offsets.as_signed(),
13481 ))
13482}
13483#[doc = "Load 8-bit data and sign-extend"]
13484#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1sb_gather_[u32]offset_u32)"]
13485#[doc = "## Safety"]
13486#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
13487#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
13488#[inline]
13489#[target_feature(enable = "sve")]
13490#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
13491#[cfg_attr(test, assert_instr(ld1sb))]
13492pub unsafe fn svld1sb_gather_u32offset_u32(
13493 pg: svbool_t,
13494 base: *const i8,
13495 offsets: svuint32_t,
13496) -> svuint32_t {
13497 svld1sb_gather_u32offset_s32(pg, base, offsets).as_unsigned()
13498}
13499#[doc = "Load 16-bit data and sign-extend"]
13500#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1sh_gather_[u32]offset_u32)"]
13501#[doc = "## Safety"]
13502#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
13503#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
13504#[inline]
13505#[target_feature(enable = "sve")]
13506#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
13507#[cfg_attr(test, assert_instr(ld1sh))]
13508pub unsafe fn svld1sh_gather_u32offset_u32(
13509 pg: svbool_t,
13510 base: *const i16,
13511 offsets: svuint32_t,
13512) -> svuint32_t {
13513 svld1sh_gather_u32offset_s32(pg, base, offsets).as_unsigned()
13514}
13515#[doc = "Load 8-bit data and sign-extend"]
13516#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1sb_gather_[u64]offset_s64)"]
13517#[doc = "## Safety"]
13518#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
13519#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
13520#[inline]
13521#[target_feature(enable = "sve")]
13522#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
13523#[cfg_attr(test, assert_instr(ld1sb))]
13524pub unsafe fn svld1sb_gather_u64offset_s64(
13525 pg: svbool_t,
13526 base: *const i8,
13527 offsets: svuint64_t,
13528) -> svint64_t {
13529 svld1sb_gather_s64offset_s64(pg, base, offsets.as_signed())
13530}
13531#[doc = "Load 16-bit data and sign-extend"]
13532#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1sh_gather_[u64]offset_s64)"]
13533#[doc = "## Safety"]
13534#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
13535#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
13536#[inline]
13537#[target_feature(enable = "sve")]
13538#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
13539#[cfg_attr(test, assert_instr(ld1sh))]
13540pub unsafe fn svld1sh_gather_u64offset_s64(
13541 pg: svbool_t,
13542 base: *const i16,
13543 offsets: svuint64_t,
13544) -> svint64_t {
13545 svld1sh_gather_s64offset_s64(pg, base, offsets.as_signed())
13546}
13547#[doc = "Load 32-bit data and sign-extend"]
13548#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1sw_gather_[u64]offset_s64)"]
13549#[doc = "## Safety"]
13550#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
13551#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
13552#[inline]
13553#[target_feature(enable = "sve")]
13554#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
13555#[cfg_attr(test, assert_instr(ld1sw))]
13556pub unsafe fn svld1sw_gather_u64offset_s64(
13557 pg: svbool_t,
13558 base: *const i32,
13559 offsets: svuint64_t,
13560) -> svint64_t {
13561 svld1sw_gather_s64offset_s64(pg, base, offsets.as_signed())
13562}
13563#[doc = "Load 8-bit data and sign-extend"]
13564#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1sb_gather_[u64]offset_u64)"]
13565#[doc = "## Safety"]
13566#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
13567#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
13568#[inline]
13569#[target_feature(enable = "sve")]
13570#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
13571#[cfg_attr(test, assert_instr(ld1sb))]
13572pub unsafe fn svld1sb_gather_u64offset_u64(
13573 pg: svbool_t,
13574 base: *const i8,
13575 offsets: svuint64_t,
13576) -> svuint64_t {
13577 svld1sb_gather_s64offset_s64(pg, base, offsets.as_signed()).as_unsigned()
13578}
13579#[doc = "Load 16-bit data and sign-extend"]
13580#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1sh_gather_[u64]offset_u64)"]
13581#[doc = "## Safety"]
13582#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
13583#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
13584#[inline]
13585#[target_feature(enable = "sve")]
13586#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
13587#[cfg_attr(test, assert_instr(ld1sh))]
13588pub unsafe fn svld1sh_gather_u64offset_u64(
13589 pg: svbool_t,
13590 base: *const i16,
13591 offsets: svuint64_t,
13592) -> svuint64_t {
13593 svld1sh_gather_s64offset_s64(pg, base, offsets.as_signed()).as_unsigned()
13594}
13595#[doc = "Load 32-bit data and sign-extend"]
13596#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1sw_gather_[u64]offset_u64)"]
13597#[doc = "## Safety"]
13598#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
13599#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
13600#[inline]
13601#[target_feature(enable = "sve")]
13602#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
13603#[cfg_attr(test, assert_instr(ld1sw))]
13604pub unsafe fn svld1sw_gather_u64offset_u64(
13605 pg: svbool_t,
13606 base: *const i32,
13607 offsets: svuint64_t,
13608) -> svuint64_t {
13609 svld1sw_gather_s64offset_s64(pg, base, offsets.as_signed()).as_unsigned()
13610}
13611#[doc = "Load 8-bit data and sign-extend"]
13612#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1sb_gather[_u32base]_offset_s32)"]
13613#[doc = "## Safety"]
13614#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
13615#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
13616#[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."]
13617#[inline]
13618#[target_feature(enable = "sve")]
13619#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
13620#[cfg_attr(test, assert_instr(ld1sb))]
13621pub unsafe fn svld1sb_gather_u32base_offset_s32(
13622 pg: svbool_t,
13623 bases: svuint32_t,
13624 offset: i64,
13625) -> svint32_t {
13626 unsafe extern "unadjusted" {
13627 #[cfg_attr(
13628 target_arch = "aarch64",
13629 link_name = "llvm.aarch64.sve.ld1.gather.scalar.offset.nxv4i8.nxv4i32"
13630 )]
13631 fn _svld1sb_gather_u32base_offset_s32(
13632 pg: svbool4_t,
13633 bases: svint32_t,
13634 offset: i64,
13635 ) -> nxv4i8;
13636 }
13637 crate::intrinsics::simd::simd_cast(_svld1sb_gather_u32base_offset_s32(
13638 pg.sve_into(),
13639 bases.as_signed(),
13640 offset,
13641 ))
13642}
13643#[doc = "Load 16-bit data and sign-extend"]
13644#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1sh_gather[_u32base]_offset_s32)"]
13645#[doc = "## Safety"]
13646#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
13647#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
13648#[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."]
13649#[inline]
13650#[target_feature(enable = "sve")]
13651#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
13652#[cfg_attr(test, assert_instr(ld1sh))]
13653pub unsafe fn svld1sh_gather_u32base_offset_s32(
13654 pg: svbool_t,
13655 bases: svuint32_t,
13656 offset: i64,
13657) -> svint32_t {
13658 unsafe extern "unadjusted" {
13659 #[cfg_attr(
13660 target_arch = "aarch64",
13661 link_name = "llvm.aarch64.sve.ld1.gather.scalar.offset.nxv4i16.nxv4i32"
13662 )]
13663 fn _svld1sh_gather_u32base_offset_s32(
13664 pg: svbool4_t,
13665 bases: svint32_t,
13666 offset: i64,
13667 ) -> nxv4i16;
13668 }
13669 crate::intrinsics::simd::simd_cast(_svld1sh_gather_u32base_offset_s32(
13670 pg.sve_into(),
13671 bases.as_signed(),
13672 offset,
13673 ))
13674}
13675#[doc = "Load 8-bit data and sign-extend"]
13676#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1sb_gather[_u32base]_offset_u32)"]
13677#[doc = "## Safety"]
13678#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
13679#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
13680#[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."]
13681#[inline]
13682#[target_feature(enable = "sve")]
13683#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
13684#[cfg_attr(test, assert_instr(ld1sb))]
13685pub unsafe fn svld1sb_gather_u32base_offset_u32(
13686 pg: svbool_t,
13687 bases: svuint32_t,
13688 offset: i64,
13689) -> svuint32_t {
13690 svld1sb_gather_u32base_offset_s32(pg, bases, offset).as_unsigned()
13691}
13692#[doc = "Load 16-bit data and sign-extend"]
13693#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1sh_gather[_u32base]_offset_u32)"]
13694#[doc = "## Safety"]
13695#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
13696#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
13697#[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."]
13698#[inline]
13699#[target_feature(enable = "sve")]
13700#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
13701#[cfg_attr(test, assert_instr(ld1sh))]
13702pub unsafe fn svld1sh_gather_u32base_offset_u32(
13703 pg: svbool_t,
13704 bases: svuint32_t,
13705 offset: i64,
13706) -> svuint32_t {
13707 svld1sh_gather_u32base_offset_s32(pg, bases, offset).as_unsigned()
13708}
13709#[doc = "Load 8-bit data and sign-extend"]
13710#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1sb_gather[_u64base]_offset_s64)"]
13711#[doc = "## Safety"]
13712#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
13713#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
13714#[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."]
13715#[inline]
13716#[target_feature(enable = "sve")]
13717#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
13718#[cfg_attr(test, assert_instr(ld1sb))]
13719pub unsafe fn svld1sb_gather_u64base_offset_s64(
13720 pg: svbool_t,
13721 bases: svuint64_t,
13722 offset: i64,
13723) -> svint64_t {
13724 unsafe extern "unadjusted" {
13725 #[cfg_attr(
13726 target_arch = "aarch64",
13727 link_name = "llvm.aarch64.sve.ld1.gather.scalar.offset.nxv2i8.nxv2i64"
13728 )]
13729 fn _svld1sb_gather_u64base_offset_s64(
13730 pg: svbool2_t,
13731 bases: svint64_t,
13732 offset: i64,
13733 ) -> nxv2i8;
13734 }
13735 crate::intrinsics::simd::simd_cast(_svld1sb_gather_u64base_offset_s64(
13736 pg.sve_into(),
13737 bases.as_signed(),
13738 offset,
13739 ))
13740}
13741#[doc = "Load 16-bit data and sign-extend"]
13742#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1sh_gather[_u64base]_offset_s64)"]
13743#[doc = "## Safety"]
13744#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
13745#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
13746#[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."]
13747#[inline]
13748#[target_feature(enable = "sve")]
13749#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
13750#[cfg_attr(test, assert_instr(ld1sh))]
13751pub unsafe fn svld1sh_gather_u64base_offset_s64(
13752 pg: svbool_t,
13753 bases: svuint64_t,
13754 offset: i64,
13755) -> svint64_t {
13756 unsafe extern "unadjusted" {
13757 #[cfg_attr(
13758 target_arch = "aarch64",
13759 link_name = "llvm.aarch64.sve.ld1.gather.scalar.offset.nxv2i16.nxv2i64"
13760 )]
13761 fn _svld1sh_gather_u64base_offset_s64(
13762 pg: svbool2_t,
13763 bases: svint64_t,
13764 offset: i64,
13765 ) -> nxv2i16;
13766 }
13767 crate::intrinsics::simd::simd_cast(_svld1sh_gather_u64base_offset_s64(
13768 pg.sve_into(),
13769 bases.as_signed(),
13770 offset,
13771 ))
13772}
13773#[doc = "Load 32-bit data and sign-extend"]
13774#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1sw_gather[_u64base]_offset_s64)"]
13775#[doc = "## Safety"]
13776#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
13777#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
13778#[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."]
13779#[inline]
13780#[target_feature(enable = "sve")]
13781#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
13782#[cfg_attr(test, assert_instr(ld1sw))]
13783pub unsafe fn svld1sw_gather_u64base_offset_s64(
13784 pg: svbool_t,
13785 bases: svuint64_t,
13786 offset: i64,
13787) -> svint64_t {
13788 unsafe extern "unadjusted" {
13789 #[cfg_attr(
13790 target_arch = "aarch64",
13791 link_name = "llvm.aarch64.sve.ld1.gather.scalar.offset.nxv2i32.nxv2i64"
13792 )]
13793 fn _svld1sw_gather_u64base_offset_s64(
13794 pg: svbool2_t,
13795 bases: svint64_t,
13796 offset: i64,
13797 ) -> nxv2i32;
13798 }
13799 crate::intrinsics::simd::simd_cast(_svld1sw_gather_u64base_offset_s64(
13800 pg.sve_into(),
13801 bases.as_signed(),
13802 offset,
13803 ))
13804}
13805#[doc = "Load 8-bit data and sign-extend"]
13806#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1sb_gather[_u64base]_offset_u64)"]
13807#[doc = "## Safety"]
13808#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
13809#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
13810#[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."]
13811#[inline]
13812#[target_feature(enable = "sve")]
13813#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
13814#[cfg_attr(test, assert_instr(ld1sb))]
13815pub unsafe fn svld1sb_gather_u64base_offset_u64(
13816 pg: svbool_t,
13817 bases: svuint64_t,
13818 offset: i64,
13819) -> svuint64_t {
13820 svld1sb_gather_u64base_offset_s64(pg, bases, offset).as_unsigned()
13821}
13822#[doc = "Load 16-bit data and sign-extend"]
13823#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1sh_gather[_u64base]_offset_u64)"]
13824#[doc = "## Safety"]
13825#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
13826#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
13827#[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."]
13828#[inline]
13829#[target_feature(enable = "sve")]
13830#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
13831#[cfg_attr(test, assert_instr(ld1sh))]
13832pub unsafe fn svld1sh_gather_u64base_offset_u64(
13833 pg: svbool_t,
13834 bases: svuint64_t,
13835 offset: i64,
13836) -> svuint64_t {
13837 svld1sh_gather_u64base_offset_s64(pg, bases, offset).as_unsigned()
13838}
13839#[doc = "Load 32-bit data and sign-extend"]
13840#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1sw_gather[_u64base]_offset_u64)"]
13841#[doc = "## Safety"]
13842#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
13843#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
13844#[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."]
13845#[inline]
13846#[target_feature(enable = "sve")]
13847#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
13848#[cfg_attr(test, assert_instr(ld1sw))]
13849pub unsafe fn svld1sw_gather_u64base_offset_u64(
13850 pg: svbool_t,
13851 bases: svuint64_t,
13852 offset: i64,
13853) -> svuint64_t {
13854 svld1sw_gather_u64base_offset_s64(pg, bases, offset).as_unsigned()
13855}
13856#[doc = "Load 8-bit data and sign-extend"]
13857#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1sb_gather[_u32base]_s32)"]
13858#[doc = "## Safety"]
13859#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
13860#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
13861#[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."]
13862#[inline]
13863#[target_feature(enable = "sve")]
13864#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
13865#[cfg_attr(test, assert_instr(ld1sb))]
13866pub unsafe fn svld1sb_gather_u32base_s32(pg: svbool_t, bases: svuint32_t) -> svint32_t {
13867 svld1sb_gather_u32base_offset_s32(pg, bases, 0)
13868}
13869#[doc = "Load 16-bit data and sign-extend"]
13870#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1sh_gather[_u32base]_s32)"]
13871#[doc = "## Safety"]
13872#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
13873#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
13874#[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."]
13875#[inline]
13876#[target_feature(enable = "sve")]
13877#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
13878#[cfg_attr(test, assert_instr(ld1sh))]
13879pub unsafe fn svld1sh_gather_u32base_s32(pg: svbool_t, bases: svuint32_t) -> svint32_t {
13880 svld1sh_gather_u32base_offset_s32(pg, bases, 0)
13881}
13882#[doc = "Load 8-bit data and sign-extend"]
13883#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1sb_gather[_u32base]_u32)"]
13884#[doc = "## Safety"]
13885#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
13886#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
13887#[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."]
13888#[inline]
13889#[target_feature(enable = "sve")]
13890#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
13891#[cfg_attr(test, assert_instr(ld1sb))]
13892pub unsafe fn svld1sb_gather_u32base_u32(pg: svbool_t, bases: svuint32_t) -> svuint32_t {
13893 svld1sb_gather_u32base_offset_u32(pg, bases, 0)
13894}
13895#[doc = "Load 16-bit data and sign-extend"]
13896#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1sh_gather[_u32base]_u32)"]
13897#[doc = "## Safety"]
13898#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
13899#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
13900#[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."]
13901#[inline]
13902#[target_feature(enable = "sve")]
13903#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
13904#[cfg_attr(test, assert_instr(ld1sh))]
13905pub unsafe fn svld1sh_gather_u32base_u32(pg: svbool_t, bases: svuint32_t) -> svuint32_t {
13906 svld1sh_gather_u32base_offset_u32(pg, bases, 0)
13907}
13908#[doc = "Load 8-bit data and sign-extend"]
13909#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1sb_gather[_u64base]_s64)"]
13910#[doc = "## Safety"]
13911#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
13912#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
13913#[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."]
13914#[inline]
13915#[target_feature(enable = "sve")]
13916#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
13917#[cfg_attr(test, assert_instr(ld1sb))]
13918pub unsafe fn svld1sb_gather_u64base_s64(pg: svbool_t, bases: svuint64_t) -> svint64_t {
13919 svld1sb_gather_u64base_offset_s64(pg, bases, 0)
13920}
13921#[doc = "Load 16-bit data and sign-extend"]
13922#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1sh_gather[_u64base]_s64)"]
13923#[doc = "## Safety"]
13924#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
13925#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
13926#[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."]
13927#[inline]
13928#[target_feature(enable = "sve")]
13929#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
13930#[cfg_attr(test, assert_instr(ld1sh))]
13931pub unsafe fn svld1sh_gather_u64base_s64(pg: svbool_t, bases: svuint64_t) -> svint64_t {
13932 svld1sh_gather_u64base_offset_s64(pg, bases, 0)
13933}
13934#[doc = "Load 32-bit data and sign-extend"]
13935#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1sw_gather[_u64base]_s64)"]
13936#[doc = "## Safety"]
13937#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
13938#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
13939#[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."]
13940#[inline]
13941#[target_feature(enable = "sve")]
13942#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
13943#[cfg_attr(test, assert_instr(ld1sw))]
13944pub unsafe fn svld1sw_gather_u64base_s64(pg: svbool_t, bases: svuint64_t) -> svint64_t {
13945 svld1sw_gather_u64base_offset_s64(pg, bases, 0)
13946}
13947#[doc = "Load 8-bit data and sign-extend"]
13948#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1sb_gather[_u64base]_u64)"]
13949#[doc = "## Safety"]
13950#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
13951#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
13952#[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."]
13953#[inline]
13954#[target_feature(enable = "sve")]
13955#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
13956#[cfg_attr(test, assert_instr(ld1sb))]
13957pub unsafe fn svld1sb_gather_u64base_u64(pg: svbool_t, bases: svuint64_t) -> svuint64_t {
13958 svld1sb_gather_u64base_offset_u64(pg, bases, 0)
13959}
13960#[doc = "Load 16-bit data and sign-extend"]
13961#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1sh_gather[_u64base]_u64)"]
13962#[doc = "## Safety"]
13963#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
13964#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
13965#[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."]
13966#[inline]
13967#[target_feature(enable = "sve")]
13968#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
13969#[cfg_attr(test, assert_instr(ld1sh))]
13970pub unsafe fn svld1sh_gather_u64base_u64(pg: svbool_t, bases: svuint64_t) -> svuint64_t {
13971 svld1sh_gather_u64base_offset_u64(pg, bases, 0)
13972}
13973#[doc = "Load 32-bit data and sign-extend"]
13974#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1sw_gather[_u64base]_u64)"]
13975#[doc = "## Safety"]
13976#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
13977#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
13978#[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."]
13979#[inline]
13980#[target_feature(enable = "sve")]
13981#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
13982#[cfg_attr(test, assert_instr(ld1sw))]
13983pub unsafe fn svld1sw_gather_u64base_u64(pg: svbool_t, bases: svuint64_t) -> svuint64_t {
13984 svld1sw_gather_u64base_offset_u64(pg, bases, 0)
13985}
13986#[doc = "Load 8-bit data and sign-extend"]
13987#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1sb_s16)"]
13988#[doc = "## Safety"]
13989#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
13990#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
13991#[inline]
13992#[target_feature(enable = "sve")]
13993#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
13994#[cfg_attr(test, assert_instr(ld1sb))]
13995pub unsafe fn svld1sb_s16(pg: svbool_t, base: *const i8) -> svint16_t {
13996 unsafe extern "unadjusted" {
13997 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.ld1.nxv8i8")]
13998 fn _svld1sb_s16(pg: svbool8_t, base: *const i8) -> nxv8i8;
13999 }
14000 crate::intrinsics::simd::simd_cast(_svld1sb_s16(pg.sve_into(), base))
14001}
14002#[doc = "Load 8-bit data and sign-extend"]
14003#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1sb_s32)"]
14004#[doc = "## Safety"]
14005#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
14006#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
14007#[inline]
14008#[target_feature(enable = "sve")]
14009#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
14010#[cfg_attr(test, assert_instr(ld1sb))]
14011pub unsafe fn svld1sb_s32(pg: svbool_t, base: *const i8) -> svint32_t {
14012 unsafe extern "unadjusted" {
14013 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.ld1.nxv4i8")]
14014 fn _svld1sb_s32(pg: svbool4_t, base: *const i8) -> nxv4i8;
14015 }
14016 crate::intrinsics::simd::simd_cast(_svld1sb_s32(pg.sve_into(), base))
14017}
14018#[doc = "Load 16-bit data and sign-extend"]
14019#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1sh_s32)"]
14020#[doc = "## Safety"]
14021#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
14022#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
14023#[inline]
14024#[target_feature(enable = "sve")]
14025#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
14026#[cfg_attr(test, assert_instr(ld1sh))]
14027pub unsafe fn svld1sh_s32(pg: svbool_t, base: *const i16) -> svint32_t {
14028 unsafe extern "unadjusted" {
14029 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.ld1.nxv4i16")]
14030 fn _svld1sh_s32(pg: svbool4_t, base: *const i16) -> nxv4i16;
14031 }
14032 crate::intrinsics::simd::simd_cast(_svld1sh_s32(pg.sve_into(), base))
14033}
14034#[doc = "Load 8-bit data and sign-extend"]
14035#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1sb_s64)"]
14036#[doc = "## Safety"]
14037#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
14038#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
14039#[inline]
14040#[target_feature(enable = "sve")]
14041#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
14042#[cfg_attr(test, assert_instr(ld1sb))]
14043pub unsafe fn svld1sb_s64(pg: svbool_t, base: *const i8) -> svint64_t {
14044 unsafe extern "unadjusted" {
14045 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.ld1.nxv2i8")]
14046 fn _svld1sb_s64(pg: svbool2_t, base: *const i8) -> nxv2i8;
14047 }
14048 crate::intrinsics::simd::simd_cast(_svld1sb_s64(pg.sve_into(), base))
14049}
14050#[doc = "Load 16-bit data and sign-extend"]
14051#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1sh_s64)"]
14052#[doc = "## Safety"]
14053#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
14054#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
14055#[inline]
14056#[target_feature(enable = "sve")]
14057#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
14058#[cfg_attr(test, assert_instr(ld1sh))]
14059pub unsafe fn svld1sh_s64(pg: svbool_t, base: *const i16) -> svint64_t {
14060 unsafe extern "unadjusted" {
14061 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.ld1.nxv2i16")]
14062 fn _svld1sh_s64(pg: svbool2_t, base: *const i16) -> nxv2i16;
14063 }
14064 crate::intrinsics::simd::simd_cast(_svld1sh_s64(pg.sve_into(), base))
14065}
14066#[doc = "Load 32-bit data and sign-extend"]
14067#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1sw_s64)"]
14068#[doc = "## Safety"]
14069#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
14070#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
14071#[inline]
14072#[target_feature(enable = "sve")]
14073#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
14074#[cfg_attr(test, assert_instr(ld1sw))]
14075pub unsafe fn svld1sw_s64(pg: svbool_t, base: *const i32) -> svint64_t {
14076 unsafe extern "unadjusted" {
14077 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.ld1.nxv2i32")]
14078 fn _svld1sw_s64(pg: svbool2_t, base: *const i32) -> nxv2i32;
14079 }
14080 crate::intrinsics::simd::simd_cast(_svld1sw_s64(pg.sve_into(), base))
14081}
14082#[doc = "Load 8-bit data and sign-extend"]
14083#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1sb_u16)"]
14084#[doc = "## Safety"]
14085#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
14086#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
14087#[inline]
14088#[target_feature(enable = "sve")]
14089#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
14090#[cfg_attr(test, assert_instr(ld1sb))]
14091pub unsafe fn svld1sb_u16(pg: svbool_t, base: *const i8) -> svuint16_t {
14092 svld1sb_s16(pg, base).as_unsigned()
14093}
14094#[doc = "Load 8-bit data and sign-extend"]
14095#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1sb_u32)"]
14096#[doc = "## Safety"]
14097#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
14098#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
14099#[inline]
14100#[target_feature(enable = "sve")]
14101#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
14102#[cfg_attr(test, assert_instr(ld1sb))]
14103pub unsafe fn svld1sb_u32(pg: svbool_t, base: *const i8) -> svuint32_t {
14104 svld1sb_s32(pg, base).as_unsigned()
14105}
14106#[doc = "Load 16-bit data and sign-extend"]
14107#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1sh_u32)"]
14108#[doc = "## Safety"]
14109#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
14110#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
14111#[inline]
14112#[target_feature(enable = "sve")]
14113#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
14114#[cfg_attr(test, assert_instr(ld1sh))]
14115pub unsafe fn svld1sh_u32(pg: svbool_t, base: *const i16) -> svuint32_t {
14116 svld1sh_s32(pg, base).as_unsigned()
14117}
14118#[doc = "Load 8-bit data and sign-extend"]
14119#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1sb_u64)"]
14120#[doc = "## Safety"]
14121#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
14122#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
14123#[inline]
14124#[target_feature(enable = "sve")]
14125#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
14126#[cfg_attr(test, assert_instr(ld1sb))]
14127pub unsafe fn svld1sb_u64(pg: svbool_t, base: *const i8) -> svuint64_t {
14128 svld1sb_s64(pg, base).as_unsigned()
14129}
14130#[doc = "Load 16-bit data and sign-extend"]
14131#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1sh_u64)"]
14132#[doc = "## Safety"]
14133#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
14134#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
14135#[inline]
14136#[target_feature(enable = "sve")]
14137#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
14138#[cfg_attr(test, assert_instr(ld1sh))]
14139pub unsafe fn svld1sh_u64(pg: svbool_t, base: *const i16) -> svuint64_t {
14140 svld1sh_s64(pg, base).as_unsigned()
14141}
14142#[doc = "Load 32-bit data and sign-extend"]
14143#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1sw_u64)"]
14144#[doc = "## Safety"]
14145#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
14146#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
14147#[inline]
14148#[target_feature(enable = "sve")]
14149#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
14150#[cfg_attr(test, assert_instr(ld1sw))]
14151pub unsafe fn svld1sw_u64(pg: svbool_t, base: *const i32) -> svuint64_t {
14152 svld1sw_s64(pg, base).as_unsigned()
14153}
14154#[doc = "Load 8-bit data and sign-extend"]
14155#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1sb_vnum_s16)"]
14156#[doc = "## Safety"]
14157#[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."]
14158#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
14159#[inline]
14160#[target_feature(enable = "sve")]
14161#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
14162#[cfg_attr(test, assert_instr(ld1sb))]
14163pub unsafe fn svld1sb_vnum_s16(pg: svbool_t, base: *const i8, vnum: i64) -> svint16_t {
14164 svld1sb_s16(pg, base.offset(svcnth() as isize * vnum as isize))
14165}
14166#[doc = "Load 8-bit data and sign-extend"]
14167#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1sb_vnum_s32)"]
14168#[doc = "## Safety"]
14169#[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."]
14170#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
14171#[inline]
14172#[target_feature(enable = "sve")]
14173#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
14174#[cfg_attr(test, assert_instr(ld1sb))]
14175pub unsafe fn svld1sb_vnum_s32(pg: svbool_t, base: *const i8, vnum: i64) -> svint32_t {
14176 svld1sb_s32(pg, base.offset(svcntw() as isize * vnum as isize))
14177}
14178#[doc = "Load 16-bit data and sign-extend"]
14179#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1sh_vnum_s32)"]
14180#[doc = "## Safety"]
14181#[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."]
14182#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
14183#[inline]
14184#[target_feature(enable = "sve")]
14185#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
14186#[cfg_attr(test, assert_instr(ld1sh))]
14187pub unsafe fn svld1sh_vnum_s32(pg: svbool_t, base: *const i16, vnum: i64) -> svint32_t {
14188 svld1sh_s32(pg, base.offset(svcntw() as isize * vnum as isize))
14189}
14190#[doc = "Load 8-bit data and sign-extend"]
14191#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1sb_vnum_s64)"]
14192#[doc = "## Safety"]
14193#[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."]
14194#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
14195#[inline]
14196#[target_feature(enable = "sve")]
14197#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
14198#[cfg_attr(test, assert_instr(ld1sb))]
14199pub unsafe fn svld1sb_vnum_s64(pg: svbool_t, base: *const i8, vnum: i64) -> svint64_t {
14200 svld1sb_s64(pg, base.offset(svcntd() as isize * vnum as isize))
14201}
14202#[doc = "Load 16-bit data and sign-extend"]
14203#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1sh_vnum_s64)"]
14204#[doc = "## Safety"]
14205#[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."]
14206#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
14207#[inline]
14208#[target_feature(enable = "sve")]
14209#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
14210#[cfg_attr(test, assert_instr(ld1sh))]
14211pub unsafe fn svld1sh_vnum_s64(pg: svbool_t, base: *const i16, vnum: i64) -> svint64_t {
14212 svld1sh_s64(pg, base.offset(svcntd() as isize * vnum as isize))
14213}
14214#[doc = "Load 32-bit data and sign-extend"]
14215#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1sw_vnum_s64)"]
14216#[doc = "## Safety"]
14217#[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."]
14218#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
14219#[inline]
14220#[target_feature(enable = "sve")]
14221#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
14222#[cfg_attr(test, assert_instr(ld1sw))]
14223pub unsafe fn svld1sw_vnum_s64(pg: svbool_t, base: *const i32, vnum: i64) -> svint64_t {
14224 svld1sw_s64(pg, base.offset(svcntd() as isize * vnum as isize))
14225}
14226#[doc = "Load 8-bit data and sign-extend"]
14227#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1sb_vnum_u16)"]
14228#[doc = "## Safety"]
14229#[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."]
14230#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
14231#[inline]
14232#[target_feature(enable = "sve")]
14233#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
14234#[cfg_attr(test, assert_instr(ld1sb))]
14235pub unsafe fn svld1sb_vnum_u16(pg: svbool_t, base: *const i8, vnum: i64) -> svuint16_t {
14236 svld1sb_u16(pg, base.offset(svcnth() as isize * vnum as isize))
14237}
14238#[doc = "Load 8-bit data and sign-extend"]
14239#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1sb_vnum_u32)"]
14240#[doc = "## Safety"]
14241#[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."]
14242#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
14243#[inline]
14244#[target_feature(enable = "sve")]
14245#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
14246#[cfg_attr(test, assert_instr(ld1sb))]
14247pub unsafe fn svld1sb_vnum_u32(pg: svbool_t, base: *const i8, vnum: i64) -> svuint32_t {
14248 svld1sb_u32(pg, base.offset(svcntw() as isize * vnum as isize))
14249}
14250#[doc = "Load 16-bit data and sign-extend"]
14251#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1sh_vnum_u32)"]
14252#[doc = "## Safety"]
14253#[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."]
14254#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
14255#[inline]
14256#[target_feature(enable = "sve")]
14257#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
14258#[cfg_attr(test, assert_instr(ld1sh))]
14259pub unsafe fn svld1sh_vnum_u32(pg: svbool_t, base: *const i16, vnum: i64) -> svuint32_t {
14260 svld1sh_u32(pg, base.offset(svcntw() as isize * vnum as isize))
14261}
14262#[doc = "Load 8-bit data and sign-extend"]
14263#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1sb_vnum_u64)"]
14264#[doc = "## Safety"]
14265#[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."]
14266#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
14267#[inline]
14268#[target_feature(enable = "sve")]
14269#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
14270#[cfg_attr(test, assert_instr(ld1sb))]
14271pub unsafe fn svld1sb_vnum_u64(pg: svbool_t, base: *const i8, vnum: i64) -> svuint64_t {
14272 svld1sb_u64(pg, base.offset(svcntd() as isize * vnum as isize))
14273}
14274#[doc = "Load 16-bit data and sign-extend"]
14275#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1sh_vnum_u64)"]
14276#[doc = "## Safety"]
14277#[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."]
14278#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
14279#[inline]
14280#[target_feature(enable = "sve")]
14281#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
14282#[cfg_attr(test, assert_instr(ld1sh))]
14283pub unsafe fn svld1sh_vnum_u64(pg: svbool_t, base: *const i16, vnum: i64) -> svuint64_t {
14284 svld1sh_u64(pg, base.offset(svcntd() as isize * vnum as isize))
14285}
14286#[doc = "Load 32-bit data and sign-extend"]
14287#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1sw_vnum_u64)"]
14288#[doc = "## Safety"]
14289#[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."]
14290#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
14291#[inline]
14292#[target_feature(enable = "sve")]
14293#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
14294#[cfg_attr(test, assert_instr(ld1sw))]
14295pub unsafe fn svld1sw_vnum_u64(pg: svbool_t, base: *const i32, vnum: i64) -> svuint64_t {
14296 svld1sw_u64(pg, base.offset(svcntd() as isize * vnum as isize))
14297}
14298#[doc = "Load 16-bit data and sign-extend"]
14299#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1sh_gather_[s32]index_s32)"]
14300#[doc = "## Safety"]
14301#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
14302#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
14303#[inline]
14304#[target_feature(enable = "sve")]
14305#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
14306#[cfg_attr(test, assert_instr(ld1sh))]
14307pub unsafe fn svld1sh_gather_s32index_s32(
14308 pg: svbool_t,
14309 base: *const i16,
14310 indices: svint32_t,
14311) -> svint32_t {
14312 unsafe extern "unadjusted" {
14313 #[cfg_attr(
14314 target_arch = "aarch64",
14315 link_name = "llvm.aarch64.sve.ld1.gather.sxtw.index.nxv4i16"
14316 )]
14317 fn _svld1sh_gather_s32index_s32(
14318 pg: svbool4_t,
14319 base: *const i16,
14320 indices: svint32_t,
14321 ) -> nxv4i16;
14322 }
14323 crate::intrinsics::simd::simd_cast(_svld1sh_gather_s32index_s32(pg.sve_into(), base, indices))
14324}
14325#[doc = "Load 16-bit data and sign-extend"]
14326#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1sh_gather_[s32]index_u32)"]
14327#[doc = "## Safety"]
14328#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
14329#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
14330#[inline]
14331#[target_feature(enable = "sve")]
14332#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
14333#[cfg_attr(test, assert_instr(ld1sh))]
14334pub unsafe fn svld1sh_gather_s32index_u32(
14335 pg: svbool_t,
14336 base: *const i16,
14337 indices: svint32_t,
14338) -> svuint32_t {
14339 svld1sh_gather_s32index_s32(pg, base, indices).as_unsigned()
14340}
14341#[doc = "Load 16-bit data and sign-extend"]
14342#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1sh_gather_[s64]index_s64)"]
14343#[doc = "## Safety"]
14344#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
14345#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
14346#[inline]
14347#[target_feature(enable = "sve")]
14348#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
14349#[cfg_attr(test, assert_instr(ld1sh))]
14350pub unsafe fn svld1sh_gather_s64index_s64(
14351 pg: svbool_t,
14352 base: *const i16,
14353 indices: svint64_t,
14354) -> svint64_t {
14355 unsafe extern "unadjusted" {
14356 #[cfg_attr(
14357 target_arch = "aarch64",
14358 link_name = "llvm.aarch64.sve.ld1.gather.index.nxv2i16"
14359 )]
14360 fn _svld1sh_gather_s64index_s64(
14361 pg: svbool2_t,
14362 base: *const i16,
14363 indices: svint64_t,
14364 ) -> nxv2i16;
14365 }
14366 crate::intrinsics::simd::simd_cast(_svld1sh_gather_s64index_s64(pg.sve_into(), base, indices))
14367}
14368#[doc = "Load 32-bit data and sign-extend"]
14369#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1sw_gather_[s64]index_s64)"]
14370#[doc = "## Safety"]
14371#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
14372#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
14373#[inline]
14374#[target_feature(enable = "sve")]
14375#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
14376#[cfg_attr(test, assert_instr(ld1sw))]
14377pub unsafe fn svld1sw_gather_s64index_s64(
14378 pg: svbool_t,
14379 base: *const i32,
14380 indices: svint64_t,
14381) -> svint64_t {
14382 unsafe extern "unadjusted" {
14383 #[cfg_attr(
14384 target_arch = "aarch64",
14385 link_name = "llvm.aarch64.sve.ld1.gather.index.nxv2i32"
14386 )]
14387 fn _svld1sw_gather_s64index_s64(
14388 pg: svbool2_t,
14389 base: *const i32,
14390 indices: svint64_t,
14391 ) -> nxv2i32;
14392 }
14393 crate::intrinsics::simd::simd_cast(_svld1sw_gather_s64index_s64(pg.sve_into(), base, indices))
14394}
14395#[doc = "Load 16-bit data and sign-extend"]
14396#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1sh_gather_[s64]index_u64)"]
14397#[doc = "## Safety"]
14398#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
14399#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
14400#[inline]
14401#[target_feature(enable = "sve")]
14402#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
14403#[cfg_attr(test, assert_instr(ld1sh))]
14404pub unsafe fn svld1sh_gather_s64index_u64(
14405 pg: svbool_t,
14406 base: *const i16,
14407 indices: svint64_t,
14408) -> svuint64_t {
14409 svld1sh_gather_s64index_s64(pg, base, indices).as_unsigned()
14410}
14411#[doc = "Load 32-bit data and sign-extend"]
14412#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1sw_gather_[s64]index_u64)"]
14413#[doc = "## Safety"]
14414#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
14415#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
14416#[inline]
14417#[target_feature(enable = "sve")]
14418#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
14419#[cfg_attr(test, assert_instr(ld1sw))]
14420pub unsafe fn svld1sw_gather_s64index_u64(
14421 pg: svbool_t,
14422 base: *const i32,
14423 indices: svint64_t,
14424) -> svuint64_t {
14425 svld1sw_gather_s64index_s64(pg, base, indices).as_unsigned()
14426}
14427#[doc = "Load 16-bit data and sign-extend"]
14428#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1sh_gather_[u32]index_s32)"]
14429#[doc = "## Safety"]
14430#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
14431#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
14432#[inline]
14433#[target_feature(enable = "sve")]
14434#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
14435#[cfg_attr(test, assert_instr(ld1sh))]
14436pub unsafe fn svld1sh_gather_u32index_s32(
14437 pg: svbool_t,
14438 base: *const i16,
14439 indices: svuint32_t,
14440) -> svint32_t {
14441 unsafe extern "unadjusted" {
14442 #[cfg_attr(
14443 target_arch = "aarch64",
14444 link_name = "llvm.aarch64.sve.ld1.gather.uxtw.index.nxv4i16"
14445 )]
14446 fn _svld1sh_gather_u32index_s32(
14447 pg: svbool4_t,
14448 base: *const i16,
14449 indices: svint32_t,
14450 ) -> nxv4i16;
14451 }
14452 crate::intrinsics::simd::simd_cast(_svld1sh_gather_u32index_s32(
14453 pg.sve_into(),
14454 base,
14455 indices.as_signed(),
14456 ))
14457}
14458#[doc = "Load 16-bit data and sign-extend"]
14459#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1sh_gather_[u32]index_u32)"]
14460#[doc = "## Safety"]
14461#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
14462#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
14463#[inline]
14464#[target_feature(enable = "sve")]
14465#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
14466#[cfg_attr(test, assert_instr(ld1sh))]
14467pub unsafe fn svld1sh_gather_u32index_u32(
14468 pg: svbool_t,
14469 base: *const i16,
14470 indices: svuint32_t,
14471) -> svuint32_t {
14472 svld1sh_gather_u32index_s32(pg, base, indices).as_unsigned()
14473}
14474#[doc = "Load 16-bit data and sign-extend"]
14475#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1sh_gather_[u64]index_s64)"]
14476#[doc = "## Safety"]
14477#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
14478#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
14479#[inline]
14480#[target_feature(enable = "sve")]
14481#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
14482#[cfg_attr(test, assert_instr(ld1sh))]
14483pub unsafe fn svld1sh_gather_u64index_s64(
14484 pg: svbool_t,
14485 base: *const i16,
14486 indices: svuint64_t,
14487) -> svint64_t {
14488 svld1sh_gather_s64index_s64(pg, base, indices.as_signed())
14489}
14490#[doc = "Load 32-bit data and sign-extend"]
14491#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1sw_gather_[u64]index_s64)"]
14492#[doc = "## Safety"]
14493#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
14494#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
14495#[inline]
14496#[target_feature(enable = "sve")]
14497#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
14498#[cfg_attr(test, assert_instr(ld1sw))]
14499pub unsafe fn svld1sw_gather_u64index_s64(
14500 pg: svbool_t,
14501 base: *const i32,
14502 indices: svuint64_t,
14503) -> svint64_t {
14504 svld1sw_gather_s64index_s64(pg, base, indices.as_signed())
14505}
14506#[doc = "Load 16-bit data and sign-extend"]
14507#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1sh_gather_[u64]index_u64)"]
14508#[doc = "## Safety"]
14509#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
14510#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
14511#[inline]
14512#[target_feature(enable = "sve")]
14513#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
14514#[cfg_attr(test, assert_instr(ld1sh))]
14515pub unsafe fn svld1sh_gather_u64index_u64(
14516 pg: svbool_t,
14517 base: *const i16,
14518 indices: svuint64_t,
14519) -> svuint64_t {
14520 svld1sh_gather_s64index_s64(pg, base, indices.as_signed()).as_unsigned()
14521}
14522#[doc = "Load 32-bit data and sign-extend"]
14523#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1sw_gather_[u64]index_u64)"]
14524#[doc = "## Safety"]
14525#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
14526#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
14527#[inline]
14528#[target_feature(enable = "sve")]
14529#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
14530#[cfg_attr(test, assert_instr(ld1sw))]
14531pub unsafe fn svld1sw_gather_u64index_u64(
14532 pg: svbool_t,
14533 base: *const i32,
14534 indices: svuint64_t,
14535) -> svuint64_t {
14536 svld1sw_gather_s64index_s64(pg, base, indices.as_signed()).as_unsigned()
14537}
14538#[doc = "Load 16-bit data and sign-extend"]
14539#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1sh_gather[_u32base]_index_s32)"]
14540#[doc = "## Safety"]
14541#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
14542#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
14543#[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."]
14544#[inline]
14545#[target_feature(enable = "sve")]
14546#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
14547#[cfg_attr(test, assert_instr(ld1sh))]
14548pub unsafe fn svld1sh_gather_u32base_index_s32(
14549 pg: svbool_t,
14550 bases: svuint32_t,
14551 index: i64,
14552) -> svint32_t {
14553 svld1sh_gather_u32base_offset_s32(pg, bases, index.unchecked_shl(1))
14554}
14555#[doc = "Load 16-bit data and sign-extend"]
14556#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1sh_gather[_u32base]_index_u32)"]
14557#[doc = "## Safety"]
14558#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
14559#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
14560#[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."]
14561#[inline]
14562#[target_feature(enable = "sve")]
14563#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
14564#[cfg_attr(test, assert_instr(ld1sh))]
14565pub unsafe fn svld1sh_gather_u32base_index_u32(
14566 pg: svbool_t,
14567 bases: svuint32_t,
14568 index: i64,
14569) -> svuint32_t {
14570 svld1sh_gather_u32base_offset_u32(pg, bases, index.unchecked_shl(1))
14571}
14572#[doc = "Load 16-bit data and sign-extend"]
14573#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1sh_gather[_u64base]_index_s64)"]
14574#[doc = "## Safety"]
14575#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
14576#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
14577#[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."]
14578#[inline]
14579#[target_feature(enable = "sve")]
14580#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
14581#[cfg_attr(test, assert_instr(ld1sh))]
14582pub unsafe fn svld1sh_gather_u64base_index_s64(
14583 pg: svbool_t,
14584 bases: svuint64_t,
14585 index: i64,
14586) -> svint64_t {
14587 svld1sh_gather_u64base_offset_s64(pg, bases, index.unchecked_shl(1))
14588}
14589#[doc = "Load 32-bit data and sign-extend"]
14590#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1sw_gather[_u64base]_index_s64)"]
14591#[doc = "## Safety"]
14592#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
14593#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
14594#[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."]
14595#[inline]
14596#[target_feature(enable = "sve")]
14597#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
14598#[cfg_attr(test, assert_instr(ld1sw))]
14599pub unsafe fn svld1sw_gather_u64base_index_s64(
14600 pg: svbool_t,
14601 bases: svuint64_t,
14602 index: i64,
14603) -> svint64_t {
14604 svld1sw_gather_u64base_offset_s64(pg, bases, index.unchecked_shl(2))
14605}
14606#[doc = "Load 16-bit data and sign-extend"]
14607#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1sh_gather[_u64base]_index_u64)"]
14608#[doc = "## Safety"]
14609#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
14610#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
14611#[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."]
14612#[inline]
14613#[target_feature(enable = "sve")]
14614#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
14615#[cfg_attr(test, assert_instr(ld1sh))]
14616pub unsafe fn svld1sh_gather_u64base_index_u64(
14617 pg: svbool_t,
14618 bases: svuint64_t,
14619 index: i64,
14620) -> svuint64_t {
14621 svld1sh_gather_u64base_offset_u64(pg, bases, index.unchecked_shl(1))
14622}
14623#[doc = "Load 32-bit data and sign-extend"]
14624#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1sw_gather[_u64base]_index_u64)"]
14625#[doc = "## Safety"]
14626#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
14627#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
14628#[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."]
14629#[inline]
14630#[target_feature(enable = "sve")]
14631#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
14632#[cfg_attr(test, assert_instr(ld1sw))]
14633pub unsafe fn svld1sw_gather_u64base_index_u64(
14634 pg: svbool_t,
14635 bases: svuint64_t,
14636 index: i64,
14637) -> svuint64_t {
14638 svld1sw_gather_u64base_offset_u64(pg, bases, index.unchecked_shl(2))
14639}
14640#[doc = "Load 8-bit data and zero-extend"]
14641#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1ub_gather_[s32]offset_s32)"]
14642#[doc = "## Safety"]
14643#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
14644#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
14645#[inline]
14646#[target_feature(enable = "sve")]
14647#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
14648#[cfg_attr(test, assert_instr(ld1b))]
14649pub unsafe fn svld1ub_gather_s32offset_s32(
14650 pg: svbool_t,
14651 base: *const u8,
14652 offsets: svint32_t,
14653) -> svint32_t {
14654 svld1ub_gather_s32offset_u32(pg, base, offsets).as_signed()
14655}
14656#[doc = "Load 16-bit data and zero-extend"]
14657#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1uh_gather_[s32]offset_s32)"]
14658#[doc = "## Safety"]
14659#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
14660#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
14661#[inline]
14662#[target_feature(enable = "sve")]
14663#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
14664#[cfg_attr(test, assert_instr(ld1h))]
14665pub unsafe fn svld1uh_gather_s32offset_s32(
14666 pg: svbool_t,
14667 base: *const u16,
14668 offsets: svint32_t,
14669) -> svint32_t {
14670 svld1uh_gather_s32offset_u32(pg, base, offsets).as_signed()
14671}
14672#[doc = "Load 8-bit data and zero-extend"]
14673#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1ub_gather_[s32]offset_u32)"]
14674#[doc = "## Safety"]
14675#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
14676#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
14677#[inline]
14678#[target_feature(enable = "sve")]
14679#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
14680#[cfg_attr(test, assert_instr(ld1b))]
14681pub unsafe fn svld1ub_gather_s32offset_u32(
14682 pg: svbool_t,
14683 base: *const u8,
14684 offsets: svint32_t,
14685) -> svuint32_t {
14686 unsafe extern "unadjusted" {
14687 #[cfg_attr(
14688 target_arch = "aarch64",
14689 link_name = "llvm.aarch64.sve.ld1.gather.sxtw.nxv4i8"
14690 )]
14691 fn _svld1ub_gather_s32offset_u32(
14692 pg: svbool4_t,
14693 base: *const i8,
14694 offsets: svint32_t,
14695 ) -> nxv4i8;
14696 }
14697 crate::intrinsics::simd::simd_cast::<nxv4u8, _>(
14698 _svld1ub_gather_s32offset_u32(pg.sve_into(), base.as_signed(), offsets).as_unsigned(),
14699 )
14700}
14701#[doc = "Load 16-bit data and zero-extend"]
14702#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1uh_gather_[s32]offset_u32)"]
14703#[doc = "## Safety"]
14704#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
14705#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
14706#[inline]
14707#[target_feature(enable = "sve")]
14708#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
14709#[cfg_attr(test, assert_instr(ld1h))]
14710pub unsafe fn svld1uh_gather_s32offset_u32(
14711 pg: svbool_t,
14712 base: *const u16,
14713 offsets: svint32_t,
14714) -> svuint32_t {
14715 unsafe extern "unadjusted" {
14716 #[cfg_attr(
14717 target_arch = "aarch64",
14718 link_name = "llvm.aarch64.sve.ld1.gather.sxtw.nxv4i16"
14719 )]
14720 fn _svld1uh_gather_s32offset_u32(
14721 pg: svbool4_t,
14722 base: *const i16,
14723 offsets: svint32_t,
14724 ) -> nxv4i16;
14725 }
14726 crate::intrinsics::simd::simd_cast::<nxv4u16, _>(
14727 _svld1uh_gather_s32offset_u32(pg.sve_into(), base.as_signed(), offsets).as_unsigned(),
14728 )
14729}
14730#[doc = "Load 8-bit data and zero-extend"]
14731#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1ub_gather_[s64]offset_s64)"]
14732#[doc = "## Safety"]
14733#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
14734#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
14735#[inline]
14736#[target_feature(enable = "sve")]
14737#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
14738#[cfg_attr(test, assert_instr(ld1b))]
14739pub unsafe fn svld1ub_gather_s64offset_s64(
14740 pg: svbool_t,
14741 base: *const u8,
14742 offsets: svint64_t,
14743) -> svint64_t {
14744 svld1ub_gather_s64offset_u64(pg, base, offsets).as_signed()
14745}
14746#[doc = "Load 16-bit data and zero-extend"]
14747#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1uh_gather_[s64]offset_s64)"]
14748#[doc = "## Safety"]
14749#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
14750#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
14751#[inline]
14752#[target_feature(enable = "sve")]
14753#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
14754#[cfg_attr(test, assert_instr(ld1h))]
14755pub unsafe fn svld1uh_gather_s64offset_s64(
14756 pg: svbool_t,
14757 base: *const u16,
14758 offsets: svint64_t,
14759) -> svint64_t {
14760 svld1uh_gather_s64offset_u64(pg, base, offsets).as_signed()
14761}
14762#[doc = "Load 32-bit data and zero-extend"]
14763#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1uw_gather_[s64]offset_s64)"]
14764#[doc = "## Safety"]
14765#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
14766#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
14767#[inline]
14768#[target_feature(enable = "sve")]
14769#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
14770#[cfg_attr(test, assert_instr(ld1w))]
14771pub unsafe fn svld1uw_gather_s64offset_s64(
14772 pg: svbool_t,
14773 base: *const u32,
14774 offsets: svint64_t,
14775) -> svint64_t {
14776 svld1uw_gather_s64offset_u64(pg, base, offsets).as_signed()
14777}
14778#[doc = "Load 8-bit data and zero-extend"]
14779#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1ub_gather_[s64]offset_u64)"]
14780#[doc = "## Safety"]
14781#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
14782#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
14783#[inline]
14784#[target_feature(enable = "sve")]
14785#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
14786#[cfg_attr(test, assert_instr(ld1b))]
14787pub unsafe fn svld1ub_gather_s64offset_u64(
14788 pg: svbool_t,
14789 base: *const u8,
14790 offsets: svint64_t,
14791) -> svuint64_t {
14792 unsafe extern "unadjusted" {
14793 #[cfg_attr(
14794 target_arch = "aarch64",
14795 link_name = "llvm.aarch64.sve.ld1.gather.nxv2i8"
14796 )]
14797 fn _svld1ub_gather_s64offset_u64(
14798 pg: svbool2_t,
14799 base: *const i8,
14800 offsets: svint64_t,
14801 ) -> nxv2i8;
14802 }
14803 crate::intrinsics::simd::simd_cast::<nxv2u8, _>(
14804 _svld1ub_gather_s64offset_u64(pg.sve_into(), base.as_signed(), offsets).as_unsigned(),
14805 )
14806}
14807#[doc = "Load 16-bit data and zero-extend"]
14808#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1uh_gather_[s64]offset_u64)"]
14809#[doc = "## Safety"]
14810#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
14811#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
14812#[inline]
14813#[target_feature(enable = "sve")]
14814#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
14815#[cfg_attr(test, assert_instr(ld1h))]
14816pub unsafe fn svld1uh_gather_s64offset_u64(
14817 pg: svbool_t,
14818 base: *const u16,
14819 offsets: svint64_t,
14820) -> svuint64_t {
14821 unsafe extern "unadjusted" {
14822 #[cfg_attr(
14823 target_arch = "aarch64",
14824 link_name = "llvm.aarch64.sve.ld1.gather.nxv2i16"
14825 )]
14826 fn _svld1uh_gather_s64offset_u64(
14827 pg: svbool2_t,
14828 base: *const i16,
14829 offsets: svint64_t,
14830 ) -> nxv2i16;
14831 }
14832 crate::intrinsics::simd::simd_cast::<nxv2u16, _>(
14833 _svld1uh_gather_s64offset_u64(pg.sve_into(), base.as_signed(), offsets).as_unsigned(),
14834 )
14835}
14836#[doc = "Load 32-bit data and zero-extend"]
14837#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1uw_gather_[s64]offset_u64)"]
14838#[doc = "## Safety"]
14839#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
14840#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
14841#[inline]
14842#[target_feature(enable = "sve")]
14843#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
14844#[cfg_attr(test, assert_instr(ld1w))]
14845pub unsafe fn svld1uw_gather_s64offset_u64(
14846 pg: svbool_t,
14847 base: *const u32,
14848 offsets: svint64_t,
14849) -> svuint64_t {
14850 unsafe extern "unadjusted" {
14851 #[cfg_attr(
14852 target_arch = "aarch64",
14853 link_name = "llvm.aarch64.sve.ld1.gather.nxv2i32"
14854 )]
14855 fn _svld1uw_gather_s64offset_u64(
14856 pg: svbool2_t,
14857 base: *const i32,
14858 offsets: svint64_t,
14859 ) -> nxv2i32;
14860 }
14861 crate::intrinsics::simd::simd_cast::<nxv2u32, _>(
14862 _svld1uw_gather_s64offset_u64(pg.sve_into(), base.as_signed(), offsets).as_unsigned(),
14863 )
14864}
14865#[doc = "Load 8-bit data and zero-extend"]
14866#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1ub_gather_[u32]offset_s32)"]
14867#[doc = "## Safety"]
14868#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
14869#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
14870#[inline]
14871#[target_feature(enable = "sve")]
14872#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
14873#[cfg_attr(test, assert_instr(ld1b))]
14874pub unsafe fn svld1ub_gather_u32offset_s32(
14875 pg: svbool_t,
14876 base: *const u8,
14877 offsets: svuint32_t,
14878) -> svint32_t {
14879 svld1ub_gather_u32offset_u32(pg, base, offsets).as_signed()
14880}
14881#[doc = "Load 16-bit data and zero-extend"]
14882#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1uh_gather_[u32]offset_s32)"]
14883#[doc = "## Safety"]
14884#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
14885#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
14886#[inline]
14887#[target_feature(enable = "sve")]
14888#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
14889#[cfg_attr(test, assert_instr(ld1h))]
14890pub unsafe fn svld1uh_gather_u32offset_s32(
14891 pg: svbool_t,
14892 base: *const u16,
14893 offsets: svuint32_t,
14894) -> svint32_t {
14895 svld1uh_gather_u32offset_u32(pg, base, offsets).as_signed()
14896}
14897#[doc = "Load 8-bit data and zero-extend"]
14898#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1ub_gather_[u32]offset_u32)"]
14899#[doc = "## Safety"]
14900#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
14901#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
14902#[inline]
14903#[target_feature(enable = "sve")]
14904#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
14905#[cfg_attr(test, assert_instr(ld1b))]
14906pub unsafe fn svld1ub_gather_u32offset_u32(
14907 pg: svbool_t,
14908 base: *const u8,
14909 offsets: svuint32_t,
14910) -> svuint32_t {
14911 unsafe extern "unadjusted" {
14912 #[cfg_attr(
14913 target_arch = "aarch64",
14914 link_name = "llvm.aarch64.sve.ld1.gather.uxtw.nxv4i8"
14915 )]
14916 fn _svld1ub_gather_u32offset_u32(
14917 pg: svbool4_t,
14918 base: *const i8,
14919 offsets: svint32_t,
14920 ) -> nxv4i8;
14921 }
14922 crate::intrinsics::simd::simd_cast::<nxv4u8, _>(
14923 _svld1ub_gather_u32offset_u32(pg.sve_into(), base.as_signed(), offsets.as_signed())
14924 .as_unsigned(),
14925 )
14926}
14927#[doc = "Load 16-bit data and zero-extend"]
14928#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1uh_gather_[u32]offset_u32)"]
14929#[doc = "## Safety"]
14930#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
14931#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
14932#[inline]
14933#[target_feature(enable = "sve")]
14934#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
14935#[cfg_attr(test, assert_instr(ld1h))]
14936pub unsafe fn svld1uh_gather_u32offset_u32(
14937 pg: svbool_t,
14938 base: *const u16,
14939 offsets: svuint32_t,
14940) -> svuint32_t {
14941 unsafe extern "unadjusted" {
14942 #[cfg_attr(
14943 target_arch = "aarch64",
14944 link_name = "llvm.aarch64.sve.ld1.gather.uxtw.nxv4i16"
14945 )]
14946 fn _svld1uh_gather_u32offset_u32(
14947 pg: svbool4_t,
14948 base: *const i16,
14949 offsets: svint32_t,
14950 ) -> nxv4i16;
14951 }
14952 crate::intrinsics::simd::simd_cast::<nxv4u16, _>(
14953 _svld1uh_gather_u32offset_u32(pg.sve_into(), base.as_signed(), offsets.as_signed())
14954 .as_unsigned(),
14955 )
14956}
14957#[doc = "Load 8-bit data and zero-extend"]
14958#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1ub_gather_[u64]offset_s64)"]
14959#[doc = "## Safety"]
14960#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
14961#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
14962#[inline]
14963#[target_feature(enable = "sve")]
14964#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
14965#[cfg_attr(test, assert_instr(ld1b))]
14966pub unsafe fn svld1ub_gather_u64offset_s64(
14967 pg: svbool_t,
14968 base: *const u8,
14969 offsets: svuint64_t,
14970) -> svint64_t {
14971 svld1ub_gather_s64offset_u64(pg, base, offsets.as_signed()).as_signed()
14972}
14973#[doc = "Load 16-bit data and zero-extend"]
14974#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1uh_gather_[u64]offset_s64)"]
14975#[doc = "## Safety"]
14976#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
14977#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
14978#[inline]
14979#[target_feature(enable = "sve")]
14980#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
14981#[cfg_attr(test, assert_instr(ld1h))]
14982pub unsafe fn svld1uh_gather_u64offset_s64(
14983 pg: svbool_t,
14984 base: *const u16,
14985 offsets: svuint64_t,
14986) -> svint64_t {
14987 svld1uh_gather_s64offset_u64(pg, base, offsets.as_signed()).as_signed()
14988}
14989#[doc = "Load 32-bit data and zero-extend"]
14990#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1uw_gather_[u64]offset_s64)"]
14991#[doc = "## Safety"]
14992#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
14993#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
14994#[inline]
14995#[target_feature(enable = "sve")]
14996#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
14997#[cfg_attr(test, assert_instr(ld1w))]
14998pub unsafe fn svld1uw_gather_u64offset_s64(
14999 pg: svbool_t,
15000 base: *const u32,
15001 offsets: svuint64_t,
15002) -> svint64_t {
15003 svld1uw_gather_s64offset_u64(pg, base, offsets.as_signed()).as_signed()
15004}
15005#[doc = "Load 8-bit data and zero-extend"]
15006#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1ub_gather_[u64]offset_u64)"]
15007#[doc = "## Safety"]
15008#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
15009#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
15010#[inline]
15011#[target_feature(enable = "sve")]
15012#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
15013#[cfg_attr(test, assert_instr(ld1b))]
15014pub unsafe fn svld1ub_gather_u64offset_u64(
15015 pg: svbool_t,
15016 base: *const u8,
15017 offsets: svuint64_t,
15018) -> svuint64_t {
15019 svld1ub_gather_s64offset_u64(pg, base, offsets.as_signed())
15020}
15021#[doc = "Load 16-bit data and zero-extend"]
15022#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1uh_gather_[u64]offset_u64)"]
15023#[doc = "## Safety"]
15024#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
15025#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
15026#[inline]
15027#[target_feature(enable = "sve")]
15028#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
15029#[cfg_attr(test, assert_instr(ld1h))]
15030pub unsafe fn svld1uh_gather_u64offset_u64(
15031 pg: svbool_t,
15032 base: *const u16,
15033 offsets: svuint64_t,
15034) -> svuint64_t {
15035 svld1uh_gather_s64offset_u64(pg, base, offsets.as_signed())
15036}
15037#[doc = "Load 32-bit data and zero-extend"]
15038#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1uw_gather_[u64]offset_u64)"]
15039#[doc = "## Safety"]
15040#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
15041#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
15042#[inline]
15043#[target_feature(enable = "sve")]
15044#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
15045#[cfg_attr(test, assert_instr(ld1w))]
15046pub unsafe fn svld1uw_gather_u64offset_u64(
15047 pg: svbool_t,
15048 base: *const u32,
15049 offsets: svuint64_t,
15050) -> svuint64_t {
15051 svld1uw_gather_s64offset_u64(pg, base, offsets.as_signed())
15052}
15053#[doc = "Load 8-bit data and zero-extend"]
15054#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1ub_gather[_u32base]_offset_s32)"]
15055#[doc = "## Safety"]
15056#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
15057#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
15058#[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."]
15059#[inline]
15060#[target_feature(enable = "sve")]
15061#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
15062#[cfg_attr(test, assert_instr(ld1b))]
15063pub unsafe fn svld1ub_gather_u32base_offset_s32(
15064 pg: svbool_t,
15065 bases: svuint32_t,
15066 offset: i64,
15067) -> svint32_t {
15068 svld1ub_gather_u32base_offset_u32(pg, bases, offset).as_signed()
15069}
15070#[doc = "Load 16-bit data and zero-extend"]
15071#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1uh_gather[_u32base]_offset_s32)"]
15072#[doc = "## Safety"]
15073#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
15074#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
15075#[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."]
15076#[inline]
15077#[target_feature(enable = "sve")]
15078#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
15079#[cfg_attr(test, assert_instr(ld1h))]
15080pub unsafe fn svld1uh_gather_u32base_offset_s32(
15081 pg: svbool_t,
15082 bases: svuint32_t,
15083 offset: i64,
15084) -> svint32_t {
15085 svld1uh_gather_u32base_offset_u32(pg, bases, offset).as_signed()
15086}
15087#[doc = "Load 8-bit data and zero-extend"]
15088#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1ub_gather[_u32base]_offset_u32)"]
15089#[doc = "## Safety"]
15090#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
15091#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
15092#[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."]
15093#[inline]
15094#[target_feature(enable = "sve")]
15095#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
15096#[cfg_attr(test, assert_instr(ld1b))]
15097pub unsafe fn svld1ub_gather_u32base_offset_u32(
15098 pg: svbool_t,
15099 bases: svuint32_t,
15100 offset: i64,
15101) -> svuint32_t {
15102 unsafe extern "unadjusted" {
15103 #[cfg_attr(
15104 target_arch = "aarch64",
15105 link_name = "llvm.aarch64.sve.ld1.gather.scalar.offset.nxv4i8.nxv4i32"
15106 )]
15107 fn _svld1ub_gather_u32base_offset_u32(
15108 pg: svbool4_t,
15109 bases: svint32_t,
15110 offset: i64,
15111 ) -> nxv4i8;
15112 }
15113 crate::intrinsics::simd::simd_cast::<nxv4u8, _>(
15114 _svld1ub_gather_u32base_offset_u32(pg.sve_into(), bases.as_signed(), offset).as_unsigned(),
15115 )
15116}
15117#[doc = "Load 16-bit data and zero-extend"]
15118#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1uh_gather[_u32base]_offset_u32)"]
15119#[doc = "## Safety"]
15120#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
15121#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
15122#[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."]
15123#[inline]
15124#[target_feature(enable = "sve")]
15125#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
15126#[cfg_attr(test, assert_instr(ld1h))]
15127pub unsafe fn svld1uh_gather_u32base_offset_u32(
15128 pg: svbool_t,
15129 bases: svuint32_t,
15130 offset: i64,
15131) -> svuint32_t {
15132 unsafe extern "unadjusted" {
15133 #[cfg_attr(
15134 target_arch = "aarch64",
15135 link_name = "llvm.aarch64.sve.ld1.gather.scalar.offset.nxv4i16.nxv4i32"
15136 )]
15137 fn _svld1uh_gather_u32base_offset_u32(
15138 pg: svbool4_t,
15139 bases: svint32_t,
15140 offset: i64,
15141 ) -> nxv4i16;
15142 }
15143 crate::intrinsics::simd::simd_cast::<nxv4u16, _>(
15144 _svld1uh_gather_u32base_offset_u32(pg.sve_into(), bases.as_signed(), offset).as_unsigned(),
15145 )
15146}
15147#[doc = "Load 8-bit data and zero-extend"]
15148#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1ub_gather[_u64base]_offset_s64)"]
15149#[doc = "## Safety"]
15150#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
15151#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
15152#[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."]
15153#[inline]
15154#[target_feature(enable = "sve")]
15155#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
15156#[cfg_attr(test, assert_instr(ld1b))]
15157pub unsafe fn svld1ub_gather_u64base_offset_s64(
15158 pg: svbool_t,
15159 bases: svuint64_t,
15160 offset: i64,
15161) -> svint64_t {
15162 svld1ub_gather_u64base_offset_u64(pg, bases, offset).as_signed()
15163}
15164#[doc = "Load 16-bit data and zero-extend"]
15165#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1uh_gather[_u64base]_offset_s64)"]
15166#[doc = "## Safety"]
15167#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
15168#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
15169#[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."]
15170#[inline]
15171#[target_feature(enable = "sve")]
15172#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
15173#[cfg_attr(test, assert_instr(ld1h))]
15174pub unsafe fn svld1uh_gather_u64base_offset_s64(
15175 pg: svbool_t,
15176 bases: svuint64_t,
15177 offset: i64,
15178) -> svint64_t {
15179 svld1uh_gather_u64base_offset_u64(pg, bases, offset).as_signed()
15180}
15181#[doc = "Load 32-bit data and zero-extend"]
15182#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1uw_gather[_u64base]_offset_s64)"]
15183#[doc = "## Safety"]
15184#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
15185#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
15186#[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."]
15187#[inline]
15188#[target_feature(enable = "sve")]
15189#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
15190#[cfg_attr(test, assert_instr(ld1w))]
15191pub unsafe fn svld1uw_gather_u64base_offset_s64(
15192 pg: svbool_t,
15193 bases: svuint64_t,
15194 offset: i64,
15195) -> svint64_t {
15196 svld1uw_gather_u64base_offset_u64(pg, bases, offset).as_signed()
15197}
15198#[doc = "Load 8-bit data and zero-extend"]
15199#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1ub_gather[_u64base]_offset_u64)"]
15200#[doc = "## Safety"]
15201#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
15202#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
15203#[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."]
15204#[inline]
15205#[target_feature(enable = "sve")]
15206#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
15207#[cfg_attr(test, assert_instr(ld1b))]
15208pub unsafe fn svld1ub_gather_u64base_offset_u64(
15209 pg: svbool_t,
15210 bases: svuint64_t,
15211 offset: i64,
15212) -> svuint64_t {
15213 unsafe extern "unadjusted" {
15214 #[cfg_attr(
15215 target_arch = "aarch64",
15216 link_name = "llvm.aarch64.sve.ld1.gather.scalar.offset.nxv2i8.nxv2i64"
15217 )]
15218 fn _svld1ub_gather_u64base_offset_u64(
15219 pg: svbool2_t,
15220 bases: svint64_t,
15221 offset: i64,
15222 ) -> nxv2i8;
15223 }
15224 crate::intrinsics::simd::simd_cast::<nxv2u8, _>(
15225 _svld1ub_gather_u64base_offset_u64(pg.sve_into(), bases.as_signed(), offset).as_unsigned(),
15226 )
15227}
15228#[doc = "Load 16-bit data and zero-extend"]
15229#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1uh_gather[_u64base]_offset_u64)"]
15230#[doc = "## Safety"]
15231#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
15232#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
15233#[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."]
15234#[inline]
15235#[target_feature(enable = "sve")]
15236#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
15237#[cfg_attr(test, assert_instr(ld1h))]
15238pub unsafe fn svld1uh_gather_u64base_offset_u64(
15239 pg: svbool_t,
15240 bases: svuint64_t,
15241 offset: i64,
15242) -> svuint64_t {
15243 unsafe extern "unadjusted" {
15244 #[cfg_attr(
15245 target_arch = "aarch64",
15246 link_name = "llvm.aarch64.sve.ld1.gather.scalar.offset.nxv2i16.nxv2i64"
15247 )]
15248 fn _svld1uh_gather_u64base_offset_u64(
15249 pg: svbool2_t,
15250 bases: svint64_t,
15251 offset: i64,
15252 ) -> nxv2i16;
15253 }
15254 crate::intrinsics::simd::simd_cast::<nxv2u16, _>(
15255 _svld1uh_gather_u64base_offset_u64(pg.sve_into(), bases.as_signed(), offset).as_unsigned(),
15256 )
15257}
15258#[doc = "Load 32-bit data and zero-extend"]
15259#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1uw_gather[_u64base]_offset_u64)"]
15260#[doc = "## Safety"]
15261#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
15262#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
15263#[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."]
15264#[inline]
15265#[target_feature(enable = "sve")]
15266#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
15267#[cfg_attr(test, assert_instr(ld1w))]
15268pub unsafe fn svld1uw_gather_u64base_offset_u64(
15269 pg: svbool_t,
15270 bases: svuint64_t,
15271 offset: i64,
15272) -> svuint64_t {
15273 unsafe extern "unadjusted" {
15274 #[cfg_attr(
15275 target_arch = "aarch64",
15276 link_name = "llvm.aarch64.sve.ld1.gather.scalar.offset.nxv2i32.nxv2i64"
15277 )]
15278 fn _svld1uw_gather_u64base_offset_u64(
15279 pg: svbool2_t,
15280 bases: svint64_t,
15281 offset: i64,
15282 ) -> nxv2i32;
15283 }
15284 crate::intrinsics::simd::simd_cast::<nxv2u32, _>(
15285 _svld1uw_gather_u64base_offset_u64(pg.sve_into(), bases.as_signed(), offset).as_unsigned(),
15286 )
15287}
15288#[doc = "Load 8-bit data and zero-extend"]
15289#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1ub_gather[_u32base]_s32)"]
15290#[doc = "## Safety"]
15291#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
15292#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
15293#[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."]
15294#[inline]
15295#[target_feature(enable = "sve")]
15296#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
15297#[cfg_attr(test, assert_instr(ld1b))]
15298pub unsafe fn svld1ub_gather_u32base_s32(pg: svbool_t, bases: svuint32_t) -> svint32_t {
15299 svld1ub_gather_u32base_offset_s32(pg, bases, 0)
15300}
15301#[doc = "Load 16-bit data and zero-extend"]
15302#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1uh_gather[_u32base]_s32)"]
15303#[doc = "## Safety"]
15304#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
15305#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
15306#[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."]
15307#[inline]
15308#[target_feature(enable = "sve")]
15309#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
15310#[cfg_attr(test, assert_instr(ld1h))]
15311pub unsafe fn svld1uh_gather_u32base_s32(pg: svbool_t, bases: svuint32_t) -> svint32_t {
15312 svld1uh_gather_u32base_offset_s32(pg, bases, 0)
15313}
15314#[doc = "Load 8-bit data and zero-extend"]
15315#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1ub_gather[_u32base]_u32)"]
15316#[doc = "## Safety"]
15317#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
15318#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
15319#[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."]
15320#[inline]
15321#[target_feature(enable = "sve")]
15322#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
15323#[cfg_attr(test, assert_instr(ld1b))]
15324pub unsafe fn svld1ub_gather_u32base_u32(pg: svbool_t, bases: svuint32_t) -> svuint32_t {
15325 svld1ub_gather_u32base_offset_u32(pg, bases, 0)
15326}
15327#[doc = "Load 16-bit data and zero-extend"]
15328#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1uh_gather[_u32base]_u32)"]
15329#[doc = "## Safety"]
15330#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
15331#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
15332#[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."]
15333#[inline]
15334#[target_feature(enable = "sve")]
15335#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
15336#[cfg_attr(test, assert_instr(ld1h))]
15337pub unsafe fn svld1uh_gather_u32base_u32(pg: svbool_t, bases: svuint32_t) -> svuint32_t {
15338 svld1uh_gather_u32base_offset_u32(pg, bases, 0)
15339}
15340#[doc = "Load 8-bit data and zero-extend"]
15341#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1ub_gather[_u64base]_s64)"]
15342#[doc = "## Safety"]
15343#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
15344#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
15345#[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."]
15346#[inline]
15347#[target_feature(enable = "sve")]
15348#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
15349#[cfg_attr(test, assert_instr(ld1b))]
15350pub unsafe fn svld1ub_gather_u64base_s64(pg: svbool_t, bases: svuint64_t) -> svint64_t {
15351 svld1ub_gather_u64base_offset_s64(pg, bases, 0)
15352}
15353#[doc = "Load 16-bit data and zero-extend"]
15354#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1uh_gather[_u64base]_s64)"]
15355#[doc = "## Safety"]
15356#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
15357#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
15358#[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."]
15359#[inline]
15360#[target_feature(enable = "sve")]
15361#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
15362#[cfg_attr(test, assert_instr(ld1h))]
15363pub unsafe fn svld1uh_gather_u64base_s64(pg: svbool_t, bases: svuint64_t) -> svint64_t {
15364 svld1uh_gather_u64base_offset_s64(pg, bases, 0)
15365}
15366#[doc = "Load 32-bit data and zero-extend"]
15367#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1uw_gather[_u64base]_s64)"]
15368#[doc = "## Safety"]
15369#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
15370#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
15371#[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."]
15372#[inline]
15373#[target_feature(enable = "sve")]
15374#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
15375#[cfg_attr(test, assert_instr(ld1w))]
15376pub unsafe fn svld1uw_gather_u64base_s64(pg: svbool_t, bases: svuint64_t) -> svint64_t {
15377 svld1uw_gather_u64base_offset_s64(pg, bases, 0)
15378}
15379#[doc = "Load 8-bit data and zero-extend"]
15380#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1ub_gather[_u64base]_u64)"]
15381#[doc = "## Safety"]
15382#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
15383#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
15384#[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."]
15385#[inline]
15386#[target_feature(enable = "sve")]
15387#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
15388#[cfg_attr(test, assert_instr(ld1b))]
15389pub unsafe fn svld1ub_gather_u64base_u64(pg: svbool_t, bases: svuint64_t) -> svuint64_t {
15390 svld1ub_gather_u64base_offset_u64(pg, bases, 0)
15391}
15392#[doc = "Load 16-bit data and zero-extend"]
15393#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1uh_gather[_u64base]_u64)"]
15394#[doc = "## Safety"]
15395#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
15396#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
15397#[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."]
15398#[inline]
15399#[target_feature(enable = "sve")]
15400#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
15401#[cfg_attr(test, assert_instr(ld1h))]
15402pub unsafe fn svld1uh_gather_u64base_u64(pg: svbool_t, bases: svuint64_t) -> svuint64_t {
15403 svld1uh_gather_u64base_offset_u64(pg, bases, 0)
15404}
15405#[doc = "Load 32-bit data and zero-extend"]
15406#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1uw_gather[_u64base]_u64)"]
15407#[doc = "## Safety"]
15408#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
15409#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
15410#[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."]
15411#[inline]
15412#[target_feature(enable = "sve")]
15413#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
15414#[cfg_attr(test, assert_instr(ld1w))]
15415pub unsafe fn svld1uw_gather_u64base_u64(pg: svbool_t, bases: svuint64_t) -> svuint64_t {
15416 svld1uw_gather_u64base_offset_u64(pg, bases, 0)
15417}
15418#[doc = "Load 8-bit data and zero-extend"]
15419#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1ub_s16)"]
15420#[doc = "## Safety"]
15421#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
15422#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
15423#[inline]
15424#[target_feature(enable = "sve")]
15425#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
15426#[cfg_attr(test, assert_instr(ld1b))]
15427pub unsafe fn svld1ub_s16(pg: svbool_t, base: *const u8) -> svint16_t {
15428 unsafe extern "unadjusted" {
15429 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.ld1.nxv8i8")]
15430 fn _svld1ub_s16(pg: svbool8_t, base: *const i8) -> nxv8i8;
15431 }
15432 crate::intrinsics::simd::simd_cast::<nxv8u8, _>(
15433 _svld1ub_s16(pg.sve_into(), base.as_signed()).as_unsigned(),
15434 )
15435}
15436#[doc = "Load 8-bit data and zero-extend"]
15437#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1ub_s32)"]
15438#[doc = "## Safety"]
15439#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
15440#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
15441#[inline]
15442#[target_feature(enable = "sve")]
15443#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
15444#[cfg_attr(test, assert_instr(ld1b))]
15445pub unsafe fn svld1ub_s32(pg: svbool_t, base: *const u8) -> svint32_t {
15446 unsafe extern "unadjusted" {
15447 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.ld1.nxv4i8")]
15448 fn _svld1ub_s32(pg: svbool4_t, base: *const i8) -> nxv4i8;
15449 }
15450 crate::intrinsics::simd::simd_cast::<nxv4u8, _>(
15451 _svld1ub_s32(pg.sve_into(), base.as_signed()).as_unsigned(),
15452 )
15453}
15454#[doc = "Load 16-bit data and zero-extend"]
15455#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1uh_s32)"]
15456#[doc = "## Safety"]
15457#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
15458#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
15459#[inline]
15460#[target_feature(enable = "sve")]
15461#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
15462#[cfg_attr(test, assert_instr(ld1h))]
15463pub unsafe fn svld1uh_s32(pg: svbool_t, base: *const u16) -> svint32_t {
15464 unsafe extern "unadjusted" {
15465 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.ld1.nxv4i16")]
15466 fn _svld1uh_s32(pg: svbool4_t, base: *const i16) -> nxv4i16;
15467 }
15468 crate::intrinsics::simd::simd_cast::<nxv4u16, _>(
15469 _svld1uh_s32(pg.sve_into(), base.as_signed()).as_unsigned(),
15470 )
15471}
15472#[doc = "Load 8-bit data and zero-extend"]
15473#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1ub_s64)"]
15474#[doc = "## Safety"]
15475#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
15476#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
15477#[inline]
15478#[target_feature(enable = "sve")]
15479#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
15480#[cfg_attr(test, assert_instr(ld1b))]
15481pub unsafe fn svld1ub_s64(pg: svbool_t, base: *const u8) -> svint64_t {
15482 unsafe extern "unadjusted" {
15483 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.ld1.nxv2i8")]
15484 fn _svld1ub_s64(pg: svbool2_t, base: *const i8) -> nxv2i8;
15485 }
15486 crate::intrinsics::simd::simd_cast::<nxv2u8, _>(
15487 _svld1ub_s64(pg.sve_into(), base.as_signed()).as_unsigned(),
15488 )
15489}
15490#[doc = "Load 16-bit data and zero-extend"]
15491#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1uh_s64)"]
15492#[doc = "## Safety"]
15493#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
15494#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
15495#[inline]
15496#[target_feature(enable = "sve")]
15497#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
15498#[cfg_attr(test, assert_instr(ld1h))]
15499pub unsafe fn svld1uh_s64(pg: svbool_t, base: *const u16) -> svint64_t {
15500 unsafe extern "unadjusted" {
15501 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.ld1.nxv2i16")]
15502 fn _svld1uh_s64(pg: svbool2_t, base: *const i16) -> nxv2i16;
15503 }
15504 crate::intrinsics::simd::simd_cast::<nxv2u16, _>(
15505 _svld1uh_s64(pg.sve_into(), base.as_signed()).as_unsigned(),
15506 )
15507}
15508#[doc = "Load 32-bit data and zero-extend"]
15509#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1uw_s64)"]
15510#[doc = "## Safety"]
15511#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
15512#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
15513#[inline]
15514#[target_feature(enable = "sve")]
15515#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
15516#[cfg_attr(test, assert_instr(ld1w))]
15517pub unsafe fn svld1uw_s64(pg: svbool_t, base: *const u32) -> svint64_t {
15518 unsafe extern "unadjusted" {
15519 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.ld1.nxv2i32")]
15520 fn _svld1uw_s64(pg: svbool2_t, base: *const i32) -> nxv2i32;
15521 }
15522 crate::intrinsics::simd::simd_cast::<nxv2u32, _>(
15523 _svld1uw_s64(pg.sve_into(), base.as_signed()).as_unsigned(),
15524 )
15525}
15526#[doc = "Load 8-bit data and zero-extend"]
15527#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1ub_u16)"]
15528#[doc = "## Safety"]
15529#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
15530#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
15531#[inline]
15532#[target_feature(enable = "sve")]
15533#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
15534#[cfg_attr(test, assert_instr(ld1b))]
15535pub unsafe fn svld1ub_u16(pg: svbool_t, base: *const u8) -> svuint16_t {
15536 svld1ub_s16(pg, base).as_unsigned()
15537}
15538#[doc = "Load 8-bit data and zero-extend"]
15539#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1ub_u32)"]
15540#[doc = "## Safety"]
15541#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
15542#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
15543#[inline]
15544#[target_feature(enable = "sve")]
15545#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
15546#[cfg_attr(test, assert_instr(ld1b))]
15547pub unsafe fn svld1ub_u32(pg: svbool_t, base: *const u8) -> svuint32_t {
15548 svld1ub_s32(pg, base).as_unsigned()
15549}
15550#[doc = "Load 16-bit data and zero-extend"]
15551#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1uh_u32)"]
15552#[doc = "## Safety"]
15553#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
15554#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
15555#[inline]
15556#[target_feature(enable = "sve")]
15557#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
15558#[cfg_attr(test, assert_instr(ld1h))]
15559pub unsafe fn svld1uh_u32(pg: svbool_t, base: *const u16) -> svuint32_t {
15560 svld1uh_s32(pg, base).as_unsigned()
15561}
15562#[doc = "Load 8-bit data and zero-extend"]
15563#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1ub_u64)"]
15564#[doc = "## Safety"]
15565#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
15566#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
15567#[inline]
15568#[target_feature(enable = "sve")]
15569#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
15570#[cfg_attr(test, assert_instr(ld1b))]
15571pub unsafe fn svld1ub_u64(pg: svbool_t, base: *const u8) -> svuint64_t {
15572 svld1ub_s64(pg, base).as_unsigned()
15573}
15574#[doc = "Load 16-bit data and zero-extend"]
15575#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1uh_u64)"]
15576#[doc = "## Safety"]
15577#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
15578#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
15579#[inline]
15580#[target_feature(enable = "sve")]
15581#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
15582#[cfg_attr(test, assert_instr(ld1h))]
15583pub unsafe fn svld1uh_u64(pg: svbool_t, base: *const u16) -> svuint64_t {
15584 svld1uh_s64(pg, base).as_unsigned()
15585}
15586#[doc = "Load 32-bit data and zero-extend"]
15587#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1uw_u64)"]
15588#[doc = "## Safety"]
15589#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
15590#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
15591#[inline]
15592#[target_feature(enable = "sve")]
15593#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
15594#[cfg_attr(test, assert_instr(ld1w))]
15595pub unsafe fn svld1uw_u64(pg: svbool_t, base: *const u32) -> svuint64_t {
15596 svld1uw_s64(pg, base).as_unsigned()
15597}
15598#[doc = "Load 8-bit data and zero-extend"]
15599#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1ub_vnum_s16)"]
15600#[doc = "## Safety"]
15601#[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."]
15602#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
15603#[inline]
15604#[target_feature(enable = "sve")]
15605#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
15606#[cfg_attr(test, assert_instr(ld1b))]
15607pub unsafe fn svld1ub_vnum_s16(pg: svbool_t, base: *const u8, vnum: i64) -> svint16_t {
15608 svld1ub_s16(pg, base.offset(svcnth() as isize * vnum as isize))
15609}
15610#[doc = "Load 8-bit data and zero-extend"]
15611#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1ub_vnum_s32)"]
15612#[doc = "## Safety"]
15613#[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."]
15614#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
15615#[inline]
15616#[target_feature(enable = "sve")]
15617#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
15618#[cfg_attr(test, assert_instr(ld1b))]
15619pub unsafe fn svld1ub_vnum_s32(pg: svbool_t, base: *const u8, vnum: i64) -> svint32_t {
15620 svld1ub_s32(pg, base.offset(svcntw() as isize * vnum as isize))
15621}
15622#[doc = "Load 16-bit data and zero-extend"]
15623#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1uh_vnum_s32)"]
15624#[doc = "## Safety"]
15625#[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."]
15626#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
15627#[inline]
15628#[target_feature(enable = "sve")]
15629#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
15630#[cfg_attr(test, assert_instr(ld1h))]
15631pub unsafe fn svld1uh_vnum_s32(pg: svbool_t, base: *const u16, vnum: i64) -> svint32_t {
15632 svld1uh_s32(pg, base.offset(svcntw() as isize * vnum as isize))
15633}
15634#[doc = "Load 8-bit data and zero-extend"]
15635#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1ub_vnum_s64)"]
15636#[doc = "## Safety"]
15637#[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."]
15638#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
15639#[inline]
15640#[target_feature(enable = "sve")]
15641#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
15642#[cfg_attr(test, assert_instr(ld1b))]
15643pub unsafe fn svld1ub_vnum_s64(pg: svbool_t, base: *const u8, vnum: i64) -> svint64_t {
15644 svld1ub_s64(pg, base.offset(svcntd() as isize * vnum as isize))
15645}
15646#[doc = "Load 16-bit data and zero-extend"]
15647#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1uh_vnum_s64)"]
15648#[doc = "## Safety"]
15649#[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."]
15650#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
15651#[inline]
15652#[target_feature(enable = "sve")]
15653#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
15654#[cfg_attr(test, assert_instr(ld1h))]
15655pub unsafe fn svld1uh_vnum_s64(pg: svbool_t, base: *const u16, vnum: i64) -> svint64_t {
15656 svld1uh_s64(pg, base.offset(svcntd() as isize * vnum as isize))
15657}
15658#[doc = "Load 32-bit data and zero-extend"]
15659#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1uw_vnum_s64)"]
15660#[doc = "## Safety"]
15661#[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."]
15662#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
15663#[inline]
15664#[target_feature(enable = "sve")]
15665#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
15666#[cfg_attr(test, assert_instr(ld1w))]
15667pub unsafe fn svld1uw_vnum_s64(pg: svbool_t, base: *const u32, vnum: i64) -> svint64_t {
15668 svld1uw_s64(pg, base.offset(svcntd() as isize * vnum as isize))
15669}
15670#[doc = "Load 8-bit data and zero-extend"]
15671#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1ub_vnum_u16)"]
15672#[doc = "## Safety"]
15673#[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."]
15674#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
15675#[inline]
15676#[target_feature(enable = "sve")]
15677#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
15678#[cfg_attr(test, assert_instr(ld1b))]
15679pub unsafe fn svld1ub_vnum_u16(pg: svbool_t, base: *const u8, vnum: i64) -> svuint16_t {
15680 svld1ub_u16(pg, base.offset(svcnth() as isize * vnum as isize))
15681}
15682#[doc = "Load 8-bit data and zero-extend"]
15683#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1ub_vnum_u32)"]
15684#[doc = "## Safety"]
15685#[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."]
15686#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
15687#[inline]
15688#[target_feature(enable = "sve")]
15689#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
15690#[cfg_attr(test, assert_instr(ld1b))]
15691pub unsafe fn svld1ub_vnum_u32(pg: svbool_t, base: *const u8, vnum: i64) -> svuint32_t {
15692 svld1ub_u32(pg, base.offset(svcntw() as isize * vnum as isize))
15693}
15694#[doc = "Load 16-bit data and zero-extend"]
15695#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1uh_vnum_u32)"]
15696#[doc = "## Safety"]
15697#[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."]
15698#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
15699#[inline]
15700#[target_feature(enable = "sve")]
15701#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
15702#[cfg_attr(test, assert_instr(ld1h))]
15703pub unsafe fn svld1uh_vnum_u32(pg: svbool_t, base: *const u16, vnum: i64) -> svuint32_t {
15704 svld1uh_u32(pg, base.offset(svcntw() as isize * vnum as isize))
15705}
15706#[doc = "Load 8-bit data and zero-extend"]
15707#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1ub_vnum_u64)"]
15708#[doc = "## Safety"]
15709#[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."]
15710#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
15711#[inline]
15712#[target_feature(enable = "sve")]
15713#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
15714#[cfg_attr(test, assert_instr(ld1b))]
15715pub unsafe fn svld1ub_vnum_u64(pg: svbool_t, base: *const u8, vnum: i64) -> svuint64_t {
15716 svld1ub_u64(pg, base.offset(svcntd() as isize * vnum as isize))
15717}
15718#[doc = "Load 16-bit data and zero-extend"]
15719#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1uh_vnum_u64)"]
15720#[doc = "## Safety"]
15721#[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."]
15722#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
15723#[inline]
15724#[target_feature(enable = "sve")]
15725#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
15726#[cfg_attr(test, assert_instr(ld1h))]
15727pub unsafe fn svld1uh_vnum_u64(pg: svbool_t, base: *const u16, vnum: i64) -> svuint64_t {
15728 svld1uh_u64(pg, base.offset(svcntd() as isize * vnum as isize))
15729}
15730#[doc = "Load 32-bit data and zero-extend"]
15731#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1uw_vnum_u64)"]
15732#[doc = "## Safety"]
15733#[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."]
15734#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
15735#[inline]
15736#[target_feature(enable = "sve")]
15737#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
15738#[cfg_attr(test, assert_instr(ld1w))]
15739pub unsafe fn svld1uw_vnum_u64(pg: svbool_t, base: *const u32, vnum: i64) -> svuint64_t {
15740 svld1uw_u64(pg, base.offset(svcntd() as isize * vnum as isize))
15741}
15742#[doc = "Load 16-bit data and zero-extend"]
15743#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1uh_gather_[s32]index_s32)"]
15744#[doc = "## Safety"]
15745#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
15746#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
15747#[inline]
15748#[target_feature(enable = "sve")]
15749#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
15750#[cfg_attr(test, assert_instr(ld1h))]
15751pub unsafe fn svld1uh_gather_s32index_s32(
15752 pg: svbool_t,
15753 base: *const u16,
15754 indices: svint32_t,
15755) -> svint32_t {
15756 svld1uh_gather_s32index_u32(pg, base, indices).as_signed()
15757}
15758#[doc = "Load 16-bit data and zero-extend"]
15759#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1uh_gather_[s32]index_u32)"]
15760#[doc = "## Safety"]
15761#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
15762#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
15763#[inline]
15764#[target_feature(enable = "sve")]
15765#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
15766#[cfg_attr(test, assert_instr(ld1h))]
15767pub unsafe fn svld1uh_gather_s32index_u32(
15768 pg: svbool_t,
15769 base: *const u16,
15770 indices: svint32_t,
15771) -> svuint32_t {
15772 unsafe extern "unadjusted" {
15773 #[cfg_attr(
15774 target_arch = "aarch64",
15775 link_name = "llvm.aarch64.sve.ld1.gather.sxtw.index.nxv4i16"
15776 )]
15777 fn _svld1uh_gather_s32index_u32(
15778 pg: svbool4_t,
15779 base: *const i16,
15780 indices: svint32_t,
15781 ) -> nxv4i16;
15782 }
15783 crate::intrinsics::simd::simd_cast::<nxv4u16, _>(
15784 _svld1uh_gather_s32index_u32(pg.sve_into(), base.as_signed(), indices).as_unsigned(),
15785 )
15786}
15787#[doc = "Load 16-bit data and zero-extend"]
15788#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1uh_gather_[s64]index_s64)"]
15789#[doc = "## Safety"]
15790#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
15791#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
15792#[inline]
15793#[target_feature(enable = "sve")]
15794#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
15795#[cfg_attr(test, assert_instr(ld1h))]
15796pub unsafe fn svld1uh_gather_s64index_s64(
15797 pg: svbool_t,
15798 base: *const u16,
15799 indices: svint64_t,
15800) -> svint64_t {
15801 svld1uh_gather_s64index_u64(pg, base, indices).as_signed()
15802}
15803#[doc = "Load 32-bit data and zero-extend"]
15804#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1uw_gather_[s64]index_s64)"]
15805#[doc = "## Safety"]
15806#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
15807#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
15808#[inline]
15809#[target_feature(enable = "sve")]
15810#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
15811#[cfg_attr(test, assert_instr(ld1w))]
15812pub unsafe fn svld1uw_gather_s64index_s64(
15813 pg: svbool_t,
15814 base: *const u32,
15815 indices: svint64_t,
15816) -> svint64_t {
15817 svld1uw_gather_s64index_u64(pg, base, indices).as_signed()
15818}
15819#[doc = "Load 16-bit data and zero-extend"]
15820#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1uh_gather_[s64]index_u64)"]
15821#[doc = "## Safety"]
15822#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
15823#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
15824#[inline]
15825#[target_feature(enable = "sve")]
15826#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
15827#[cfg_attr(test, assert_instr(ld1h))]
15828pub unsafe fn svld1uh_gather_s64index_u64(
15829 pg: svbool_t,
15830 base: *const u16,
15831 indices: svint64_t,
15832) -> svuint64_t {
15833 unsafe extern "unadjusted" {
15834 #[cfg_attr(
15835 target_arch = "aarch64",
15836 link_name = "llvm.aarch64.sve.ld1.gather.index.nxv2i16"
15837 )]
15838 fn _svld1uh_gather_s64index_u64(
15839 pg: svbool2_t,
15840 base: *const i16,
15841 indices: svint64_t,
15842 ) -> nxv2i16;
15843 }
15844 crate::intrinsics::simd::simd_cast::<nxv2u16, _>(
15845 _svld1uh_gather_s64index_u64(pg.sve_into(), base.as_signed(), indices).as_unsigned(),
15846 )
15847}
15848#[doc = "Load 32-bit data and zero-extend"]
15849#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1uw_gather_[s64]index_u64)"]
15850#[doc = "## Safety"]
15851#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
15852#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
15853#[inline]
15854#[target_feature(enable = "sve")]
15855#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
15856#[cfg_attr(test, assert_instr(ld1w))]
15857pub unsafe fn svld1uw_gather_s64index_u64(
15858 pg: svbool_t,
15859 base: *const u32,
15860 indices: svint64_t,
15861) -> svuint64_t {
15862 unsafe extern "unadjusted" {
15863 #[cfg_attr(
15864 target_arch = "aarch64",
15865 link_name = "llvm.aarch64.sve.ld1.gather.index.nxv2i32"
15866 )]
15867 fn _svld1uw_gather_s64index_u64(
15868 pg: svbool2_t,
15869 base: *const i32,
15870 indices: svint64_t,
15871 ) -> nxv2i32;
15872 }
15873 crate::intrinsics::simd::simd_cast::<nxv2u32, _>(
15874 _svld1uw_gather_s64index_u64(pg.sve_into(), base.as_signed(), indices).as_unsigned(),
15875 )
15876}
15877#[doc = "Load 16-bit data and zero-extend"]
15878#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1uh_gather_[u32]index_s32)"]
15879#[doc = "## Safety"]
15880#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
15881#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
15882#[inline]
15883#[target_feature(enable = "sve")]
15884#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
15885#[cfg_attr(test, assert_instr(ld1h))]
15886pub unsafe fn svld1uh_gather_u32index_s32(
15887 pg: svbool_t,
15888 base: *const u16,
15889 indices: svuint32_t,
15890) -> svint32_t {
15891 svld1uh_gather_u32index_u32(pg, base, indices).as_signed()
15892}
15893#[doc = "Load 16-bit data and zero-extend"]
15894#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1uh_gather_[u32]index_u32)"]
15895#[doc = "## Safety"]
15896#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
15897#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
15898#[inline]
15899#[target_feature(enable = "sve")]
15900#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
15901#[cfg_attr(test, assert_instr(ld1h))]
15902pub unsafe fn svld1uh_gather_u32index_u32(
15903 pg: svbool_t,
15904 base: *const u16,
15905 indices: svuint32_t,
15906) -> svuint32_t {
15907 unsafe extern "unadjusted" {
15908 #[cfg_attr(
15909 target_arch = "aarch64",
15910 link_name = "llvm.aarch64.sve.ld1.gather.uxtw.index.nxv4i16"
15911 )]
15912 fn _svld1uh_gather_u32index_u32(
15913 pg: svbool4_t,
15914 base: *const i16,
15915 indices: svint32_t,
15916 ) -> nxv4i16;
15917 }
15918 crate::intrinsics::simd::simd_cast::<nxv4u16, _>(
15919 _svld1uh_gather_u32index_u32(pg.sve_into(), base.as_signed(), indices.as_signed())
15920 .as_unsigned(),
15921 )
15922}
15923#[doc = "Load 16-bit data and zero-extend"]
15924#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1uh_gather_[u64]index_s64)"]
15925#[doc = "## Safety"]
15926#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
15927#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
15928#[inline]
15929#[target_feature(enable = "sve")]
15930#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
15931#[cfg_attr(test, assert_instr(ld1h))]
15932pub unsafe fn svld1uh_gather_u64index_s64(
15933 pg: svbool_t,
15934 base: *const u16,
15935 indices: svuint64_t,
15936) -> svint64_t {
15937 svld1uh_gather_s64index_u64(pg, base, indices.as_signed()).as_signed()
15938}
15939#[doc = "Load 32-bit data and zero-extend"]
15940#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1uw_gather_[u64]index_s64)"]
15941#[doc = "## Safety"]
15942#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
15943#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
15944#[inline]
15945#[target_feature(enable = "sve")]
15946#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
15947#[cfg_attr(test, assert_instr(ld1w))]
15948pub unsafe fn svld1uw_gather_u64index_s64(
15949 pg: svbool_t,
15950 base: *const u32,
15951 indices: svuint64_t,
15952) -> svint64_t {
15953 svld1uw_gather_s64index_u64(pg, base, indices.as_signed()).as_signed()
15954}
15955#[doc = "Load 16-bit data and zero-extend"]
15956#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1uh_gather_[u64]index_u64)"]
15957#[doc = "## Safety"]
15958#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
15959#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
15960#[inline]
15961#[target_feature(enable = "sve")]
15962#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
15963#[cfg_attr(test, assert_instr(ld1h))]
15964pub unsafe fn svld1uh_gather_u64index_u64(
15965 pg: svbool_t,
15966 base: *const u16,
15967 indices: svuint64_t,
15968) -> svuint64_t {
15969 svld1uh_gather_s64index_u64(pg, base, indices.as_signed())
15970}
15971#[doc = "Load 32-bit data and zero-extend"]
15972#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1uw_gather_[u64]index_u64)"]
15973#[doc = "## Safety"]
15974#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
15975#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
15976#[inline]
15977#[target_feature(enable = "sve")]
15978#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
15979#[cfg_attr(test, assert_instr(ld1w))]
15980pub unsafe fn svld1uw_gather_u64index_u64(
15981 pg: svbool_t,
15982 base: *const u32,
15983 indices: svuint64_t,
15984) -> svuint64_t {
15985 svld1uw_gather_s64index_u64(pg, base, indices.as_signed())
15986}
15987#[doc = "Load 16-bit data and zero-extend"]
15988#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1uh_gather[_u32base]_index_s32)"]
15989#[doc = "## Safety"]
15990#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
15991#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
15992#[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."]
15993#[inline]
15994#[target_feature(enable = "sve")]
15995#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
15996#[cfg_attr(test, assert_instr(ld1h))]
15997pub unsafe fn svld1uh_gather_u32base_index_s32(
15998 pg: svbool_t,
15999 bases: svuint32_t,
16000 index: i64,
16001) -> svint32_t {
16002 svld1uh_gather_u32base_offset_s32(pg, bases, index.unchecked_shl(1))
16003}
16004#[doc = "Load 16-bit data and zero-extend"]
16005#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1uh_gather[_u32base]_index_u32)"]
16006#[doc = "## Safety"]
16007#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
16008#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
16009#[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."]
16010#[inline]
16011#[target_feature(enable = "sve")]
16012#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
16013#[cfg_attr(test, assert_instr(ld1h))]
16014pub unsafe fn svld1uh_gather_u32base_index_u32(
16015 pg: svbool_t,
16016 bases: svuint32_t,
16017 index: i64,
16018) -> svuint32_t {
16019 svld1uh_gather_u32base_offset_u32(pg, bases, index.unchecked_shl(1))
16020}
16021#[doc = "Load 16-bit data and zero-extend"]
16022#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1uh_gather[_u64base]_index_s64)"]
16023#[doc = "## Safety"]
16024#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
16025#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
16026#[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."]
16027#[inline]
16028#[target_feature(enable = "sve")]
16029#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
16030#[cfg_attr(test, assert_instr(ld1h))]
16031pub unsafe fn svld1uh_gather_u64base_index_s64(
16032 pg: svbool_t,
16033 bases: svuint64_t,
16034 index: i64,
16035) -> svint64_t {
16036 svld1uh_gather_u64base_offset_s64(pg, bases, index.unchecked_shl(1))
16037}
16038#[doc = "Load 32-bit data and zero-extend"]
16039#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1uw_gather[_u64base]_index_s64)"]
16040#[doc = "## Safety"]
16041#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
16042#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
16043#[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."]
16044#[inline]
16045#[target_feature(enable = "sve")]
16046#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
16047#[cfg_attr(test, assert_instr(ld1w))]
16048pub unsafe fn svld1uw_gather_u64base_index_s64(
16049 pg: svbool_t,
16050 bases: svuint64_t,
16051 index: i64,
16052) -> svint64_t {
16053 svld1uw_gather_u64base_offset_s64(pg, bases, index.unchecked_shl(2))
16054}
16055#[doc = "Load 16-bit data and zero-extend"]
16056#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1uh_gather[_u64base]_index_u64)"]
16057#[doc = "## Safety"]
16058#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
16059#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
16060#[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."]
16061#[inline]
16062#[target_feature(enable = "sve")]
16063#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
16064#[cfg_attr(test, assert_instr(ld1h))]
16065pub unsafe fn svld1uh_gather_u64base_index_u64(
16066 pg: svbool_t,
16067 bases: svuint64_t,
16068 index: i64,
16069) -> svuint64_t {
16070 svld1uh_gather_u64base_offset_u64(pg, bases, index.unchecked_shl(1))
16071}
16072#[doc = "Load 32-bit data and zero-extend"]
16073#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1uw_gather[_u64base]_index_u64)"]
16074#[doc = "## Safety"]
16075#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
16076#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
16077#[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."]
16078#[inline]
16079#[target_feature(enable = "sve")]
16080#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
16081#[cfg_attr(test, assert_instr(ld1w))]
16082pub unsafe fn svld1uw_gather_u64base_index_u64(
16083 pg: svbool_t,
16084 bases: svuint64_t,
16085 index: i64,
16086) -> svuint64_t {
16087 svld1uw_gather_u64base_offset_u64(pg, bases, index.unchecked_shl(2))
16088}
16089#[doc = "Load two-element tuples into two vectors"]
16090#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld2[_f32])"]
16091#[doc = "## Safety"]
16092#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
16093#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
16094#[inline]
16095#[target_feature(enable = "sve")]
16096#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
16097#[cfg_attr(test, assert_instr(ld2w))]
16098pub unsafe fn svld2_f32(pg: svbool_t, base: *const f32) -> svfloat32x2_t {
16099 unsafe extern "unadjusted" {
16100 #[cfg_attr(
16101 target_arch = "aarch64",
16102 link_name = "llvm.aarch64.sve.ld2.sret.nxv4f32"
16103 )]
16104 fn _svld2_f32(pg: svbool4_t, base: *const f32) -> svfloat32x2_t;
16105 }
16106 _svld2_f32(pg.sve_into(), base)
16107}
16108#[doc = "Load two-element tuples into two vectors"]
16109#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld2[_f64])"]
16110#[doc = "## Safety"]
16111#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
16112#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
16113#[inline]
16114#[target_feature(enable = "sve")]
16115#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
16116#[cfg_attr(test, assert_instr(ld2d))]
16117pub unsafe fn svld2_f64(pg: svbool_t, base: *const f64) -> svfloat64x2_t {
16118 unsafe extern "unadjusted" {
16119 #[cfg_attr(
16120 target_arch = "aarch64",
16121 link_name = "llvm.aarch64.sve.ld2.sret.nxv2f64"
16122 )]
16123 fn _svld2_f64(pg: svbool2_t, base: *const f64) -> svfloat64x2_t;
16124 }
16125 _svld2_f64(pg.sve_into(), base)
16126}
16127#[doc = "Load two-element tuples into two vectors"]
16128#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld2[_s8])"]
16129#[doc = "## Safety"]
16130#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
16131#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
16132#[inline]
16133#[target_feature(enable = "sve")]
16134#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
16135#[cfg_attr(test, assert_instr(ld2b))]
16136pub unsafe fn svld2_s8(pg: svbool_t, base: *const i8) -> svint8x2_t {
16137 unsafe extern "unadjusted" {
16138 #[cfg_attr(
16139 target_arch = "aarch64",
16140 link_name = "llvm.aarch64.sve.ld2.sret.nxv16i8"
16141 )]
16142 fn _svld2_s8(pg: svbool_t, base: *const i8) -> svint8x2_t;
16143 }
16144 _svld2_s8(pg, base)
16145}
16146#[doc = "Load two-element tuples into two vectors"]
16147#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld2[_s16])"]
16148#[doc = "## Safety"]
16149#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
16150#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
16151#[inline]
16152#[target_feature(enable = "sve")]
16153#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
16154#[cfg_attr(test, assert_instr(ld2h))]
16155pub unsafe fn svld2_s16(pg: svbool_t, base: *const i16) -> svint16x2_t {
16156 unsafe extern "unadjusted" {
16157 #[cfg_attr(
16158 target_arch = "aarch64",
16159 link_name = "llvm.aarch64.sve.ld2.sret.nxv8i16"
16160 )]
16161 fn _svld2_s16(pg: svbool8_t, base: *const i16) -> svint16x2_t;
16162 }
16163 _svld2_s16(pg.sve_into(), base)
16164}
16165#[doc = "Load two-element tuples into two vectors"]
16166#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld2[_s32])"]
16167#[doc = "## Safety"]
16168#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
16169#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
16170#[inline]
16171#[target_feature(enable = "sve")]
16172#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
16173#[cfg_attr(test, assert_instr(ld2w))]
16174pub unsafe fn svld2_s32(pg: svbool_t, base: *const i32) -> svint32x2_t {
16175 unsafe extern "unadjusted" {
16176 #[cfg_attr(
16177 target_arch = "aarch64",
16178 link_name = "llvm.aarch64.sve.ld2.sret.nxv4i32"
16179 )]
16180 fn _svld2_s32(pg: svbool4_t, base: *const i32) -> svint32x2_t;
16181 }
16182 _svld2_s32(pg.sve_into(), base)
16183}
16184#[doc = "Load two-element tuples into two vectors"]
16185#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld2[_s64])"]
16186#[doc = "## Safety"]
16187#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
16188#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
16189#[inline]
16190#[target_feature(enable = "sve")]
16191#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
16192#[cfg_attr(test, assert_instr(ld2d))]
16193pub unsafe fn svld2_s64(pg: svbool_t, base: *const i64) -> svint64x2_t {
16194 unsafe extern "unadjusted" {
16195 #[cfg_attr(
16196 target_arch = "aarch64",
16197 link_name = "llvm.aarch64.sve.ld2.sret.nxv2i64"
16198 )]
16199 fn _svld2_s64(pg: svbool2_t, base: *const i64) -> svint64x2_t;
16200 }
16201 _svld2_s64(pg.sve_into(), base)
16202}
16203#[doc = "Load two-element tuples into two vectors"]
16204#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld2[_u8])"]
16205#[doc = "## Safety"]
16206#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
16207#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
16208#[inline]
16209#[target_feature(enable = "sve")]
16210#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
16211#[cfg_attr(test, assert_instr(ld2b))]
16212pub unsafe fn svld2_u8(pg: svbool_t, base: *const u8) -> svuint8x2_t {
16213 svld2_s8(pg, base.as_signed()).as_unsigned()
16214}
16215#[doc = "Load two-element tuples into two vectors"]
16216#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld2[_u16])"]
16217#[doc = "## Safety"]
16218#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
16219#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
16220#[inline]
16221#[target_feature(enable = "sve")]
16222#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
16223#[cfg_attr(test, assert_instr(ld2h))]
16224pub unsafe fn svld2_u16(pg: svbool_t, base: *const u16) -> svuint16x2_t {
16225 svld2_s16(pg, base.as_signed()).as_unsigned()
16226}
16227#[doc = "Load two-element tuples into two vectors"]
16228#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld2[_u32])"]
16229#[doc = "## Safety"]
16230#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
16231#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
16232#[inline]
16233#[target_feature(enable = "sve")]
16234#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
16235#[cfg_attr(test, assert_instr(ld2w))]
16236pub unsafe fn svld2_u32(pg: svbool_t, base: *const u32) -> svuint32x2_t {
16237 svld2_s32(pg, base.as_signed()).as_unsigned()
16238}
16239#[doc = "Load two-element tuples into two vectors"]
16240#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld2[_u64])"]
16241#[doc = "## Safety"]
16242#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
16243#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
16244#[inline]
16245#[target_feature(enable = "sve")]
16246#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
16247#[cfg_attr(test, assert_instr(ld2d))]
16248pub unsafe fn svld2_u64(pg: svbool_t, base: *const u64) -> svuint64x2_t {
16249 svld2_s64(pg, base.as_signed()).as_unsigned()
16250}
16251#[doc = "Load two-element tuples into two vectors"]
16252#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld2_vnum[_f32])"]
16253#[doc = "## Safety"]
16254#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
16255#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
16256#[inline]
16257#[target_feature(enable = "sve")]
16258#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
16259#[cfg_attr(test, assert_instr(ld2w))]
16260pub unsafe fn svld2_vnum_f32(pg: svbool_t, base: *const f32, vnum: i64) -> svfloat32x2_t {
16261 svld2_f32(pg, base.offset(svcntw() as isize * vnum as isize))
16262}
16263#[doc = "Load two-element tuples into two vectors"]
16264#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld2_vnum[_f64])"]
16265#[doc = "## Safety"]
16266#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
16267#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
16268#[inline]
16269#[target_feature(enable = "sve")]
16270#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
16271#[cfg_attr(test, assert_instr(ld2d))]
16272pub unsafe fn svld2_vnum_f64(pg: svbool_t, base: *const f64, vnum: i64) -> svfloat64x2_t {
16273 svld2_f64(pg, base.offset(svcntd() as isize * vnum as isize))
16274}
16275#[doc = "Load two-element tuples into two vectors"]
16276#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld2_vnum[_s8])"]
16277#[doc = "## Safety"]
16278#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
16279#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
16280#[inline]
16281#[target_feature(enable = "sve")]
16282#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
16283#[cfg_attr(test, assert_instr(ld2b))]
16284pub unsafe fn svld2_vnum_s8(pg: svbool_t, base: *const i8, vnum: i64) -> svint8x2_t {
16285 svld2_s8(pg, base.offset(svcntb() as isize * vnum as isize))
16286}
16287#[doc = "Load two-element tuples into two vectors"]
16288#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld2_vnum[_s16])"]
16289#[doc = "## Safety"]
16290#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
16291#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
16292#[inline]
16293#[target_feature(enable = "sve")]
16294#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
16295#[cfg_attr(test, assert_instr(ld2h))]
16296pub unsafe fn svld2_vnum_s16(pg: svbool_t, base: *const i16, vnum: i64) -> svint16x2_t {
16297 svld2_s16(pg, base.offset(svcnth() as isize * vnum as isize))
16298}
16299#[doc = "Load two-element tuples into two vectors"]
16300#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld2_vnum[_s32])"]
16301#[doc = "## Safety"]
16302#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
16303#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
16304#[inline]
16305#[target_feature(enable = "sve")]
16306#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
16307#[cfg_attr(test, assert_instr(ld2w))]
16308pub unsafe fn svld2_vnum_s32(pg: svbool_t, base: *const i32, vnum: i64) -> svint32x2_t {
16309 svld2_s32(pg, base.offset(svcntw() as isize * vnum as isize))
16310}
16311#[doc = "Load two-element tuples into two vectors"]
16312#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld2_vnum[_s64])"]
16313#[doc = "## Safety"]
16314#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
16315#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
16316#[inline]
16317#[target_feature(enable = "sve")]
16318#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
16319#[cfg_attr(test, assert_instr(ld2d))]
16320pub unsafe fn svld2_vnum_s64(pg: svbool_t, base: *const i64, vnum: i64) -> svint64x2_t {
16321 svld2_s64(pg, base.offset(svcntd() as isize * vnum as isize))
16322}
16323#[doc = "Load two-element tuples into two vectors"]
16324#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld2_vnum[_u8])"]
16325#[doc = "## Safety"]
16326#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
16327#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
16328#[inline]
16329#[target_feature(enable = "sve")]
16330#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
16331#[cfg_attr(test, assert_instr(ld2b))]
16332pub unsafe fn svld2_vnum_u8(pg: svbool_t, base: *const u8, vnum: i64) -> svuint8x2_t {
16333 svld2_u8(pg, base.offset(svcntb() as isize * vnum as isize))
16334}
16335#[doc = "Load two-element tuples into two vectors"]
16336#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld2_vnum[_u16])"]
16337#[doc = "## Safety"]
16338#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
16339#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
16340#[inline]
16341#[target_feature(enable = "sve")]
16342#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
16343#[cfg_attr(test, assert_instr(ld2h))]
16344pub unsafe fn svld2_vnum_u16(pg: svbool_t, base: *const u16, vnum: i64) -> svuint16x2_t {
16345 svld2_u16(pg, base.offset(svcnth() as isize * vnum as isize))
16346}
16347#[doc = "Load two-element tuples into two vectors"]
16348#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld2_vnum[_u32])"]
16349#[doc = "## Safety"]
16350#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
16351#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
16352#[inline]
16353#[target_feature(enable = "sve")]
16354#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
16355#[cfg_attr(test, assert_instr(ld2w))]
16356pub unsafe fn svld2_vnum_u32(pg: svbool_t, base: *const u32, vnum: i64) -> svuint32x2_t {
16357 svld2_u32(pg, base.offset(svcntw() as isize * vnum as isize))
16358}
16359#[doc = "Load two-element tuples into two vectors"]
16360#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld2_vnum[_u64])"]
16361#[doc = "## Safety"]
16362#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
16363#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
16364#[inline]
16365#[target_feature(enable = "sve")]
16366#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
16367#[cfg_attr(test, assert_instr(ld2d))]
16368pub unsafe fn svld2_vnum_u64(pg: svbool_t, base: *const u64, vnum: i64) -> svuint64x2_t {
16369 svld2_u64(pg, base.offset(svcntd() as isize * vnum as isize))
16370}
16371#[doc = "Load three-element tuples into three vectors"]
16372#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld3[_f32])"]
16373#[doc = "## Safety"]
16374#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
16375#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
16376#[inline]
16377#[target_feature(enable = "sve")]
16378#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
16379#[cfg_attr(test, assert_instr(ld3w))]
16380pub unsafe fn svld3_f32(pg: svbool_t, base: *const f32) -> svfloat32x3_t {
16381 unsafe extern "unadjusted" {
16382 #[cfg_attr(
16383 target_arch = "aarch64",
16384 link_name = "llvm.aarch64.sve.ld3.sret.nxv4f32"
16385 )]
16386 fn _svld3_f32(pg: svbool4_t, base: *const f32) -> svfloat32x3_t;
16387 }
16388 _svld3_f32(pg.sve_into(), base)
16389}
16390#[doc = "Load three-element tuples into three vectors"]
16391#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld3[_f64])"]
16392#[doc = "## Safety"]
16393#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
16394#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
16395#[inline]
16396#[target_feature(enable = "sve")]
16397#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
16398#[cfg_attr(test, assert_instr(ld3d))]
16399pub unsafe fn svld3_f64(pg: svbool_t, base: *const f64) -> svfloat64x3_t {
16400 unsafe extern "unadjusted" {
16401 #[cfg_attr(
16402 target_arch = "aarch64",
16403 link_name = "llvm.aarch64.sve.ld3.sret.nxv2f64"
16404 )]
16405 fn _svld3_f64(pg: svbool2_t, base: *const f64) -> svfloat64x3_t;
16406 }
16407 _svld3_f64(pg.sve_into(), base)
16408}
16409#[doc = "Load three-element tuples into three vectors"]
16410#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld3[_s8])"]
16411#[doc = "## Safety"]
16412#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
16413#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
16414#[inline]
16415#[target_feature(enable = "sve")]
16416#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
16417#[cfg_attr(test, assert_instr(ld3b))]
16418pub unsafe fn svld3_s8(pg: svbool_t, base: *const i8) -> svint8x3_t {
16419 unsafe extern "unadjusted" {
16420 #[cfg_attr(
16421 target_arch = "aarch64",
16422 link_name = "llvm.aarch64.sve.ld3.sret.nxv16i8"
16423 )]
16424 fn _svld3_s8(pg: svbool_t, base: *const i8) -> svint8x3_t;
16425 }
16426 _svld3_s8(pg, base)
16427}
16428#[doc = "Load three-element tuples into three vectors"]
16429#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld3[_s16])"]
16430#[doc = "## Safety"]
16431#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
16432#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
16433#[inline]
16434#[target_feature(enable = "sve")]
16435#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
16436#[cfg_attr(test, assert_instr(ld3h))]
16437pub unsafe fn svld3_s16(pg: svbool_t, base: *const i16) -> svint16x3_t {
16438 unsafe extern "unadjusted" {
16439 #[cfg_attr(
16440 target_arch = "aarch64",
16441 link_name = "llvm.aarch64.sve.ld3.sret.nxv8i16"
16442 )]
16443 fn _svld3_s16(pg: svbool8_t, base: *const i16) -> svint16x3_t;
16444 }
16445 _svld3_s16(pg.sve_into(), base)
16446}
16447#[doc = "Load three-element tuples into three vectors"]
16448#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld3[_s32])"]
16449#[doc = "## Safety"]
16450#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
16451#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
16452#[inline]
16453#[target_feature(enable = "sve")]
16454#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
16455#[cfg_attr(test, assert_instr(ld3w))]
16456pub unsafe fn svld3_s32(pg: svbool_t, base: *const i32) -> svint32x3_t {
16457 unsafe extern "unadjusted" {
16458 #[cfg_attr(
16459 target_arch = "aarch64",
16460 link_name = "llvm.aarch64.sve.ld3.sret.nxv4i32"
16461 )]
16462 fn _svld3_s32(pg: svbool4_t, base: *const i32) -> svint32x3_t;
16463 }
16464 _svld3_s32(pg.sve_into(), base)
16465}
16466#[doc = "Load three-element tuples into three vectors"]
16467#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld3[_s64])"]
16468#[doc = "## Safety"]
16469#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
16470#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
16471#[inline]
16472#[target_feature(enable = "sve")]
16473#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
16474#[cfg_attr(test, assert_instr(ld3d))]
16475pub unsafe fn svld3_s64(pg: svbool_t, base: *const i64) -> svint64x3_t {
16476 unsafe extern "unadjusted" {
16477 #[cfg_attr(
16478 target_arch = "aarch64",
16479 link_name = "llvm.aarch64.sve.ld3.sret.nxv2i64"
16480 )]
16481 fn _svld3_s64(pg: svbool2_t, base: *const i64) -> svint64x3_t;
16482 }
16483 _svld3_s64(pg.sve_into(), base)
16484}
16485#[doc = "Load three-element tuples into three vectors"]
16486#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld3[_u8])"]
16487#[doc = "## Safety"]
16488#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
16489#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
16490#[inline]
16491#[target_feature(enable = "sve")]
16492#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
16493#[cfg_attr(test, assert_instr(ld3b))]
16494pub unsafe fn svld3_u8(pg: svbool_t, base: *const u8) -> svuint8x3_t {
16495 svld3_s8(pg, base.as_signed()).as_unsigned()
16496}
16497#[doc = "Load three-element tuples into three vectors"]
16498#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld3[_u16])"]
16499#[doc = "## Safety"]
16500#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
16501#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
16502#[inline]
16503#[target_feature(enable = "sve")]
16504#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
16505#[cfg_attr(test, assert_instr(ld3h))]
16506pub unsafe fn svld3_u16(pg: svbool_t, base: *const u16) -> svuint16x3_t {
16507 svld3_s16(pg, base.as_signed()).as_unsigned()
16508}
16509#[doc = "Load three-element tuples into three vectors"]
16510#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld3[_u32])"]
16511#[doc = "## Safety"]
16512#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
16513#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
16514#[inline]
16515#[target_feature(enable = "sve")]
16516#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
16517#[cfg_attr(test, assert_instr(ld3w))]
16518pub unsafe fn svld3_u32(pg: svbool_t, base: *const u32) -> svuint32x3_t {
16519 svld3_s32(pg, base.as_signed()).as_unsigned()
16520}
16521#[doc = "Load three-element tuples into three vectors"]
16522#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld3[_u64])"]
16523#[doc = "## Safety"]
16524#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
16525#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
16526#[inline]
16527#[target_feature(enable = "sve")]
16528#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
16529#[cfg_attr(test, assert_instr(ld3d))]
16530pub unsafe fn svld3_u64(pg: svbool_t, base: *const u64) -> svuint64x3_t {
16531 svld3_s64(pg, base.as_signed()).as_unsigned()
16532}
16533#[doc = "Load three-element tuples into three vectors"]
16534#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld3_vnum[_f32])"]
16535#[doc = "## Safety"]
16536#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
16537#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
16538#[inline]
16539#[target_feature(enable = "sve")]
16540#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
16541#[cfg_attr(test, assert_instr(ld3w))]
16542pub unsafe fn svld3_vnum_f32(pg: svbool_t, base: *const f32, vnum: i64) -> svfloat32x3_t {
16543 svld3_f32(pg, base.offset(svcntw() as isize * vnum as isize))
16544}
16545#[doc = "Load three-element tuples into three vectors"]
16546#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld3_vnum[_f64])"]
16547#[doc = "## Safety"]
16548#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
16549#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
16550#[inline]
16551#[target_feature(enable = "sve")]
16552#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
16553#[cfg_attr(test, assert_instr(ld3d))]
16554pub unsafe fn svld3_vnum_f64(pg: svbool_t, base: *const f64, vnum: i64) -> svfloat64x3_t {
16555 svld3_f64(pg, base.offset(svcntd() as isize * vnum as isize))
16556}
16557#[doc = "Load three-element tuples into three vectors"]
16558#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld3_vnum[_s8])"]
16559#[doc = "## Safety"]
16560#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
16561#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
16562#[inline]
16563#[target_feature(enable = "sve")]
16564#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
16565#[cfg_attr(test, assert_instr(ld3b))]
16566pub unsafe fn svld3_vnum_s8(pg: svbool_t, base: *const i8, vnum: i64) -> svint8x3_t {
16567 svld3_s8(pg, base.offset(svcntb() as isize * vnum as isize))
16568}
16569#[doc = "Load three-element tuples into three vectors"]
16570#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld3_vnum[_s16])"]
16571#[doc = "## Safety"]
16572#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
16573#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
16574#[inline]
16575#[target_feature(enable = "sve")]
16576#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
16577#[cfg_attr(test, assert_instr(ld3h))]
16578pub unsafe fn svld3_vnum_s16(pg: svbool_t, base: *const i16, vnum: i64) -> svint16x3_t {
16579 svld3_s16(pg, base.offset(svcnth() as isize * vnum as isize))
16580}
16581#[doc = "Load three-element tuples into three vectors"]
16582#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld3_vnum[_s32])"]
16583#[doc = "## Safety"]
16584#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
16585#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
16586#[inline]
16587#[target_feature(enable = "sve")]
16588#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
16589#[cfg_attr(test, assert_instr(ld3w))]
16590pub unsafe fn svld3_vnum_s32(pg: svbool_t, base: *const i32, vnum: i64) -> svint32x3_t {
16591 svld3_s32(pg, base.offset(svcntw() as isize * vnum as isize))
16592}
16593#[doc = "Load three-element tuples into three vectors"]
16594#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld3_vnum[_s64])"]
16595#[doc = "## Safety"]
16596#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
16597#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
16598#[inline]
16599#[target_feature(enable = "sve")]
16600#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
16601#[cfg_attr(test, assert_instr(ld3d))]
16602pub unsafe fn svld3_vnum_s64(pg: svbool_t, base: *const i64, vnum: i64) -> svint64x3_t {
16603 svld3_s64(pg, base.offset(svcntd() as isize * vnum as isize))
16604}
16605#[doc = "Load three-element tuples into three vectors"]
16606#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld3_vnum[_u8])"]
16607#[doc = "## Safety"]
16608#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
16609#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
16610#[inline]
16611#[target_feature(enable = "sve")]
16612#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
16613#[cfg_attr(test, assert_instr(ld3b))]
16614pub unsafe fn svld3_vnum_u8(pg: svbool_t, base: *const u8, vnum: i64) -> svuint8x3_t {
16615 svld3_u8(pg, base.offset(svcntb() as isize * vnum as isize))
16616}
16617#[doc = "Load three-element tuples into three vectors"]
16618#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld3_vnum[_u16])"]
16619#[doc = "## Safety"]
16620#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
16621#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
16622#[inline]
16623#[target_feature(enable = "sve")]
16624#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
16625#[cfg_attr(test, assert_instr(ld3h))]
16626pub unsafe fn svld3_vnum_u16(pg: svbool_t, base: *const u16, vnum: i64) -> svuint16x3_t {
16627 svld3_u16(pg, base.offset(svcnth() as isize * vnum as isize))
16628}
16629#[doc = "Load three-element tuples into three vectors"]
16630#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld3_vnum[_u32])"]
16631#[doc = "## Safety"]
16632#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
16633#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
16634#[inline]
16635#[target_feature(enable = "sve")]
16636#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
16637#[cfg_attr(test, assert_instr(ld3w))]
16638pub unsafe fn svld3_vnum_u32(pg: svbool_t, base: *const u32, vnum: i64) -> svuint32x3_t {
16639 svld3_u32(pg, base.offset(svcntw() as isize * vnum as isize))
16640}
16641#[doc = "Load three-element tuples into three vectors"]
16642#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld3_vnum[_u64])"]
16643#[doc = "## Safety"]
16644#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
16645#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
16646#[inline]
16647#[target_feature(enable = "sve")]
16648#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
16649#[cfg_attr(test, assert_instr(ld3d))]
16650pub unsafe fn svld3_vnum_u64(pg: svbool_t, base: *const u64, vnum: i64) -> svuint64x3_t {
16651 svld3_u64(pg, base.offset(svcntd() as isize * vnum as isize))
16652}
16653#[doc = "Load four-element tuples into four vectors"]
16654#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld4[_f32])"]
16655#[doc = "## Safety"]
16656#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
16657#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
16658#[inline]
16659#[target_feature(enable = "sve")]
16660#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
16661#[cfg_attr(test, assert_instr(ld4w))]
16662pub unsafe fn svld4_f32(pg: svbool_t, base: *const f32) -> svfloat32x4_t {
16663 unsafe extern "unadjusted" {
16664 #[cfg_attr(
16665 target_arch = "aarch64",
16666 link_name = "llvm.aarch64.sve.ld4.sret.nxv4f32"
16667 )]
16668 fn _svld4_f32(pg: svbool4_t, base: *const f32) -> svfloat32x4_t;
16669 }
16670 _svld4_f32(pg.sve_into(), base)
16671}
16672#[doc = "Load four-element tuples into four vectors"]
16673#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld4[_f64])"]
16674#[doc = "## Safety"]
16675#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
16676#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
16677#[inline]
16678#[target_feature(enable = "sve")]
16679#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
16680#[cfg_attr(test, assert_instr(ld4d))]
16681pub unsafe fn svld4_f64(pg: svbool_t, base: *const f64) -> svfloat64x4_t {
16682 unsafe extern "unadjusted" {
16683 #[cfg_attr(
16684 target_arch = "aarch64",
16685 link_name = "llvm.aarch64.sve.ld4.sret.nxv2f64"
16686 )]
16687 fn _svld4_f64(pg: svbool2_t, base: *const f64) -> svfloat64x4_t;
16688 }
16689 _svld4_f64(pg.sve_into(), base)
16690}
16691#[doc = "Load four-element tuples into four vectors"]
16692#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld4[_s8])"]
16693#[doc = "## Safety"]
16694#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
16695#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
16696#[inline]
16697#[target_feature(enable = "sve")]
16698#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
16699#[cfg_attr(test, assert_instr(ld4b))]
16700pub unsafe fn svld4_s8(pg: svbool_t, base: *const i8) -> svint8x4_t {
16701 unsafe extern "unadjusted" {
16702 #[cfg_attr(
16703 target_arch = "aarch64",
16704 link_name = "llvm.aarch64.sve.ld4.sret.nxv16i8"
16705 )]
16706 fn _svld4_s8(pg: svbool_t, base: *const i8) -> svint8x4_t;
16707 }
16708 _svld4_s8(pg, base)
16709}
16710#[doc = "Load four-element tuples into four vectors"]
16711#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld4[_s16])"]
16712#[doc = "## Safety"]
16713#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
16714#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
16715#[inline]
16716#[target_feature(enable = "sve")]
16717#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
16718#[cfg_attr(test, assert_instr(ld4h))]
16719pub unsafe fn svld4_s16(pg: svbool_t, base: *const i16) -> svint16x4_t {
16720 unsafe extern "unadjusted" {
16721 #[cfg_attr(
16722 target_arch = "aarch64",
16723 link_name = "llvm.aarch64.sve.ld4.sret.nxv8i16"
16724 )]
16725 fn _svld4_s16(pg: svbool8_t, base: *const i16) -> svint16x4_t;
16726 }
16727 _svld4_s16(pg.sve_into(), base)
16728}
16729#[doc = "Load four-element tuples into four vectors"]
16730#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld4[_s32])"]
16731#[doc = "## Safety"]
16732#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
16733#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
16734#[inline]
16735#[target_feature(enable = "sve")]
16736#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
16737#[cfg_attr(test, assert_instr(ld4w))]
16738pub unsafe fn svld4_s32(pg: svbool_t, base: *const i32) -> svint32x4_t {
16739 unsafe extern "unadjusted" {
16740 #[cfg_attr(
16741 target_arch = "aarch64",
16742 link_name = "llvm.aarch64.sve.ld4.sret.nxv4i32"
16743 )]
16744 fn _svld4_s32(pg: svbool4_t, base: *const i32) -> svint32x4_t;
16745 }
16746 _svld4_s32(pg.sve_into(), base)
16747}
16748#[doc = "Load four-element tuples into four vectors"]
16749#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld4[_s64])"]
16750#[doc = "## Safety"]
16751#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
16752#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
16753#[inline]
16754#[target_feature(enable = "sve")]
16755#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
16756#[cfg_attr(test, assert_instr(ld4d))]
16757pub unsafe fn svld4_s64(pg: svbool_t, base: *const i64) -> svint64x4_t {
16758 unsafe extern "unadjusted" {
16759 #[cfg_attr(
16760 target_arch = "aarch64",
16761 link_name = "llvm.aarch64.sve.ld4.sret.nxv2i64"
16762 )]
16763 fn _svld4_s64(pg: svbool2_t, base: *const i64) -> svint64x4_t;
16764 }
16765 _svld4_s64(pg.sve_into(), base)
16766}
16767#[doc = "Load four-element tuples into four vectors"]
16768#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld4[_u8])"]
16769#[doc = "## Safety"]
16770#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
16771#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
16772#[inline]
16773#[target_feature(enable = "sve")]
16774#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
16775#[cfg_attr(test, assert_instr(ld4b))]
16776pub unsafe fn svld4_u8(pg: svbool_t, base: *const u8) -> svuint8x4_t {
16777 svld4_s8(pg, base.as_signed()).as_unsigned()
16778}
16779#[doc = "Load four-element tuples into four vectors"]
16780#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld4[_u16])"]
16781#[doc = "## Safety"]
16782#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
16783#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
16784#[inline]
16785#[target_feature(enable = "sve")]
16786#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
16787#[cfg_attr(test, assert_instr(ld4h))]
16788pub unsafe fn svld4_u16(pg: svbool_t, base: *const u16) -> svuint16x4_t {
16789 svld4_s16(pg, base.as_signed()).as_unsigned()
16790}
16791#[doc = "Load four-element tuples into four vectors"]
16792#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld4[_u32])"]
16793#[doc = "## Safety"]
16794#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
16795#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
16796#[inline]
16797#[target_feature(enable = "sve")]
16798#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
16799#[cfg_attr(test, assert_instr(ld4w))]
16800pub unsafe fn svld4_u32(pg: svbool_t, base: *const u32) -> svuint32x4_t {
16801 svld4_s32(pg, base.as_signed()).as_unsigned()
16802}
16803#[doc = "Load four-element tuples into four vectors"]
16804#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld4[_u64])"]
16805#[doc = "## Safety"]
16806#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
16807#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
16808#[inline]
16809#[target_feature(enable = "sve")]
16810#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
16811#[cfg_attr(test, assert_instr(ld4d))]
16812pub unsafe fn svld4_u64(pg: svbool_t, base: *const u64) -> svuint64x4_t {
16813 svld4_s64(pg, base.as_signed()).as_unsigned()
16814}
16815#[doc = "Load four-element tuples into four vectors"]
16816#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld4_vnum[_f32])"]
16817#[doc = "## Safety"]
16818#[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."]
16819#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
16820#[inline]
16821#[target_feature(enable = "sve")]
16822#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
16823#[cfg_attr(test, assert_instr(ld4w))]
16824pub unsafe fn svld4_vnum_f32(pg: svbool_t, base: *const f32, vnum: i64) -> svfloat32x4_t {
16825 svld4_f32(pg, base.offset(svcntw() as isize * vnum as isize))
16826}
16827#[doc = "Load four-element tuples into four vectors"]
16828#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld4_vnum[_f64])"]
16829#[doc = "## Safety"]
16830#[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."]
16831#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
16832#[inline]
16833#[target_feature(enable = "sve")]
16834#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
16835#[cfg_attr(test, assert_instr(ld4d))]
16836pub unsafe fn svld4_vnum_f64(pg: svbool_t, base: *const f64, vnum: i64) -> svfloat64x4_t {
16837 svld4_f64(pg, base.offset(svcntd() as isize * vnum as isize))
16838}
16839#[doc = "Load four-element tuples into four vectors"]
16840#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld4_vnum[_s8])"]
16841#[doc = "## Safety"]
16842#[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."]
16843#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
16844#[inline]
16845#[target_feature(enable = "sve")]
16846#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
16847#[cfg_attr(test, assert_instr(ld4b))]
16848pub unsafe fn svld4_vnum_s8(pg: svbool_t, base: *const i8, vnum: i64) -> svint8x4_t {
16849 svld4_s8(pg, base.offset(svcntb() as isize * vnum as isize))
16850}
16851#[doc = "Load four-element tuples into four vectors"]
16852#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld4_vnum[_s16])"]
16853#[doc = "## Safety"]
16854#[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."]
16855#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
16856#[inline]
16857#[target_feature(enable = "sve")]
16858#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
16859#[cfg_attr(test, assert_instr(ld4h))]
16860pub unsafe fn svld4_vnum_s16(pg: svbool_t, base: *const i16, vnum: i64) -> svint16x4_t {
16861 svld4_s16(pg, base.offset(svcnth() as isize * vnum as isize))
16862}
16863#[doc = "Load four-element tuples into four vectors"]
16864#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld4_vnum[_s32])"]
16865#[doc = "## Safety"]
16866#[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."]
16867#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
16868#[inline]
16869#[target_feature(enable = "sve")]
16870#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
16871#[cfg_attr(test, assert_instr(ld4w))]
16872pub unsafe fn svld4_vnum_s32(pg: svbool_t, base: *const i32, vnum: i64) -> svint32x4_t {
16873 svld4_s32(pg, base.offset(svcntw() as isize * vnum as isize))
16874}
16875#[doc = "Load four-element tuples into four vectors"]
16876#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld4_vnum[_s64])"]
16877#[doc = "## Safety"]
16878#[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."]
16879#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
16880#[inline]
16881#[target_feature(enable = "sve")]
16882#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
16883#[cfg_attr(test, assert_instr(ld4d))]
16884pub unsafe fn svld4_vnum_s64(pg: svbool_t, base: *const i64, vnum: i64) -> svint64x4_t {
16885 svld4_s64(pg, base.offset(svcntd() as isize * vnum as isize))
16886}
16887#[doc = "Load four-element tuples into four vectors"]
16888#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld4_vnum[_u8])"]
16889#[doc = "## Safety"]
16890#[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."]
16891#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
16892#[inline]
16893#[target_feature(enable = "sve")]
16894#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
16895#[cfg_attr(test, assert_instr(ld4b))]
16896pub unsafe fn svld4_vnum_u8(pg: svbool_t, base: *const u8, vnum: i64) -> svuint8x4_t {
16897 svld4_u8(pg, base.offset(svcntb() as isize * vnum as isize))
16898}
16899#[doc = "Load four-element tuples into four vectors"]
16900#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld4_vnum[_u16])"]
16901#[doc = "## Safety"]
16902#[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."]
16903#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
16904#[inline]
16905#[target_feature(enable = "sve")]
16906#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
16907#[cfg_attr(test, assert_instr(ld4h))]
16908pub unsafe fn svld4_vnum_u16(pg: svbool_t, base: *const u16, vnum: i64) -> svuint16x4_t {
16909 svld4_u16(pg, base.offset(svcnth() as isize * vnum as isize))
16910}
16911#[doc = "Load four-element tuples into four vectors"]
16912#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld4_vnum[_u32])"]
16913#[doc = "## Safety"]
16914#[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."]
16915#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
16916#[inline]
16917#[target_feature(enable = "sve")]
16918#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
16919#[cfg_attr(test, assert_instr(ld4w))]
16920pub unsafe fn svld4_vnum_u32(pg: svbool_t, base: *const u32, vnum: i64) -> svuint32x4_t {
16921 svld4_u32(pg, base.offset(svcntw() as isize * vnum as isize))
16922}
16923#[doc = "Load four-element tuples into four vectors"]
16924#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld4_vnum[_u64])"]
16925#[doc = "## Safety"]
16926#[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."]
16927#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
16928#[inline]
16929#[target_feature(enable = "sve")]
16930#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
16931#[cfg_attr(test, assert_instr(ld4d))]
16932pub unsafe fn svld4_vnum_u64(pg: svbool_t, base: *const u64, vnum: i64) -> svuint64x4_t {
16933 svld4_u64(pg, base.offset(svcntd() as isize * vnum as isize))
16934}
16935#[doc = "Unextended load, first-faulting"]
16936#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1[_f32])"]
16937#[doc = "## Safety"]
16938#[doc = " * [`pointer::offset`](pointer#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)."]
16939#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
16940#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
16941#[inline]
16942#[target_feature(enable = "sve")]
16943#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
16944#[cfg_attr(test, assert_instr(ldff1w))]
16945pub unsafe fn svldff1_f32(pg: svbool_t, base: *const f32) -> svfloat32_t {
16946 unsafe extern "unadjusted" {
16947 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.ldff1.nxv4f32")]
16948 fn _svldff1_f32(pg: svbool4_t, base: *const f32) -> svfloat32_t;
16949 }
16950 _svldff1_f32(pg.sve_into(), base)
16951}
16952#[doc = "Unextended load, first-faulting"]
16953#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1[_f64])"]
16954#[doc = "## Safety"]
16955#[doc = " * [`pointer::offset`](pointer#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)."]
16956#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
16957#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
16958#[inline]
16959#[target_feature(enable = "sve")]
16960#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
16961#[cfg_attr(test, assert_instr(ldff1d))]
16962pub unsafe fn svldff1_f64(pg: svbool_t, base: *const f64) -> svfloat64_t {
16963 unsafe extern "unadjusted" {
16964 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.ldff1.nxv2f64")]
16965 fn _svldff1_f64(pg: svbool2_t, base: *const f64) -> svfloat64_t;
16966 }
16967 _svldff1_f64(pg.sve_into(), base)
16968}
16969#[doc = "Unextended load, first-faulting"]
16970#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1[_s8])"]
16971#[doc = "## Safety"]
16972#[doc = " * [`pointer::offset`](pointer#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)."]
16973#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
16974#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
16975#[inline]
16976#[target_feature(enable = "sve")]
16977#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
16978#[cfg_attr(test, assert_instr(ldff1b))]
16979pub unsafe fn svldff1_s8(pg: svbool_t, base: *const i8) -> svint8_t {
16980 unsafe extern "unadjusted" {
16981 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.ldff1.nxv16i8")]
16982 fn _svldff1_s8(pg: svbool_t, base: *const i8) -> svint8_t;
16983 }
16984 _svldff1_s8(pg, base)
16985}
16986#[doc = "Unextended load, first-faulting"]
16987#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1[_s16])"]
16988#[doc = "## Safety"]
16989#[doc = " * [`pointer::offset`](pointer#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)."]
16990#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
16991#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
16992#[inline]
16993#[target_feature(enable = "sve")]
16994#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
16995#[cfg_attr(test, assert_instr(ldff1h))]
16996pub unsafe fn svldff1_s16(pg: svbool_t, base: *const i16) -> svint16_t {
16997 unsafe extern "unadjusted" {
16998 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.ldff1.nxv8i16")]
16999 fn _svldff1_s16(pg: svbool8_t, base: *const i16) -> svint16_t;
17000 }
17001 _svldff1_s16(pg.sve_into(), base)
17002}
17003#[doc = "Unextended load, first-faulting"]
17004#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1[_s32])"]
17005#[doc = "## Safety"]
17006#[doc = " * [`pointer::offset`](pointer#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)."]
17007#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
17008#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
17009#[inline]
17010#[target_feature(enable = "sve")]
17011#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
17012#[cfg_attr(test, assert_instr(ldff1w))]
17013pub unsafe fn svldff1_s32(pg: svbool_t, base: *const i32) -> svint32_t {
17014 unsafe extern "unadjusted" {
17015 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.ldff1.nxv4i32")]
17016 fn _svldff1_s32(pg: svbool4_t, base: *const i32) -> svint32_t;
17017 }
17018 _svldff1_s32(pg.sve_into(), base)
17019}
17020#[doc = "Unextended load, first-faulting"]
17021#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1[_s64])"]
17022#[doc = "## Safety"]
17023#[doc = " * [`pointer::offset`](pointer#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)."]
17024#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
17025#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
17026#[inline]
17027#[target_feature(enable = "sve")]
17028#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
17029#[cfg_attr(test, assert_instr(ldff1d))]
17030pub unsafe fn svldff1_s64(pg: svbool_t, base: *const i64) -> svint64_t {
17031 unsafe extern "unadjusted" {
17032 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.ldff1.nxv2i64")]
17033 fn _svldff1_s64(pg: svbool2_t, base: *const i64) -> svint64_t;
17034 }
17035 _svldff1_s64(pg.sve_into(), base)
17036}
17037#[doc = "Unextended load, first-faulting"]
17038#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1[_u8])"]
17039#[doc = "## Safety"]
17040#[doc = " * [`pointer::offset`](pointer#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)."]
17041#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
17042#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
17043#[inline]
17044#[target_feature(enable = "sve")]
17045#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
17046#[cfg_attr(test, assert_instr(ldff1b))]
17047pub unsafe fn svldff1_u8(pg: svbool_t, base: *const u8) -> svuint8_t {
17048 svldff1_s8(pg, base.as_signed()).as_unsigned()
17049}
17050#[doc = "Unextended load, first-faulting"]
17051#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1[_u16])"]
17052#[doc = "## Safety"]
17053#[doc = " * [`pointer::offset`](pointer#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)."]
17054#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
17055#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
17056#[inline]
17057#[target_feature(enable = "sve")]
17058#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
17059#[cfg_attr(test, assert_instr(ldff1h))]
17060pub unsafe fn svldff1_u16(pg: svbool_t, base: *const u16) -> svuint16_t {
17061 svldff1_s16(pg, base.as_signed()).as_unsigned()
17062}
17063#[doc = "Unextended load, first-faulting"]
17064#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1[_u32])"]
17065#[doc = "## Safety"]
17066#[doc = " * [`pointer::offset`](pointer#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)."]
17067#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
17068#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
17069#[inline]
17070#[target_feature(enable = "sve")]
17071#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
17072#[cfg_attr(test, assert_instr(ldff1w))]
17073pub unsafe fn svldff1_u32(pg: svbool_t, base: *const u32) -> svuint32_t {
17074 svldff1_s32(pg, base.as_signed()).as_unsigned()
17075}
17076#[doc = "Unextended load, first-faulting"]
17077#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1[_u64])"]
17078#[doc = "## Safety"]
17079#[doc = " * [`pointer::offset`](pointer#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)."]
17080#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
17081#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
17082#[inline]
17083#[target_feature(enable = "sve")]
17084#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
17085#[cfg_attr(test, assert_instr(ldff1d))]
17086pub unsafe fn svldff1_u64(pg: svbool_t, base: *const u64) -> svuint64_t {
17087 svldff1_s64(pg, base.as_signed()).as_unsigned()
17088}
17089#[doc = "Unextended load, first-faulting"]
17090#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1_gather_[s32]index[_f32])"]
17091#[doc = "## Safety"]
17092#[doc = " * [`pointer::offset`](pointer#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)."]
17093#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
17094#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
17095#[inline]
17096#[target_feature(enable = "sve")]
17097#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
17098#[cfg_attr(test, assert_instr(ldff1w))]
17099pub unsafe fn svldff1_gather_s32index_f32(
17100 pg: svbool_t,
17101 base: *const f32,
17102 indices: svint32_t,
17103) -> svfloat32_t {
17104 unsafe extern "unadjusted" {
17105 #[cfg_attr(
17106 target_arch = "aarch64",
17107 link_name = "llvm.aarch64.sve.ldff1.gather.sxtw.index.nxv4f32"
17108 )]
17109 fn _svldff1_gather_s32index_f32(
17110 pg: svbool4_t,
17111 base: *const f32,
17112 indices: svint32_t,
17113 ) -> svfloat32_t;
17114 }
17115 _svldff1_gather_s32index_f32(pg.sve_into(), base, indices)
17116}
17117#[doc = "Unextended load, first-faulting"]
17118#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1_gather_[s32]index[_s32])"]
17119#[doc = "## Safety"]
17120#[doc = " * [`pointer::offset`](pointer#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)."]
17121#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
17122#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
17123#[inline]
17124#[target_feature(enable = "sve")]
17125#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
17126#[cfg_attr(test, assert_instr(ldff1w))]
17127pub unsafe fn svldff1_gather_s32index_s32(
17128 pg: svbool_t,
17129 base: *const i32,
17130 indices: svint32_t,
17131) -> svint32_t {
17132 unsafe extern "unadjusted" {
17133 #[cfg_attr(
17134 target_arch = "aarch64",
17135 link_name = "llvm.aarch64.sve.ldff1.gather.sxtw.index.nxv4i32"
17136 )]
17137 fn _svldff1_gather_s32index_s32(
17138 pg: svbool4_t,
17139 base: *const i32,
17140 indices: svint32_t,
17141 ) -> svint32_t;
17142 }
17143 _svldff1_gather_s32index_s32(pg.sve_into(), base, indices)
17144}
17145#[doc = "Unextended load, first-faulting"]
17146#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1_gather_[s32]index[_u32])"]
17147#[doc = "## Safety"]
17148#[doc = " * [`pointer::offset`](pointer#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)."]
17149#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
17150#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
17151#[inline]
17152#[target_feature(enable = "sve")]
17153#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
17154#[cfg_attr(test, assert_instr(ldff1w))]
17155pub unsafe fn svldff1_gather_s32index_u32(
17156 pg: svbool_t,
17157 base: *const u32,
17158 indices: svint32_t,
17159) -> svuint32_t {
17160 svldff1_gather_s32index_s32(pg, base.as_signed(), indices).as_unsigned()
17161}
17162#[doc = "Unextended load, first-faulting"]
17163#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1_gather_[s64]index[_f64])"]
17164#[doc = "## Safety"]
17165#[doc = " * [`pointer::offset`](pointer#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)."]
17166#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
17167#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
17168#[inline]
17169#[target_feature(enable = "sve")]
17170#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
17171#[cfg_attr(test, assert_instr(ldff1d))]
17172pub unsafe fn svldff1_gather_s64index_f64(
17173 pg: svbool_t,
17174 base: *const f64,
17175 indices: svint64_t,
17176) -> svfloat64_t {
17177 unsafe extern "unadjusted" {
17178 #[cfg_attr(
17179 target_arch = "aarch64",
17180 link_name = "llvm.aarch64.sve.ldff1.gather.index.nxv2f64"
17181 )]
17182 fn _svldff1_gather_s64index_f64(
17183 pg: svbool2_t,
17184 base: *const f64,
17185 indices: svint64_t,
17186 ) -> svfloat64_t;
17187 }
17188 _svldff1_gather_s64index_f64(pg.sve_into(), base, indices)
17189}
17190#[doc = "Unextended load, first-faulting"]
17191#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1_gather_[s64]index[_s64])"]
17192#[doc = "## Safety"]
17193#[doc = " * [`pointer::offset`](pointer#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)."]
17194#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
17195#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
17196#[inline]
17197#[target_feature(enable = "sve")]
17198#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
17199#[cfg_attr(test, assert_instr(ldff1d))]
17200pub unsafe fn svldff1_gather_s64index_s64(
17201 pg: svbool_t,
17202 base: *const i64,
17203 indices: svint64_t,
17204) -> svint64_t {
17205 unsafe extern "unadjusted" {
17206 #[cfg_attr(
17207 target_arch = "aarch64",
17208 link_name = "llvm.aarch64.sve.ldff1.gather.index.nxv2i64"
17209 )]
17210 fn _svldff1_gather_s64index_s64(
17211 pg: svbool2_t,
17212 base: *const i64,
17213 indices: svint64_t,
17214 ) -> svint64_t;
17215 }
17216 _svldff1_gather_s64index_s64(pg.sve_into(), base, indices)
17217}
17218#[doc = "Unextended load, first-faulting"]
17219#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1_gather_[s64]index[_u64])"]
17220#[doc = "## Safety"]
17221#[doc = " * [`pointer::offset`](pointer#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)."]
17222#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
17223#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
17224#[inline]
17225#[target_feature(enable = "sve")]
17226#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
17227#[cfg_attr(test, assert_instr(ldff1d))]
17228pub unsafe fn svldff1_gather_s64index_u64(
17229 pg: svbool_t,
17230 base: *const u64,
17231 indices: svint64_t,
17232) -> svuint64_t {
17233 svldff1_gather_s64index_s64(pg, base.as_signed(), indices).as_unsigned()
17234}
17235#[doc = "Unextended load, first-faulting"]
17236#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1_gather_[u32]index[_f32])"]
17237#[doc = "## Safety"]
17238#[doc = " * [`pointer::offset`](pointer#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)."]
17239#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
17240#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
17241#[inline]
17242#[target_feature(enable = "sve")]
17243#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
17244#[cfg_attr(test, assert_instr(ldff1w))]
17245pub unsafe fn svldff1_gather_u32index_f32(
17246 pg: svbool_t,
17247 base: *const f32,
17248 indices: svuint32_t,
17249) -> svfloat32_t {
17250 unsafe extern "unadjusted" {
17251 #[cfg_attr(
17252 target_arch = "aarch64",
17253 link_name = "llvm.aarch64.sve.ldff1.gather.uxtw.index.nxv4f32"
17254 )]
17255 fn _svldff1_gather_u32index_f32(
17256 pg: svbool4_t,
17257 base: *const f32,
17258 indices: svint32_t,
17259 ) -> svfloat32_t;
17260 }
17261 _svldff1_gather_u32index_f32(pg.sve_into(), base, indices.as_signed())
17262}
17263#[doc = "Unextended load, first-faulting"]
17264#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1_gather_[u32]index[_s32])"]
17265#[doc = "## Safety"]
17266#[doc = " * [`pointer::offset`](pointer#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)."]
17267#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
17268#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
17269#[inline]
17270#[target_feature(enable = "sve")]
17271#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
17272#[cfg_attr(test, assert_instr(ldff1w))]
17273pub unsafe fn svldff1_gather_u32index_s32(
17274 pg: svbool_t,
17275 base: *const i32,
17276 indices: svuint32_t,
17277) -> svint32_t {
17278 unsafe extern "unadjusted" {
17279 #[cfg_attr(
17280 target_arch = "aarch64",
17281 link_name = "llvm.aarch64.sve.ldff1.gather.uxtw.index.nxv4i32"
17282 )]
17283 fn _svldff1_gather_u32index_s32(
17284 pg: svbool4_t,
17285 base: *const i32,
17286 indices: svint32_t,
17287 ) -> svint32_t;
17288 }
17289 _svldff1_gather_u32index_s32(pg.sve_into(), base, indices.as_signed())
17290}
17291#[doc = "Unextended load, first-faulting"]
17292#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1_gather_[u32]index[_u32])"]
17293#[doc = "## Safety"]
17294#[doc = " * [`pointer::offset`](pointer#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)."]
17295#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
17296#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
17297#[inline]
17298#[target_feature(enable = "sve")]
17299#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
17300#[cfg_attr(test, assert_instr(ldff1w))]
17301pub unsafe fn svldff1_gather_u32index_u32(
17302 pg: svbool_t,
17303 base: *const u32,
17304 indices: svuint32_t,
17305) -> svuint32_t {
17306 svldff1_gather_u32index_s32(pg, base.as_signed(), indices).as_unsigned()
17307}
17308#[doc = "Unextended load, first-faulting"]
17309#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1_gather_[u64]index[_f64])"]
17310#[doc = "## Safety"]
17311#[doc = " * [`pointer::offset`](pointer#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)."]
17312#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
17313#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
17314#[inline]
17315#[target_feature(enable = "sve")]
17316#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
17317#[cfg_attr(test, assert_instr(ldff1d))]
17318pub unsafe fn svldff1_gather_u64index_f64(
17319 pg: svbool_t,
17320 base: *const f64,
17321 indices: svuint64_t,
17322) -> svfloat64_t {
17323 svldff1_gather_s64index_f64(pg, base, indices.as_signed())
17324}
17325#[doc = "Unextended load, first-faulting"]
17326#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1_gather_[u64]index[_s64])"]
17327#[doc = "## Safety"]
17328#[doc = " * [`pointer::offset`](pointer#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)."]
17329#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
17330#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
17331#[inline]
17332#[target_feature(enable = "sve")]
17333#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
17334#[cfg_attr(test, assert_instr(ldff1d))]
17335pub unsafe fn svldff1_gather_u64index_s64(
17336 pg: svbool_t,
17337 base: *const i64,
17338 indices: svuint64_t,
17339) -> svint64_t {
17340 svldff1_gather_s64index_s64(pg, base, indices.as_signed())
17341}
17342#[doc = "Unextended load, first-faulting"]
17343#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1_gather_[u64]index[_u64])"]
17344#[doc = "## Safety"]
17345#[doc = " * [`pointer::offset`](pointer#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)."]
17346#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
17347#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
17348#[inline]
17349#[target_feature(enable = "sve")]
17350#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
17351#[cfg_attr(test, assert_instr(ldff1d))]
17352pub unsafe fn svldff1_gather_u64index_u64(
17353 pg: svbool_t,
17354 base: *const u64,
17355 indices: svuint64_t,
17356) -> svuint64_t {
17357 svldff1_gather_s64index_s64(pg, base.as_signed(), indices.as_signed()).as_unsigned()
17358}
17359#[doc = "Unextended load, first-faulting"]
17360#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1_gather_[s32]offset[_f32])"]
17361#[doc = "## Safety"]
17362#[doc = " * [`pointer::offset`](pointer#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)."]
17363#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
17364#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
17365#[inline]
17366#[target_feature(enable = "sve")]
17367#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
17368#[cfg_attr(test, assert_instr(ldff1w))]
17369pub unsafe fn svldff1_gather_s32offset_f32(
17370 pg: svbool_t,
17371 base: *const f32,
17372 offsets: svint32_t,
17373) -> svfloat32_t {
17374 unsafe extern "unadjusted" {
17375 #[cfg_attr(
17376 target_arch = "aarch64",
17377 link_name = "llvm.aarch64.sve.ldff1.gather.sxtw.nxv4f32"
17378 )]
17379 fn _svldff1_gather_s32offset_f32(
17380 pg: svbool4_t,
17381 base: *const f32,
17382 offsets: svint32_t,
17383 ) -> svfloat32_t;
17384 }
17385 _svldff1_gather_s32offset_f32(pg.sve_into(), base, offsets)
17386}
17387#[doc = "Unextended load, first-faulting"]
17388#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1_gather_[s32]offset[_s32])"]
17389#[doc = "## Safety"]
17390#[doc = " * [`pointer::offset`](pointer#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)."]
17391#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
17392#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
17393#[inline]
17394#[target_feature(enable = "sve")]
17395#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
17396#[cfg_attr(test, assert_instr(ldff1w))]
17397pub unsafe fn svldff1_gather_s32offset_s32(
17398 pg: svbool_t,
17399 base: *const i32,
17400 offsets: svint32_t,
17401) -> svint32_t {
17402 unsafe extern "unadjusted" {
17403 #[cfg_attr(
17404 target_arch = "aarch64",
17405 link_name = "llvm.aarch64.sve.ldff1.gather.sxtw.nxv4i32"
17406 )]
17407 fn _svldff1_gather_s32offset_s32(
17408 pg: svbool4_t,
17409 base: *const i32,
17410 offsets: svint32_t,
17411 ) -> svint32_t;
17412 }
17413 _svldff1_gather_s32offset_s32(pg.sve_into(), base, offsets)
17414}
17415#[doc = "Unextended load, first-faulting"]
17416#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1_gather_[s32]offset[_u32])"]
17417#[doc = "## Safety"]
17418#[doc = " * [`pointer::offset`](pointer#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)."]
17419#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
17420#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
17421#[inline]
17422#[target_feature(enable = "sve")]
17423#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
17424#[cfg_attr(test, assert_instr(ldff1w))]
17425pub unsafe fn svldff1_gather_s32offset_u32(
17426 pg: svbool_t,
17427 base: *const u32,
17428 offsets: svint32_t,
17429) -> svuint32_t {
17430 svldff1_gather_s32offset_s32(pg, base.as_signed(), offsets).as_unsigned()
17431}
17432#[doc = "Unextended load, first-faulting"]
17433#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1_gather_[s64]offset[_f64])"]
17434#[doc = "## Safety"]
17435#[doc = " * [`pointer::offset`](pointer#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)."]
17436#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
17437#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
17438#[inline]
17439#[target_feature(enable = "sve")]
17440#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
17441#[cfg_attr(test, assert_instr(ldff1d))]
17442pub unsafe fn svldff1_gather_s64offset_f64(
17443 pg: svbool_t,
17444 base: *const f64,
17445 offsets: svint64_t,
17446) -> svfloat64_t {
17447 unsafe extern "unadjusted" {
17448 #[cfg_attr(
17449 target_arch = "aarch64",
17450 link_name = "llvm.aarch64.sve.ldff1.gather.nxv2f64"
17451 )]
17452 fn _svldff1_gather_s64offset_f64(
17453 pg: svbool2_t,
17454 base: *const f64,
17455 offsets: svint64_t,
17456 ) -> svfloat64_t;
17457 }
17458 _svldff1_gather_s64offset_f64(pg.sve_into(), base, offsets)
17459}
17460#[doc = "Unextended load, first-faulting"]
17461#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1_gather_[s64]offset[_s64])"]
17462#[doc = "## Safety"]
17463#[doc = " * [`pointer::offset`](pointer#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)."]
17464#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
17465#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
17466#[inline]
17467#[target_feature(enable = "sve")]
17468#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
17469#[cfg_attr(test, assert_instr(ldff1d))]
17470pub unsafe fn svldff1_gather_s64offset_s64(
17471 pg: svbool_t,
17472 base: *const i64,
17473 offsets: svint64_t,
17474) -> svint64_t {
17475 unsafe extern "unadjusted" {
17476 #[cfg_attr(
17477 target_arch = "aarch64",
17478 link_name = "llvm.aarch64.sve.ldff1.gather.nxv2i64"
17479 )]
17480 fn _svldff1_gather_s64offset_s64(
17481 pg: svbool2_t,
17482 base: *const i64,
17483 offsets: svint64_t,
17484 ) -> svint64_t;
17485 }
17486 _svldff1_gather_s64offset_s64(pg.sve_into(), base, offsets)
17487}
17488#[doc = "Unextended load, first-faulting"]
17489#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1_gather_[s64]offset[_u64])"]
17490#[doc = "## Safety"]
17491#[doc = " * [`pointer::offset`](pointer#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)."]
17492#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
17493#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
17494#[inline]
17495#[target_feature(enable = "sve")]
17496#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
17497#[cfg_attr(test, assert_instr(ldff1d))]
17498pub unsafe fn svldff1_gather_s64offset_u64(
17499 pg: svbool_t,
17500 base: *const u64,
17501 offsets: svint64_t,
17502) -> svuint64_t {
17503 svldff1_gather_s64offset_s64(pg, base.as_signed(), offsets).as_unsigned()
17504}
17505#[doc = "Unextended load, first-faulting"]
17506#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1_gather_[u32]offset[_f32])"]
17507#[doc = "## Safety"]
17508#[doc = " * [`pointer::offset`](pointer#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)."]
17509#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
17510#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
17511#[inline]
17512#[target_feature(enable = "sve")]
17513#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
17514#[cfg_attr(test, assert_instr(ldff1w))]
17515pub unsafe fn svldff1_gather_u32offset_f32(
17516 pg: svbool_t,
17517 base: *const f32,
17518 offsets: svuint32_t,
17519) -> svfloat32_t {
17520 unsafe extern "unadjusted" {
17521 #[cfg_attr(
17522 target_arch = "aarch64",
17523 link_name = "llvm.aarch64.sve.ldff1.gather.uxtw.nxv4f32"
17524 )]
17525 fn _svldff1_gather_u32offset_f32(
17526 pg: svbool4_t,
17527 base: *const f32,
17528 offsets: svint32_t,
17529 ) -> svfloat32_t;
17530 }
17531 _svldff1_gather_u32offset_f32(pg.sve_into(), base, offsets.as_signed())
17532}
17533#[doc = "Unextended load, first-faulting"]
17534#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1_gather_[u32]offset[_s32])"]
17535#[doc = "## Safety"]
17536#[doc = " * [`pointer::offset`](pointer#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)."]
17537#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
17538#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
17539#[inline]
17540#[target_feature(enable = "sve")]
17541#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
17542#[cfg_attr(test, assert_instr(ldff1w))]
17543pub unsafe fn svldff1_gather_u32offset_s32(
17544 pg: svbool_t,
17545 base: *const i32,
17546 offsets: svuint32_t,
17547) -> svint32_t {
17548 unsafe extern "unadjusted" {
17549 #[cfg_attr(
17550 target_arch = "aarch64",
17551 link_name = "llvm.aarch64.sve.ldff1.gather.uxtw.nxv4i32"
17552 )]
17553 fn _svldff1_gather_u32offset_s32(
17554 pg: svbool4_t,
17555 base: *const i32,
17556 offsets: svint32_t,
17557 ) -> svint32_t;
17558 }
17559 _svldff1_gather_u32offset_s32(pg.sve_into(), base, offsets.as_signed())
17560}
17561#[doc = "Unextended load, first-faulting"]
17562#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1_gather_[u32]offset[_u32])"]
17563#[doc = "## Safety"]
17564#[doc = " * [`pointer::offset`](pointer#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)."]
17565#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
17566#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
17567#[inline]
17568#[target_feature(enable = "sve")]
17569#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
17570#[cfg_attr(test, assert_instr(ldff1w))]
17571pub unsafe fn svldff1_gather_u32offset_u32(
17572 pg: svbool_t,
17573 base: *const u32,
17574 offsets: svuint32_t,
17575) -> svuint32_t {
17576 svldff1_gather_u32offset_s32(pg, base.as_signed(), offsets).as_unsigned()
17577}
17578#[doc = "Unextended load, first-faulting"]
17579#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1_gather_[u64]offset[_f64])"]
17580#[doc = "## Safety"]
17581#[doc = " * [`pointer::offset`](pointer#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)."]
17582#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
17583#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
17584#[inline]
17585#[target_feature(enable = "sve")]
17586#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
17587#[cfg_attr(test, assert_instr(ldff1d))]
17588pub unsafe fn svldff1_gather_u64offset_f64(
17589 pg: svbool_t,
17590 base: *const f64,
17591 offsets: svuint64_t,
17592) -> svfloat64_t {
17593 svldff1_gather_s64offset_f64(pg, base, offsets.as_signed())
17594}
17595#[doc = "Unextended load, first-faulting"]
17596#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1_gather_[u64]offset[_s64])"]
17597#[doc = "## Safety"]
17598#[doc = " * [`pointer::offset`](pointer#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)."]
17599#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
17600#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
17601#[inline]
17602#[target_feature(enable = "sve")]
17603#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
17604#[cfg_attr(test, assert_instr(ldff1d))]
17605pub unsafe fn svldff1_gather_u64offset_s64(
17606 pg: svbool_t,
17607 base: *const i64,
17608 offsets: svuint64_t,
17609) -> svint64_t {
17610 svldff1_gather_s64offset_s64(pg, base, offsets.as_signed())
17611}
17612#[doc = "Unextended load, first-faulting"]
17613#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1_gather_[u64]offset[_u64])"]
17614#[doc = "## Safety"]
17615#[doc = " * [`pointer::offset`](pointer#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)."]
17616#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
17617#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
17618#[inline]
17619#[target_feature(enable = "sve")]
17620#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
17621#[cfg_attr(test, assert_instr(ldff1d))]
17622pub unsafe fn svldff1_gather_u64offset_u64(
17623 pg: svbool_t,
17624 base: *const u64,
17625 offsets: svuint64_t,
17626) -> svuint64_t {
17627 svldff1_gather_s64offset_s64(pg, base.as_signed(), offsets.as_signed()).as_unsigned()
17628}
17629#[doc = "Unextended load, first-faulting"]
17630#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1_gather[_u32base]_f32)"]
17631#[doc = "## Safety"]
17632#[doc = " * [`pointer::offset`](pointer#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)."]
17633#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
17634#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
17635#[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."]
17636#[inline]
17637#[target_feature(enable = "sve")]
17638#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
17639#[cfg_attr(test, assert_instr(ldff1w))]
17640pub unsafe fn svldff1_gather_u32base_f32(pg: svbool_t, bases: svuint32_t) -> svfloat32_t {
17641 svldff1_gather_u32base_offset_f32(pg, bases, 0)
17642}
17643#[doc = "Unextended load, first-faulting"]
17644#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1_gather[_u32base]_s32)"]
17645#[doc = "## Safety"]
17646#[doc = " * [`pointer::offset`](pointer#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)."]
17647#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
17648#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
17649#[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."]
17650#[inline]
17651#[target_feature(enable = "sve")]
17652#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
17653#[cfg_attr(test, assert_instr(ldff1w))]
17654pub unsafe fn svldff1_gather_u32base_s32(pg: svbool_t, bases: svuint32_t) -> svint32_t {
17655 svldff1_gather_u32base_offset_s32(pg, bases, 0)
17656}
17657#[doc = "Unextended load, first-faulting"]
17658#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1_gather[_u32base]_u32)"]
17659#[doc = "## Safety"]
17660#[doc = " * [`pointer::offset`](pointer#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)."]
17661#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
17662#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
17663#[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."]
17664#[inline]
17665#[target_feature(enable = "sve")]
17666#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
17667#[cfg_attr(test, assert_instr(ldff1w))]
17668pub unsafe fn svldff1_gather_u32base_u32(pg: svbool_t, bases: svuint32_t) -> svuint32_t {
17669 svldff1_gather_u32base_offset_u32(pg, bases, 0)
17670}
17671#[doc = "Unextended load, first-faulting"]
17672#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1_gather[_u64base]_f64)"]
17673#[doc = "## Safety"]
17674#[doc = " * [`pointer::offset`](pointer#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)."]
17675#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
17676#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
17677#[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."]
17678#[inline]
17679#[target_feature(enable = "sve")]
17680#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
17681#[cfg_attr(test, assert_instr(ldff1d))]
17682pub unsafe fn svldff1_gather_u64base_f64(pg: svbool_t, bases: svuint64_t) -> svfloat64_t {
17683 svldff1_gather_u64base_offset_f64(pg, bases, 0)
17684}
17685#[doc = "Unextended load, first-faulting"]
17686#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1_gather[_u64base]_s64)"]
17687#[doc = "## Safety"]
17688#[doc = " * [`pointer::offset`](pointer#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)."]
17689#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
17690#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
17691#[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."]
17692#[inline]
17693#[target_feature(enable = "sve")]
17694#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
17695#[cfg_attr(test, assert_instr(ldff1d))]
17696pub unsafe fn svldff1_gather_u64base_s64(pg: svbool_t, bases: svuint64_t) -> svint64_t {
17697 svldff1_gather_u64base_offset_s64(pg, bases, 0)
17698}
17699#[doc = "Unextended load, first-faulting"]
17700#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1_gather[_u64base]_u64)"]
17701#[doc = "## Safety"]
17702#[doc = " * [`pointer::offset`](pointer#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)."]
17703#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
17704#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
17705#[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."]
17706#[inline]
17707#[target_feature(enable = "sve")]
17708#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
17709#[cfg_attr(test, assert_instr(ldff1d))]
17710pub unsafe fn svldff1_gather_u64base_u64(pg: svbool_t, bases: svuint64_t) -> svuint64_t {
17711 svldff1_gather_u64base_offset_u64(pg, bases, 0)
17712}
17713#[doc = "Unextended load, first-faulting"]
17714#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1_gather[_u32base]_index_f32)"]
17715#[doc = "## Safety"]
17716#[doc = " * [`pointer::offset`](pointer#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)."]
17717#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
17718#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
17719#[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."]
17720#[inline]
17721#[target_feature(enable = "sve")]
17722#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
17723#[cfg_attr(test, assert_instr(ldff1w))]
17724pub unsafe fn svldff1_gather_u32base_index_f32(
17725 pg: svbool_t,
17726 bases: svuint32_t,
17727 index: i64,
17728) -> svfloat32_t {
17729 svldff1_gather_u32base_offset_f32(pg, bases, index.unchecked_shl(2))
17730}
17731#[doc = "Unextended load, first-faulting"]
17732#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1_gather[_u32base]_index_s32)"]
17733#[doc = "## Safety"]
17734#[doc = " * [`pointer::offset`](pointer#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)."]
17735#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
17736#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
17737#[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."]
17738#[inline]
17739#[target_feature(enable = "sve")]
17740#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
17741#[cfg_attr(test, assert_instr(ldff1w))]
17742pub unsafe fn svldff1_gather_u32base_index_s32(
17743 pg: svbool_t,
17744 bases: svuint32_t,
17745 index: i64,
17746) -> svint32_t {
17747 svldff1_gather_u32base_offset_s32(pg, bases, index.unchecked_shl(2))
17748}
17749#[doc = "Unextended load, first-faulting"]
17750#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1_gather[_u32base]_index_u32)"]
17751#[doc = "## Safety"]
17752#[doc = " * [`pointer::offset`](pointer#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)."]
17753#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
17754#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
17755#[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."]
17756#[inline]
17757#[target_feature(enable = "sve")]
17758#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
17759#[cfg_attr(test, assert_instr(ldff1w))]
17760pub unsafe fn svldff1_gather_u32base_index_u32(
17761 pg: svbool_t,
17762 bases: svuint32_t,
17763 index: i64,
17764) -> svuint32_t {
17765 svldff1_gather_u32base_offset_u32(pg, bases, index.unchecked_shl(2))
17766}
17767#[doc = "Unextended load, first-faulting"]
17768#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1_gather[_u64base]_index_f64)"]
17769#[doc = "## Safety"]
17770#[doc = " * [`pointer::offset`](pointer#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)."]
17771#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
17772#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
17773#[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."]
17774#[inline]
17775#[target_feature(enable = "sve")]
17776#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
17777#[cfg_attr(test, assert_instr(ldff1d))]
17778pub unsafe fn svldff1_gather_u64base_index_f64(
17779 pg: svbool_t,
17780 bases: svuint64_t,
17781 index: i64,
17782) -> svfloat64_t {
17783 svldff1_gather_u64base_offset_f64(pg, bases, index.unchecked_shl(3))
17784}
17785#[doc = "Unextended load, first-faulting"]
17786#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1_gather[_u64base]_index_s64)"]
17787#[doc = "## Safety"]
17788#[doc = " * [`pointer::offset`](pointer#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)."]
17789#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
17790#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
17791#[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."]
17792#[inline]
17793#[target_feature(enable = "sve")]
17794#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
17795#[cfg_attr(test, assert_instr(ldff1d))]
17796pub unsafe fn svldff1_gather_u64base_index_s64(
17797 pg: svbool_t,
17798 bases: svuint64_t,
17799 index: i64,
17800) -> svint64_t {
17801 svldff1_gather_u64base_offset_s64(pg, bases, index.unchecked_shl(3))
17802}
17803#[doc = "Unextended load, first-faulting"]
17804#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1_gather[_u64base]_index_u64)"]
17805#[doc = "## Safety"]
17806#[doc = " * [`pointer::offset`](pointer#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)."]
17807#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
17808#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
17809#[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."]
17810#[inline]
17811#[target_feature(enable = "sve")]
17812#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
17813#[cfg_attr(test, assert_instr(ldff1d))]
17814pub unsafe fn svldff1_gather_u64base_index_u64(
17815 pg: svbool_t,
17816 bases: svuint64_t,
17817 index: i64,
17818) -> svuint64_t {
17819 svldff1_gather_u64base_offset_u64(pg, bases, index.unchecked_shl(3))
17820}
17821#[doc = "Unextended load, first-faulting"]
17822#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1_gather[_u32base]_offset_f32)"]
17823#[doc = "## Safety"]
17824#[doc = " * [`pointer::offset`](pointer#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)."]
17825#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
17826#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
17827#[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."]
17828#[inline]
17829#[target_feature(enable = "sve")]
17830#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
17831#[cfg_attr(test, assert_instr(ldff1w))]
17832pub unsafe fn svldff1_gather_u32base_offset_f32(
17833 pg: svbool_t,
17834 bases: svuint32_t,
17835 offset: i64,
17836) -> svfloat32_t {
17837 unsafe extern "unadjusted" {
17838 #[cfg_attr(
17839 target_arch = "aarch64",
17840 link_name = "llvm.aarch64.sve.ldff1.gather.scalar.offset.nxv4f32.nxv4i32"
17841 )]
17842 fn _svldff1_gather_u32base_offset_f32(
17843 pg: svbool4_t,
17844 bases: svint32_t,
17845 offset: i64,
17846 ) -> svfloat32_t;
17847 }
17848 _svldff1_gather_u32base_offset_f32(pg.sve_into(), bases.as_signed(), offset)
17849}
17850#[doc = "Unextended load, first-faulting"]
17851#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1_gather[_u32base]_offset_s32)"]
17852#[doc = "## Safety"]
17853#[doc = " * [`pointer::offset`](pointer#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)."]
17854#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
17855#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
17856#[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."]
17857#[inline]
17858#[target_feature(enable = "sve")]
17859#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
17860#[cfg_attr(test, assert_instr(ldff1w))]
17861pub unsafe fn svldff1_gather_u32base_offset_s32(
17862 pg: svbool_t,
17863 bases: svuint32_t,
17864 offset: i64,
17865) -> svint32_t {
17866 unsafe extern "unadjusted" {
17867 #[cfg_attr(
17868 target_arch = "aarch64",
17869 link_name = "llvm.aarch64.sve.ldff1.gather.scalar.offset.nxv4i32.nxv4i32"
17870 )]
17871 fn _svldff1_gather_u32base_offset_s32(
17872 pg: svbool4_t,
17873 bases: svint32_t,
17874 offset: i64,
17875 ) -> svint32_t;
17876 }
17877 _svldff1_gather_u32base_offset_s32(pg.sve_into(), bases.as_signed(), offset)
17878}
17879#[doc = "Unextended load, first-faulting"]
17880#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1_gather[_u32base]_offset_u32)"]
17881#[doc = "## Safety"]
17882#[doc = " * [`pointer::offset`](pointer#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)."]
17883#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
17884#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
17885#[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."]
17886#[inline]
17887#[target_feature(enable = "sve")]
17888#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
17889#[cfg_attr(test, assert_instr(ldff1w))]
17890pub unsafe fn svldff1_gather_u32base_offset_u32(
17891 pg: svbool_t,
17892 bases: svuint32_t,
17893 offset: i64,
17894) -> svuint32_t {
17895 svldff1_gather_u32base_offset_s32(pg, bases, offset).as_unsigned()
17896}
17897#[doc = "Unextended load, first-faulting"]
17898#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1_gather[_u64base]_offset_f64)"]
17899#[doc = "## Safety"]
17900#[doc = " * [`pointer::offset`](pointer#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)."]
17901#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
17902#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
17903#[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."]
17904#[inline]
17905#[target_feature(enable = "sve")]
17906#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
17907#[cfg_attr(test, assert_instr(ldff1d))]
17908pub unsafe fn svldff1_gather_u64base_offset_f64(
17909 pg: svbool_t,
17910 bases: svuint64_t,
17911 offset: i64,
17912) -> svfloat64_t {
17913 unsafe extern "unadjusted" {
17914 #[cfg_attr(
17915 target_arch = "aarch64",
17916 link_name = "llvm.aarch64.sve.ldff1.gather.scalar.offset.nxv2f64.nxv2i64"
17917 )]
17918 fn _svldff1_gather_u64base_offset_f64(
17919 pg: svbool2_t,
17920 bases: svint64_t,
17921 offset: i64,
17922 ) -> svfloat64_t;
17923 }
17924 _svldff1_gather_u64base_offset_f64(pg.sve_into(), bases.as_signed(), offset)
17925}
17926#[doc = "Unextended load, first-faulting"]
17927#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1_gather[_u64base]_offset_s64)"]
17928#[doc = "## Safety"]
17929#[doc = " * [`pointer::offset`](pointer#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)."]
17930#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
17931#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
17932#[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."]
17933#[inline]
17934#[target_feature(enable = "sve")]
17935#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
17936#[cfg_attr(test, assert_instr(ldff1d))]
17937pub unsafe fn svldff1_gather_u64base_offset_s64(
17938 pg: svbool_t,
17939 bases: svuint64_t,
17940 offset: i64,
17941) -> svint64_t {
17942 unsafe extern "unadjusted" {
17943 #[cfg_attr(
17944 target_arch = "aarch64",
17945 link_name = "llvm.aarch64.sve.ldff1.gather.scalar.offset.nxv2i64.nxv2i64"
17946 )]
17947 fn _svldff1_gather_u64base_offset_s64(
17948 pg: svbool2_t,
17949 bases: svint64_t,
17950 offset: i64,
17951 ) -> svint64_t;
17952 }
17953 _svldff1_gather_u64base_offset_s64(pg.sve_into(), bases.as_signed(), offset)
17954}
17955#[doc = "Unextended load, first-faulting"]
17956#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1_gather[_u64base]_offset_u64)"]
17957#[doc = "## Safety"]
17958#[doc = " * [`pointer::offset`](pointer#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)."]
17959#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
17960#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
17961#[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."]
17962#[inline]
17963#[target_feature(enable = "sve")]
17964#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
17965#[cfg_attr(test, assert_instr(ldff1d))]
17966pub unsafe fn svldff1_gather_u64base_offset_u64(
17967 pg: svbool_t,
17968 bases: svuint64_t,
17969 offset: i64,
17970) -> svuint64_t {
17971 svldff1_gather_u64base_offset_s64(pg, bases, offset).as_unsigned()
17972}
17973#[doc = "Unextended load, first-faulting"]
17974#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1_vnum[_f32])"]
17975#[doc = "## Safety"]
17976#[doc = " * [`pointer::offset`](pointer#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."]
17977#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
17978#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
17979#[inline]
17980#[target_feature(enable = "sve")]
17981#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
17982#[cfg_attr(test, assert_instr(ldff1w))]
17983pub unsafe fn svldff1_vnum_f32(pg: svbool_t, base: *const f32, vnum: i64) -> svfloat32_t {
17984 svldff1_f32(pg, base.offset(svcntw() as isize * vnum as isize))
17985}
17986#[doc = "Unextended load, first-faulting"]
17987#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1_vnum[_f64])"]
17988#[doc = "## Safety"]
17989#[doc = " * [`pointer::offset`](pointer#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."]
17990#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
17991#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
17992#[inline]
17993#[target_feature(enable = "sve")]
17994#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
17995#[cfg_attr(test, assert_instr(ldff1d))]
17996pub unsafe fn svldff1_vnum_f64(pg: svbool_t, base: *const f64, vnum: i64) -> svfloat64_t {
17997 svldff1_f64(pg, base.offset(svcntd() as isize * vnum as isize))
17998}
17999#[doc = "Unextended load, first-faulting"]
18000#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1_vnum[_s8])"]
18001#[doc = "## Safety"]
18002#[doc = " * [`pointer::offset`](pointer#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."]
18003#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
18004#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
18005#[inline]
18006#[target_feature(enable = "sve")]
18007#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
18008#[cfg_attr(test, assert_instr(ldff1b))]
18009pub unsafe fn svldff1_vnum_s8(pg: svbool_t, base: *const i8, vnum: i64) -> svint8_t {
18010 svldff1_s8(pg, base.offset(svcntb() as isize * vnum as isize))
18011}
18012#[doc = "Unextended load, first-faulting"]
18013#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1_vnum[_s16])"]
18014#[doc = "## Safety"]
18015#[doc = " * [`pointer::offset`](pointer#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."]
18016#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
18017#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
18018#[inline]
18019#[target_feature(enable = "sve")]
18020#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
18021#[cfg_attr(test, assert_instr(ldff1h))]
18022pub unsafe fn svldff1_vnum_s16(pg: svbool_t, base: *const i16, vnum: i64) -> svint16_t {
18023 svldff1_s16(pg, base.offset(svcnth() as isize * vnum as isize))
18024}
18025#[doc = "Unextended load, first-faulting"]
18026#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1_vnum[_s32])"]
18027#[doc = "## Safety"]
18028#[doc = " * [`pointer::offset`](pointer#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."]
18029#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
18030#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
18031#[inline]
18032#[target_feature(enable = "sve")]
18033#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
18034#[cfg_attr(test, assert_instr(ldff1w))]
18035pub unsafe fn svldff1_vnum_s32(pg: svbool_t, base: *const i32, vnum: i64) -> svint32_t {
18036 svldff1_s32(pg, base.offset(svcntw() as isize * vnum as isize))
18037}
18038#[doc = "Unextended load, first-faulting"]
18039#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1_vnum[_s64])"]
18040#[doc = "## Safety"]
18041#[doc = " * [`pointer::offset`](pointer#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."]
18042#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
18043#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
18044#[inline]
18045#[target_feature(enable = "sve")]
18046#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
18047#[cfg_attr(test, assert_instr(ldff1d))]
18048pub unsafe fn svldff1_vnum_s64(pg: svbool_t, base: *const i64, vnum: i64) -> svint64_t {
18049 svldff1_s64(pg, base.offset(svcntd() as isize * vnum as isize))
18050}
18051#[doc = "Unextended load, first-faulting"]
18052#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1_vnum[_u8])"]
18053#[doc = "## Safety"]
18054#[doc = " * [`pointer::offset`](pointer#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."]
18055#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
18056#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
18057#[inline]
18058#[target_feature(enable = "sve")]
18059#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
18060#[cfg_attr(test, assert_instr(ldff1b))]
18061pub unsafe fn svldff1_vnum_u8(pg: svbool_t, base: *const u8, vnum: i64) -> svuint8_t {
18062 svldff1_u8(pg, base.offset(svcntb() as isize * vnum as isize))
18063}
18064#[doc = "Unextended load, first-faulting"]
18065#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1_vnum[_u16])"]
18066#[doc = "## Safety"]
18067#[doc = " * [`pointer::offset`](pointer#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."]
18068#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
18069#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
18070#[inline]
18071#[target_feature(enable = "sve")]
18072#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
18073#[cfg_attr(test, assert_instr(ldff1h))]
18074pub unsafe fn svldff1_vnum_u16(pg: svbool_t, base: *const u16, vnum: i64) -> svuint16_t {
18075 svldff1_u16(pg, base.offset(svcnth() as isize * vnum as isize))
18076}
18077#[doc = "Unextended load, first-faulting"]
18078#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1_vnum[_u32])"]
18079#[doc = "## Safety"]
18080#[doc = " * [`pointer::offset`](pointer#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."]
18081#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
18082#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
18083#[inline]
18084#[target_feature(enable = "sve")]
18085#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
18086#[cfg_attr(test, assert_instr(ldff1w))]
18087pub unsafe fn svldff1_vnum_u32(pg: svbool_t, base: *const u32, vnum: i64) -> svuint32_t {
18088 svldff1_u32(pg, base.offset(svcntw() as isize * vnum as isize))
18089}
18090#[doc = "Unextended load, first-faulting"]
18091#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1_vnum[_u64])"]
18092#[doc = "## Safety"]
18093#[doc = " * [`pointer::offset`](pointer#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."]
18094#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
18095#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
18096#[inline]
18097#[target_feature(enable = "sve")]
18098#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
18099#[cfg_attr(test, assert_instr(ldff1d))]
18100pub unsafe fn svldff1_vnum_u64(pg: svbool_t, base: *const u64, vnum: i64) -> svuint64_t {
18101 svldff1_u64(pg, base.offset(svcntd() as isize * vnum as isize))
18102}
18103#[doc = "Load 8-bit data and sign-extend, first-faulting"]
18104#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1sb_gather_[s32]offset_s32)"]
18105#[doc = "## Safety"]
18106#[doc = " * [`pointer::offset`](pointer#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)."]
18107#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
18108#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
18109#[inline]
18110#[target_feature(enable = "sve")]
18111#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
18112#[cfg_attr(test, assert_instr(ldff1sb))]
18113pub unsafe fn svldff1sb_gather_s32offset_s32(
18114 pg: svbool_t,
18115 base: *const i8,
18116 offsets: svint32_t,
18117) -> svint32_t {
18118 unsafe extern "unadjusted" {
18119 #[cfg_attr(
18120 target_arch = "aarch64",
18121 link_name = "llvm.aarch64.sve.ldff1.gather.sxtw.nxv4i8"
18122 )]
18123 fn _svldff1sb_gather_s32offset_s32(
18124 pg: svbool4_t,
18125 base: *const i8,
18126 offsets: svint32_t,
18127 ) -> nxv4i8;
18128 }
18129 crate::intrinsics::simd::simd_cast(_svldff1sb_gather_s32offset_s32(
18130 pg.sve_into(),
18131 base,
18132 offsets,
18133 ))
18134}
18135#[doc = "Load 16-bit data and sign-extend, first-faulting"]
18136#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1sh_gather_[s32]offset_s32)"]
18137#[doc = "## Safety"]
18138#[doc = " * [`pointer::offset`](pointer#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)."]
18139#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
18140#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
18141#[inline]
18142#[target_feature(enable = "sve")]
18143#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
18144#[cfg_attr(test, assert_instr(ldff1sh))]
18145pub unsafe fn svldff1sh_gather_s32offset_s32(
18146 pg: svbool_t,
18147 base: *const i16,
18148 offsets: svint32_t,
18149) -> svint32_t {
18150 unsafe extern "unadjusted" {
18151 #[cfg_attr(
18152 target_arch = "aarch64",
18153 link_name = "llvm.aarch64.sve.ldff1.gather.sxtw.nxv4i16"
18154 )]
18155 fn _svldff1sh_gather_s32offset_s32(
18156 pg: svbool4_t,
18157 base: *const i16,
18158 offsets: svint32_t,
18159 ) -> nxv4i16;
18160 }
18161 crate::intrinsics::simd::simd_cast(_svldff1sh_gather_s32offset_s32(
18162 pg.sve_into(),
18163 base,
18164 offsets,
18165 ))
18166}
18167#[doc = "Load 8-bit data and sign-extend, first-faulting"]
18168#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1sb_gather_[s32]offset_u32)"]
18169#[doc = "## Safety"]
18170#[doc = " * [`pointer::offset`](pointer#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)."]
18171#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
18172#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
18173#[inline]
18174#[target_feature(enable = "sve")]
18175#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
18176#[cfg_attr(test, assert_instr(ldff1sb))]
18177pub unsafe fn svldff1sb_gather_s32offset_u32(
18178 pg: svbool_t,
18179 base: *const i8,
18180 offsets: svint32_t,
18181) -> svuint32_t {
18182 svldff1sb_gather_s32offset_s32(pg, base, offsets).as_unsigned()
18183}
18184#[doc = "Load 16-bit data and sign-extend, first-faulting"]
18185#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1sh_gather_[s32]offset_u32)"]
18186#[doc = "## Safety"]
18187#[doc = " * [`pointer::offset`](pointer#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)."]
18188#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
18189#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
18190#[inline]
18191#[target_feature(enable = "sve")]
18192#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
18193#[cfg_attr(test, assert_instr(ldff1sh))]
18194pub unsafe fn svldff1sh_gather_s32offset_u32(
18195 pg: svbool_t,
18196 base: *const i16,
18197 offsets: svint32_t,
18198) -> svuint32_t {
18199 svldff1sh_gather_s32offset_s32(pg, base, offsets).as_unsigned()
18200}
18201#[doc = "Load 8-bit data and sign-extend, first-faulting"]
18202#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1sb_gather_[s64]offset_s64)"]
18203#[doc = "## Safety"]
18204#[doc = " * [`pointer::offset`](pointer#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)."]
18205#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
18206#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
18207#[inline]
18208#[target_feature(enable = "sve")]
18209#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
18210#[cfg_attr(test, assert_instr(ldff1sb))]
18211pub unsafe fn svldff1sb_gather_s64offset_s64(
18212 pg: svbool_t,
18213 base: *const i8,
18214 offsets: svint64_t,
18215) -> svint64_t {
18216 unsafe extern "unadjusted" {
18217 #[cfg_attr(
18218 target_arch = "aarch64",
18219 link_name = "llvm.aarch64.sve.ldff1.gather.nxv2i8"
18220 )]
18221 fn _svldff1sb_gather_s64offset_s64(
18222 pg: svbool2_t,
18223 base: *const i8,
18224 offsets: svint64_t,
18225 ) -> nxv2i8;
18226 }
18227 crate::intrinsics::simd::simd_cast(_svldff1sb_gather_s64offset_s64(
18228 pg.sve_into(),
18229 base,
18230 offsets,
18231 ))
18232}
18233#[doc = "Load 16-bit data and sign-extend, first-faulting"]
18234#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1sh_gather_[s64]offset_s64)"]
18235#[doc = "## Safety"]
18236#[doc = " * [`pointer::offset`](pointer#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)."]
18237#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
18238#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
18239#[inline]
18240#[target_feature(enable = "sve")]
18241#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
18242#[cfg_attr(test, assert_instr(ldff1sh))]
18243pub unsafe fn svldff1sh_gather_s64offset_s64(
18244 pg: svbool_t,
18245 base: *const i16,
18246 offsets: svint64_t,
18247) -> svint64_t {
18248 unsafe extern "unadjusted" {
18249 #[cfg_attr(
18250 target_arch = "aarch64",
18251 link_name = "llvm.aarch64.sve.ldff1.gather.nxv2i16"
18252 )]
18253 fn _svldff1sh_gather_s64offset_s64(
18254 pg: svbool2_t,
18255 base: *const i16,
18256 offsets: svint64_t,
18257 ) -> nxv2i16;
18258 }
18259 crate::intrinsics::simd::simd_cast(_svldff1sh_gather_s64offset_s64(
18260 pg.sve_into(),
18261 base,
18262 offsets,
18263 ))
18264}
18265#[doc = "Load 32-bit data and sign-extend, first-faulting"]
18266#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1sw_gather_[s64]offset_s64)"]
18267#[doc = "## Safety"]
18268#[doc = " * [`pointer::offset`](pointer#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)."]
18269#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
18270#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
18271#[inline]
18272#[target_feature(enable = "sve")]
18273#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
18274#[cfg_attr(test, assert_instr(ldff1sw))]
18275pub unsafe fn svldff1sw_gather_s64offset_s64(
18276 pg: svbool_t,
18277 base: *const i32,
18278 offsets: svint64_t,
18279) -> svint64_t {
18280 unsafe extern "unadjusted" {
18281 #[cfg_attr(
18282 target_arch = "aarch64",
18283 link_name = "llvm.aarch64.sve.ldff1.gather.nxv2i32"
18284 )]
18285 fn _svldff1sw_gather_s64offset_s64(
18286 pg: svbool2_t,
18287 base: *const i32,
18288 offsets: svint64_t,
18289 ) -> nxv2i32;
18290 }
18291 crate::intrinsics::simd::simd_cast(_svldff1sw_gather_s64offset_s64(
18292 pg.sve_into(),
18293 base,
18294 offsets,
18295 ))
18296}
18297#[doc = "Load 8-bit data and sign-extend, first-faulting"]
18298#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1sb_gather_[s64]offset_u64)"]
18299#[doc = "## Safety"]
18300#[doc = " * [`pointer::offset`](pointer#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)."]
18301#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
18302#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
18303#[inline]
18304#[target_feature(enable = "sve")]
18305#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
18306#[cfg_attr(test, assert_instr(ldff1sb))]
18307pub unsafe fn svldff1sb_gather_s64offset_u64(
18308 pg: svbool_t,
18309 base: *const i8,
18310 offsets: svint64_t,
18311) -> svuint64_t {
18312 svldff1sb_gather_s64offset_s64(pg, base, offsets).as_unsigned()
18313}
18314#[doc = "Load 16-bit data and sign-extend, first-faulting"]
18315#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1sh_gather_[s64]offset_u64)"]
18316#[doc = "## Safety"]
18317#[doc = " * [`pointer::offset`](pointer#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)."]
18318#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
18319#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
18320#[inline]
18321#[target_feature(enable = "sve")]
18322#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
18323#[cfg_attr(test, assert_instr(ldff1sh))]
18324pub unsafe fn svldff1sh_gather_s64offset_u64(
18325 pg: svbool_t,
18326 base: *const i16,
18327 offsets: svint64_t,
18328) -> svuint64_t {
18329 svldff1sh_gather_s64offset_s64(pg, base, offsets).as_unsigned()
18330}
18331#[doc = "Load 32-bit data and sign-extend, first-faulting"]
18332#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1sw_gather_[s64]offset_u64)"]
18333#[doc = "## Safety"]
18334#[doc = " * [`pointer::offset`](pointer#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)."]
18335#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
18336#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
18337#[inline]
18338#[target_feature(enable = "sve")]
18339#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
18340#[cfg_attr(test, assert_instr(ldff1sw))]
18341pub unsafe fn svldff1sw_gather_s64offset_u64(
18342 pg: svbool_t,
18343 base: *const i32,
18344 offsets: svint64_t,
18345) -> svuint64_t {
18346 svldff1sw_gather_s64offset_s64(pg, base, offsets).as_unsigned()
18347}
18348#[doc = "Load 8-bit data and sign-extend, first-faulting"]
18349#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1sb_gather_[u32]offset_s32)"]
18350#[doc = "## Safety"]
18351#[doc = " * [`pointer::offset`](pointer#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)."]
18352#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
18353#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
18354#[inline]
18355#[target_feature(enable = "sve")]
18356#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
18357#[cfg_attr(test, assert_instr(ldff1sb))]
18358pub unsafe fn svldff1sb_gather_u32offset_s32(
18359 pg: svbool_t,
18360 base: *const i8,
18361 offsets: svuint32_t,
18362) -> svint32_t {
18363 unsafe extern "unadjusted" {
18364 #[cfg_attr(
18365 target_arch = "aarch64",
18366 link_name = "llvm.aarch64.sve.ldff1.gather.uxtw.nxv4i8"
18367 )]
18368 fn _svldff1sb_gather_u32offset_s32(
18369 pg: svbool4_t,
18370 base: *const i8,
18371 offsets: svint32_t,
18372 ) -> nxv4i8;
18373 }
18374 crate::intrinsics::simd::simd_cast(_svldff1sb_gather_u32offset_s32(
18375 pg.sve_into(),
18376 base,
18377 offsets.as_signed(),
18378 ))
18379}
18380#[doc = "Load 16-bit data and sign-extend, first-faulting"]
18381#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1sh_gather_[u32]offset_s32)"]
18382#[doc = "## Safety"]
18383#[doc = " * [`pointer::offset`](pointer#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)."]
18384#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
18385#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
18386#[inline]
18387#[target_feature(enable = "sve")]
18388#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
18389#[cfg_attr(test, assert_instr(ldff1sh))]
18390pub unsafe fn svldff1sh_gather_u32offset_s32(
18391 pg: svbool_t,
18392 base: *const i16,
18393 offsets: svuint32_t,
18394) -> svint32_t {
18395 unsafe extern "unadjusted" {
18396 #[cfg_attr(
18397 target_arch = "aarch64",
18398 link_name = "llvm.aarch64.sve.ldff1.gather.uxtw.nxv4i16"
18399 )]
18400 fn _svldff1sh_gather_u32offset_s32(
18401 pg: svbool4_t,
18402 base: *const i16,
18403 offsets: svint32_t,
18404 ) -> nxv4i16;
18405 }
18406 crate::intrinsics::simd::simd_cast(_svldff1sh_gather_u32offset_s32(
18407 pg.sve_into(),
18408 base,
18409 offsets.as_signed(),
18410 ))
18411}
18412#[doc = "Load 8-bit data and sign-extend, first-faulting"]
18413#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1sb_gather_[u32]offset_u32)"]
18414#[doc = "## Safety"]
18415#[doc = " * [`pointer::offset`](pointer#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)."]
18416#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
18417#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
18418#[inline]
18419#[target_feature(enable = "sve")]
18420#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
18421#[cfg_attr(test, assert_instr(ldff1sb))]
18422pub unsafe fn svldff1sb_gather_u32offset_u32(
18423 pg: svbool_t,
18424 base: *const i8,
18425 offsets: svuint32_t,
18426) -> svuint32_t {
18427 svldff1sb_gather_u32offset_s32(pg, base, offsets).as_unsigned()
18428}
18429#[doc = "Load 16-bit data and sign-extend, first-faulting"]
18430#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1sh_gather_[u32]offset_u32)"]
18431#[doc = "## Safety"]
18432#[doc = " * [`pointer::offset`](pointer#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)."]
18433#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
18434#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
18435#[inline]
18436#[target_feature(enable = "sve")]
18437#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
18438#[cfg_attr(test, assert_instr(ldff1sh))]
18439pub unsafe fn svldff1sh_gather_u32offset_u32(
18440 pg: svbool_t,
18441 base: *const i16,
18442 offsets: svuint32_t,
18443) -> svuint32_t {
18444 svldff1sh_gather_u32offset_s32(pg, base, offsets).as_unsigned()
18445}
18446#[doc = "Load 8-bit data and sign-extend, first-faulting"]
18447#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1sb_gather_[u64]offset_s64)"]
18448#[doc = "## Safety"]
18449#[doc = " * [`pointer::offset`](pointer#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)."]
18450#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
18451#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
18452#[inline]
18453#[target_feature(enable = "sve")]
18454#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
18455#[cfg_attr(test, assert_instr(ldff1sb))]
18456pub unsafe fn svldff1sb_gather_u64offset_s64(
18457 pg: svbool_t,
18458 base: *const i8,
18459 offsets: svuint64_t,
18460) -> svint64_t {
18461 svldff1sb_gather_s64offset_s64(pg, base, offsets.as_signed())
18462}
18463#[doc = "Load 16-bit data and sign-extend, first-faulting"]
18464#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1sh_gather_[u64]offset_s64)"]
18465#[doc = "## Safety"]
18466#[doc = " * [`pointer::offset`](pointer#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)."]
18467#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
18468#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
18469#[inline]
18470#[target_feature(enable = "sve")]
18471#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
18472#[cfg_attr(test, assert_instr(ldff1sh))]
18473pub unsafe fn svldff1sh_gather_u64offset_s64(
18474 pg: svbool_t,
18475 base: *const i16,
18476 offsets: svuint64_t,
18477) -> svint64_t {
18478 svldff1sh_gather_s64offset_s64(pg, base, offsets.as_signed())
18479}
18480#[doc = "Load 32-bit data and sign-extend, first-faulting"]
18481#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1sw_gather_[u64]offset_s64)"]
18482#[doc = "## Safety"]
18483#[doc = " * [`pointer::offset`](pointer#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)."]
18484#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
18485#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
18486#[inline]
18487#[target_feature(enable = "sve")]
18488#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
18489#[cfg_attr(test, assert_instr(ldff1sw))]
18490pub unsafe fn svldff1sw_gather_u64offset_s64(
18491 pg: svbool_t,
18492 base: *const i32,
18493 offsets: svuint64_t,
18494) -> svint64_t {
18495 svldff1sw_gather_s64offset_s64(pg, base, offsets.as_signed())
18496}
18497#[doc = "Load 8-bit data and sign-extend, first-faulting"]
18498#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1sb_gather_[u64]offset_u64)"]
18499#[doc = "## Safety"]
18500#[doc = " * [`pointer::offset`](pointer#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)."]
18501#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
18502#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
18503#[inline]
18504#[target_feature(enable = "sve")]
18505#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
18506#[cfg_attr(test, assert_instr(ldff1sb))]
18507pub unsafe fn svldff1sb_gather_u64offset_u64(
18508 pg: svbool_t,
18509 base: *const i8,
18510 offsets: svuint64_t,
18511) -> svuint64_t {
18512 svldff1sb_gather_s64offset_s64(pg, base, offsets.as_signed()).as_unsigned()
18513}
18514#[doc = "Load 16-bit data and sign-extend, first-faulting"]
18515#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1sh_gather_[u64]offset_u64)"]
18516#[doc = "## Safety"]
18517#[doc = " * [`pointer::offset`](pointer#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)."]
18518#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
18519#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
18520#[inline]
18521#[target_feature(enable = "sve")]
18522#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
18523#[cfg_attr(test, assert_instr(ldff1sh))]
18524pub unsafe fn svldff1sh_gather_u64offset_u64(
18525 pg: svbool_t,
18526 base: *const i16,
18527 offsets: svuint64_t,
18528) -> svuint64_t {
18529 svldff1sh_gather_s64offset_s64(pg, base, offsets.as_signed()).as_unsigned()
18530}
18531#[doc = "Load 32-bit data and sign-extend, first-faulting"]
18532#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1sw_gather_[u64]offset_u64)"]
18533#[doc = "## Safety"]
18534#[doc = " * [`pointer::offset`](pointer#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)."]
18535#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
18536#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
18537#[inline]
18538#[target_feature(enable = "sve")]
18539#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
18540#[cfg_attr(test, assert_instr(ldff1sw))]
18541pub unsafe fn svldff1sw_gather_u64offset_u64(
18542 pg: svbool_t,
18543 base: *const i32,
18544 offsets: svuint64_t,
18545) -> svuint64_t {
18546 svldff1sw_gather_s64offset_s64(pg, base, offsets.as_signed()).as_unsigned()
18547}
18548#[doc = "Load 8-bit data and sign-extend, first-faulting"]
18549#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1sb_gather[_u32base]_offset_s32)"]
18550#[doc = "## Safety"]
18551#[doc = " * [`pointer::offset`](pointer#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)."]
18552#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
18553#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
18554#[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."]
18555#[inline]
18556#[target_feature(enable = "sve")]
18557#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
18558#[cfg_attr(test, assert_instr(ldff1sb))]
18559pub unsafe fn svldff1sb_gather_u32base_offset_s32(
18560 pg: svbool_t,
18561 bases: svuint32_t,
18562 offset: i64,
18563) -> svint32_t {
18564 unsafe extern "unadjusted" {
18565 #[cfg_attr(
18566 target_arch = "aarch64",
18567 link_name = "llvm.aarch64.sve.ldff1.gather.scalar.offset.nxv4i8.nxv4i32"
18568 )]
18569 fn _svldff1sb_gather_u32base_offset_s32(
18570 pg: svbool4_t,
18571 bases: svint32_t,
18572 offset: i64,
18573 ) -> nxv4i8;
18574 }
18575 crate::intrinsics::simd::simd_cast(_svldff1sb_gather_u32base_offset_s32(
18576 pg.sve_into(),
18577 bases.as_signed(),
18578 offset,
18579 ))
18580}
18581#[doc = "Load 16-bit data and sign-extend, first-faulting"]
18582#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1sh_gather[_u32base]_offset_s32)"]
18583#[doc = "## Safety"]
18584#[doc = " * [`pointer::offset`](pointer#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)."]
18585#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
18586#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
18587#[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."]
18588#[inline]
18589#[target_feature(enable = "sve")]
18590#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
18591#[cfg_attr(test, assert_instr(ldff1sh))]
18592pub unsafe fn svldff1sh_gather_u32base_offset_s32(
18593 pg: svbool_t,
18594 bases: svuint32_t,
18595 offset: i64,
18596) -> svint32_t {
18597 unsafe extern "unadjusted" {
18598 #[cfg_attr(
18599 target_arch = "aarch64",
18600 link_name = "llvm.aarch64.sve.ldff1.gather.scalar.offset.nxv4i16.nxv4i32"
18601 )]
18602 fn _svldff1sh_gather_u32base_offset_s32(
18603 pg: svbool4_t,
18604 bases: svint32_t,
18605 offset: i64,
18606 ) -> nxv4i16;
18607 }
18608 crate::intrinsics::simd::simd_cast(_svldff1sh_gather_u32base_offset_s32(
18609 pg.sve_into(),
18610 bases.as_signed(),
18611 offset,
18612 ))
18613}
18614#[doc = "Load 8-bit data and sign-extend, first-faulting"]
18615#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1sb_gather[_u32base]_offset_u32)"]
18616#[doc = "## Safety"]
18617#[doc = " * [`pointer::offset`](pointer#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)."]
18618#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
18619#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
18620#[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."]
18621#[inline]
18622#[target_feature(enable = "sve")]
18623#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
18624#[cfg_attr(test, assert_instr(ldff1sb))]
18625pub unsafe fn svldff1sb_gather_u32base_offset_u32(
18626 pg: svbool_t,
18627 bases: svuint32_t,
18628 offset: i64,
18629) -> svuint32_t {
18630 svldff1sb_gather_u32base_offset_s32(pg, bases, offset).as_unsigned()
18631}
18632#[doc = "Load 16-bit data and sign-extend, first-faulting"]
18633#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1sh_gather[_u32base]_offset_u32)"]
18634#[doc = "## Safety"]
18635#[doc = " * [`pointer::offset`](pointer#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)."]
18636#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
18637#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
18638#[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."]
18639#[inline]
18640#[target_feature(enable = "sve")]
18641#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
18642#[cfg_attr(test, assert_instr(ldff1sh))]
18643pub unsafe fn svldff1sh_gather_u32base_offset_u32(
18644 pg: svbool_t,
18645 bases: svuint32_t,
18646 offset: i64,
18647) -> svuint32_t {
18648 svldff1sh_gather_u32base_offset_s32(pg, bases, offset).as_unsigned()
18649}
18650#[doc = "Load 8-bit data and sign-extend, first-faulting"]
18651#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1sb_gather[_u64base]_offset_s64)"]
18652#[doc = "## Safety"]
18653#[doc = " * [`pointer::offset`](pointer#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)."]
18654#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
18655#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
18656#[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."]
18657#[inline]
18658#[target_feature(enable = "sve")]
18659#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
18660#[cfg_attr(test, assert_instr(ldff1sb))]
18661pub unsafe fn svldff1sb_gather_u64base_offset_s64(
18662 pg: svbool_t,
18663 bases: svuint64_t,
18664 offset: i64,
18665) -> svint64_t {
18666 unsafe extern "unadjusted" {
18667 #[cfg_attr(
18668 target_arch = "aarch64",
18669 link_name = "llvm.aarch64.sve.ldff1.gather.scalar.offset.nxv2i8.nxv2i64"
18670 )]
18671 fn _svldff1sb_gather_u64base_offset_s64(
18672 pg: svbool2_t,
18673 bases: svint64_t,
18674 offset: i64,
18675 ) -> nxv2i8;
18676 }
18677 crate::intrinsics::simd::simd_cast(_svldff1sb_gather_u64base_offset_s64(
18678 pg.sve_into(),
18679 bases.as_signed(),
18680 offset,
18681 ))
18682}
18683#[doc = "Load 16-bit data and sign-extend, first-faulting"]
18684#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1sh_gather[_u64base]_offset_s64)"]
18685#[doc = "## Safety"]
18686#[doc = " * [`pointer::offset`](pointer#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)."]
18687#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
18688#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
18689#[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."]
18690#[inline]
18691#[target_feature(enable = "sve")]
18692#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
18693#[cfg_attr(test, assert_instr(ldff1sh))]
18694pub unsafe fn svldff1sh_gather_u64base_offset_s64(
18695 pg: svbool_t,
18696 bases: svuint64_t,
18697 offset: i64,
18698) -> svint64_t {
18699 unsafe extern "unadjusted" {
18700 #[cfg_attr(
18701 target_arch = "aarch64",
18702 link_name = "llvm.aarch64.sve.ldff1.gather.scalar.offset.nxv2i16.nxv2i64"
18703 )]
18704 fn _svldff1sh_gather_u64base_offset_s64(
18705 pg: svbool2_t,
18706 bases: svint64_t,
18707 offset: i64,
18708 ) -> nxv2i16;
18709 }
18710 crate::intrinsics::simd::simd_cast(_svldff1sh_gather_u64base_offset_s64(
18711 pg.sve_into(),
18712 bases.as_signed(),
18713 offset,
18714 ))
18715}
18716#[doc = "Load 32-bit data and sign-extend, first-faulting"]
18717#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1sw_gather[_u64base]_offset_s64)"]
18718#[doc = "## Safety"]
18719#[doc = " * [`pointer::offset`](pointer#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)."]
18720#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
18721#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
18722#[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."]
18723#[inline]
18724#[target_feature(enable = "sve")]
18725#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
18726#[cfg_attr(test, assert_instr(ldff1sw))]
18727pub unsafe fn svldff1sw_gather_u64base_offset_s64(
18728 pg: svbool_t,
18729 bases: svuint64_t,
18730 offset: i64,
18731) -> svint64_t {
18732 unsafe extern "unadjusted" {
18733 #[cfg_attr(
18734 target_arch = "aarch64",
18735 link_name = "llvm.aarch64.sve.ldff1.gather.scalar.offset.nxv2i32.nxv2i64"
18736 )]
18737 fn _svldff1sw_gather_u64base_offset_s64(
18738 pg: svbool2_t,
18739 bases: svint64_t,
18740 offset: i64,
18741 ) -> nxv2i32;
18742 }
18743 crate::intrinsics::simd::simd_cast(_svldff1sw_gather_u64base_offset_s64(
18744 pg.sve_into(),
18745 bases.as_signed(),
18746 offset,
18747 ))
18748}
18749#[doc = "Load 8-bit data and sign-extend, first-faulting"]
18750#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1sb_gather[_u64base]_offset_u64)"]
18751#[doc = "## Safety"]
18752#[doc = " * [`pointer::offset`](pointer#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)."]
18753#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
18754#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
18755#[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."]
18756#[inline]
18757#[target_feature(enable = "sve")]
18758#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
18759#[cfg_attr(test, assert_instr(ldff1sb))]
18760pub unsafe fn svldff1sb_gather_u64base_offset_u64(
18761 pg: svbool_t,
18762 bases: svuint64_t,
18763 offset: i64,
18764) -> svuint64_t {
18765 svldff1sb_gather_u64base_offset_s64(pg, bases, offset).as_unsigned()
18766}
18767#[doc = "Load 16-bit data and sign-extend, first-faulting"]
18768#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1sh_gather[_u64base]_offset_u64)"]
18769#[doc = "## Safety"]
18770#[doc = " * [`pointer::offset`](pointer#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)."]
18771#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
18772#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
18773#[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."]
18774#[inline]
18775#[target_feature(enable = "sve")]
18776#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
18777#[cfg_attr(test, assert_instr(ldff1sh))]
18778pub unsafe fn svldff1sh_gather_u64base_offset_u64(
18779 pg: svbool_t,
18780 bases: svuint64_t,
18781 offset: i64,
18782) -> svuint64_t {
18783 svldff1sh_gather_u64base_offset_s64(pg, bases, offset).as_unsigned()
18784}
18785#[doc = "Load 32-bit data and sign-extend, first-faulting"]
18786#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1sw_gather[_u64base]_offset_u64)"]
18787#[doc = "## Safety"]
18788#[doc = " * [`pointer::offset`](pointer#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)."]
18789#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
18790#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
18791#[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."]
18792#[inline]
18793#[target_feature(enable = "sve")]
18794#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
18795#[cfg_attr(test, assert_instr(ldff1sw))]
18796pub unsafe fn svldff1sw_gather_u64base_offset_u64(
18797 pg: svbool_t,
18798 bases: svuint64_t,
18799 offset: i64,
18800) -> svuint64_t {
18801 svldff1sw_gather_u64base_offset_s64(pg, bases, offset).as_unsigned()
18802}
18803#[doc = "Load 8-bit data and sign-extend, first-faulting"]
18804#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1sb_gather[_u32base]_s32)"]
18805#[doc = "## Safety"]
18806#[doc = " * [`pointer::offset`](pointer#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)."]
18807#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
18808#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
18809#[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."]
18810#[inline]
18811#[target_feature(enable = "sve")]
18812#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
18813#[cfg_attr(test, assert_instr(ldff1sb))]
18814pub unsafe fn svldff1sb_gather_u32base_s32(pg: svbool_t, bases: svuint32_t) -> svint32_t {
18815 svldff1sb_gather_u32base_offset_s32(pg, bases, 0)
18816}
18817#[doc = "Load 16-bit data and sign-extend, first-faulting"]
18818#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1sh_gather[_u32base]_s32)"]
18819#[doc = "## Safety"]
18820#[doc = " * [`pointer::offset`](pointer#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)."]
18821#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
18822#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
18823#[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."]
18824#[inline]
18825#[target_feature(enable = "sve")]
18826#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
18827#[cfg_attr(test, assert_instr(ldff1sh))]
18828pub unsafe fn svldff1sh_gather_u32base_s32(pg: svbool_t, bases: svuint32_t) -> svint32_t {
18829 svldff1sh_gather_u32base_offset_s32(pg, bases, 0)
18830}
18831#[doc = "Load 8-bit data and sign-extend, first-faulting"]
18832#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1sb_gather[_u32base]_u32)"]
18833#[doc = "## Safety"]
18834#[doc = " * [`pointer::offset`](pointer#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)."]
18835#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
18836#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
18837#[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."]
18838#[inline]
18839#[target_feature(enable = "sve")]
18840#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
18841#[cfg_attr(test, assert_instr(ldff1sb))]
18842pub unsafe fn svldff1sb_gather_u32base_u32(pg: svbool_t, bases: svuint32_t) -> svuint32_t {
18843 svldff1sb_gather_u32base_offset_u32(pg, bases, 0)
18844}
18845#[doc = "Load 16-bit data and sign-extend, first-faulting"]
18846#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1sh_gather[_u32base]_u32)"]
18847#[doc = "## Safety"]
18848#[doc = " * [`pointer::offset`](pointer#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)."]
18849#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
18850#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
18851#[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."]
18852#[inline]
18853#[target_feature(enable = "sve")]
18854#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
18855#[cfg_attr(test, assert_instr(ldff1sh))]
18856pub unsafe fn svldff1sh_gather_u32base_u32(pg: svbool_t, bases: svuint32_t) -> svuint32_t {
18857 svldff1sh_gather_u32base_offset_u32(pg, bases, 0)
18858}
18859#[doc = "Load 8-bit data and sign-extend, first-faulting"]
18860#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1sb_gather[_u64base]_s64)"]
18861#[doc = "## Safety"]
18862#[doc = " * [`pointer::offset`](pointer#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)."]
18863#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
18864#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
18865#[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."]
18866#[inline]
18867#[target_feature(enable = "sve")]
18868#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
18869#[cfg_attr(test, assert_instr(ldff1sb))]
18870pub unsafe fn svldff1sb_gather_u64base_s64(pg: svbool_t, bases: svuint64_t) -> svint64_t {
18871 svldff1sb_gather_u64base_offset_s64(pg, bases, 0)
18872}
18873#[doc = "Load 16-bit data and sign-extend, first-faulting"]
18874#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1sh_gather[_u64base]_s64)"]
18875#[doc = "## Safety"]
18876#[doc = " * [`pointer::offset`](pointer#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)."]
18877#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
18878#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
18879#[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."]
18880#[inline]
18881#[target_feature(enable = "sve")]
18882#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
18883#[cfg_attr(test, assert_instr(ldff1sh))]
18884pub unsafe fn svldff1sh_gather_u64base_s64(pg: svbool_t, bases: svuint64_t) -> svint64_t {
18885 svldff1sh_gather_u64base_offset_s64(pg, bases, 0)
18886}
18887#[doc = "Load 32-bit data and sign-extend, first-faulting"]
18888#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1sw_gather[_u64base]_s64)"]
18889#[doc = "## Safety"]
18890#[doc = " * [`pointer::offset`](pointer#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)."]
18891#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
18892#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
18893#[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."]
18894#[inline]
18895#[target_feature(enable = "sve")]
18896#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
18897#[cfg_attr(test, assert_instr(ldff1sw))]
18898pub unsafe fn svldff1sw_gather_u64base_s64(pg: svbool_t, bases: svuint64_t) -> svint64_t {
18899 svldff1sw_gather_u64base_offset_s64(pg, bases, 0)
18900}
18901#[doc = "Load 8-bit data and sign-extend, first-faulting"]
18902#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1sb_gather[_u64base]_u64)"]
18903#[doc = "## Safety"]
18904#[doc = " * [`pointer::offset`](pointer#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)."]
18905#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
18906#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
18907#[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."]
18908#[inline]
18909#[target_feature(enable = "sve")]
18910#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
18911#[cfg_attr(test, assert_instr(ldff1sb))]
18912pub unsafe fn svldff1sb_gather_u64base_u64(pg: svbool_t, bases: svuint64_t) -> svuint64_t {
18913 svldff1sb_gather_u64base_offset_u64(pg, bases, 0)
18914}
18915#[doc = "Load 16-bit data and sign-extend, first-faulting"]
18916#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1sh_gather[_u64base]_u64)"]
18917#[doc = "## Safety"]
18918#[doc = " * [`pointer::offset`](pointer#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)."]
18919#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
18920#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
18921#[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."]
18922#[inline]
18923#[target_feature(enable = "sve")]
18924#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
18925#[cfg_attr(test, assert_instr(ldff1sh))]
18926pub unsafe fn svldff1sh_gather_u64base_u64(pg: svbool_t, bases: svuint64_t) -> svuint64_t {
18927 svldff1sh_gather_u64base_offset_u64(pg, bases, 0)
18928}
18929#[doc = "Load 32-bit data and sign-extend, first-faulting"]
18930#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1sw_gather[_u64base]_u64)"]
18931#[doc = "## Safety"]
18932#[doc = " * [`pointer::offset`](pointer#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)."]
18933#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
18934#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
18935#[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."]
18936#[inline]
18937#[target_feature(enable = "sve")]
18938#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
18939#[cfg_attr(test, assert_instr(ldff1sw))]
18940pub unsafe fn svldff1sw_gather_u64base_u64(pg: svbool_t, bases: svuint64_t) -> svuint64_t {
18941 svldff1sw_gather_u64base_offset_u64(pg, bases, 0)
18942}
18943#[doc = "Load 8-bit data and sign-extend, first-faulting"]
18944#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1sb_s16)"]
18945#[doc = "## Safety"]
18946#[doc = " * [`pointer::offset`](pointer#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)."]
18947#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
18948#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
18949#[inline]
18950#[target_feature(enable = "sve")]
18951#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
18952#[cfg_attr(test, assert_instr(ldff1sb))]
18953pub unsafe fn svldff1sb_s16(pg: svbool_t, base: *const i8) -> svint16_t {
18954 unsafe extern "unadjusted" {
18955 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.ldff1.nxv8i8")]
18956 fn _svldff1sb_s16(pg: svbool8_t, base: *const i8) -> nxv8i8;
18957 }
18958 crate::intrinsics::simd::simd_cast(_svldff1sb_s16(pg.sve_into(), base))
18959}
18960#[doc = "Load 8-bit data and sign-extend, first-faulting"]
18961#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1sb_s32)"]
18962#[doc = "## Safety"]
18963#[doc = " * [`pointer::offset`](pointer#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)."]
18964#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
18965#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
18966#[inline]
18967#[target_feature(enable = "sve")]
18968#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
18969#[cfg_attr(test, assert_instr(ldff1sb))]
18970pub unsafe fn svldff1sb_s32(pg: svbool_t, base: *const i8) -> svint32_t {
18971 unsafe extern "unadjusted" {
18972 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.ldff1.nxv4i8")]
18973 fn _svldff1sb_s32(pg: svbool4_t, base: *const i8) -> nxv4i8;
18974 }
18975 crate::intrinsics::simd::simd_cast(_svldff1sb_s32(pg.sve_into(), base))
18976}
18977#[doc = "Load 16-bit data and sign-extend, first-faulting"]
18978#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1sh_s32)"]
18979#[doc = "## Safety"]
18980#[doc = " * [`pointer::offset`](pointer#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)."]
18981#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
18982#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
18983#[inline]
18984#[target_feature(enable = "sve")]
18985#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
18986#[cfg_attr(test, assert_instr(ldff1sh))]
18987pub unsafe fn svldff1sh_s32(pg: svbool_t, base: *const i16) -> svint32_t {
18988 unsafe extern "unadjusted" {
18989 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.ldff1.nxv4i16")]
18990 fn _svldff1sh_s32(pg: svbool4_t, base: *const i16) -> nxv4i16;
18991 }
18992 crate::intrinsics::simd::simd_cast(_svldff1sh_s32(pg.sve_into(), base))
18993}
18994#[doc = "Load 8-bit data and sign-extend, first-faulting"]
18995#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1sb_s64)"]
18996#[doc = "## Safety"]
18997#[doc = " * [`pointer::offset`](pointer#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)."]
18998#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
18999#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
19000#[inline]
19001#[target_feature(enable = "sve")]
19002#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
19003#[cfg_attr(test, assert_instr(ldff1sb))]
19004pub unsafe fn svldff1sb_s64(pg: svbool_t, base: *const i8) -> svint64_t {
19005 unsafe extern "unadjusted" {
19006 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.ldff1.nxv2i8")]
19007 fn _svldff1sb_s64(pg: svbool2_t, base: *const i8) -> nxv2i8;
19008 }
19009 crate::intrinsics::simd::simd_cast(_svldff1sb_s64(pg.sve_into(), base))
19010}
19011#[doc = "Load 16-bit data and sign-extend, first-faulting"]
19012#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1sh_s64)"]
19013#[doc = "## Safety"]
19014#[doc = " * [`pointer::offset`](pointer#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)."]
19015#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
19016#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
19017#[inline]
19018#[target_feature(enable = "sve")]
19019#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
19020#[cfg_attr(test, assert_instr(ldff1sh))]
19021pub unsafe fn svldff1sh_s64(pg: svbool_t, base: *const i16) -> svint64_t {
19022 unsafe extern "unadjusted" {
19023 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.ldff1.nxv2i16")]
19024 fn _svldff1sh_s64(pg: svbool2_t, base: *const i16) -> nxv2i16;
19025 }
19026 crate::intrinsics::simd::simd_cast(_svldff1sh_s64(pg.sve_into(), base))
19027}
19028#[doc = "Load 32-bit data and sign-extend, first-faulting"]
19029#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1sw_s64)"]
19030#[doc = "## Safety"]
19031#[doc = " * [`pointer::offset`](pointer#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)."]
19032#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
19033#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
19034#[inline]
19035#[target_feature(enable = "sve")]
19036#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
19037#[cfg_attr(test, assert_instr(ldff1sw))]
19038pub unsafe fn svldff1sw_s64(pg: svbool_t, base: *const i32) -> svint64_t {
19039 unsafe extern "unadjusted" {
19040 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.ldff1.nxv2i32")]
19041 fn _svldff1sw_s64(pg: svbool2_t, base: *const i32) -> nxv2i32;
19042 }
19043 crate::intrinsics::simd::simd_cast(_svldff1sw_s64(pg.sve_into(), base))
19044}
19045#[doc = "Load 8-bit data and sign-extend, first-faulting"]
19046#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1sb_u16)"]
19047#[doc = "## Safety"]
19048#[doc = " * [`pointer::offset`](pointer#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)."]
19049#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
19050#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
19051#[inline]
19052#[target_feature(enable = "sve")]
19053#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
19054#[cfg_attr(test, assert_instr(ldff1sb))]
19055pub unsafe fn svldff1sb_u16(pg: svbool_t, base: *const i8) -> svuint16_t {
19056 svldff1sb_s16(pg, base).as_unsigned()
19057}
19058#[doc = "Load 8-bit data and sign-extend, first-faulting"]
19059#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1sb_u32)"]
19060#[doc = "## Safety"]
19061#[doc = " * [`pointer::offset`](pointer#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)."]
19062#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
19063#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
19064#[inline]
19065#[target_feature(enable = "sve")]
19066#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
19067#[cfg_attr(test, assert_instr(ldff1sb))]
19068pub unsafe fn svldff1sb_u32(pg: svbool_t, base: *const i8) -> svuint32_t {
19069 svldff1sb_s32(pg, base).as_unsigned()
19070}
19071#[doc = "Load 16-bit data and sign-extend, first-faulting"]
19072#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1sh_u32)"]
19073#[doc = "## Safety"]
19074#[doc = " * [`pointer::offset`](pointer#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)."]
19075#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
19076#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
19077#[inline]
19078#[target_feature(enable = "sve")]
19079#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
19080#[cfg_attr(test, assert_instr(ldff1sh))]
19081pub unsafe fn svldff1sh_u32(pg: svbool_t, base: *const i16) -> svuint32_t {
19082 svldff1sh_s32(pg, base).as_unsigned()
19083}
19084#[doc = "Load 8-bit data and sign-extend, first-faulting"]
19085#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1sb_u64)"]
19086#[doc = "## Safety"]
19087#[doc = " * [`pointer::offset`](pointer#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)."]
19088#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
19089#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
19090#[inline]
19091#[target_feature(enable = "sve")]
19092#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
19093#[cfg_attr(test, assert_instr(ldff1sb))]
19094pub unsafe fn svldff1sb_u64(pg: svbool_t, base: *const i8) -> svuint64_t {
19095 svldff1sb_s64(pg, base).as_unsigned()
19096}
19097#[doc = "Load 16-bit data and sign-extend, first-faulting"]
19098#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1sh_u64)"]
19099#[doc = "## Safety"]
19100#[doc = " * [`pointer::offset`](pointer#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)."]
19101#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
19102#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
19103#[inline]
19104#[target_feature(enable = "sve")]
19105#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
19106#[cfg_attr(test, assert_instr(ldff1sh))]
19107pub unsafe fn svldff1sh_u64(pg: svbool_t, base: *const i16) -> svuint64_t {
19108 svldff1sh_s64(pg, base).as_unsigned()
19109}
19110#[doc = "Load 32-bit data and sign-extend, first-faulting"]
19111#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1sw_u64)"]
19112#[doc = "## Safety"]
19113#[doc = " * [`pointer::offset`](pointer#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)."]
19114#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
19115#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
19116#[inline]
19117#[target_feature(enable = "sve")]
19118#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
19119#[cfg_attr(test, assert_instr(ldff1sw))]
19120pub unsafe fn svldff1sw_u64(pg: svbool_t, base: *const i32) -> svuint64_t {
19121 svldff1sw_s64(pg, base).as_unsigned()
19122}
19123#[doc = "Load 8-bit data and sign-extend, first-faulting"]
19124#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1sb_vnum_s16)"]
19125#[doc = "## Safety"]
19126#[doc = " * [`pointer::offset`](pointer#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."]
19127#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
19128#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
19129#[inline]
19130#[target_feature(enable = "sve")]
19131#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
19132#[cfg_attr(test, assert_instr(ldff1sb))]
19133pub unsafe fn svldff1sb_vnum_s16(pg: svbool_t, base: *const i8, vnum: i64) -> svint16_t {
19134 svldff1sb_s16(pg, base.offset(svcnth() as isize * vnum as isize))
19135}
19136#[doc = "Load 8-bit data and sign-extend, first-faulting"]
19137#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1sb_vnum_s32)"]
19138#[doc = "## Safety"]
19139#[doc = " * [`pointer::offset`](pointer#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."]
19140#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
19141#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
19142#[inline]
19143#[target_feature(enable = "sve")]
19144#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
19145#[cfg_attr(test, assert_instr(ldff1sb))]
19146pub unsafe fn svldff1sb_vnum_s32(pg: svbool_t, base: *const i8, vnum: i64) -> svint32_t {
19147 svldff1sb_s32(pg, base.offset(svcntw() as isize * vnum as isize))
19148}
19149#[doc = "Load 16-bit data and sign-extend, first-faulting"]
19150#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1sh_vnum_s32)"]
19151#[doc = "## Safety"]
19152#[doc = " * [`pointer::offset`](pointer#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."]
19153#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
19154#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
19155#[inline]
19156#[target_feature(enable = "sve")]
19157#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
19158#[cfg_attr(test, assert_instr(ldff1sh))]
19159pub unsafe fn svldff1sh_vnum_s32(pg: svbool_t, base: *const i16, vnum: i64) -> svint32_t {
19160 svldff1sh_s32(pg, base.offset(svcntw() as isize * vnum as isize))
19161}
19162#[doc = "Load 8-bit data and sign-extend, first-faulting"]
19163#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1sb_vnum_s64)"]
19164#[doc = "## Safety"]
19165#[doc = " * [`pointer::offset`](pointer#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."]
19166#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
19167#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
19168#[inline]
19169#[target_feature(enable = "sve")]
19170#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
19171#[cfg_attr(test, assert_instr(ldff1sb))]
19172pub unsafe fn svldff1sb_vnum_s64(pg: svbool_t, base: *const i8, vnum: i64) -> svint64_t {
19173 svldff1sb_s64(pg, base.offset(svcntd() as isize * vnum as isize))
19174}
19175#[doc = "Load 16-bit data and sign-extend, first-faulting"]
19176#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1sh_vnum_s64)"]
19177#[doc = "## Safety"]
19178#[doc = " * [`pointer::offset`](pointer#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."]
19179#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
19180#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
19181#[inline]
19182#[target_feature(enable = "sve")]
19183#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
19184#[cfg_attr(test, assert_instr(ldff1sh))]
19185pub unsafe fn svldff1sh_vnum_s64(pg: svbool_t, base: *const i16, vnum: i64) -> svint64_t {
19186 svldff1sh_s64(pg, base.offset(svcntd() as isize * vnum as isize))
19187}
19188#[doc = "Load 32-bit data and sign-extend, first-faulting"]
19189#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1sw_vnum_s64)"]
19190#[doc = "## Safety"]
19191#[doc = " * [`pointer::offset`](pointer#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."]
19192#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
19193#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
19194#[inline]
19195#[target_feature(enable = "sve")]
19196#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
19197#[cfg_attr(test, assert_instr(ldff1sw))]
19198pub unsafe fn svldff1sw_vnum_s64(pg: svbool_t, base: *const i32, vnum: i64) -> svint64_t {
19199 svldff1sw_s64(pg, base.offset(svcntd() as isize * vnum as isize))
19200}
19201#[doc = "Load 8-bit data and sign-extend, first-faulting"]
19202#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1sb_vnum_u16)"]
19203#[doc = "## Safety"]
19204#[doc = " * [`pointer::offset`](pointer#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."]
19205#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
19206#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
19207#[inline]
19208#[target_feature(enable = "sve")]
19209#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
19210#[cfg_attr(test, assert_instr(ldff1sb))]
19211pub unsafe fn svldff1sb_vnum_u16(pg: svbool_t, base: *const i8, vnum: i64) -> svuint16_t {
19212 svldff1sb_u16(pg, base.offset(svcnth() as isize * vnum as isize))
19213}
19214#[doc = "Load 8-bit data and sign-extend, first-faulting"]
19215#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1sb_vnum_u32)"]
19216#[doc = "## Safety"]
19217#[doc = " * [`pointer::offset`](pointer#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."]
19218#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
19219#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
19220#[inline]
19221#[target_feature(enable = "sve")]
19222#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
19223#[cfg_attr(test, assert_instr(ldff1sb))]
19224pub unsafe fn svldff1sb_vnum_u32(pg: svbool_t, base: *const i8, vnum: i64) -> svuint32_t {
19225 svldff1sb_u32(pg, base.offset(svcntw() as isize * vnum as isize))
19226}
19227#[doc = "Load 16-bit data and sign-extend, first-faulting"]
19228#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1sh_vnum_u32)"]
19229#[doc = "## Safety"]
19230#[doc = " * [`pointer::offset`](pointer#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."]
19231#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
19232#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
19233#[inline]
19234#[target_feature(enable = "sve")]
19235#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
19236#[cfg_attr(test, assert_instr(ldff1sh))]
19237pub unsafe fn svldff1sh_vnum_u32(pg: svbool_t, base: *const i16, vnum: i64) -> svuint32_t {
19238 svldff1sh_u32(pg, base.offset(svcntw() as isize * vnum as isize))
19239}
19240#[doc = "Load 8-bit data and sign-extend, first-faulting"]
19241#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1sb_vnum_u64)"]
19242#[doc = "## Safety"]
19243#[doc = " * [`pointer::offset`](pointer#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."]
19244#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
19245#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
19246#[inline]
19247#[target_feature(enable = "sve")]
19248#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
19249#[cfg_attr(test, assert_instr(ldff1sb))]
19250pub unsafe fn svldff1sb_vnum_u64(pg: svbool_t, base: *const i8, vnum: i64) -> svuint64_t {
19251 svldff1sb_u64(pg, base.offset(svcntd() as isize * vnum as isize))
19252}
19253#[doc = "Load 16-bit data and sign-extend, first-faulting"]
19254#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1sh_vnum_u64)"]
19255#[doc = "## Safety"]
19256#[doc = " * [`pointer::offset`](pointer#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."]
19257#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
19258#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
19259#[inline]
19260#[target_feature(enable = "sve")]
19261#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
19262#[cfg_attr(test, assert_instr(ldff1sh))]
19263pub unsafe fn svldff1sh_vnum_u64(pg: svbool_t, base: *const i16, vnum: i64) -> svuint64_t {
19264 svldff1sh_u64(pg, base.offset(svcntd() as isize * vnum as isize))
19265}
19266#[doc = "Load 32-bit data and sign-extend, first-faulting"]
19267#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1sw_vnum_u64)"]
19268#[doc = "## Safety"]
19269#[doc = " * [`pointer::offset`](pointer#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."]
19270#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
19271#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
19272#[inline]
19273#[target_feature(enable = "sve")]
19274#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
19275#[cfg_attr(test, assert_instr(ldff1sw))]
19276pub unsafe fn svldff1sw_vnum_u64(pg: svbool_t, base: *const i32, vnum: i64) -> svuint64_t {
19277 svldff1sw_u64(pg, base.offset(svcntd() as isize * vnum as isize))
19278}
19279#[doc = "Load 16-bit data and sign-extend, first-faulting"]
19280#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1sh_gather_[s32]index_s32)"]
19281#[doc = "## Safety"]
19282#[doc = " * [`pointer::offset`](pointer#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)."]
19283#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
19284#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
19285#[inline]
19286#[target_feature(enable = "sve")]
19287#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
19288#[cfg_attr(test, assert_instr(ldff1sh))]
19289pub unsafe fn svldff1sh_gather_s32index_s32(
19290 pg: svbool_t,
19291 base: *const i16,
19292 indices: svint32_t,
19293) -> svint32_t {
19294 unsafe extern "unadjusted" {
19295 #[cfg_attr(
19296 target_arch = "aarch64",
19297 link_name = "llvm.aarch64.sve.ldff1.gather.sxtw.index.nxv4i16"
19298 )]
19299 fn _svldff1sh_gather_s32index_s32(
19300 pg: svbool4_t,
19301 base: *const i16,
19302 indices: svint32_t,
19303 ) -> nxv4i16;
19304 }
19305 crate::intrinsics::simd::simd_cast(_svldff1sh_gather_s32index_s32(pg.sve_into(), base, indices))
19306}
19307#[doc = "Load 16-bit data and sign-extend, first-faulting"]
19308#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1sh_gather_[s32]index_u32)"]
19309#[doc = "## Safety"]
19310#[doc = " * [`pointer::offset`](pointer#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)."]
19311#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
19312#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
19313#[inline]
19314#[target_feature(enable = "sve")]
19315#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
19316#[cfg_attr(test, assert_instr(ldff1sh))]
19317pub unsafe fn svldff1sh_gather_s32index_u32(
19318 pg: svbool_t,
19319 base: *const i16,
19320 indices: svint32_t,
19321) -> svuint32_t {
19322 svldff1sh_gather_s32index_s32(pg, base, indices).as_unsigned()
19323}
19324#[doc = "Load 16-bit data and sign-extend, first-faulting"]
19325#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1sh_gather_[s64]index_s64)"]
19326#[doc = "## Safety"]
19327#[doc = " * [`pointer::offset`](pointer#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)."]
19328#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
19329#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
19330#[inline]
19331#[target_feature(enable = "sve")]
19332#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
19333#[cfg_attr(test, assert_instr(ldff1sh))]
19334pub unsafe fn svldff1sh_gather_s64index_s64(
19335 pg: svbool_t,
19336 base: *const i16,
19337 indices: svint64_t,
19338) -> svint64_t {
19339 unsafe extern "unadjusted" {
19340 #[cfg_attr(
19341 target_arch = "aarch64",
19342 link_name = "llvm.aarch64.sve.ldff1.gather.index.nxv2i16"
19343 )]
19344 fn _svldff1sh_gather_s64index_s64(
19345 pg: svbool2_t,
19346 base: *const i16,
19347 indices: svint64_t,
19348 ) -> nxv2i16;
19349 }
19350 crate::intrinsics::simd::simd_cast(_svldff1sh_gather_s64index_s64(pg.sve_into(), base, indices))
19351}
19352#[doc = "Load 32-bit data and sign-extend, first-faulting"]
19353#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1sw_gather_[s64]index_s64)"]
19354#[doc = "## Safety"]
19355#[doc = " * [`pointer::offset`](pointer#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)."]
19356#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
19357#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
19358#[inline]
19359#[target_feature(enable = "sve")]
19360#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
19361#[cfg_attr(test, assert_instr(ldff1sw))]
19362pub unsafe fn svldff1sw_gather_s64index_s64(
19363 pg: svbool_t,
19364 base: *const i32,
19365 indices: svint64_t,
19366) -> svint64_t {
19367 unsafe extern "unadjusted" {
19368 #[cfg_attr(
19369 target_arch = "aarch64",
19370 link_name = "llvm.aarch64.sve.ldff1.gather.index.nxv2i32"
19371 )]
19372 fn _svldff1sw_gather_s64index_s64(
19373 pg: svbool2_t,
19374 base: *const i32,
19375 indices: svint64_t,
19376 ) -> nxv2i32;
19377 }
19378 crate::intrinsics::simd::simd_cast(_svldff1sw_gather_s64index_s64(pg.sve_into(), base, indices))
19379}
19380#[doc = "Load 16-bit data and sign-extend, first-faulting"]
19381#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1sh_gather_[s64]index_u64)"]
19382#[doc = "## Safety"]
19383#[doc = " * [`pointer::offset`](pointer#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)."]
19384#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
19385#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
19386#[inline]
19387#[target_feature(enable = "sve")]
19388#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
19389#[cfg_attr(test, assert_instr(ldff1sh))]
19390pub unsafe fn svldff1sh_gather_s64index_u64(
19391 pg: svbool_t,
19392 base: *const i16,
19393 indices: svint64_t,
19394) -> svuint64_t {
19395 svldff1sh_gather_s64index_s64(pg, base, indices).as_unsigned()
19396}
19397#[doc = "Load 32-bit data and sign-extend, first-faulting"]
19398#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1sw_gather_[s64]index_u64)"]
19399#[doc = "## Safety"]
19400#[doc = " * [`pointer::offset`](pointer#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)."]
19401#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
19402#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
19403#[inline]
19404#[target_feature(enable = "sve")]
19405#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
19406#[cfg_attr(test, assert_instr(ldff1sw))]
19407pub unsafe fn svldff1sw_gather_s64index_u64(
19408 pg: svbool_t,
19409 base: *const i32,
19410 indices: svint64_t,
19411) -> svuint64_t {
19412 svldff1sw_gather_s64index_s64(pg, base, indices).as_unsigned()
19413}
19414#[doc = "Load 16-bit data and sign-extend, first-faulting"]
19415#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1sh_gather_[u32]index_s32)"]
19416#[doc = "## Safety"]
19417#[doc = " * [`pointer::offset`](pointer#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)."]
19418#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
19419#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
19420#[inline]
19421#[target_feature(enable = "sve")]
19422#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
19423#[cfg_attr(test, assert_instr(ldff1sh))]
19424pub unsafe fn svldff1sh_gather_u32index_s32(
19425 pg: svbool_t,
19426 base: *const i16,
19427 indices: svuint32_t,
19428) -> svint32_t {
19429 unsafe extern "unadjusted" {
19430 #[cfg_attr(
19431 target_arch = "aarch64",
19432 link_name = "llvm.aarch64.sve.ldff1.gather.uxtw.index.nxv4i16"
19433 )]
19434 fn _svldff1sh_gather_u32index_s32(
19435 pg: svbool4_t,
19436 base: *const i16,
19437 indices: svint32_t,
19438 ) -> nxv4i16;
19439 }
19440 crate::intrinsics::simd::simd_cast(_svldff1sh_gather_u32index_s32(
19441 pg.sve_into(),
19442 base,
19443 indices.as_signed(),
19444 ))
19445}
19446#[doc = "Load 16-bit data and sign-extend, first-faulting"]
19447#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1sh_gather_[u32]index_u32)"]
19448#[doc = "## Safety"]
19449#[doc = " * [`pointer::offset`](pointer#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)."]
19450#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
19451#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
19452#[inline]
19453#[target_feature(enable = "sve")]
19454#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
19455#[cfg_attr(test, assert_instr(ldff1sh))]
19456pub unsafe fn svldff1sh_gather_u32index_u32(
19457 pg: svbool_t,
19458 base: *const i16,
19459 indices: svuint32_t,
19460) -> svuint32_t {
19461 svldff1sh_gather_u32index_s32(pg, base, indices).as_unsigned()
19462}
19463#[doc = "Load 16-bit data and sign-extend, first-faulting"]
19464#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1sh_gather_[u64]index_s64)"]
19465#[doc = "## Safety"]
19466#[doc = " * [`pointer::offset`](pointer#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)."]
19467#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
19468#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
19469#[inline]
19470#[target_feature(enable = "sve")]
19471#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
19472#[cfg_attr(test, assert_instr(ldff1sh))]
19473pub unsafe fn svldff1sh_gather_u64index_s64(
19474 pg: svbool_t,
19475 base: *const i16,
19476 indices: svuint64_t,
19477) -> svint64_t {
19478 svldff1sh_gather_s64index_s64(pg, base, indices.as_signed())
19479}
19480#[doc = "Load 32-bit data and sign-extend, first-faulting"]
19481#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1sw_gather_[u64]index_s64)"]
19482#[doc = "## Safety"]
19483#[doc = " * [`pointer::offset`](pointer#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)."]
19484#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
19485#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
19486#[inline]
19487#[target_feature(enable = "sve")]
19488#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
19489#[cfg_attr(test, assert_instr(ldff1sw))]
19490pub unsafe fn svldff1sw_gather_u64index_s64(
19491 pg: svbool_t,
19492 base: *const i32,
19493 indices: svuint64_t,
19494) -> svint64_t {
19495 svldff1sw_gather_s64index_s64(pg, base, indices.as_signed())
19496}
19497#[doc = "Load 16-bit data and sign-extend, first-faulting"]
19498#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1sh_gather_[u64]index_u64)"]
19499#[doc = "## Safety"]
19500#[doc = " * [`pointer::offset`](pointer#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)."]
19501#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
19502#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
19503#[inline]
19504#[target_feature(enable = "sve")]
19505#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
19506#[cfg_attr(test, assert_instr(ldff1sh))]
19507pub unsafe fn svldff1sh_gather_u64index_u64(
19508 pg: svbool_t,
19509 base: *const i16,
19510 indices: svuint64_t,
19511) -> svuint64_t {
19512 svldff1sh_gather_s64index_s64(pg, base, indices.as_signed()).as_unsigned()
19513}
19514#[doc = "Load 32-bit data and sign-extend, first-faulting"]
19515#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1sw_gather_[u64]index_u64)"]
19516#[doc = "## Safety"]
19517#[doc = " * [`pointer::offset`](pointer#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)."]
19518#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
19519#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
19520#[inline]
19521#[target_feature(enable = "sve")]
19522#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
19523#[cfg_attr(test, assert_instr(ldff1sw))]
19524pub unsafe fn svldff1sw_gather_u64index_u64(
19525 pg: svbool_t,
19526 base: *const i32,
19527 indices: svuint64_t,
19528) -> svuint64_t {
19529 svldff1sw_gather_s64index_s64(pg, base, indices.as_signed()).as_unsigned()
19530}
19531#[doc = "Load 16-bit data and sign-extend, first-faulting"]
19532#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1sh_gather[_u32base]_index_s32)"]
19533#[doc = "## Safety"]
19534#[doc = " * [`pointer::offset`](pointer#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)."]
19535#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
19536#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
19537#[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."]
19538#[inline]
19539#[target_feature(enable = "sve")]
19540#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
19541#[cfg_attr(test, assert_instr(ldff1sh))]
19542pub unsafe fn svldff1sh_gather_u32base_index_s32(
19543 pg: svbool_t,
19544 bases: svuint32_t,
19545 index: i64,
19546) -> svint32_t {
19547 svldff1sh_gather_u32base_offset_s32(pg, bases, index.unchecked_shl(1))
19548}
19549#[doc = "Load 16-bit data and sign-extend, first-faulting"]
19550#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1sh_gather[_u32base]_index_u32)"]
19551#[doc = "## Safety"]
19552#[doc = " * [`pointer::offset`](pointer#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)."]
19553#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
19554#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
19555#[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."]
19556#[inline]
19557#[target_feature(enable = "sve")]
19558#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
19559#[cfg_attr(test, assert_instr(ldff1sh))]
19560pub unsafe fn svldff1sh_gather_u32base_index_u32(
19561 pg: svbool_t,
19562 bases: svuint32_t,
19563 index: i64,
19564) -> svuint32_t {
19565 svldff1sh_gather_u32base_offset_u32(pg, bases, index.unchecked_shl(1))
19566}
19567#[doc = "Load 16-bit data and sign-extend, first-faulting"]
19568#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1sh_gather[_u64base]_index_s64)"]
19569#[doc = "## Safety"]
19570#[doc = " * [`pointer::offset`](pointer#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)."]
19571#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
19572#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
19573#[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."]
19574#[inline]
19575#[target_feature(enable = "sve")]
19576#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
19577#[cfg_attr(test, assert_instr(ldff1sh))]
19578pub unsafe fn svldff1sh_gather_u64base_index_s64(
19579 pg: svbool_t,
19580 bases: svuint64_t,
19581 index: i64,
19582) -> svint64_t {
19583 svldff1sh_gather_u64base_offset_s64(pg, bases, index.unchecked_shl(1))
19584}
19585#[doc = "Load 32-bit data and sign-extend, first-faulting"]
19586#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1sw_gather[_u64base]_index_s64)"]
19587#[doc = "## Safety"]
19588#[doc = " * [`pointer::offset`](pointer#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)."]
19589#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
19590#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
19591#[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."]
19592#[inline]
19593#[target_feature(enable = "sve")]
19594#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
19595#[cfg_attr(test, assert_instr(ldff1sw))]
19596pub unsafe fn svldff1sw_gather_u64base_index_s64(
19597 pg: svbool_t,
19598 bases: svuint64_t,
19599 index: i64,
19600) -> svint64_t {
19601 svldff1sw_gather_u64base_offset_s64(pg, bases, index.unchecked_shl(2))
19602}
19603#[doc = "Load 16-bit data and sign-extend, first-faulting"]
19604#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1sh_gather[_u64base]_index_u64)"]
19605#[doc = "## Safety"]
19606#[doc = " * [`pointer::offset`](pointer#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)."]
19607#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
19608#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
19609#[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."]
19610#[inline]
19611#[target_feature(enable = "sve")]
19612#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
19613#[cfg_attr(test, assert_instr(ldff1sh))]
19614pub unsafe fn svldff1sh_gather_u64base_index_u64(
19615 pg: svbool_t,
19616 bases: svuint64_t,
19617 index: i64,
19618) -> svuint64_t {
19619 svldff1sh_gather_u64base_offset_u64(pg, bases, index.unchecked_shl(1))
19620}
19621#[doc = "Load 32-bit data and sign-extend, first-faulting"]
19622#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1sw_gather[_u64base]_index_u64)"]
19623#[doc = "## Safety"]
19624#[doc = " * [`pointer::offset`](pointer#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)."]
19625#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
19626#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
19627#[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."]
19628#[inline]
19629#[target_feature(enable = "sve")]
19630#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
19631#[cfg_attr(test, assert_instr(ldff1sw))]
19632pub unsafe fn svldff1sw_gather_u64base_index_u64(
19633 pg: svbool_t,
19634 bases: svuint64_t,
19635 index: i64,
19636) -> svuint64_t {
19637 svldff1sw_gather_u64base_offset_u64(pg, bases, index.unchecked_shl(2))
19638}
19639#[doc = "Load 8-bit data and zero-extend, first-faulting"]
19640#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1ub_gather_[s32]offset_s32)"]
19641#[doc = "## Safety"]
19642#[doc = " * [`pointer::offset`](pointer#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)."]
19643#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
19644#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
19645#[inline]
19646#[target_feature(enable = "sve")]
19647#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
19648#[cfg_attr(test, assert_instr(ldff1b))]
19649pub unsafe fn svldff1ub_gather_s32offset_s32(
19650 pg: svbool_t,
19651 base: *const u8,
19652 offsets: svint32_t,
19653) -> svint32_t {
19654 svldff1ub_gather_s32offset_u32(pg, base, offsets).as_signed()
19655}
19656#[doc = "Load 16-bit data and zero-extend, first-faulting"]
19657#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1uh_gather_[s32]offset_s32)"]
19658#[doc = "## Safety"]
19659#[doc = " * [`pointer::offset`](pointer#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)."]
19660#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
19661#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
19662#[inline]
19663#[target_feature(enable = "sve")]
19664#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
19665#[cfg_attr(test, assert_instr(ldff1h))]
19666pub unsafe fn svldff1uh_gather_s32offset_s32(
19667 pg: svbool_t,
19668 base: *const u16,
19669 offsets: svint32_t,
19670) -> svint32_t {
19671 svldff1uh_gather_s32offset_u32(pg, base, offsets).as_signed()
19672}
19673#[doc = "Load 8-bit data and zero-extend, first-faulting"]
19674#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1ub_gather_[s32]offset_u32)"]
19675#[doc = "## Safety"]
19676#[doc = " * [`pointer::offset`](pointer#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)."]
19677#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
19678#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
19679#[inline]
19680#[target_feature(enable = "sve")]
19681#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
19682#[cfg_attr(test, assert_instr(ldff1b))]
19683pub unsafe fn svldff1ub_gather_s32offset_u32(
19684 pg: svbool_t,
19685 base: *const u8,
19686 offsets: svint32_t,
19687) -> svuint32_t {
19688 unsafe extern "unadjusted" {
19689 #[cfg_attr(
19690 target_arch = "aarch64",
19691 link_name = "llvm.aarch64.sve.ldff1.gather.sxtw.nxv4i8"
19692 )]
19693 fn _svldff1ub_gather_s32offset_u32(
19694 pg: svbool4_t,
19695 base: *const i8,
19696 offsets: svint32_t,
19697 ) -> nxv4i8;
19698 }
19699 crate::intrinsics::simd::simd_cast::<nxv4u8, _>(
19700 _svldff1ub_gather_s32offset_u32(pg.sve_into(), base.as_signed(), offsets).as_unsigned(),
19701 )
19702}
19703#[doc = "Load 16-bit data and zero-extend, first-faulting"]
19704#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1uh_gather_[s32]offset_u32)"]
19705#[doc = "## Safety"]
19706#[doc = " * [`pointer::offset`](pointer#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)."]
19707#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
19708#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
19709#[inline]
19710#[target_feature(enable = "sve")]
19711#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
19712#[cfg_attr(test, assert_instr(ldff1h))]
19713pub unsafe fn svldff1uh_gather_s32offset_u32(
19714 pg: svbool_t,
19715 base: *const u16,
19716 offsets: svint32_t,
19717) -> svuint32_t {
19718 unsafe extern "unadjusted" {
19719 #[cfg_attr(
19720 target_arch = "aarch64",
19721 link_name = "llvm.aarch64.sve.ldff1.gather.sxtw.nxv4i16"
19722 )]
19723 fn _svldff1uh_gather_s32offset_u32(
19724 pg: svbool4_t,
19725 base: *const i16,
19726 offsets: svint32_t,
19727 ) -> nxv4i16;
19728 }
19729 crate::intrinsics::simd::simd_cast::<nxv4u16, _>(
19730 _svldff1uh_gather_s32offset_u32(pg.sve_into(), base.as_signed(), offsets).as_unsigned(),
19731 )
19732}
19733#[doc = "Load 8-bit data and zero-extend, first-faulting"]
19734#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1ub_gather_[s64]offset_s64)"]
19735#[doc = "## Safety"]
19736#[doc = " * [`pointer::offset`](pointer#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)."]
19737#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
19738#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
19739#[inline]
19740#[target_feature(enable = "sve")]
19741#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
19742#[cfg_attr(test, assert_instr(ldff1b))]
19743pub unsafe fn svldff1ub_gather_s64offset_s64(
19744 pg: svbool_t,
19745 base: *const u8,
19746 offsets: svint64_t,
19747) -> svint64_t {
19748 svldff1ub_gather_s64offset_u64(pg, base, offsets).as_signed()
19749}
19750#[doc = "Load 16-bit data and zero-extend, first-faulting"]
19751#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1uh_gather_[s64]offset_s64)"]
19752#[doc = "## Safety"]
19753#[doc = " * [`pointer::offset`](pointer#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)."]
19754#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
19755#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
19756#[inline]
19757#[target_feature(enable = "sve")]
19758#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
19759#[cfg_attr(test, assert_instr(ldff1h))]
19760pub unsafe fn svldff1uh_gather_s64offset_s64(
19761 pg: svbool_t,
19762 base: *const u16,
19763 offsets: svint64_t,
19764) -> svint64_t {
19765 svldff1uh_gather_s64offset_u64(pg, base, offsets).as_signed()
19766}
19767#[doc = "Load 32-bit data and zero-extend, first-faulting"]
19768#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1uw_gather_[s64]offset_s64)"]
19769#[doc = "## Safety"]
19770#[doc = " * [`pointer::offset`](pointer#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)."]
19771#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
19772#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
19773#[inline]
19774#[target_feature(enable = "sve")]
19775#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
19776#[cfg_attr(test, assert_instr(ldff1w))]
19777pub unsafe fn svldff1uw_gather_s64offset_s64(
19778 pg: svbool_t,
19779 base: *const u32,
19780 offsets: svint64_t,
19781) -> svint64_t {
19782 svldff1uw_gather_s64offset_u64(pg, base, offsets).as_signed()
19783}
19784#[doc = "Load 8-bit data and zero-extend, first-faulting"]
19785#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1ub_gather_[s64]offset_u64)"]
19786#[doc = "## Safety"]
19787#[doc = " * [`pointer::offset`](pointer#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)."]
19788#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
19789#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
19790#[inline]
19791#[target_feature(enable = "sve")]
19792#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
19793#[cfg_attr(test, assert_instr(ldff1b))]
19794pub unsafe fn svldff1ub_gather_s64offset_u64(
19795 pg: svbool_t,
19796 base: *const u8,
19797 offsets: svint64_t,
19798) -> svuint64_t {
19799 unsafe extern "unadjusted" {
19800 #[cfg_attr(
19801 target_arch = "aarch64",
19802 link_name = "llvm.aarch64.sve.ldff1.gather.nxv2i8"
19803 )]
19804 fn _svldff1ub_gather_s64offset_u64(
19805 pg: svbool2_t,
19806 base: *const i8,
19807 offsets: svint64_t,
19808 ) -> nxv2i8;
19809 }
19810 crate::intrinsics::simd::simd_cast::<nxv2u8, _>(
19811 _svldff1ub_gather_s64offset_u64(pg.sve_into(), base.as_signed(), offsets).as_unsigned(),
19812 )
19813}
19814#[doc = "Load 16-bit data and zero-extend, first-faulting"]
19815#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1uh_gather_[s64]offset_u64)"]
19816#[doc = "## Safety"]
19817#[doc = " * [`pointer::offset`](pointer#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)."]
19818#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
19819#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
19820#[inline]
19821#[target_feature(enable = "sve")]
19822#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
19823#[cfg_attr(test, assert_instr(ldff1h))]
19824pub unsafe fn svldff1uh_gather_s64offset_u64(
19825 pg: svbool_t,
19826 base: *const u16,
19827 offsets: svint64_t,
19828) -> svuint64_t {
19829 unsafe extern "unadjusted" {
19830 #[cfg_attr(
19831 target_arch = "aarch64",
19832 link_name = "llvm.aarch64.sve.ldff1.gather.nxv2i16"
19833 )]
19834 fn _svldff1uh_gather_s64offset_u64(
19835 pg: svbool2_t,
19836 base: *const i16,
19837 offsets: svint64_t,
19838 ) -> nxv2i16;
19839 }
19840 crate::intrinsics::simd::simd_cast::<nxv2u16, _>(
19841 _svldff1uh_gather_s64offset_u64(pg.sve_into(), base.as_signed(), offsets).as_unsigned(),
19842 )
19843}
19844#[doc = "Load 32-bit data and zero-extend, first-faulting"]
19845#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1uw_gather_[s64]offset_u64)"]
19846#[doc = "## Safety"]
19847#[doc = " * [`pointer::offset`](pointer#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)."]
19848#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
19849#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
19850#[inline]
19851#[target_feature(enable = "sve")]
19852#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
19853#[cfg_attr(test, assert_instr(ldff1w))]
19854pub unsafe fn svldff1uw_gather_s64offset_u64(
19855 pg: svbool_t,
19856 base: *const u32,
19857 offsets: svint64_t,
19858) -> svuint64_t {
19859 unsafe extern "unadjusted" {
19860 #[cfg_attr(
19861 target_arch = "aarch64",
19862 link_name = "llvm.aarch64.sve.ldff1.gather.nxv2i32"
19863 )]
19864 fn _svldff1uw_gather_s64offset_u64(
19865 pg: svbool2_t,
19866 base: *const i32,
19867 offsets: svint64_t,
19868 ) -> nxv2i32;
19869 }
19870 crate::intrinsics::simd::simd_cast::<nxv2u32, _>(
19871 _svldff1uw_gather_s64offset_u64(pg.sve_into(), base.as_signed(), offsets).as_unsigned(),
19872 )
19873}
19874#[doc = "Load 8-bit data and zero-extend, first-faulting"]
19875#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1ub_gather_[u32]offset_s32)"]
19876#[doc = "## Safety"]
19877#[doc = " * [`pointer::offset`](pointer#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)."]
19878#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
19879#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
19880#[inline]
19881#[target_feature(enable = "sve")]
19882#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
19883#[cfg_attr(test, assert_instr(ldff1b))]
19884pub unsafe fn svldff1ub_gather_u32offset_s32(
19885 pg: svbool_t,
19886 base: *const u8,
19887 offsets: svuint32_t,
19888) -> svint32_t {
19889 svldff1ub_gather_u32offset_u32(pg, base, offsets).as_signed()
19890}
19891#[doc = "Load 16-bit data and zero-extend, first-faulting"]
19892#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1uh_gather_[u32]offset_s32)"]
19893#[doc = "## Safety"]
19894#[doc = " * [`pointer::offset`](pointer#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)."]
19895#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
19896#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
19897#[inline]
19898#[target_feature(enable = "sve")]
19899#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
19900#[cfg_attr(test, assert_instr(ldff1h))]
19901pub unsafe fn svldff1uh_gather_u32offset_s32(
19902 pg: svbool_t,
19903 base: *const u16,
19904 offsets: svuint32_t,
19905) -> svint32_t {
19906 svldff1uh_gather_u32offset_u32(pg, base, offsets).as_signed()
19907}
19908#[doc = "Load 8-bit data and zero-extend, first-faulting"]
19909#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1ub_gather_[u32]offset_u32)"]
19910#[doc = "## Safety"]
19911#[doc = " * [`pointer::offset`](pointer#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)."]
19912#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
19913#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
19914#[inline]
19915#[target_feature(enable = "sve")]
19916#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
19917#[cfg_attr(test, assert_instr(ldff1b))]
19918pub unsafe fn svldff1ub_gather_u32offset_u32(
19919 pg: svbool_t,
19920 base: *const u8,
19921 offsets: svuint32_t,
19922) -> svuint32_t {
19923 unsafe ext