1#![allow(improper_ctypes)]
9
10#[cfg(test)]
11use stdarch_test::assert_instr;
12
13use super::*;
14use crate::core_arch::arch::aarch64::*;
15use super::{AsSigned, AsUnsigned};
16
17#[doc = "Absolute difference"]
18#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svabd[_f32]_m)"]
19#[inline]
20#[target_feature(enable = "sve")]
21#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
22#[cfg_attr(test, assert_instr(fabd))]
23pub fn svabd_f32_m(pg: svbool_t, op1: svfloat32_t, op2: svfloat32_t) -> svfloat32_t {
24 unsafe extern "unadjusted" {
25 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.fabd.nxv4f32")]
26 fn _svabd_f32_m(pg: svbool4_t, op1: svfloat32_t, op2: svfloat32_t) -> svfloat32_t;
27 }
28 unsafe { _svabd_f32_m(pg.sve_into(), op1, op2) }
29}
30#[doc = "Absolute difference"]
31#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svabd[_n_f32]_m)"]
32#[inline]
33#[target_feature(enable = "sve")]
34#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
35#[cfg_attr(test, assert_instr(fabd))]
36pub fn svabd_n_f32_m(pg: svbool_t, op1: svfloat32_t, op2: f32) -> svfloat32_t {
37 svabd_f32_m(pg, op1, svdup_n_f32(op2))
38}
39#[doc = "Absolute difference"]
40#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svabd[_f32]_x)"]
41#[inline]
42#[target_feature(enable = "sve")]
43#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
44#[cfg_attr(test, assert_instr(fabd))]
45pub fn svabd_f32_x(pg: svbool_t, op1: svfloat32_t, op2: svfloat32_t) -> svfloat32_t {
46 svabd_f32_m(pg, op1, op2)
47}
48#[doc = "Absolute difference"]
49#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svabd[_n_f32]_x)"]
50#[inline]
51#[target_feature(enable = "sve")]
52#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
53#[cfg_attr(test, assert_instr(fabd))]
54pub fn svabd_n_f32_x(pg: svbool_t, op1: svfloat32_t, op2: f32) -> svfloat32_t {
55 svabd_f32_x(pg, op1, svdup_n_f32(op2))
56}
57#[doc = "Absolute difference"]
58#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svabd[_f32]_z)"]
59#[inline]
60#[target_feature(enable = "sve")]
61#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
62#[cfg_attr(test, assert_instr(fabd))]
63pub fn svabd_f32_z(pg: svbool_t, op1: svfloat32_t, op2: svfloat32_t) -> svfloat32_t {
64 svabd_f32_m(pg, svsel_f32(pg, op1, svdup_n_f32(0.0)), op2)
65}
66#[doc = "Absolute difference"]
67#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svabd[_n_f32]_z)"]
68#[inline]
69#[target_feature(enable = "sve")]
70#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
71#[cfg_attr(test, assert_instr(fabd))]
72pub fn svabd_n_f32_z(pg: svbool_t, op1: svfloat32_t, op2: f32) -> svfloat32_t {
73 svabd_f32_z(pg, op1, svdup_n_f32(op2))
74}
75#[doc = "Absolute difference"]
76#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svabd[_f64]_m)"]
77#[inline]
78#[target_feature(enable = "sve")]
79#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
80#[cfg_attr(test, assert_instr(fabd))]
81pub fn svabd_f64_m(pg: svbool_t, op1: svfloat64_t, op2: svfloat64_t) -> svfloat64_t {
82 unsafe extern "unadjusted" {
83 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.fabd.nxv2f64")]
84 fn _svabd_f64_m(pg: svbool2_t, op1: svfloat64_t, op2: svfloat64_t) -> svfloat64_t;
85 }
86 unsafe { _svabd_f64_m(pg.sve_into(), op1, op2) }
87}
88#[doc = "Absolute difference"]
89#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svabd[_n_f64]_m)"]
90#[inline]
91#[target_feature(enable = "sve")]
92#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
93#[cfg_attr(test, assert_instr(fabd))]
94pub fn svabd_n_f64_m(pg: svbool_t, op1: svfloat64_t, op2: f64) -> svfloat64_t {
95 svabd_f64_m(pg, op1, svdup_n_f64(op2))
96}
97#[doc = "Absolute difference"]
98#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svabd[_f64]_x)"]
99#[inline]
100#[target_feature(enable = "sve")]
101#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
102#[cfg_attr(test, assert_instr(fabd))]
103pub fn svabd_f64_x(pg: svbool_t, op1: svfloat64_t, op2: svfloat64_t) -> svfloat64_t {
104 svabd_f64_m(pg, op1, op2)
105}
106#[doc = "Absolute difference"]
107#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svabd[_n_f64]_x)"]
108#[inline]
109#[target_feature(enable = "sve")]
110#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
111#[cfg_attr(test, assert_instr(fabd))]
112pub fn svabd_n_f64_x(pg: svbool_t, op1: svfloat64_t, op2: f64) -> svfloat64_t {
113 svabd_f64_x(pg, op1, svdup_n_f64(op2))
114}
115#[doc = "Absolute difference"]
116#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svabd[_f64]_z)"]
117#[inline]
118#[target_feature(enable = "sve")]
119#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
120#[cfg_attr(test, assert_instr(fabd))]
121pub fn svabd_f64_z(pg: svbool_t, op1: svfloat64_t, op2: svfloat64_t) -> svfloat64_t {
122 svabd_f64_m(pg, svsel_f64(pg, op1, svdup_n_f64(0.0)), op2)
123}
124#[doc = "Absolute difference"]
125#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svabd[_n_f64]_z)"]
126#[inline]
127#[target_feature(enable = "sve")]
128#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
129#[cfg_attr(test, assert_instr(fabd))]
130pub fn svabd_n_f64_z(pg: svbool_t, op1: svfloat64_t, op2: f64) -> svfloat64_t {
131 svabd_f64_z(pg, op1, svdup_n_f64(op2))
132}
133#[doc = "Absolute difference"]
134#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svabd[_s8]_m)"]
135#[inline]
136#[target_feature(enable = "sve")]
137#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
138#[cfg_attr(test, assert_instr(sabd))]
139pub fn svabd_s8_m(pg: svbool_t, op1: svint8_t, op2: svint8_t) -> svint8_t {
140 unsafe extern "unadjusted" {
141 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.sabd.nxv16i8")]
142 fn _svabd_s8_m(pg: svbool_t, op1: svint8_t, op2: svint8_t) -> svint8_t;
143 }
144 unsafe { _svabd_s8_m(pg, op1, op2) }
145}
146#[doc = "Absolute difference"]
147#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svabd[_n_s8]_m)"]
148#[inline]
149#[target_feature(enable = "sve")]
150#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
151#[cfg_attr(test, assert_instr(sabd))]
152pub fn svabd_n_s8_m(pg: svbool_t, op1: svint8_t, op2: i8) -> svint8_t {
153 svabd_s8_m(pg, op1, svdup_n_s8(op2))
154}
155#[doc = "Absolute difference"]
156#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svabd[_s8]_x)"]
157#[inline]
158#[target_feature(enable = "sve")]
159#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
160#[cfg_attr(test, assert_instr(sabd))]
161pub fn svabd_s8_x(pg: svbool_t, op1: svint8_t, op2: svint8_t) -> svint8_t {
162 svabd_s8_m(pg, op1, op2)
163}
164#[doc = "Absolute difference"]
165#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svabd[_n_s8]_x)"]
166#[inline]
167#[target_feature(enable = "sve")]
168#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
169#[cfg_attr(test, assert_instr(sabd))]
170pub fn svabd_n_s8_x(pg: svbool_t, op1: svint8_t, op2: i8) -> svint8_t {
171 svabd_s8_x(pg, op1, svdup_n_s8(op2))
172}
173#[doc = "Absolute difference"]
174#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svabd[_s8]_z)"]
175#[inline]
176#[target_feature(enable = "sve")]
177#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
178#[cfg_attr(test, assert_instr(sabd))]
179pub fn svabd_s8_z(pg: svbool_t, op1: svint8_t, op2: svint8_t) -> svint8_t {
180 svabd_s8_m(pg, svsel_s8(pg, op1, svdup_n_s8(0)), op2)
181}
182#[doc = "Absolute difference"]
183#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svabd[_n_s8]_z)"]
184#[inline]
185#[target_feature(enable = "sve")]
186#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
187#[cfg_attr(test, assert_instr(sabd))]
188pub fn svabd_n_s8_z(pg: svbool_t, op1: svint8_t, op2: i8) -> svint8_t {
189 svabd_s8_z(pg, op1, svdup_n_s8(op2))
190}
191#[doc = "Absolute difference"]
192#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svabd[_s16]_m)"]
193#[inline]
194#[target_feature(enable = "sve")]
195#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
196#[cfg_attr(test, assert_instr(sabd))]
197pub fn svabd_s16_m(pg: svbool_t, op1: svint16_t, op2: svint16_t) -> svint16_t {
198 unsafe extern "unadjusted" {
199 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.sabd.nxv8i16")]
200 fn _svabd_s16_m(pg: svbool8_t, op1: svint16_t, op2: svint16_t) -> svint16_t;
201 }
202 unsafe { _svabd_s16_m(pg.sve_into(), op1, op2) }
203}
204#[doc = "Absolute difference"]
205#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svabd[_n_s16]_m)"]
206#[inline]
207#[target_feature(enable = "sve")]
208#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
209#[cfg_attr(test, assert_instr(sabd))]
210pub fn svabd_n_s16_m(pg: svbool_t, op1: svint16_t, op2: i16) -> svint16_t {
211 svabd_s16_m(pg, op1, svdup_n_s16(op2))
212}
213#[doc = "Absolute difference"]
214#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svabd[_s16]_x)"]
215#[inline]
216#[target_feature(enable = "sve")]
217#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
218#[cfg_attr(test, assert_instr(sabd))]
219pub fn svabd_s16_x(pg: svbool_t, op1: svint16_t, op2: svint16_t) -> svint16_t {
220 svabd_s16_m(pg, op1, op2)
221}
222#[doc = "Absolute difference"]
223#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svabd[_n_s16]_x)"]
224#[inline]
225#[target_feature(enable = "sve")]
226#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
227#[cfg_attr(test, assert_instr(sabd))]
228pub fn svabd_n_s16_x(pg: svbool_t, op1: svint16_t, op2: i16) -> svint16_t {
229 svabd_s16_x(pg, op1, svdup_n_s16(op2))
230}
231#[doc = "Absolute difference"]
232#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svabd[_s16]_z)"]
233#[inline]
234#[target_feature(enable = "sve")]
235#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
236#[cfg_attr(test, assert_instr(sabd))]
237pub fn svabd_s16_z(pg: svbool_t, op1: svint16_t, op2: svint16_t) -> svint16_t {
238 svabd_s16_m(pg, svsel_s16(pg, op1, svdup_n_s16(0)), op2)
239}
240#[doc = "Absolute difference"]
241#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svabd[_n_s16]_z)"]
242#[inline]
243#[target_feature(enable = "sve")]
244#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
245#[cfg_attr(test, assert_instr(sabd))]
246pub fn svabd_n_s16_z(pg: svbool_t, op1: svint16_t, op2: i16) -> svint16_t {
247 svabd_s16_z(pg, op1, svdup_n_s16(op2))
248}
249#[doc = "Absolute difference"]
250#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svabd[_s32]_m)"]
251#[inline]
252#[target_feature(enable = "sve")]
253#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
254#[cfg_attr(test, assert_instr(sabd))]
255pub fn svabd_s32_m(pg: svbool_t, op1: svint32_t, op2: svint32_t) -> svint32_t {
256 unsafe extern "unadjusted" {
257 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.sabd.nxv4i32")]
258 fn _svabd_s32_m(pg: svbool4_t, op1: svint32_t, op2: svint32_t) -> svint32_t;
259 }
260 unsafe { _svabd_s32_m(pg.sve_into(), op1, op2) }
261}
262#[doc = "Absolute difference"]
263#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svabd[_n_s32]_m)"]
264#[inline]
265#[target_feature(enable = "sve")]
266#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
267#[cfg_attr(test, assert_instr(sabd))]
268pub fn svabd_n_s32_m(pg: svbool_t, op1: svint32_t, op2: i32) -> svint32_t {
269 svabd_s32_m(pg, op1, svdup_n_s32(op2))
270}
271#[doc = "Absolute difference"]
272#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svabd[_s32]_x)"]
273#[inline]
274#[target_feature(enable = "sve")]
275#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
276#[cfg_attr(test, assert_instr(sabd))]
277pub fn svabd_s32_x(pg: svbool_t, op1: svint32_t, op2: svint32_t) -> svint32_t {
278 svabd_s32_m(pg, op1, op2)
279}
280#[doc = "Absolute difference"]
281#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svabd[_n_s32]_x)"]
282#[inline]
283#[target_feature(enable = "sve")]
284#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
285#[cfg_attr(test, assert_instr(sabd))]
286pub fn svabd_n_s32_x(pg: svbool_t, op1: svint32_t, op2: i32) -> svint32_t {
287 svabd_s32_x(pg, op1, svdup_n_s32(op2))
288}
289#[doc = "Absolute difference"]
290#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svabd[_s32]_z)"]
291#[inline]
292#[target_feature(enable = "sve")]
293#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
294#[cfg_attr(test, assert_instr(sabd))]
295pub fn svabd_s32_z(pg: svbool_t, op1: svint32_t, op2: svint32_t) -> svint32_t {
296 svabd_s32_m(pg, svsel_s32(pg, op1, svdup_n_s32(0)), op2)
297}
298#[doc = "Absolute difference"]
299#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svabd[_n_s32]_z)"]
300#[inline]
301#[target_feature(enable = "sve")]
302#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
303#[cfg_attr(test, assert_instr(sabd))]
304pub fn svabd_n_s32_z(pg: svbool_t, op1: svint32_t, op2: i32) -> svint32_t {
305 svabd_s32_z(pg, op1, svdup_n_s32(op2))
306}
307#[doc = "Absolute difference"]
308#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svabd[_s64]_m)"]
309#[inline]
310#[target_feature(enable = "sve")]
311#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
312#[cfg_attr(test, assert_instr(sabd))]
313pub fn svabd_s64_m(pg: svbool_t, op1: svint64_t, op2: svint64_t) -> svint64_t {
314 unsafe extern "unadjusted" {
315 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.sabd.nxv2i64")]
316 fn _svabd_s64_m(pg: svbool2_t, op1: svint64_t, op2: svint64_t) -> svint64_t;
317 }
318 unsafe { _svabd_s64_m(pg.sve_into(), op1, op2) }
319}
320#[doc = "Absolute difference"]
321#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svabd[_n_s64]_m)"]
322#[inline]
323#[target_feature(enable = "sve")]
324#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
325#[cfg_attr(test, assert_instr(sabd))]
326pub fn svabd_n_s64_m(pg: svbool_t, op1: svint64_t, op2: i64) -> svint64_t {
327 svabd_s64_m(pg, op1, svdup_n_s64(op2))
328}
329#[doc = "Absolute difference"]
330#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svabd[_s64]_x)"]
331#[inline]
332#[target_feature(enable = "sve")]
333#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
334#[cfg_attr(test, assert_instr(sabd))]
335pub fn svabd_s64_x(pg: svbool_t, op1: svint64_t, op2: svint64_t) -> svint64_t {
336 svabd_s64_m(pg, op1, op2)
337}
338#[doc = "Absolute difference"]
339#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svabd[_n_s64]_x)"]
340#[inline]
341#[target_feature(enable = "sve")]
342#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
343#[cfg_attr(test, assert_instr(sabd))]
344pub fn svabd_n_s64_x(pg: svbool_t, op1: svint64_t, op2: i64) -> svint64_t {
345 svabd_s64_x(pg, op1, svdup_n_s64(op2))
346}
347#[doc = "Absolute difference"]
348#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svabd[_s64]_z)"]
349#[inline]
350#[target_feature(enable = "sve")]
351#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
352#[cfg_attr(test, assert_instr(sabd))]
353pub fn svabd_s64_z(pg: svbool_t, op1: svint64_t, op2: svint64_t) -> svint64_t {
354 svabd_s64_m(pg, svsel_s64(pg, op1, svdup_n_s64(0)), op2)
355}
356#[doc = "Absolute difference"]
357#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svabd[_n_s64]_z)"]
358#[inline]
359#[target_feature(enable = "sve")]
360#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
361#[cfg_attr(test, assert_instr(sabd))]
362pub fn svabd_n_s64_z(pg: svbool_t, op1: svint64_t, op2: i64) -> svint64_t {
363 svabd_s64_z(pg, op1, svdup_n_s64(op2))
364}
365#[doc = "Absolute difference"]
366#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svabd[_u8]_m)"]
367#[inline]
368#[target_feature(enable = "sve")]
369#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
370#[cfg_attr(test, assert_instr(uabd))]
371pub fn svabd_u8_m(pg: svbool_t, op1: svuint8_t, op2: svuint8_t) -> svuint8_t {
372 unsafe extern "unadjusted" {
373 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.uabd.nxv16i8")]
374 fn _svabd_u8_m(pg: svbool_t, op1: svint8_t, op2: svint8_t) -> svint8_t;
375 }
376 unsafe { _svabd_u8_m(pg, op1.as_signed(), op2.as_signed()).as_unsigned() }
377}
378#[doc = "Absolute difference"]
379#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svabd[_n_u8]_m)"]
380#[inline]
381#[target_feature(enable = "sve")]
382#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
383#[cfg_attr(test, assert_instr(uabd))]
384pub fn svabd_n_u8_m(pg: svbool_t, op1: svuint8_t, op2: u8) -> svuint8_t {
385 svabd_u8_m(pg, op1, svdup_n_u8(op2))
386}
387#[doc = "Absolute difference"]
388#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svabd[_u8]_x)"]
389#[inline]
390#[target_feature(enable = "sve")]
391#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
392#[cfg_attr(test, assert_instr(uabd))]
393pub fn svabd_u8_x(pg: svbool_t, op1: svuint8_t, op2: svuint8_t) -> svuint8_t {
394 svabd_u8_m(pg, op1, op2)
395}
396#[doc = "Absolute difference"]
397#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svabd[_n_u8]_x)"]
398#[inline]
399#[target_feature(enable = "sve")]
400#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
401#[cfg_attr(test, assert_instr(uabd))]
402pub fn svabd_n_u8_x(pg: svbool_t, op1: svuint8_t, op2: u8) -> svuint8_t {
403 svabd_u8_x(pg, op1, svdup_n_u8(op2))
404}
405#[doc = "Absolute difference"]
406#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svabd[_u8]_z)"]
407#[inline]
408#[target_feature(enable = "sve")]
409#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
410#[cfg_attr(test, assert_instr(uabd))]
411pub fn svabd_u8_z(pg: svbool_t, op1: svuint8_t, op2: svuint8_t) -> svuint8_t {
412 svabd_u8_m(pg, svsel_u8(pg, op1, svdup_n_u8(0)), op2)
413}
414#[doc = "Absolute difference"]
415#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svabd[_n_u8]_z)"]
416#[inline]
417#[target_feature(enable = "sve")]
418#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
419#[cfg_attr(test, assert_instr(uabd))]
420pub fn svabd_n_u8_z(pg: svbool_t, op1: svuint8_t, op2: u8) -> svuint8_t {
421 svabd_u8_z(pg, op1, svdup_n_u8(op2))
422}
423#[doc = "Absolute difference"]
424#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svabd[_u16]_m)"]
425#[inline]
426#[target_feature(enable = "sve")]
427#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
428#[cfg_attr(test, assert_instr(uabd))]
429pub fn svabd_u16_m(pg: svbool_t, op1: svuint16_t, op2: svuint16_t) -> svuint16_t {
430 unsafe extern "unadjusted" {
431 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.uabd.nxv8i16")]
432 fn _svabd_u16_m(pg: svbool8_t, op1: svint16_t, op2: svint16_t) -> svint16_t;
433 }
434 unsafe { _svabd_u16_m(pg.sve_into(), op1.as_signed(), op2.as_signed()).as_unsigned() }
435}
436#[doc = "Absolute difference"]
437#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svabd[_n_u16]_m)"]
438#[inline]
439#[target_feature(enable = "sve")]
440#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
441#[cfg_attr(test, assert_instr(uabd))]
442pub fn svabd_n_u16_m(pg: svbool_t, op1: svuint16_t, op2: u16) -> svuint16_t {
443 svabd_u16_m(pg, op1, svdup_n_u16(op2))
444}
445#[doc = "Absolute difference"]
446#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svabd[_u16]_x)"]
447#[inline]
448#[target_feature(enable = "sve")]
449#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
450#[cfg_attr(test, assert_instr(uabd))]
451pub fn svabd_u16_x(pg: svbool_t, op1: svuint16_t, op2: svuint16_t) -> svuint16_t {
452 svabd_u16_m(pg, op1, op2)
453}
454#[doc = "Absolute difference"]
455#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svabd[_n_u16]_x)"]
456#[inline]
457#[target_feature(enable = "sve")]
458#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
459#[cfg_attr(test, assert_instr(uabd))]
460pub fn svabd_n_u16_x(pg: svbool_t, op1: svuint16_t, op2: u16) -> svuint16_t {
461 svabd_u16_x(pg, op1, svdup_n_u16(op2))
462}
463#[doc = "Absolute difference"]
464#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svabd[_u16]_z)"]
465#[inline]
466#[target_feature(enable = "sve")]
467#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
468#[cfg_attr(test, assert_instr(uabd))]
469pub fn svabd_u16_z(pg: svbool_t, op1: svuint16_t, op2: svuint16_t) -> svuint16_t {
470 svabd_u16_m(pg, svsel_u16(pg, op1, svdup_n_u16(0)), op2)
471}
472#[doc = "Absolute difference"]
473#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svabd[_n_u16]_z)"]
474#[inline]
475#[target_feature(enable = "sve")]
476#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
477#[cfg_attr(test, assert_instr(uabd))]
478pub fn svabd_n_u16_z(pg: svbool_t, op1: svuint16_t, op2: u16) -> svuint16_t {
479 svabd_u16_z(pg, op1, svdup_n_u16(op2))
480}
481#[doc = "Absolute difference"]
482#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svabd[_u32]_m)"]
483#[inline]
484#[target_feature(enable = "sve")]
485#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
486#[cfg_attr(test, assert_instr(uabd))]
487pub fn svabd_u32_m(pg: svbool_t, op1: svuint32_t, op2: svuint32_t) -> svuint32_t {
488 unsafe extern "unadjusted" {
489 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.uabd.nxv4i32")]
490 fn _svabd_u32_m(pg: svbool4_t, op1: svint32_t, op2: svint32_t) -> svint32_t;
491 }
492 unsafe { _svabd_u32_m(pg.sve_into(), op1.as_signed(), op2.as_signed()).as_unsigned() }
493}
494#[doc = "Absolute difference"]
495#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svabd[_n_u32]_m)"]
496#[inline]
497#[target_feature(enable = "sve")]
498#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
499#[cfg_attr(test, assert_instr(uabd))]
500pub fn svabd_n_u32_m(pg: svbool_t, op1: svuint32_t, op2: u32) -> svuint32_t {
501 svabd_u32_m(pg, op1, svdup_n_u32(op2))
502}
503#[doc = "Absolute difference"]
504#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svabd[_u32]_x)"]
505#[inline]
506#[target_feature(enable = "sve")]
507#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
508#[cfg_attr(test, assert_instr(uabd))]
509pub fn svabd_u32_x(pg: svbool_t, op1: svuint32_t, op2: svuint32_t) -> svuint32_t {
510 svabd_u32_m(pg, op1, op2)
511}
512#[doc = "Absolute difference"]
513#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svabd[_n_u32]_x)"]
514#[inline]
515#[target_feature(enable = "sve")]
516#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
517#[cfg_attr(test, assert_instr(uabd))]
518pub fn svabd_n_u32_x(pg: svbool_t, op1: svuint32_t, op2: u32) -> svuint32_t {
519 svabd_u32_x(pg, op1, svdup_n_u32(op2))
520}
521#[doc = "Absolute difference"]
522#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svabd[_u32]_z)"]
523#[inline]
524#[target_feature(enable = "sve")]
525#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
526#[cfg_attr(test, assert_instr(uabd))]
527pub fn svabd_u32_z(pg: svbool_t, op1: svuint32_t, op2: svuint32_t) -> svuint32_t {
528 svabd_u32_m(pg, svsel_u32(pg, op1, svdup_n_u32(0)), op2)
529}
530#[doc = "Absolute difference"]
531#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svabd[_n_u32]_z)"]
532#[inline]
533#[target_feature(enable = "sve")]
534#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
535#[cfg_attr(test, assert_instr(uabd))]
536pub fn svabd_n_u32_z(pg: svbool_t, op1: svuint32_t, op2: u32) -> svuint32_t {
537 svabd_u32_z(pg, op1, svdup_n_u32(op2))
538}
539#[doc = "Absolute difference"]
540#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svabd[_u64]_m)"]
541#[inline]
542#[target_feature(enable = "sve")]
543#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
544#[cfg_attr(test, assert_instr(uabd))]
545pub fn svabd_u64_m(pg: svbool_t, op1: svuint64_t, op2: svuint64_t) -> svuint64_t {
546 unsafe extern "unadjusted" {
547 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.uabd.nxv2i64")]
548 fn _svabd_u64_m(pg: svbool2_t, op1: svint64_t, op2: svint64_t) -> svint64_t;
549 }
550 unsafe { _svabd_u64_m(pg.sve_into(), op1.as_signed(), op2.as_signed()).as_unsigned() }
551}
552#[doc = "Absolute difference"]
553#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svabd[_n_u64]_m)"]
554#[inline]
555#[target_feature(enable = "sve")]
556#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
557#[cfg_attr(test, assert_instr(uabd))]
558pub fn svabd_n_u64_m(pg: svbool_t, op1: svuint64_t, op2: u64) -> svuint64_t {
559 svabd_u64_m(pg, op1, svdup_n_u64(op2))
560}
561#[doc = "Absolute difference"]
562#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svabd[_u64]_x)"]
563#[inline]
564#[target_feature(enable = "sve")]
565#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
566#[cfg_attr(test, assert_instr(uabd))]
567pub fn svabd_u64_x(pg: svbool_t, op1: svuint64_t, op2: svuint64_t) -> svuint64_t {
568 svabd_u64_m(pg, op1, op2)
569}
570#[doc = "Absolute difference"]
571#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svabd[_n_u64]_x)"]
572#[inline]
573#[target_feature(enable = "sve")]
574#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
575#[cfg_attr(test, assert_instr(uabd))]
576pub fn svabd_n_u64_x(pg: svbool_t, op1: svuint64_t, op2: u64) -> svuint64_t {
577 svabd_u64_x(pg, op1, svdup_n_u64(op2))
578}
579#[doc = "Absolute difference"]
580#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svabd[_u64]_z)"]
581#[inline]
582#[target_feature(enable = "sve")]
583#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
584#[cfg_attr(test, assert_instr(uabd))]
585pub fn svabd_u64_z(pg: svbool_t, op1: svuint64_t, op2: svuint64_t) -> svuint64_t {
586 svabd_u64_m(pg, svsel_u64(pg, op1, svdup_n_u64(0)), op2)
587}
588#[doc = "Absolute difference"]
589#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svabd[_n_u64]_z)"]
590#[inline]
591#[target_feature(enable = "sve")]
592#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
593#[cfg_attr(test, assert_instr(uabd))]
594pub fn svabd_n_u64_z(pg: svbool_t, op1: svuint64_t, op2: u64) -> svuint64_t {
595 svabd_u64_z(pg, op1, svdup_n_u64(op2))
596}
597#[doc = "Absolute value"]
598#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svabs[_f32]_m)"]
599#[inline]
600#[target_feature(enable = "sve")]
601#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
602#[cfg_attr(test, assert_instr(fabs))]
603pub fn svabs_f32_m(inactive: svfloat32_t, pg: svbool_t, op: svfloat32_t) -> svfloat32_t {
604 unsafe extern "unadjusted" {
605 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.fabs.nxv4f32")]
606 fn _svabs_f32_m(inactive: svfloat32_t, pg: svbool4_t, op: svfloat32_t) -> svfloat32_t;
607 }
608 unsafe { _svabs_f32_m(inactive, pg.sve_into(), op) }
609}
610#[doc = "Absolute value"]
611#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svabs[_f32]_x)"]
612#[inline]
613#[target_feature(enable = "sve")]
614#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
615#[cfg_attr(test, assert_instr(fabs))]
616pub fn svabs_f32_x(pg: svbool_t, op: svfloat32_t) -> svfloat32_t {
617 svabs_f32_m(op, pg, op)
618}
619#[doc = "Absolute value"]
620#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svabs[_f32]_z)"]
621#[inline]
622#[target_feature(enable = "sve")]
623#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
624#[cfg_attr(test, assert_instr(fabs))]
625pub fn svabs_f32_z(pg: svbool_t, op: svfloat32_t) -> svfloat32_t {
626 svabs_f32_m(svdup_n_f32(0.0), pg, op)
627}
628#[doc = "Absolute value"]
629#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svabs[_f64]_m)"]
630#[inline]
631#[target_feature(enable = "sve")]
632#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
633#[cfg_attr(test, assert_instr(fabs))]
634pub fn svabs_f64_m(inactive: svfloat64_t, pg: svbool_t, op: svfloat64_t) -> svfloat64_t {
635 unsafe extern "unadjusted" {
636 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.fabs.nxv2f64")]
637 fn _svabs_f64_m(inactive: svfloat64_t, pg: svbool2_t, op: svfloat64_t) -> svfloat64_t;
638 }
639 unsafe { _svabs_f64_m(inactive, pg.sve_into(), op) }
640}
641#[doc = "Absolute value"]
642#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svabs[_f64]_x)"]
643#[inline]
644#[target_feature(enable = "sve")]
645#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
646#[cfg_attr(test, assert_instr(fabs))]
647pub fn svabs_f64_x(pg: svbool_t, op: svfloat64_t) -> svfloat64_t {
648 svabs_f64_m(op, pg, op)
649}
650#[doc = "Absolute value"]
651#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svabs[_f64]_z)"]
652#[inline]
653#[target_feature(enable = "sve")]
654#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
655#[cfg_attr(test, assert_instr(fabs))]
656pub fn svabs_f64_z(pg: svbool_t, op: svfloat64_t) -> svfloat64_t {
657 svabs_f64_m(svdup_n_f64(0.0), pg, op)
658}
659#[doc = "Absolute value"]
660#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svabs[_s8]_m)"]
661#[inline]
662#[target_feature(enable = "sve")]
663#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
664#[cfg_attr(test, assert_instr(abs))]
665pub fn svabs_s8_m(inactive: svint8_t, pg: svbool_t, op: svint8_t) -> svint8_t {
666 unsafe extern "unadjusted" {
667 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.abs.nxv16i8")]
668 fn _svabs_s8_m(inactive: svint8_t, pg: svbool_t, op: svint8_t) -> svint8_t;
669 }
670 unsafe { _svabs_s8_m(inactive, pg, op) }
671}
672#[doc = "Absolute value"]
673#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svabs[_s8]_x)"]
674#[inline]
675#[target_feature(enable = "sve")]
676#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
677#[cfg_attr(test, assert_instr(abs))]
678pub fn svabs_s8_x(pg: svbool_t, op: svint8_t) -> svint8_t {
679 svabs_s8_m(op, pg, op)
680}
681#[doc = "Absolute value"]
682#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svabs[_s8]_z)"]
683#[inline]
684#[target_feature(enable = "sve")]
685#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
686#[cfg_attr(test, assert_instr(abs))]
687pub fn svabs_s8_z(pg: svbool_t, op: svint8_t) -> svint8_t {
688 svabs_s8_m(svdup_n_s8(0), pg, op)
689}
690#[doc = "Absolute value"]
691#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svabs[_s16]_m)"]
692#[inline]
693#[target_feature(enable = "sve")]
694#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
695#[cfg_attr(test, assert_instr(abs))]
696pub fn svabs_s16_m(inactive: svint16_t, pg: svbool_t, op: svint16_t) -> svint16_t {
697 unsafe extern "unadjusted" {
698 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.abs.nxv8i16")]
699 fn _svabs_s16_m(inactive: svint16_t, pg: svbool8_t, op: svint16_t) -> svint16_t;
700 }
701 unsafe { _svabs_s16_m(inactive, pg.sve_into(), op) }
702}
703#[doc = "Absolute value"]
704#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svabs[_s16]_x)"]
705#[inline]
706#[target_feature(enable = "sve")]
707#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
708#[cfg_attr(test, assert_instr(abs))]
709pub fn svabs_s16_x(pg: svbool_t, op: svint16_t) -> svint16_t {
710 svabs_s16_m(op, pg, op)
711}
712#[doc = "Absolute value"]
713#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svabs[_s16]_z)"]
714#[inline]
715#[target_feature(enable = "sve")]
716#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
717#[cfg_attr(test, assert_instr(abs))]
718pub fn svabs_s16_z(pg: svbool_t, op: svint16_t) -> svint16_t {
719 svabs_s16_m(svdup_n_s16(0), pg, op)
720}
721#[doc = "Absolute value"]
722#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svabs[_s32]_m)"]
723#[inline]
724#[target_feature(enable = "sve")]
725#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
726#[cfg_attr(test, assert_instr(abs))]
727pub fn svabs_s32_m(inactive: svint32_t, pg: svbool_t, op: svint32_t) -> svint32_t {
728 unsafe extern "unadjusted" {
729 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.abs.nxv4i32")]
730 fn _svabs_s32_m(inactive: svint32_t, pg: svbool4_t, op: svint32_t) -> svint32_t;
731 }
732 unsafe { _svabs_s32_m(inactive, pg.sve_into(), op) }
733}
734#[doc = "Absolute value"]
735#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svabs[_s32]_x)"]
736#[inline]
737#[target_feature(enable = "sve")]
738#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
739#[cfg_attr(test, assert_instr(abs))]
740pub fn svabs_s32_x(pg: svbool_t, op: svint32_t) -> svint32_t {
741 svabs_s32_m(op, pg, op)
742}
743#[doc = "Absolute value"]
744#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svabs[_s32]_z)"]
745#[inline]
746#[target_feature(enable = "sve")]
747#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
748#[cfg_attr(test, assert_instr(abs))]
749pub fn svabs_s32_z(pg: svbool_t, op: svint32_t) -> svint32_t {
750 svabs_s32_m(svdup_n_s32(0), pg, op)
751}
752#[doc = "Absolute value"]
753#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svabs[_s64]_m)"]
754#[inline]
755#[target_feature(enable = "sve")]
756#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
757#[cfg_attr(test, assert_instr(abs))]
758pub fn svabs_s64_m(inactive: svint64_t, pg: svbool_t, op: svint64_t) -> svint64_t {
759 unsafe extern "unadjusted" {
760 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.abs.nxv2i64")]
761 fn _svabs_s64_m(inactive: svint64_t, pg: svbool2_t, op: svint64_t) -> svint64_t;
762 }
763 unsafe { _svabs_s64_m(inactive, pg.sve_into(), op) }
764}
765#[doc = "Absolute value"]
766#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svabs[_s64]_x)"]
767#[inline]
768#[target_feature(enable = "sve")]
769#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
770#[cfg_attr(test, assert_instr(abs))]
771pub fn svabs_s64_x(pg: svbool_t, op: svint64_t) -> svint64_t {
772 svabs_s64_m(op, pg, op)
773}
774#[doc = "Absolute value"]
775#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svabs[_s64]_z)"]
776#[inline]
777#[target_feature(enable = "sve")]
778#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
779#[cfg_attr(test, assert_instr(abs))]
780pub fn svabs_s64_z(pg: svbool_t, op: svint64_t) -> svint64_t {
781 svabs_s64_m(svdup_n_s64(0), pg, op)
782}
783#[doc = "Absolute compare greater than or equal to"]
784#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svacge[_f32])"]
785#[inline]
786#[target_feature(enable = "sve")]
787#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
788#[cfg_attr(test, assert_instr(facge))]
789pub fn svacge_f32(pg: svbool_t, op1: svfloat32_t, op2: svfloat32_t) -> svbool_t {
790 unsafe extern "unadjusted" {
791 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.facge.nxv4f32")]
792 fn _svacge_f32(pg: svbool4_t, op1: svfloat32_t, op2: svfloat32_t) -> svbool4_t;
793 }
794 unsafe { _svacge_f32(pg.sve_into(), op1, op2).sve_into() }
795}
796#[doc = "Absolute compare greater than or equal to"]
797#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svacge[_n_f32])"]
798#[inline]
799#[target_feature(enable = "sve")]
800#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
801#[cfg_attr(test, assert_instr(facge))]
802pub fn svacge_n_f32(pg: svbool_t, op1: svfloat32_t, op2: f32) -> svbool_t {
803 svacge_f32(pg, op1, svdup_n_f32(op2))
804}
805#[doc = "Absolute compare greater than or equal to"]
806#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svacge[_f64])"]
807#[inline]
808#[target_feature(enable = "sve")]
809#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
810#[cfg_attr(test, assert_instr(facge))]
811pub fn svacge_f64(pg: svbool_t, op1: svfloat64_t, op2: svfloat64_t) -> svbool_t {
812 unsafe extern "unadjusted" {
813 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.facge.nxv2f64")]
814 fn _svacge_f64(pg: svbool2_t, op1: svfloat64_t, op2: svfloat64_t) -> svbool2_t;
815 }
816 unsafe { _svacge_f64(pg.sve_into(), op1, op2).sve_into() }
817}
818#[doc = "Absolute compare greater than or equal to"]
819#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svacge[_n_f64])"]
820#[inline]
821#[target_feature(enable = "sve")]
822#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
823#[cfg_attr(test, assert_instr(facge))]
824pub fn svacge_n_f64(pg: svbool_t, op1: svfloat64_t, op2: f64) -> svbool_t {
825 svacge_f64(pg, op1, svdup_n_f64(op2))
826}
827#[doc = "Absolute compare greater than"]
828#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svacgt[_f32])"]
829#[inline]
830#[target_feature(enable = "sve")]
831#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
832#[cfg_attr(test, assert_instr(facgt))]
833pub fn svacgt_f32(pg: svbool_t, op1: svfloat32_t, op2: svfloat32_t) -> svbool_t {
834 unsafe extern "unadjusted" {
835 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.facgt.nxv4f32")]
836 fn _svacgt_f32(pg: svbool4_t, op1: svfloat32_t, op2: svfloat32_t) -> svbool4_t;
837 }
838 unsafe { _svacgt_f32(pg.sve_into(), op1, op2).sve_into() }
839}
840#[doc = "Absolute compare greater than"]
841#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svacgt[_n_f32])"]
842#[inline]
843#[target_feature(enable = "sve")]
844#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
845#[cfg_attr(test, assert_instr(facgt))]
846pub fn svacgt_n_f32(pg: svbool_t, op1: svfloat32_t, op2: f32) -> svbool_t {
847 svacgt_f32(pg, op1, svdup_n_f32(op2))
848}
849#[doc = "Absolute compare greater than"]
850#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svacgt[_f64])"]
851#[inline]
852#[target_feature(enable = "sve")]
853#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
854#[cfg_attr(test, assert_instr(facgt))]
855pub fn svacgt_f64(pg: svbool_t, op1: svfloat64_t, op2: svfloat64_t) -> svbool_t {
856 unsafe extern "unadjusted" {
857 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.facgt.nxv2f64")]
858 fn _svacgt_f64(pg: svbool2_t, op1: svfloat64_t, op2: svfloat64_t) -> svbool2_t;
859 }
860 unsafe { _svacgt_f64(pg.sve_into(), op1, op2).sve_into() }
861}
862#[doc = "Absolute compare greater than"]
863#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svacgt[_n_f64])"]
864#[inline]
865#[target_feature(enable = "sve")]
866#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
867#[cfg_attr(test, assert_instr(facgt))]
868pub fn svacgt_n_f64(pg: svbool_t, op1: svfloat64_t, op2: f64) -> svbool_t {
869 svacgt_f64(pg, op1, svdup_n_f64(op2))
870}
871#[doc = "Absolute compare less than or equal to"]
872#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svacle[_f32])"]
873#[inline]
874#[target_feature(enable = "sve")]
875#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
876#[cfg_attr(test, assert_instr(facge))]
877pub fn svacle_f32(pg: svbool_t, op1: svfloat32_t, op2: svfloat32_t) -> svbool_t {
878 svacge_f32(pg, op2, op1)
879}
880#[doc = "Absolute compare less than or equal to"]
881#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svacle[_n_f32])"]
882#[inline]
883#[target_feature(enable = "sve")]
884#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
885#[cfg_attr(test, assert_instr(facge))]
886pub fn svacle_n_f32(pg: svbool_t, op1: svfloat32_t, op2: f32) -> svbool_t {
887 svacle_f32(pg, op1, svdup_n_f32(op2))
888}
889#[doc = "Absolute compare less than or equal to"]
890#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svacle[_f64])"]
891#[inline]
892#[target_feature(enable = "sve")]
893#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
894#[cfg_attr(test, assert_instr(facge))]
895pub fn svacle_f64(pg: svbool_t, op1: svfloat64_t, op2: svfloat64_t) -> svbool_t {
896 svacge_f64(pg, op2, op1)
897}
898#[doc = "Absolute compare less than or equal to"]
899#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svacle[_n_f64])"]
900#[inline]
901#[target_feature(enable = "sve")]
902#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
903#[cfg_attr(test, assert_instr(facge))]
904pub fn svacle_n_f64(pg: svbool_t, op1: svfloat64_t, op2: f64) -> svbool_t {
905 svacle_f64(pg, op1, svdup_n_f64(op2))
906}
907#[doc = "Absolute compare less than"]
908#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svaclt[_f32])"]
909#[inline]
910#[target_feature(enable = "sve")]
911#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
912#[cfg_attr(test, assert_instr(facgt))]
913pub fn svaclt_f32(pg: svbool_t, op1: svfloat32_t, op2: svfloat32_t) -> svbool_t {
914 svacgt_f32(pg, op2, op1)
915}
916#[doc = "Absolute compare less than"]
917#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svaclt[_n_f32])"]
918#[inline]
919#[target_feature(enable = "sve")]
920#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
921#[cfg_attr(test, assert_instr(facgt))]
922pub fn svaclt_n_f32(pg: svbool_t, op1: svfloat32_t, op2: f32) -> svbool_t {
923 svaclt_f32(pg, op1, svdup_n_f32(op2))
924}
925#[doc = "Absolute compare less than"]
926#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svaclt[_f64])"]
927#[inline]
928#[target_feature(enable = "sve")]
929#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
930#[cfg_attr(test, assert_instr(facgt))]
931pub fn svaclt_f64(pg: svbool_t, op1: svfloat64_t, op2: svfloat64_t) -> svbool_t {
932 svacgt_f64(pg, op2, op1)
933}
934#[doc = "Absolute compare less than"]
935#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svaclt[_n_f64])"]
936#[inline]
937#[target_feature(enable = "sve")]
938#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
939#[cfg_attr(test, assert_instr(facgt))]
940pub fn svaclt_n_f64(pg: svbool_t, op1: svfloat64_t, op2: f64) -> svbool_t {
941 svaclt_f64(pg, op1, svdup_n_f64(op2))
942}
943#[doc = "Add"]
944#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svadd[_f32]_m)"]
945#[inline]
946#[target_feature(enable = "sve")]
947#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
948#[cfg_attr(test, assert_instr(fadd))]
949pub fn svadd_f32_m(pg: svbool_t, op1: svfloat32_t, op2: svfloat32_t) -> svfloat32_t {
950 unsafe extern "unadjusted" {
951 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.fadd.nxv4f32")]
952 fn _svadd_f32_m(pg: svbool4_t, op1: svfloat32_t, op2: svfloat32_t) -> svfloat32_t;
953 }
954 unsafe { _svadd_f32_m(pg.sve_into(), op1, op2) }
955}
956#[doc = "Add"]
957#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svadd[_n_f32]_m)"]
958#[inline]
959#[target_feature(enable = "sve")]
960#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
961#[cfg_attr(test, assert_instr(fadd))]
962pub fn svadd_n_f32_m(pg: svbool_t, op1: svfloat32_t, op2: f32) -> svfloat32_t {
963 svadd_f32_m(pg, op1, svdup_n_f32(op2))
964}
965#[doc = "Add"]
966#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svadd[_f32]_x)"]
967#[inline]
968#[target_feature(enable = "sve")]
969#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
970#[cfg_attr(test, assert_instr(fadd))]
971pub fn svadd_f32_x(pg: svbool_t, op1: svfloat32_t, op2: svfloat32_t) -> svfloat32_t {
972 svadd_f32_m(pg, op1, op2)
973}
974#[doc = "Add"]
975#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svadd[_n_f32]_x)"]
976#[inline]
977#[target_feature(enable = "sve")]
978#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
979#[cfg_attr(test, assert_instr(fadd))]
980pub fn svadd_n_f32_x(pg: svbool_t, op1: svfloat32_t, op2: f32) -> svfloat32_t {
981 svadd_f32_x(pg, op1, svdup_n_f32(op2))
982}
983#[doc = "Add"]
984#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svadd[_f32]_z)"]
985#[inline]
986#[target_feature(enable = "sve")]
987#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
988#[cfg_attr(test, assert_instr(fadd))]
989pub fn svadd_f32_z(pg: svbool_t, op1: svfloat32_t, op2: svfloat32_t) -> svfloat32_t {
990 svadd_f32_m(pg, svsel_f32(pg, op1, svdup_n_f32(0.0)), op2)
991}
992#[doc = "Add"]
993#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svadd[_n_f32]_z)"]
994#[inline]
995#[target_feature(enable = "sve")]
996#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
997#[cfg_attr(test, assert_instr(fadd))]
998pub fn svadd_n_f32_z(pg: svbool_t, op1: svfloat32_t, op2: f32) -> svfloat32_t {
999 svadd_f32_z(pg, op1, svdup_n_f32(op2))
1000}
1001#[doc = "Add"]
1002#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svadd[_f64]_m)"]
1003#[inline]
1004#[target_feature(enable = "sve")]
1005#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1006#[cfg_attr(test, assert_instr(fadd))]
1007pub fn svadd_f64_m(pg: svbool_t, op1: svfloat64_t, op2: svfloat64_t) -> svfloat64_t {
1008 unsafe extern "unadjusted" {
1009 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.fadd.nxv2f64")]
1010 fn _svadd_f64_m(pg: svbool2_t, op1: svfloat64_t, op2: svfloat64_t) -> svfloat64_t;
1011 }
1012 unsafe { _svadd_f64_m(pg.sve_into(), op1, op2) }
1013}
1014#[doc = "Add"]
1015#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svadd[_n_f64]_m)"]
1016#[inline]
1017#[target_feature(enable = "sve")]
1018#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1019#[cfg_attr(test, assert_instr(fadd))]
1020pub fn svadd_n_f64_m(pg: svbool_t, op1: svfloat64_t, op2: f64) -> svfloat64_t {
1021 svadd_f64_m(pg, op1, svdup_n_f64(op2))
1022}
1023#[doc = "Add"]
1024#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svadd[_f64]_x)"]
1025#[inline]
1026#[target_feature(enable = "sve")]
1027#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1028#[cfg_attr(test, assert_instr(fadd))]
1029pub fn svadd_f64_x(pg: svbool_t, op1: svfloat64_t, op2: svfloat64_t) -> svfloat64_t {
1030 svadd_f64_m(pg, op1, op2)
1031}
1032#[doc = "Add"]
1033#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svadd[_n_f64]_x)"]
1034#[inline]
1035#[target_feature(enable = "sve")]
1036#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1037#[cfg_attr(test, assert_instr(fadd))]
1038pub fn svadd_n_f64_x(pg: svbool_t, op1: svfloat64_t, op2: f64) -> svfloat64_t {
1039 svadd_f64_x(pg, op1, svdup_n_f64(op2))
1040}
1041#[doc = "Add"]
1042#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svadd[_f64]_z)"]
1043#[inline]
1044#[target_feature(enable = "sve")]
1045#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1046#[cfg_attr(test, assert_instr(fadd))]
1047pub fn svadd_f64_z(pg: svbool_t, op1: svfloat64_t, op2: svfloat64_t) -> svfloat64_t {
1048 svadd_f64_m(pg, svsel_f64(pg, op1, svdup_n_f64(0.0)), op2)
1049}
1050#[doc = "Add"]
1051#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svadd[_n_f64]_z)"]
1052#[inline]
1053#[target_feature(enable = "sve")]
1054#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1055#[cfg_attr(test, assert_instr(fadd))]
1056pub fn svadd_n_f64_z(pg: svbool_t, op1: svfloat64_t, op2: f64) -> svfloat64_t {
1057 svadd_f64_z(pg, op1, svdup_n_f64(op2))
1058}
1059#[doc = "Add"]
1060#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svadd[_s8]_m)"]
1061#[inline]
1062#[target_feature(enable = "sve")]
1063#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1064#[cfg_attr(test, assert_instr(add))]
1065pub fn svadd_s8_m(pg: svbool_t, op1: svint8_t, op2: svint8_t) -> svint8_t {
1066 unsafe extern "unadjusted" {
1067 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.add.nxv16i8")]
1068 fn _svadd_s8_m(pg: svbool_t, op1: svint8_t, op2: svint8_t) -> svint8_t;
1069 }
1070 unsafe { _svadd_s8_m(pg, op1, op2) }
1071}
1072#[doc = "Add"]
1073#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svadd[_n_s8]_m)"]
1074#[inline]
1075#[target_feature(enable = "sve")]
1076#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1077#[cfg_attr(test, assert_instr(add))]
1078pub fn svadd_n_s8_m(pg: svbool_t, op1: svint8_t, op2: i8) -> svint8_t {
1079 svadd_s8_m(pg, op1, svdup_n_s8(op2))
1080}
1081#[doc = "Add"]
1082#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svadd[_s8]_x)"]
1083#[inline]
1084#[target_feature(enable = "sve")]
1085#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1086#[cfg_attr(test, assert_instr(add))]
1087pub fn svadd_s8_x(pg: svbool_t, op1: svint8_t, op2: svint8_t) -> svint8_t {
1088 svadd_s8_m(pg, op1, op2)
1089}
1090#[doc = "Add"]
1091#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svadd[_n_s8]_x)"]
1092#[inline]
1093#[target_feature(enable = "sve")]
1094#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1095#[cfg_attr(test, assert_instr(add))]
1096pub fn svadd_n_s8_x(pg: svbool_t, op1: svint8_t, op2: i8) -> svint8_t {
1097 svadd_s8_x(pg, op1, svdup_n_s8(op2))
1098}
1099#[doc = "Add"]
1100#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svadd[_s8]_z)"]
1101#[inline]
1102#[target_feature(enable = "sve")]
1103#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1104#[cfg_attr(test, assert_instr(add))]
1105pub fn svadd_s8_z(pg: svbool_t, op1: svint8_t, op2: svint8_t) -> svint8_t {
1106 svadd_s8_m(pg, svsel_s8(pg, op1, svdup_n_s8(0)), op2)
1107}
1108#[doc = "Add"]
1109#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svadd[_n_s8]_z)"]
1110#[inline]
1111#[target_feature(enable = "sve")]
1112#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1113#[cfg_attr(test, assert_instr(add))]
1114pub fn svadd_n_s8_z(pg: svbool_t, op1: svint8_t, op2: i8) -> svint8_t {
1115 svadd_s8_z(pg, op1, svdup_n_s8(op2))
1116}
1117#[doc = "Add"]
1118#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svadd[_s16]_m)"]
1119#[inline]
1120#[target_feature(enable = "sve")]
1121#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1122#[cfg_attr(test, assert_instr(add))]
1123pub fn svadd_s16_m(pg: svbool_t, op1: svint16_t, op2: svint16_t) -> svint16_t {
1124 unsafe extern "unadjusted" {
1125 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.add.nxv8i16")]
1126 fn _svadd_s16_m(pg: svbool8_t, op1: svint16_t, op2: svint16_t) -> svint16_t;
1127 }
1128 unsafe { _svadd_s16_m(pg.sve_into(), op1, op2) }
1129}
1130#[doc = "Add"]
1131#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svadd[_n_s16]_m)"]
1132#[inline]
1133#[target_feature(enable = "sve")]
1134#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1135#[cfg_attr(test, assert_instr(add))]
1136pub fn svadd_n_s16_m(pg: svbool_t, op1: svint16_t, op2: i16) -> svint16_t {
1137 svadd_s16_m(pg, op1, svdup_n_s16(op2))
1138}
1139#[doc = "Add"]
1140#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svadd[_s16]_x)"]
1141#[inline]
1142#[target_feature(enable = "sve")]
1143#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1144#[cfg_attr(test, assert_instr(add))]
1145pub fn svadd_s16_x(pg: svbool_t, op1: svint16_t, op2: svint16_t) -> svint16_t {
1146 svadd_s16_m(pg, op1, op2)
1147}
1148#[doc = "Add"]
1149#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svadd[_n_s16]_x)"]
1150#[inline]
1151#[target_feature(enable = "sve")]
1152#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1153#[cfg_attr(test, assert_instr(add))]
1154pub fn svadd_n_s16_x(pg: svbool_t, op1: svint16_t, op2: i16) -> svint16_t {
1155 svadd_s16_x(pg, op1, svdup_n_s16(op2))
1156}
1157#[doc = "Add"]
1158#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svadd[_s16]_z)"]
1159#[inline]
1160#[target_feature(enable = "sve")]
1161#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1162#[cfg_attr(test, assert_instr(add))]
1163pub fn svadd_s16_z(pg: svbool_t, op1: svint16_t, op2: svint16_t) -> svint16_t {
1164 svadd_s16_m(pg, svsel_s16(pg, op1, svdup_n_s16(0)), op2)
1165}
1166#[doc = "Add"]
1167#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svadd[_n_s16]_z)"]
1168#[inline]
1169#[target_feature(enable = "sve")]
1170#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1171#[cfg_attr(test, assert_instr(add))]
1172pub fn svadd_n_s16_z(pg: svbool_t, op1: svint16_t, op2: i16) -> svint16_t {
1173 svadd_s16_z(pg, op1, svdup_n_s16(op2))
1174}
1175#[doc = "Add"]
1176#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svadd[_s32]_m)"]
1177#[inline]
1178#[target_feature(enable = "sve")]
1179#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1180#[cfg_attr(test, assert_instr(add))]
1181pub fn svadd_s32_m(pg: svbool_t, op1: svint32_t, op2: svint32_t) -> svint32_t {
1182 unsafe extern "unadjusted" {
1183 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.add.nxv4i32")]
1184 fn _svadd_s32_m(pg: svbool4_t, op1: svint32_t, op2: svint32_t) -> svint32_t;
1185 }
1186 unsafe { _svadd_s32_m(pg.sve_into(), op1, op2) }
1187}
1188#[doc = "Add"]
1189#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svadd[_n_s32]_m)"]
1190#[inline]
1191#[target_feature(enable = "sve")]
1192#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1193#[cfg_attr(test, assert_instr(add))]
1194pub fn svadd_n_s32_m(pg: svbool_t, op1: svint32_t, op2: i32) -> svint32_t {
1195 svadd_s32_m(pg, op1, svdup_n_s32(op2))
1196}
1197#[doc = "Add"]
1198#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svadd[_s32]_x)"]
1199#[inline]
1200#[target_feature(enable = "sve")]
1201#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1202#[cfg_attr(test, assert_instr(add))]
1203pub fn svadd_s32_x(pg: svbool_t, op1: svint32_t, op2: svint32_t) -> svint32_t {
1204 svadd_s32_m(pg, op1, op2)
1205}
1206#[doc = "Add"]
1207#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svadd[_n_s32]_x)"]
1208#[inline]
1209#[target_feature(enable = "sve")]
1210#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1211#[cfg_attr(test, assert_instr(add))]
1212pub fn svadd_n_s32_x(pg: svbool_t, op1: svint32_t, op2: i32) -> svint32_t {
1213 svadd_s32_x(pg, op1, svdup_n_s32(op2))
1214}
1215#[doc = "Add"]
1216#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svadd[_s32]_z)"]
1217#[inline]
1218#[target_feature(enable = "sve")]
1219#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1220#[cfg_attr(test, assert_instr(add))]
1221pub fn svadd_s32_z(pg: svbool_t, op1: svint32_t, op2: svint32_t) -> svint32_t {
1222 svadd_s32_m(pg, svsel_s32(pg, op1, svdup_n_s32(0)), op2)
1223}
1224#[doc = "Add"]
1225#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svadd[_n_s32]_z)"]
1226#[inline]
1227#[target_feature(enable = "sve")]
1228#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1229#[cfg_attr(test, assert_instr(add))]
1230pub fn svadd_n_s32_z(pg: svbool_t, op1: svint32_t, op2: i32) -> svint32_t {
1231 svadd_s32_z(pg, op1, svdup_n_s32(op2))
1232}
1233#[doc = "Add"]
1234#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svadd[_s64]_m)"]
1235#[inline]
1236#[target_feature(enable = "sve")]
1237#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1238#[cfg_attr(test, assert_instr(add))]
1239pub fn svadd_s64_m(pg: svbool_t, op1: svint64_t, op2: svint64_t) -> svint64_t {
1240 unsafe extern "unadjusted" {
1241 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.add.nxv2i64")]
1242 fn _svadd_s64_m(pg: svbool2_t, op1: svint64_t, op2: svint64_t) -> svint64_t;
1243 }
1244 unsafe { _svadd_s64_m(pg.sve_into(), op1, op2) }
1245}
1246#[doc = "Add"]
1247#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svadd[_n_s64]_m)"]
1248#[inline]
1249#[target_feature(enable = "sve")]
1250#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1251#[cfg_attr(test, assert_instr(add))]
1252pub fn svadd_n_s64_m(pg: svbool_t, op1: svint64_t, op2: i64) -> svint64_t {
1253 svadd_s64_m(pg, op1, svdup_n_s64(op2))
1254}
1255#[doc = "Add"]
1256#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svadd[_s64]_x)"]
1257#[inline]
1258#[target_feature(enable = "sve")]
1259#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1260#[cfg_attr(test, assert_instr(add))]
1261pub fn svadd_s64_x(pg: svbool_t, op1: svint64_t, op2: svint64_t) -> svint64_t {
1262 svadd_s64_m(pg, op1, op2)
1263}
1264#[doc = "Add"]
1265#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svadd[_n_s64]_x)"]
1266#[inline]
1267#[target_feature(enable = "sve")]
1268#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1269#[cfg_attr(test, assert_instr(add))]
1270pub fn svadd_n_s64_x(pg: svbool_t, op1: svint64_t, op2: i64) -> svint64_t {
1271 svadd_s64_x(pg, op1, svdup_n_s64(op2))
1272}
1273#[doc = "Add"]
1274#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svadd[_s64]_z)"]
1275#[inline]
1276#[target_feature(enable = "sve")]
1277#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1278#[cfg_attr(test, assert_instr(add))]
1279pub fn svadd_s64_z(pg: svbool_t, op1: svint64_t, op2: svint64_t) -> svint64_t {
1280 svadd_s64_m(pg, svsel_s64(pg, op1, svdup_n_s64(0)), op2)
1281}
1282#[doc = "Add"]
1283#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svadd[_n_s64]_z)"]
1284#[inline]
1285#[target_feature(enable = "sve")]
1286#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1287#[cfg_attr(test, assert_instr(add))]
1288pub fn svadd_n_s64_z(pg: svbool_t, op1: svint64_t, op2: i64) -> svint64_t {
1289 svadd_s64_z(pg, op1, svdup_n_s64(op2))
1290}
1291#[doc = "Add"]
1292#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svadd[_u8]_m)"]
1293#[inline]
1294#[target_feature(enable = "sve")]
1295#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1296#[cfg_attr(test, assert_instr(add))]
1297pub fn svadd_u8_m(pg: svbool_t, op1: svuint8_t, op2: svuint8_t) -> svuint8_t {
1298 unsafe { svadd_s8_m(pg, op1.as_signed(), op2.as_signed()).as_unsigned() }
1299}
1300#[doc = "Add"]
1301#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svadd[_n_u8]_m)"]
1302#[inline]
1303#[target_feature(enable = "sve")]
1304#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1305#[cfg_attr(test, assert_instr(add))]
1306pub fn svadd_n_u8_m(pg: svbool_t, op1: svuint8_t, op2: u8) -> svuint8_t {
1307 svadd_u8_m(pg, op1, svdup_n_u8(op2))
1308}
1309#[doc = "Add"]
1310#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svadd[_u8]_x)"]
1311#[inline]
1312#[target_feature(enable = "sve")]
1313#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1314#[cfg_attr(test, assert_instr(add))]
1315pub fn svadd_u8_x(pg: svbool_t, op1: svuint8_t, op2: svuint8_t) -> svuint8_t {
1316 svadd_u8_m(pg, op1, op2)
1317}
1318#[doc = "Add"]
1319#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svadd[_n_u8]_x)"]
1320#[inline]
1321#[target_feature(enable = "sve")]
1322#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1323#[cfg_attr(test, assert_instr(add))]
1324pub fn svadd_n_u8_x(pg: svbool_t, op1: svuint8_t, op2: u8) -> svuint8_t {
1325 svadd_u8_x(pg, op1, svdup_n_u8(op2))
1326}
1327#[doc = "Add"]
1328#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svadd[_u8]_z)"]
1329#[inline]
1330#[target_feature(enable = "sve")]
1331#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1332#[cfg_attr(test, assert_instr(add))]
1333pub fn svadd_u8_z(pg: svbool_t, op1: svuint8_t, op2: svuint8_t) -> svuint8_t {
1334 svadd_u8_m(pg, svsel_u8(pg, op1, svdup_n_u8(0)), op2)
1335}
1336#[doc = "Add"]
1337#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svadd[_n_u8]_z)"]
1338#[inline]
1339#[target_feature(enable = "sve")]
1340#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1341#[cfg_attr(test, assert_instr(add))]
1342pub fn svadd_n_u8_z(pg: svbool_t, op1: svuint8_t, op2: u8) -> svuint8_t {
1343 svadd_u8_z(pg, op1, svdup_n_u8(op2))
1344}
1345#[doc = "Add"]
1346#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svadd[_u16]_m)"]
1347#[inline]
1348#[target_feature(enable = "sve")]
1349#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1350#[cfg_attr(test, assert_instr(add))]
1351pub fn svadd_u16_m(pg: svbool_t, op1: svuint16_t, op2: svuint16_t) -> svuint16_t {
1352 unsafe { svadd_s16_m(pg, op1.as_signed(), op2.as_signed()).as_unsigned() }
1353}
1354#[doc = "Add"]
1355#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svadd[_n_u16]_m)"]
1356#[inline]
1357#[target_feature(enable = "sve")]
1358#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1359#[cfg_attr(test, assert_instr(add))]
1360pub fn svadd_n_u16_m(pg: svbool_t, op1: svuint16_t, op2: u16) -> svuint16_t {
1361 svadd_u16_m(pg, op1, svdup_n_u16(op2))
1362}
1363#[doc = "Add"]
1364#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svadd[_u16]_x)"]
1365#[inline]
1366#[target_feature(enable = "sve")]
1367#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1368#[cfg_attr(test, assert_instr(add))]
1369pub fn svadd_u16_x(pg: svbool_t, op1: svuint16_t, op2: svuint16_t) -> svuint16_t {
1370 svadd_u16_m(pg, op1, op2)
1371}
1372#[doc = "Add"]
1373#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svadd[_n_u16]_x)"]
1374#[inline]
1375#[target_feature(enable = "sve")]
1376#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1377#[cfg_attr(test, assert_instr(add))]
1378pub fn svadd_n_u16_x(pg: svbool_t, op1: svuint16_t, op2: u16) -> svuint16_t {
1379 svadd_u16_x(pg, op1, svdup_n_u16(op2))
1380}
1381#[doc = "Add"]
1382#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svadd[_u16]_z)"]
1383#[inline]
1384#[target_feature(enable = "sve")]
1385#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1386#[cfg_attr(test, assert_instr(add))]
1387pub fn svadd_u16_z(pg: svbool_t, op1: svuint16_t, op2: svuint16_t) -> svuint16_t {
1388 svadd_u16_m(pg, svsel_u16(pg, op1, svdup_n_u16(0)), op2)
1389}
1390#[doc = "Add"]
1391#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svadd[_n_u16]_z)"]
1392#[inline]
1393#[target_feature(enable = "sve")]
1394#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1395#[cfg_attr(test, assert_instr(add))]
1396pub fn svadd_n_u16_z(pg: svbool_t, op1: svuint16_t, op2: u16) -> svuint16_t {
1397 svadd_u16_z(pg, op1, svdup_n_u16(op2))
1398}
1399#[doc = "Add"]
1400#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svadd[_u32]_m)"]
1401#[inline]
1402#[target_feature(enable = "sve")]
1403#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1404#[cfg_attr(test, assert_instr(add))]
1405pub fn svadd_u32_m(pg: svbool_t, op1: svuint32_t, op2: svuint32_t) -> svuint32_t {
1406 unsafe { svadd_s32_m(pg, op1.as_signed(), op2.as_signed()).as_unsigned() }
1407}
1408#[doc = "Add"]
1409#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svadd[_n_u32]_m)"]
1410#[inline]
1411#[target_feature(enable = "sve")]
1412#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1413#[cfg_attr(test, assert_instr(add))]
1414pub fn svadd_n_u32_m(pg: svbool_t, op1: svuint32_t, op2: u32) -> svuint32_t {
1415 svadd_u32_m(pg, op1, svdup_n_u32(op2))
1416}
1417#[doc = "Add"]
1418#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svadd[_u32]_x)"]
1419#[inline]
1420#[target_feature(enable = "sve")]
1421#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1422#[cfg_attr(test, assert_instr(add))]
1423pub fn svadd_u32_x(pg: svbool_t, op1: svuint32_t, op2: svuint32_t) -> svuint32_t {
1424 svadd_u32_m(pg, op1, op2)
1425}
1426#[doc = "Add"]
1427#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svadd[_n_u32]_x)"]
1428#[inline]
1429#[target_feature(enable = "sve")]
1430#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1431#[cfg_attr(test, assert_instr(add))]
1432pub fn svadd_n_u32_x(pg: svbool_t, op1: svuint32_t, op2: u32) -> svuint32_t {
1433 svadd_u32_x(pg, op1, svdup_n_u32(op2))
1434}
1435#[doc = "Add"]
1436#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svadd[_u32]_z)"]
1437#[inline]
1438#[target_feature(enable = "sve")]
1439#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1440#[cfg_attr(test, assert_instr(add))]
1441pub fn svadd_u32_z(pg: svbool_t, op1: svuint32_t, op2: svuint32_t) -> svuint32_t {
1442 svadd_u32_m(pg, svsel_u32(pg, op1, svdup_n_u32(0)), op2)
1443}
1444#[doc = "Add"]
1445#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svadd[_n_u32]_z)"]
1446#[inline]
1447#[target_feature(enable = "sve")]
1448#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1449#[cfg_attr(test, assert_instr(add))]
1450pub fn svadd_n_u32_z(pg: svbool_t, op1: svuint32_t, op2: u32) -> svuint32_t {
1451 svadd_u32_z(pg, op1, svdup_n_u32(op2))
1452}
1453#[doc = "Add"]
1454#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svadd[_u64]_m)"]
1455#[inline]
1456#[target_feature(enable = "sve")]
1457#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1458#[cfg_attr(test, assert_instr(add))]
1459pub fn svadd_u64_m(pg: svbool_t, op1: svuint64_t, op2: svuint64_t) -> svuint64_t {
1460 unsafe { svadd_s64_m(pg, op1.as_signed(), op2.as_signed()).as_unsigned() }
1461}
1462#[doc = "Add"]
1463#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svadd[_n_u64]_m)"]
1464#[inline]
1465#[target_feature(enable = "sve")]
1466#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1467#[cfg_attr(test, assert_instr(add))]
1468pub fn svadd_n_u64_m(pg: svbool_t, op1: svuint64_t, op2: u64) -> svuint64_t {
1469 svadd_u64_m(pg, op1, svdup_n_u64(op2))
1470}
1471#[doc = "Add"]
1472#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svadd[_u64]_x)"]
1473#[inline]
1474#[target_feature(enable = "sve")]
1475#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1476#[cfg_attr(test, assert_instr(add))]
1477pub fn svadd_u64_x(pg: svbool_t, op1: svuint64_t, op2: svuint64_t) -> svuint64_t {
1478 svadd_u64_m(pg, op1, op2)
1479}
1480#[doc = "Add"]
1481#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svadd[_n_u64]_x)"]
1482#[inline]
1483#[target_feature(enable = "sve")]
1484#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1485#[cfg_attr(test, assert_instr(add))]
1486pub fn svadd_n_u64_x(pg: svbool_t, op1: svuint64_t, op2: u64) -> svuint64_t {
1487 svadd_u64_x(pg, op1, svdup_n_u64(op2))
1488}
1489#[doc = "Add"]
1490#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svadd[_u64]_z)"]
1491#[inline]
1492#[target_feature(enable = "sve")]
1493#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1494#[cfg_attr(test, assert_instr(add))]
1495pub fn svadd_u64_z(pg: svbool_t, op1: svuint64_t, op2: svuint64_t) -> svuint64_t {
1496 svadd_u64_m(pg, svsel_u64(pg, op1, svdup_n_u64(0)), op2)
1497}
1498#[doc = "Add"]
1499#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svadd[_n_u64]_z)"]
1500#[inline]
1501#[target_feature(enable = "sve")]
1502#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1503#[cfg_attr(test, assert_instr(add))]
1504pub fn svadd_n_u64_z(pg: svbool_t, op1: svuint64_t, op2: u64) -> svuint64_t {
1505 svadd_u64_z(pg, op1, svdup_n_u64(op2))
1506}
1507#[doc = "Add reduction (strictly-ordered)"]
1508#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svadda[_f32])"]
1509#[inline]
1510#[target_feature(enable = "sve")]
1511#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1512#[cfg_attr(test, assert_instr(fadda))]
1513pub fn svadda_f32(pg: svbool_t, initial: f32, op: svfloat32_t) -> f32 {
1514 unsafe extern "unadjusted" {
1515 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.fadda.nxv4f32")]
1516 fn _svadda_f32(pg: svbool4_t, initial: f32, op: svfloat32_t) -> f32;
1517 }
1518 unsafe { _svadda_f32(pg.sve_into(), initial, op) }
1519}
1520#[doc = "Add reduction (strictly-ordered)"]
1521#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svadda[_f64])"]
1522#[inline]
1523#[target_feature(enable = "sve")]
1524#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1525#[cfg_attr(test, assert_instr(fadda))]
1526pub fn svadda_f64(pg: svbool_t, initial: f64, op: svfloat64_t) -> f64 {
1527 unsafe extern "unadjusted" {
1528 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.fadda.nxv2f64")]
1529 fn _svadda_f64(pg: svbool2_t, initial: f64, op: svfloat64_t) -> f64;
1530 }
1531 unsafe { _svadda_f64(pg.sve_into(), initial, op) }
1532}
1533#[doc = "Add reduction"]
1534#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svaddv[_f32])"]
1535#[inline]
1536#[target_feature(enable = "sve")]
1537#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1538#[cfg_attr(test, assert_instr(faddv))]
1539pub fn svaddv_f32(pg: svbool_t, op: svfloat32_t) -> f32 {
1540 unsafe extern "unadjusted" {
1541 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.faddv.nxv4f32")]
1542 fn _svaddv_f32(pg: svbool4_t, op: svfloat32_t) -> f32;
1543 }
1544 unsafe { _svaddv_f32(pg.sve_into(), op) }
1545}
1546#[doc = "Add reduction"]
1547#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svaddv[_f64])"]
1548#[inline]
1549#[target_feature(enable = "sve")]
1550#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1551#[cfg_attr(test, assert_instr(faddv))]
1552pub fn svaddv_f64(pg: svbool_t, op: svfloat64_t) -> f64 {
1553 unsafe extern "unadjusted" {
1554 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.faddv.nxv2f64")]
1555 fn _svaddv_f64(pg: svbool2_t, op: svfloat64_t) -> f64;
1556 }
1557 unsafe { _svaddv_f64(pg.sve_into(), op) }
1558}
1559#[doc = "Add reduction"]
1560#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svaddv[_s64])"]
1561#[inline]
1562#[target_feature(enable = "sve")]
1563#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1564#[cfg_attr(test, assert_instr(uaddv))]
1565pub fn svaddv_s64(pg: svbool_t, op: svint64_t) -> i64 {
1566 unsafe extern "unadjusted" {
1567 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.saddv.nxv2i64")]
1568 fn _svaddv_s64(pg: svbool2_t, op: svint64_t) -> i64;
1569 }
1570 unsafe { _svaddv_s64(pg.sve_into(), op) }
1571}
1572#[doc = "Add reduction"]
1573#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svaddv[_u64])"]
1574#[inline]
1575#[target_feature(enable = "sve")]
1576#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1577#[cfg_attr(test, assert_instr(uaddv))]
1578pub fn svaddv_u64(pg: svbool_t, op: svuint64_t) -> u64 {
1579 unsafe extern "unadjusted" {
1580 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.uaddv.nxv2i64")]
1581 fn _svaddv_u64(pg: svbool2_t, op: svint64_t) -> i64;
1582 }
1583 unsafe { _svaddv_u64(pg.sve_into(), op.as_signed()).as_unsigned() }
1584}
1585#[doc = "Add reduction"]
1586#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svaddv[_s8])"]
1587#[inline]
1588#[target_feature(enable = "sve")]
1589#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1590#[cfg_attr(test, assert_instr(saddv))]
1591pub fn svaddv_s8(pg: svbool_t, op: svint8_t) -> i64 {
1592 unsafe extern "unadjusted" {
1593 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.saddv.nxv16i8")]
1594 fn _svaddv_s8(pg: svbool_t, op: svint8_t) -> i64;
1595 }
1596 unsafe { _svaddv_s8(pg, op) }
1597}
1598#[doc = "Add reduction"]
1599#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svaddv[_s16])"]
1600#[inline]
1601#[target_feature(enable = "sve")]
1602#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1603#[cfg_attr(test, assert_instr(saddv))]
1604pub fn svaddv_s16(pg: svbool_t, op: svint16_t) -> i64 {
1605 unsafe extern "unadjusted" {
1606 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.saddv.nxv8i16")]
1607 fn _svaddv_s16(pg: svbool8_t, op: svint16_t) -> i64;
1608 }
1609 unsafe { _svaddv_s16(pg.sve_into(), op) }
1610}
1611#[doc = "Add reduction"]
1612#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svaddv[_s32])"]
1613#[inline]
1614#[target_feature(enable = "sve")]
1615#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1616#[cfg_attr(test, assert_instr(saddv))]
1617pub fn svaddv_s32(pg: svbool_t, op: svint32_t) -> i64 {
1618 unsafe extern "unadjusted" {
1619 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.saddv.nxv4i32")]
1620 fn _svaddv_s32(pg: svbool4_t, op: svint32_t) -> i64;
1621 }
1622 unsafe { _svaddv_s32(pg.sve_into(), op) }
1623}
1624#[doc = "Add reduction"]
1625#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svaddv[_u8])"]
1626#[inline]
1627#[target_feature(enable = "sve")]
1628#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1629#[cfg_attr(test, assert_instr(uaddv))]
1630pub fn svaddv_u8(pg: svbool_t, op: svuint8_t) -> u64 {
1631 unsafe extern "unadjusted" {
1632 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.uaddv.nxv16i8")]
1633 fn _svaddv_u8(pg: svbool_t, op: svint8_t) -> i64;
1634 }
1635 unsafe { _svaddv_u8(pg, op.as_signed()).as_unsigned() }
1636}
1637#[doc = "Add reduction"]
1638#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svaddv[_u16])"]
1639#[inline]
1640#[target_feature(enable = "sve")]
1641#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1642#[cfg_attr(test, assert_instr(uaddv))]
1643pub fn svaddv_u16(pg: svbool_t, op: svuint16_t) -> u64 {
1644 unsafe extern "unadjusted" {
1645 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.uaddv.nxv8i16")]
1646 fn _svaddv_u16(pg: svbool8_t, op: svint16_t) -> i64;
1647 }
1648 unsafe { _svaddv_u16(pg.sve_into(), op.as_signed()).as_unsigned() }
1649}
1650#[doc = "Add reduction"]
1651#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svaddv[_u32])"]
1652#[inline]
1653#[target_feature(enable = "sve")]
1654#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1655#[cfg_attr(test, assert_instr(uaddv))]
1656pub fn svaddv_u32(pg: svbool_t, op: svuint32_t) -> u64 {
1657 unsafe extern "unadjusted" {
1658 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.uaddv.nxv4i32")]
1659 fn _svaddv_u32(pg: svbool4_t, op: svint32_t) -> i64;
1660 }
1661 unsafe { _svaddv_u32(pg.sve_into(), op.as_signed()).as_unsigned() }
1662}
1663#[doc = "Compute vector addresses for 8-bit data"]
1664#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svadrb[_u32base]_[s32]offset)"]
1665#[inline]
1666#[target_feature(enable = "sve")]
1667#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1668#[cfg_attr(test, assert_instr(adr))]
1669pub fn svadrb_u32base_s32offset(bases: svuint32_t, offsets: svint32_t) -> svuint32_t {
1670 unsafe extern "unadjusted" {
1671 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.adrb.nxv4i32")]
1672 fn _svadrb_u32base_s32offset(bases: svint32_t, offsets: svint32_t) -> svint32_t;
1673 }
1674 unsafe { _svadrb_u32base_s32offset(bases.as_signed(), offsets).as_unsigned() }
1675}
1676#[doc = "Compute vector addresses for 16-bit data"]
1677#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svadrh[_u32base]_[s32]index)"]
1678#[inline]
1679#[target_feature(enable = "sve")]
1680#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1681#[cfg_attr(test, assert_instr(adr))]
1682pub fn svadrh_u32base_s32index(bases: svuint32_t, indices: svint32_t) -> svuint32_t {
1683 unsafe extern "unadjusted" {
1684 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.adrh.nxv4i32")]
1685 fn _svadrh_u32base_s32index(bases: svint32_t, indices: svint32_t) -> svint32_t;
1686 }
1687 unsafe { _svadrh_u32base_s32index(bases.as_signed(), indices).as_unsigned() }
1688}
1689#[doc = "Compute vector addresses for 32-bit data"]
1690#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svadrw[_u32base]_[s32]index)"]
1691#[inline]
1692#[target_feature(enable = "sve")]
1693#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1694#[cfg_attr(test, assert_instr(adr))]
1695pub fn svadrw_u32base_s32index(bases: svuint32_t, indices: svint32_t) -> svuint32_t {
1696 unsafe extern "unadjusted" {
1697 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.adrw.nxv4i32")]
1698 fn _svadrw_u32base_s32index(bases: svint32_t, indices: svint32_t) -> svint32_t;
1699 }
1700 unsafe { _svadrw_u32base_s32index(bases.as_signed(), indices).as_unsigned() }
1701}
1702#[doc = "Compute vector addresses for 64-bit data"]
1703#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svadrd[_u32base]_[s32]index)"]
1704#[inline]
1705#[target_feature(enable = "sve")]
1706#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1707#[cfg_attr(test, assert_instr(adr))]
1708pub fn svadrd_u32base_s32index(bases: svuint32_t, indices: svint32_t) -> svuint32_t {
1709 unsafe extern "unadjusted" {
1710 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.adrd.nxv4i32")]
1711 fn _svadrd_u32base_s32index(bases: svint32_t, indices: svint32_t) -> svint32_t;
1712 }
1713 unsafe { _svadrd_u32base_s32index(bases.as_signed(), indices).as_unsigned() }
1714}
1715#[doc = "Compute vector addresses for 8-bit data"]
1716#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svadrb[_u32base]_[u32]offset)"]
1717#[inline]
1718#[target_feature(enable = "sve")]
1719#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1720#[cfg_attr(test, assert_instr(adr))]
1721pub fn svadrb_u32base_u32offset(bases: svuint32_t, offsets: svuint32_t) -> svuint32_t {
1722 unsafe { svadrb_u32base_s32offset(bases, offsets.as_signed()) }
1723}
1724#[doc = "Compute vector addresses for 16-bit data"]
1725#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svadrh[_u32base]_[u32]index)"]
1726#[inline]
1727#[target_feature(enable = "sve")]
1728#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1729#[cfg_attr(test, assert_instr(adr))]
1730pub fn svadrh_u32base_u32index(bases: svuint32_t, indices: svuint32_t) -> svuint32_t {
1731 unsafe { svadrh_u32base_s32index(bases, indices.as_signed()) }
1732}
1733#[doc = "Compute vector addresses for 32-bit data"]
1734#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svadrw[_u32base]_[u32]index)"]
1735#[inline]
1736#[target_feature(enable = "sve")]
1737#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1738#[cfg_attr(test, assert_instr(adr))]
1739pub fn svadrw_u32base_u32index(bases: svuint32_t, indices: svuint32_t) -> svuint32_t {
1740 unsafe { svadrw_u32base_s32index(bases, indices.as_signed()) }
1741}
1742#[doc = "Compute vector addresses for 64-bit data"]
1743#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svadrd[_u32base]_[u32]index)"]
1744#[inline]
1745#[target_feature(enable = "sve")]
1746#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1747#[cfg_attr(test, assert_instr(adr))]
1748pub fn svadrd_u32base_u32index(bases: svuint32_t, indices: svuint32_t) -> svuint32_t {
1749 unsafe { svadrd_u32base_s32index(bases, indices.as_signed()) }
1750}
1751#[doc = "Compute vector addresses for 8-bit data"]
1752#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svadrb[_u64base]_[s64]offset)"]
1753#[inline]
1754#[target_feature(enable = "sve")]
1755#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1756#[cfg_attr(test, assert_instr(adr))]
1757pub fn svadrb_u64base_s64offset(bases: svuint64_t, offsets: svint64_t) -> svuint64_t {
1758 unsafe extern "unadjusted" {
1759 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.adrb.nxv2i64")]
1760 fn _svadrb_u64base_s64offset(bases: svint64_t, offsets: svint64_t) -> svint64_t;
1761 }
1762 unsafe { _svadrb_u64base_s64offset(bases.as_signed(), offsets).as_unsigned() }
1763}
1764#[doc = "Compute vector addresses for 16-bit data"]
1765#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svadrh[_u64base]_[s64]index)"]
1766#[inline]
1767#[target_feature(enable = "sve")]
1768#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1769#[cfg_attr(test, assert_instr(adr))]
1770pub fn svadrh_u64base_s64index(bases: svuint64_t, indices: svint64_t) -> svuint64_t {
1771 unsafe extern "unadjusted" {
1772 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.adrh.nxv2i64")]
1773 fn _svadrh_u64base_s64index(bases: svint64_t, indices: svint64_t) -> svint64_t;
1774 }
1775 unsafe { _svadrh_u64base_s64index(bases.as_signed(), indices).as_unsigned() }
1776}
1777#[doc = "Compute vector addresses for 32-bit data"]
1778#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svadrw[_u64base]_[s64]index)"]
1779#[inline]
1780#[target_feature(enable = "sve")]
1781#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1782#[cfg_attr(test, assert_instr(adr))]
1783pub fn svadrw_u64base_s64index(bases: svuint64_t, indices: svint64_t) -> svuint64_t {
1784 unsafe extern "unadjusted" {
1785 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.adrw.nxv2i64")]
1786 fn _svadrw_u64base_s64index(bases: svint64_t, indices: svint64_t) -> svint64_t;
1787 }
1788 unsafe { _svadrw_u64base_s64index(bases.as_signed(), indices).as_unsigned() }
1789}
1790#[doc = "Compute vector addresses for 64-bit data"]
1791#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svadrd[_u64base]_[s64]index)"]
1792#[inline]
1793#[target_feature(enable = "sve")]
1794#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1795#[cfg_attr(test, assert_instr(adr))]
1796pub fn svadrd_u64base_s64index(bases: svuint64_t, indices: svint64_t) -> svuint64_t {
1797 unsafe extern "unadjusted" {
1798 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.adrd.nxv2i64")]
1799 fn _svadrd_u64base_s64index(bases: svint64_t, indices: svint64_t) -> svint64_t;
1800 }
1801 unsafe { _svadrd_u64base_s64index(bases.as_signed(), indices).as_unsigned() }
1802}
1803#[doc = "Compute vector addresses for 8-bit data"]
1804#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svadrb[_u64base]_[u64]offset)"]
1805#[inline]
1806#[target_feature(enable = "sve")]
1807#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1808#[cfg_attr(test, assert_instr(adr))]
1809pub fn svadrb_u64base_u64offset(bases: svuint64_t, offsets: svuint64_t) -> svuint64_t {
1810 unsafe { svadrb_u64base_s64offset(bases, offsets.as_signed()) }
1811}
1812#[doc = "Compute vector addresses for 16-bit data"]
1813#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svadrh[_u64base]_[u64]index)"]
1814#[inline]
1815#[target_feature(enable = "sve")]
1816#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1817#[cfg_attr(test, assert_instr(adr))]
1818pub fn svadrh_u64base_u64index(bases: svuint64_t, indices: svuint64_t) -> svuint64_t {
1819 unsafe { svadrh_u64base_s64index(bases, indices.as_signed()) }
1820}
1821#[doc = "Compute vector addresses for 32-bit data"]
1822#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svadrw[_u64base]_[u64]index)"]
1823#[inline]
1824#[target_feature(enable = "sve")]
1825#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1826#[cfg_attr(test, assert_instr(adr))]
1827pub fn svadrw_u64base_u64index(bases: svuint64_t, indices: svuint64_t) -> svuint64_t {
1828 unsafe { svadrw_u64base_s64index(bases, indices.as_signed()) }
1829}
1830#[doc = "Compute vector addresses for 64-bit data"]
1831#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svadrd[_u64base]_[u64]index)"]
1832#[inline]
1833#[target_feature(enable = "sve")]
1834#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1835#[cfg_attr(test, assert_instr(adr))]
1836pub fn svadrd_u64base_u64index(bases: svuint64_t, indices: svuint64_t) -> svuint64_t {
1837 unsafe { svadrd_u64base_s64index(bases, indices.as_signed()) }
1838}
1839#[doc = "Bitwise AND"]
1840#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svand[_b]_z)"]
1841#[inline]
1842#[target_feature(enable = "sve")]
1843#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1844#[cfg_attr(test, assert_instr(and))]
1845pub fn svand_b_z(pg: svbool_t, op1: svbool_t, op2: svbool_t) -> svbool_t {
1846 unsafe extern "unadjusted" {
1847 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.and.z.nxv16i1")]
1848 fn _svand_b_z(pg: svbool_t, op1: svbool_t, op2: svbool_t) -> svbool_t;
1849 }
1850 unsafe { _svand_b_z(pg, op1, op2) }
1851}
1852#[doc = "Bitwise AND"]
1853#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svand[_s8]_m)"]
1854#[inline]
1855#[target_feature(enable = "sve")]
1856#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1857#[cfg_attr(test, assert_instr(and))]
1858pub fn svand_s8_m(pg: svbool_t, op1: svint8_t, op2: svint8_t) -> svint8_t {
1859 unsafe extern "unadjusted" {
1860 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.and.nxv16i8")]
1861 fn _svand_s8_m(pg: svbool_t, op1: svint8_t, op2: svint8_t) -> svint8_t;
1862 }
1863 unsafe { _svand_s8_m(pg, op1, op2) }
1864}
1865#[doc = "Bitwise AND"]
1866#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svand[_n_s8]_m)"]
1867#[inline]
1868#[target_feature(enable = "sve")]
1869#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1870#[cfg_attr(test, assert_instr(and))]
1871pub fn svand_n_s8_m(pg: svbool_t, op1: svint8_t, op2: i8) -> svint8_t {
1872 svand_s8_m(pg, op1, svdup_n_s8(op2))
1873}
1874#[doc = "Bitwise AND"]
1875#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svand[_s8]_x)"]
1876#[inline]
1877#[target_feature(enable = "sve")]
1878#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1879#[cfg_attr(test, assert_instr(and))]
1880pub fn svand_s8_x(pg: svbool_t, op1: svint8_t, op2: svint8_t) -> svint8_t {
1881 svand_s8_m(pg, op1, op2)
1882}
1883#[doc = "Bitwise AND"]
1884#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svand[_n_s8]_x)"]
1885#[inline]
1886#[target_feature(enable = "sve")]
1887#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1888#[cfg_attr(test, assert_instr(and))]
1889pub fn svand_n_s8_x(pg: svbool_t, op1: svint8_t, op2: i8) -> svint8_t {
1890 svand_s8_x(pg, op1, svdup_n_s8(op2))
1891}
1892#[doc = "Bitwise AND"]
1893#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svand[_s8]_z)"]
1894#[inline]
1895#[target_feature(enable = "sve")]
1896#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1897#[cfg_attr(test, assert_instr(and))]
1898pub fn svand_s8_z(pg: svbool_t, op1: svint8_t, op2: svint8_t) -> svint8_t {
1899 svand_s8_m(pg, svsel_s8(pg, op1, svdup_n_s8(0)), op2)
1900}
1901#[doc = "Bitwise AND"]
1902#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svand[_n_s8]_z)"]
1903#[inline]
1904#[target_feature(enable = "sve")]
1905#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1906#[cfg_attr(test, assert_instr(and))]
1907pub fn svand_n_s8_z(pg: svbool_t, op1: svint8_t, op2: i8) -> svint8_t {
1908 svand_s8_z(pg, op1, svdup_n_s8(op2))
1909}
1910#[doc = "Bitwise AND"]
1911#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svand[_s16]_m)"]
1912#[inline]
1913#[target_feature(enable = "sve")]
1914#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1915#[cfg_attr(test, assert_instr(and))]
1916pub fn svand_s16_m(pg: svbool_t, op1: svint16_t, op2: svint16_t) -> svint16_t {
1917 unsafe extern "unadjusted" {
1918 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.and.nxv8i16")]
1919 fn _svand_s16_m(pg: svbool8_t, op1: svint16_t, op2: svint16_t) -> svint16_t;
1920 }
1921 unsafe { _svand_s16_m(pg.sve_into(), op1, op2) }
1922}
1923#[doc = "Bitwise AND"]
1924#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svand[_n_s16]_m)"]
1925#[inline]
1926#[target_feature(enable = "sve")]
1927#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1928#[cfg_attr(test, assert_instr(and))]
1929pub fn svand_n_s16_m(pg: svbool_t, op1: svint16_t, op2: i16) -> svint16_t {
1930 svand_s16_m(pg, op1, svdup_n_s16(op2))
1931}
1932#[doc = "Bitwise AND"]
1933#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svand[_s16]_x)"]
1934#[inline]
1935#[target_feature(enable = "sve")]
1936#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1937#[cfg_attr(test, assert_instr(and))]
1938pub fn svand_s16_x(pg: svbool_t, op1: svint16_t, op2: svint16_t) -> svint16_t {
1939 svand_s16_m(pg, op1, op2)
1940}
1941#[doc = "Bitwise AND"]
1942#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svand[_n_s16]_x)"]
1943#[inline]
1944#[target_feature(enable = "sve")]
1945#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1946#[cfg_attr(test, assert_instr(and))]
1947pub fn svand_n_s16_x(pg: svbool_t, op1: svint16_t, op2: i16) -> svint16_t {
1948 svand_s16_x(pg, op1, svdup_n_s16(op2))
1949}
1950#[doc = "Bitwise AND"]
1951#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svand[_s16]_z)"]
1952#[inline]
1953#[target_feature(enable = "sve")]
1954#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1955#[cfg_attr(test, assert_instr(and))]
1956pub fn svand_s16_z(pg: svbool_t, op1: svint16_t, op2: svint16_t) -> svint16_t {
1957 svand_s16_m(pg, svsel_s16(pg, op1, svdup_n_s16(0)), op2)
1958}
1959#[doc = "Bitwise AND"]
1960#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svand[_n_s16]_z)"]
1961#[inline]
1962#[target_feature(enable = "sve")]
1963#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1964#[cfg_attr(test, assert_instr(and))]
1965pub fn svand_n_s16_z(pg: svbool_t, op1: svint16_t, op2: i16) -> svint16_t {
1966 svand_s16_z(pg, op1, svdup_n_s16(op2))
1967}
1968#[doc = "Bitwise AND"]
1969#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svand[_s32]_m)"]
1970#[inline]
1971#[target_feature(enable = "sve")]
1972#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1973#[cfg_attr(test, assert_instr(and))]
1974pub fn svand_s32_m(pg: svbool_t, op1: svint32_t, op2: svint32_t) -> svint32_t {
1975 unsafe extern "unadjusted" {
1976 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.and.nxv4i32")]
1977 fn _svand_s32_m(pg: svbool4_t, op1: svint32_t, op2: svint32_t) -> svint32_t;
1978 }
1979 unsafe { _svand_s32_m(pg.sve_into(), op1, op2) }
1980}
1981#[doc = "Bitwise AND"]
1982#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svand[_n_s32]_m)"]
1983#[inline]
1984#[target_feature(enable = "sve")]
1985#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1986#[cfg_attr(test, assert_instr(and))]
1987pub fn svand_n_s32_m(pg: svbool_t, op1: svint32_t, op2: i32) -> svint32_t {
1988 svand_s32_m(pg, op1, svdup_n_s32(op2))
1989}
1990#[doc = "Bitwise AND"]
1991#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svand[_s32]_x)"]
1992#[inline]
1993#[target_feature(enable = "sve")]
1994#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
1995#[cfg_attr(test, assert_instr(and))]
1996pub fn svand_s32_x(pg: svbool_t, op1: svint32_t, op2: svint32_t) -> svint32_t {
1997 svand_s32_m(pg, op1, op2)
1998}
1999#[doc = "Bitwise AND"]
2000#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svand[_n_s32]_x)"]
2001#[inline]
2002#[target_feature(enable = "sve")]
2003#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2004#[cfg_attr(test, assert_instr(and))]
2005pub fn svand_n_s32_x(pg: svbool_t, op1: svint32_t, op2: i32) -> svint32_t {
2006 svand_s32_x(pg, op1, svdup_n_s32(op2))
2007}
2008#[doc = "Bitwise AND"]
2009#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svand[_s32]_z)"]
2010#[inline]
2011#[target_feature(enable = "sve")]
2012#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2013#[cfg_attr(test, assert_instr(and))]
2014pub fn svand_s32_z(pg: svbool_t, op1: svint32_t, op2: svint32_t) -> svint32_t {
2015 svand_s32_m(pg, svsel_s32(pg, op1, svdup_n_s32(0)), op2)
2016}
2017#[doc = "Bitwise AND"]
2018#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svand[_n_s32]_z)"]
2019#[inline]
2020#[target_feature(enable = "sve")]
2021#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2022#[cfg_attr(test, assert_instr(and))]
2023pub fn svand_n_s32_z(pg: svbool_t, op1: svint32_t, op2: i32) -> svint32_t {
2024 svand_s32_z(pg, op1, svdup_n_s32(op2))
2025}
2026#[doc = "Bitwise AND"]
2027#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svand[_s64]_m)"]
2028#[inline]
2029#[target_feature(enable = "sve")]
2030#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2031#[cfg_attr(test, assert_instr(and))]
2032pub fn svand_s64_m(pg: svbool_t, op1: svint64_t, op2: svint64_t) -> svint64_t {
2033 unsafe extern "unadjusted" {
2034 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.and.nxv2i64")]
2035 fn _svand_s64_m(pg: svbool2_t, op1: svint64_t, op2: svint64_t) -> svint64_t;
2036 }
2037 unsafe { _svand_s64_m(pg.sve_into(), op1, op2) }
2038}
2039#[doc = "Bitwise AND"]
2040#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svand[_n_s64]_m)"]
2041#[inline]
2042#[target_feature(enable = "sve")]
2043#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2044#[cfg_attr(test, assert_instr(and))]
2045pub fn svand_n_s64_m(pg: svbool_t, op1: svint64_t, op2: i64) -> svint64_t {
2046 svand_s64_m(pg, op1, svdup_n_s64(op2))
2047}
2048#[doc = "Bitwise AND"]
2049#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svand[_s64]_x)"]
2050#[inline]
2051#[target_feature(enable = "sve")]
2052#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2053#[cfg_attr(test, assert_instr(and))]
2054pub fn svand_s64_x(pg: svbool_t, op1: svint64_t, op2: svint64_t) -> svint64_t {
2055 svand_s64_m(pg, op1, op2)
2056}
2057#[doc = "Bitwise AND"]
2058#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svand[_n_s64]_x)"]
2059#[inline]
2060#[target_feature(enable = "sve")]
2061#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2062#[cfg_attr(test, assert_instr(and))]
2063pub fn svand_n_s64_x(pg: svbool_t, op1: svint64_t, op2: i64) -> svint64_t {
2064 svand_s64_x(pg, op1, svdup_n_s64(op2))
2065}
2066#[doc = "Bitwise AND"]
2067#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svand[_s64]_z)"]
2068#[inline]
2069#[target_feature(enable = "sve")]
2070#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2071#[cfg_attr(test, assert_instr(and))]
2072pub fn svand_s64_z(pg: svbool_t, op1: svint64_t, op2: svint64_t) -> svint64_t {
2073 svand_s64_m(pg, svsel_s64(pg, op1, svdup_n_s64(0)), op2)
2074}
2075#[doc = "Bitwise AND"]
2076#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svand[_n_s64]_z)"]
2077#[inline]
2078#[target_feature(enable = "sve")]
2079#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2080#[cfg_attr(test, assert_instr(and))]
2081pub fn svand_n_s64_z(pg: svbool_t, op1: svint64_t, op2: i64) -> svint64_t {
2082 svand_s64_z(pg, op1, svdup_n_s64(op2))
2083}
2084#[doc = "Bitwise AND"]
2085#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svand[_u8]_m)"]
2086#[inline]
2087#[target_feature(enable = "sve")]
2088#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2089#[cfg_attr(test, assert_instr(and))]
2090pub fn svand_u8_m(pg: svbool_t, op1: svuint8_t, op2: svuint8_t) -> svuint8_t {
2091 unsafe { svand_s8_m(pg, op1.as_signed(), op2.as_signed()).as_unsigned() }
2092}
2093#[doc = "Bitwise AND"]
2094#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svand[_n_u8]_m)"]
2095#[inline]
2096#[target_feature(enable = "sve")]
2097#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2098#[cfg_attr(test, assert_instr(and))]
2099pub fn svand_n_u8_m(pg: svbool_t, op1: svuint8_t, op2: u8) -> svuint8_t {
2100 svand_u8_m(pg, op1, svdup_n_u8(op2))
2101}
2102#[doc = "Bitwise AND"]
2103#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svand[_u8]_x)"]
2104#[inline]
2105#[target_feature(enable = "sve")]
2106#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2107#[cfg_attr(test, assert_instr(and))]
2108pub fn svand_u8_x(pg: svbool_t, op1: svuint8_t, op2: svuint8_t) -> svuint8_t {
2109 svand_u8_m(pg, op1, op2)
2110}
2111#[doc = "Bitwise AND"]
2112#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svand[_n_u8]_x)"]
2113#[inline]
2114#[target_feature(enable = "sve")]
2115#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2116#[cfg_attr(test, assert_instr(and))]
2117pub fn svand_n_u8_x(pg: svbool_t, op1: svuint8_t, op2: u8) -> svuint8_t {
2118 svand_u8_x(pg, op1, svdup_n_u8(op2))
2119}
2120#[doc = "Bitwise AND"]
2121#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svand[_u8]_z)"]
2122#[inline]
2123#[target_feature(enable = "sve")]
2124#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2125#[cfg_attr(test, assert_instr(and))]
2126pub fn svand_u8_z(pg: svbool_t, op1: svuint8_t, op2: svuint8_t) -> svuint8_t {
2127 svand_u8_m(pg, svsel_u8(pg, op1, svdup_n_u8(0)), op2)
2128}
2129#[doc = "Bitwise AND"]
2130#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svand[_n_u8]_z)"]
2131#[inline]
2132#[target_feature(enable = "sve")]
2133#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2134#[cfg_attr(test, assert_instr(and))]
2135pub fn svand_n_u8_z(pg: svbool_t, op1: svuint8_t, op2: u8) -> svuint8_t {
2136 svand_u8_z(pg, op1, svdup_n_u8(op2))
2137}
2138#[doc = "Bitwise AND"]
2139#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svand[_u16]_m)"]
2140#[inline]
2141#[target_feature(enable = "sve")]
2142#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2143#[cfg_attr(test, assert_instr(and))]
2144pub fn svand_u16_m(pg: svbool_t, op1: svuint16_t, op2: svuint16_t) -> svuint16_t {
2145 unsafe { svand_s16_m(pg, op1.as_signed(), op2.as_signed()).as_unsigned() }
2146}
2147#[doc = "Bitwise AND"]
2148#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svand[_n_u16]_m)"]
2149#[inline]
2150#[target_feature(enable = "sve")]
2151#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2152#[cfg_attr(test, assert_instr(and))]
2153pub fn svand_n_u16_m(pg: svbool_t, op1: svuint16_t, op2: u16) -> svuint16_t {
2154 svand_u16_m(pg, op1, svdup_n_u16(op2))
2155}
2156#[doc = "Bitwise AND"]
2157#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svand[_u16]_x)"]
2158#[inline]
2159#[target_feature(enable = "sve")]
2160#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2161#[cfg_attr(test, assert_instr(and))]
2162pub fn svand_u16_x(pg: svbool_t, op1: svuint16_t, op2: svuint16_t) -> svuint16_t {
2163 svand_u16_m(pg, op1, op2)
2164}
2165#[doc = "Bitwise AND"]
2166#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svand[_n_u16]_x)"]
2167#[inline]
2168#[target_feature(enable = "sve")]
2169#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2170#[cfg_attr(test, assert_instr(and))]
2171pub fn svand_n_u16_x(pg: svbool_t, op1: svuint16_t, op2: u16) -> svuint16_t {
2172 svand_u16_x(pg, op1, svdup_n_u16(op2))
2173}
2174#[doc = "Bitwise AND"]
2175#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svand[_u16]_z)"]
2176#[inline]
2177#[target_feature(enable = "sve")]
2178#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2179#[cfg_attr(test, assert_instr(and))]
2180pub fn svand_u16_z(pg: svbool_t, op1: svuint16_t, op2: svuint16_t) -> svuint16_t {
2181 svand_u16_m(pg, svsel_u16(pg, op1, svdup_n_u16(0)), op2)
2182}
2183#[doc = "Bitwise AND"]
2184#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svand[_n_u16]_z)"]
2185#[inline]
2186#[target_feature(enable = "sve")]
2187#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2188#[cfg_attr(test, assert_instr(and))]
2189pub fn svand_n_u16_z(pg: svbool_t, op1: svuint16_t, op2: u16) -> svuint16_t {
2190 svand_u16_z(pg, op1, svdup_n_u16(op2))
2191}
2192#[doc = "Bitwise AND"]
2193#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svand[_u32]_m)"]
2194#[inline]
2195#[target_feature(enable = "sve")]
2196#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2197#[cfg_attr(test, assert_instr(and))]
2198pub fn svand_u32_m(pg: svbool_t, op1: svuint32_t, op2: svuint32_t) -> svuint32_t {
2199 unsafe { svand_s32_m(pg, op1.as_signed(), op2.as_signed()).as_unsigned() }
2200}
2201#[doc = "Bitwise AND"]
2202#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svand[_n_u32]_m)"]
2203#[inline]
2204#[target_feature(enable = "sve")]
2205#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2206#[cfg_attr(test, assert_instr(and))]
2207pub fn svand_n_u32_m(pg: svbool_t, op1: svuint32_t, op2: u32) -> svuint32_t {
2208 svand_u32_m(pg, op1, svdup_n_u32(op2))
2209}
2210#[doc = "Bitwise AND"]
2211#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svand[_u32]_x)"]
2212#[inline]
2213#[target_feature(enable = "sve")]
2214#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2215#[cfg_attr(test, assert_instr(and))]
2216pub fn svand_u32_x(pg: svbool_t, op1: svuint32_t, op2: svuint32_t) -> svuint32_t {
2217 svand_u32_m(pg, op1, op2)
2218}
2219#[doc = "Bitwise AND"]
2220#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svand[_n_u32]_x)"]
2221#[inline]
2222#[target_feature(enable = "sve")]
2223#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2224#[cfg_attr(test, assert_instr(and))]
2225pub fn svand_n_u32_x(pg: svbool_t, op1: svuint32_t, op2: u32) -> svuint32_t {
2226 svand_u32_x(pg, op1, svdup_n_u32(op2))
2227}
2228#[doc = "Bitwise AND"]
2229#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svand[_u32]_z)"]
2230#[inline]
2231#[target_feature(enable = "sve")]
2232#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2233#[cfg_attr(test, assert_instr(and))]
2234pub fn svand_u32_z(pg: svbool_t, op1: svuint32_t, op2: svuint32_t) -> svuint32_t {
2235 svand_u32_m(pg, svsel_u32(pg, op1, svdup_n_u32(0)), op2)
2236}
2237#[doc = "Bitwise AND"]
2238#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svand[_n_u32]_z)"]
2239#[inline]
2240#[target_feature(enable = "sve")]
2241#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2242#[cfg_attr(test, assert_instr(and))]
2243pub fn svand_n_u32_z(pg: svbool_t, op1: svuint32_t, op2: u32) -> svuint32_t {
2244 svand_u32_z(pg, op1, svdup_n_u32(op2))
2245}
2246#[doc = "Bitwise AND"]
2247#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svand[_u64]_m)"]
2248#[inline]
2249#[target_feature(enable = "sve")]
2250#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2251#[cfg_attr(test, assert_instr(and))]
2252pub fn svand_u64_m(pg: svbool_t, op1: svuint64_t, op2: svuint64_t) -> svuint64_t {
2253 unsafe { svand_s64_m(pg, op1.as_signed(), op2.as_signed()).as_unsigned() }
2254}
2255#[doc = "Bitwise AND"]
2256#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svand[_n_u64]_m)"]
2257#[inline]
2258#[target_feature(enable = "sve")]
2259#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2260#[cfg_attr(test, assert_instr(and))]
2261pub fn svand_n_u64_m(pg: svbool_t, op1: svuint64_t, op2: u64) -> svuint64_t {
2262 svand_u64_m(pg, op1, svdup_n_u64(op2))
2263}
2264#[doc = "Bitwise AND"]
2265#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svand[_u64]_x)"]
2266#[inline]
2267#[target_feature(enable = "sve")]
2268#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2269#[cfg_attr(test, assert_instr(and))]
2270pub fn svand_u64_x(pg: svbool_t, op1: svuint64_t, op2: svuint64_t) -> svuint64_t {
2271 svand_u64_m(pg, op1, op2)
2272}
2273#[doc = "Bitwise AND"]
2274#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svand[_n_u64]_x)"]
2275#[inline]
2276#[target_feature(enable = "sve")]
2277#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2278#[cfg_attr(test, assert_instr(and))]
2279pub fn svand_n_u64_x(pg: svbool_t, op1: svuint64_t, op2: u64) -> svuint64_t {
2280 svand_u64_x(pg, op1, svdup_n_u64(op2))
2281}
2282#[doc = "Bitwise AND"]
2283#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svand[_u64]_z)"]
2284#[inline]
2285#[target_feature(enable = "sve")]
2286#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2287#[cfg_attr(test, assert_instr(and))]
2288pub fn svand_u64_z(pg: svbool_t, op1: svuint64_t, op2: svuint64_t) -> svuint64_t {
2289 svand_u64_m(pg, svsel_u64(pg, op1, svdup_n_u64(0)), op2)
2290}
2291#[doc = "Bitwise AND"]
2292#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svand[_n_u64]_z)"]
2293#[inline]
2294#[target_feature(enable = "sve")]
2295#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2296#[cfg_attr(test, assert_instr(and))]
2297pub fn svand_n_u64_z(pg: svbool_t, op1: svuint64_t, op2: u64) -> svuint64_t {
2298 svand_u64_z(pg, op1, svdup_n_u64(op2))
2299}
2300#[doc = "Bitwise AND reduction to scalar"]
2301#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svandv[_s8])"]
2302#[inline]
2303#[target_feature(enable = "sve")]
2304#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2305#[cfg_attr(test, assert_instr(andv))]
2306pub fn svandv_s8(pg: svbool_t, op: svint8_t) -> i8 {
2307 unsafe extern "unadjusted" {
2308 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.andv.nxv16i8")]
2309 fn _svandv_s8(pg: svbool_t, op: svint8_t) -> i8;
2310 }
2311 unsafe { _svandv_s8(pg, op) }
2312}
2313#[doc = "Bitwise AND reduction to scalar"]
2314#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svandv[_s16])"]
2315#[inline]
2316#[target_feature(enable = "sve")]
2317#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2318#[cfg_attr(test, assert_instr(andv))]
2319pub fn svandv_s16(pg: svbool_t, op: svint16_t) -> i16 {
2320 unsafe extern "unadjusted" {
2321 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.andv.nxv8i16")]
2322 fn _svandv_s16(pg: svbool8_t, op: svint16_t) -> i16;
2323 }
2324 unsafe { _svandv_s16(pg.sve_into(), op) }
2325}
2326#[doc = "Bitwise AND reduction to scalar"]
2327#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svandv[_s32])"]
2328#[inline]
2329#[target_feature(enable = "sve")]
2330#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2331#[cfg_attr(test, assert_instr(andv))]
2332pub fn svandv_s32(pg: svbool_t, op: svint32_t) -> i32 {
2333 unsafe extern "unadjusted" {
2334 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.andv.nxv4i32")]
2335 fn _svandv_s32(pg: svbool4_t, op: svint32_t) -> i32;
2336 }
2337 unsafe { _svandv_s32(pg.sve_into(), op) }
2338}
2339#[doc = "Bitwise AND reduction to scalar"]
2340#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svandv[_s64])"]
2341#[inline]
2342#[target_feature(enable = "sve")]
2343#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2344#[cfg_attr(test, assert_instr(andv))]
2345pub fn svandv_s64(pg: svbool_t, op: svint64_t) -> i64 {
2346 unsafe extern "unadjusted" {
2347 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.andv.nxv2i64")]
2348 fn _svandv_s64(pg: svbool2_t, op: svint64_t) -> i64;
2349 }
2350 unsafe { _svandv_s64(pg.sve_into(), op) }
2351}
2352#[doc = "Bitwise AND reduction to scalar"]
2353#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svandv[_u8])"]
2354#[inline]
2355#[target_feature(enable = "sve")]
2356#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2357#[cfg_attr(test, assert_instr(andv))]
2358pub fn svandv_u8(pg: svbool_t, op: svuint8_t) -> u8 {
2359 unsafe { svandv_s8(pg, op.as_signed()).as_unsigned() }
2360}
2361#[doc = "Bitwise AND reduction to scalar"]
2362#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svandv[_u16])"]
2363#[inline]
2364#[target_feature(enable = "sve")]
2365#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2366#[cfg_attr(test, assert_instr(andv))]
2367pub fn svandv_u16(pg: svbool_t, op: svuint16_t) -> u16 {
2368 unsafe { svandv_s16(pg, op.as_signed()).as_unsigned() }
2369}
2370#[doc = "Bitwise AND reduction to scalar"]
2371#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svandv[_u32])"]
2372#[inline]
2373#[target_feature(enable = "sve")]
2374#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2375#[cfg_attr(test, assert_instr(andv))]
2376pub fn svandv_u32(pg: svbool_t, op: svuint32_t) -> u32 {
2377 unsafe { svandv_s32(pg, op.as_signed()).as_unsigned() }
2378}
2379#[doc = "Bitwise AND reduction to scalar"]
2380#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svandv[_u64])"]
2381#[inline]
2382#[target_feature(enable = "sve")]
2383#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2384#[cfg_attr(test, assert_instr(andv))]
2385pub fn svandv_u64(pg: svbool_t, op: svuint64_t) -> u64 {
2386 unsafe { svandv_s64(pg, op.as_signed()).as_unsigned() }
2387}
2388#[doc = "Arithmetic shift right"]
2389#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svasr[_s8]_m)"]
2390#[inline]
2391#[target_feature(enable = "sve")]
2392#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2393#[cfg_attr(test, assert_instr(asr))]
2394pub fn svasr_s8_m(pg: svbool_t, op1: svint8_t, op2: svuint8_t) -> svint8_t {
2395 unsafe extern "unadjusted" {
2396 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.asr.nxv16i8")]
2397 fn _svasr_s8_m(pg: svbool_t, op1: svint8_t, op2: svint8_t) -> svint8_t;
2398 }
2399 unsafe { _svasr_s8_m(pg, op1, op2.as_signed()) }
2400}
2401#[doc = "Arithmetic shift right"]
2402#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svasr[_n_s8]_m)"]
2403#[inline]
2404#[target_feature(enable = "sve")]
2405#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2406#[cfg_attr(test, assert_instr(asr))]
2407pub fn svasr_n_s8_m(pg: svbool_t, op1: svint8_t, op2: u8) -> svint8_t {
2408 svasr_s8_m(pg, op1, svdup_n_u8(op2))
2409}
2410#[doc = "Arithmetic shift right"]
2411#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svasr[_s8]_x)"]
2412#[inline]
2413#[target_feature(enable = "sve")]
2414#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2415#[cfg_attr(test, assert_instr(asr))]
2416pub fn svasr_s8_x(pg: svbool_t, op1: svint8_t, op2: svuint8_t) -> svint8_t {
2417 svasr_s8_m(pg, op1, op2)
2418}
2419#[doc = "Arithmetic shift right"]
2420#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svasr[_n_s8]_x)"]
2421#[inline]
2422#[target_feature(enable = "sve")]
2423#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2424#[cfg_attr(test, assert_instr(asr))]
2425pub fn svasr_n_s8_x(pg: svbool_t, op1: svint8_t, op2: u8) -> svint8_t {
2426 svasr_s8_x(pg, op1, svdup_n_u8(op2))
2427}
2428#[doc = "Arithmetic shift right"]
2429#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svasr[_s8]_z)"]
2430#[inline]
2431#[target_feature(enable = "sve")]
2432#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2433#[cfg_attr(test, assert_instr(asr))]
2434pub fn svasr_s8_z(pg: svbool_t, op1: svint8_t, op2: svuint8_t) -> svint8_t {
2435 svasr_s8_m(pg, svsel_s8(pg, op1, svdup_n_s8(0)), op2)
2436}
2437#[doc = "Arithmetic shift right"]
2438#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svasr[_n_s8]_z)"]
2439#[inline]
2440#[target_feature(enable = "sve")]
2441#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2442#[cfg_attr(test, assert_instr(asr))]
2443pub fn svasr_n_s8_z(pg: svbool_t, op1: svint8_t, op2: u8) -> svint8_t {
2444 svasr_s8_z(pg, op1, svdup_n_u8(op2))
2445}
2446#[doc = "Arithmetic shift right"]
2447#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svasr[_s16]_m)"]
2448#[inline]
2449#[target_feature(enable = "sve")]
2450#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2451#[cfg_attr(test, assert_instr(asr))]
2452pub fn svasr_s16_m(pg: svbool_t, op1: svint16_t, op2: svuint16_t) -> svint16_t {
2453 unsafe extern "unadjusted" {
2454 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.asr.nxv8i16")]
2455 fn _svasr_s16_m(pg: svbool8_t, op1: svint16_t, op2: svint16_t) -> svint16_t;
2456 }
2457 unsafe { _svasr_s16_m(pg.sve_into(), op1, op2.as_signed()) }
2458}
2459#[doc = "Arithmetic shift right"]
2460#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svasr[_n_s16]_m)"]
2461#[inline]
2462#[target_feature(enable = "sve")]
2463#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2464#[cfg_attr(test, assert_instr(asr))]
2465pub fn svasr_n_s16_m(pg: svbool_t, op1: svint16_t, op2: u16) -> svint16_t {
2466 svasr_s16_m(pg, op1, svdup_n_u16(op2))
2467}
2468#[doc = "Arithmetic shift right"]
2469#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svasr[_s16]_x)"]
2470#[inline]
2471#[target_feature(enable = "sve")]
2472#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2473#[cfg_attr(test, assert_instr(asr))]
2474pub fn svasr_s16_x(pg: svbool_t, op1: svint16_t, op2: svuint16_t) -> svint16_t {
2475 svasr_s16_m(pg, op1, op2)
2476}
2477#[doc = "Arithmetic shift right"]
2478#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svasr[_n_s16]_x)"]
2479#[inline]
2480#[target_feature(enable = "sve")]
2481#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2482#[cfg_attr(test, assert_instr(asr))]
2483pub fn svasr_n_s16_x(pg: svbool_t, op1: svint16_t, op2: u16) -> svint16_t {
2484 svasr_s16_x(pg, op1, svdup_n_u16(op2))
2485}
2486#[doc = "Arithmetic shift right"]
2487#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svasr[_s16]_z)"]
2488#[inline]
2489#[target_feature(enable = "sve")]
2490#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2491#[cfg_attr(test, assert_instr(asr))]
2492pub fn svasr_s16_z(pg: svbool_t, op1: svint16_t, op2: svuint16_t) -> svint16_t {
2493 svasr_s16_m(pg, svsel_s16(pg, op1, svdup_n_s16(0)), op2)
2494}
2495#[doc = "Arithmetic shift right"]
2496#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svasr[_n_s16]_z)"]
2497#[inline]
2498#[target_feature(enable = "sve")]
2499#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2500#[cfg_attr(test, assert_instr(asr))]
2501pub fn svasr_n_s16_z(pg: svbool_t, op1: svint16_t, op2: u16) -> svint16_t {
2502 svasr_s16_z(pg, op1, svdup_n_u16(op2))
2503}
2504#[doc = "Arithmetic shift right"]
2505#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svasr[_s32]_m)"]
2506#[inline]
2507#[target_feature(enable = "sve")]
2508#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2509#[cfg_attr(test, assert_instr(asr))]
2510pub fn svasr_s32_m(pg: svbool_t, op1: svint32_t, op2: svuint32_t) -> svint32_t {
2511 unsafe extern "unadjusted" {
2512 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.asr.nxv4i32")]
2513 fn _svasr_s32_m(pg: svbool4_t, op1: svint32_t, op2: svint32_t) -> svint32_t;
2514 }
2515 unsafe { _svasr_s32_m(pg.sve_into(), op1, op2.as_signed()) }
2516}
2517#[doc = "Arithmetic shift right"]
2518#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svasr[_n_s32]_m)"]
2519#[inline]
2520#[target_feature(enable = "sve")]
2521#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2522#[cfg_attr(test, assert_instr(asr))]
2523pub fn svasr_n_s32_m(pg: svbool_t, op1: svint32_t, op2: u32) -> svint32_t {
2524 svasr_s32_m(pg, op1, svdup_n_u32(op2))
2525}
2526#[doc = "Arithmetic shift right"]
2527#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svasr[_s32]_x)"]
2528#[inline]
2529#[target_feature(enable = "sve")]
2530#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2531#[cfg_attr(test, assert_instr(asr))]
2532pub fn svasr_s32_x(pg: svbool_t, op1: svint32_t, op2: svuint32_t) -> svint32_t {
2533 svasr_s32_m(pg, op1, op2)
2534}
2535#[doc = "Arithmetic shift right"]
2536#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svasr[_n_s32]_x)"]
2537#[inline]
2538#[target_feature(enable = "sve")]
2539#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2540#[cfg_attr(test, assert_instr(asr))]
2541pub fn svasr_n_s32_x(pg: svbool_t, op1: svint32_t, op2: u32) -> svint32_t {
2542 svasr_s32_x(pg, op1, svdup_n_u32(op2))
2543}
2544#[doc = "Arithmetic shift right"]
2545#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svasr[_s32]_z)"]
2546#[inline]
2547#[target_feature(enable = "sve")]
2548#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2549#[cfg_attr(test, assert_instr(asr))]
2550pub fn svasr_s32_z(pg: svbool_t, op1: svint32_t, op2: svuint32_t) -> svint32_t {
2551 svasr_s32_m(pg, svsel_s32(pg, op1, svdup_n_s32(0)), op2)
2552}
2553#[doc = "Arithmetic shift right"]
2554#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svasr[_n_s32]_z)"]
2555#[inline]
2556#[target_feature(enable = "sve")]
2557#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2558#[cfg_attr(test, assert_instr(asr))]
2559pub fn svasr_n_s32_z(pg: svbool_t, op1: svint32_t, op2: u32) -> svint32_t {
2560 svasr_s32_z(pg, op1, svdup_n_u32(op2))
2561}
2562#[doc = "Arithmetic shift right"]
2563#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svasr[_s64]_m)"]
2564#[inline]
2565#[target_feature(enable = "sve")]
2566#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2567#[cfg_attr(test, assert_instr(asr))]
2568pub fn svasr_s64_m(pg: svbool_t, op1: svint64_t, op2: svuint64_t) -> svint64_t {
2569 unsafe extern "unadjusted" {
2570 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.asr.nxv2i64")]
2571 fn _svasr_s64_m(pg: svbool2_t, op1: svint64_t, op2: svint64_t) -> svint64_t;
2572 }
2573 unsafe { _svasr_s64_m(pg.sve_into(), op1, op2.as_signed()) }
2574}
2575#[doc = "Arithmetic shift right"]
2576#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svasr[_n_s64]_m)"]
2577#[inline]
2578#[target_feature(enable = "sve")]
2579#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2580#[cfg_attr(test, assert_instr(asr))]
2581pub fn svasr_n_s64_m(pg: svbool_t, op1: svint64_t, op2: u64) -> svint64_t {
2582 svasr_s64_m(pg, op1, svdup_n_u64(op2))
2583}
2584#[doc = "Arithmetic shift right"]
2585#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svasr[_s64]_x)"]
2586#[inline]
2587#[target_feature(enable = "sve")]
2588#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2589#[cfg_attr(test, assert_instr(asr))]
2590pub fn svasr_s64_x(pg: svbool_t, op1: svint64_t, op2: svuint64_t) -> svint64_t {
2591 svasr_s64_m(pg, op1, op2)
2592}
2593#[doc = "Arithmetic shift right"]
2594#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svasr[_n_s64]_x)"]
2595#[inline]
2596#[target_feature(enable = "sve")]
2597#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2598#[cfg_attr(test, assert_instr(asr))]
2599pub fn svasr_n_s64_x(pg: svbool_t, op1: svint64_t, op2: u64) -> svint64_t {
2600 svasr_s64_x(pg, op1, svdup_n_u64(op2))
2601}
2602#[doc = "Arithmetic shift right"]
2603#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svasr[_s64]_z)"]
2604#[inline]
2605#[target_feature(enable = "sve")]
2606#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2607#[cfg_attr(test, assert_instr(asr))]
2608pub fn svasr_s64_z(pg: svbool_t, op1: svint64_t, op2: svuint64_t) -> svint64_t {
2609 svasr_s64_m(pg, svsel_s64(pg, op1, svdup_n_s64(0)), op2)
2610}
2611#[doc = "Arithmetic shift right"]
2612#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svasr[_n_s64]_z)"]
2613#[inline]
2614#[target_feature(enable = "sve")]
2615#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2616#[cfg_attr(test, assert_instr(asr))]
2617pub fn svasr_n_s64_z(pg: svbool_t, op1: svint64_t, op2: u64) -> svint64_t {
2618 svasr_s64_z(pg, op1, svdup_n_u64(op2))
2619}
2620#[doc = "Arithmetic shift right"]
2621#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svasr_wide[_s8]_m)"]
2622#[inline]
2623#[target_feature(enable = "sve")]
2624#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2625#[cfg_attr(test, assert_instr(asr))]
2626pub fn svasr_wide_s8_m(pg: svbool_t, op1: svint8_t, op2: svuint64_t) -> svint8_t {
2627 unsafe extern "unadjusted" {
2628 #[cfg_attr(
2629 target_arch = "aarch64",
2630 link_name = "llvm.aarch64.sve.asr.wide.nxv16i8"
2631 )]
2632 fn _svasr_wide_s8_m(pg: svbool_t, op1: svint8_t, op2: svint64_t) -> svint8_t;
2633 }
2634 unsafe { _svasr_wide_s8_m(pg, op1, op2.as_signed()) }
2635}
2636#[doc = "Arithmetic shift right"]
2637#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svasr_wide[_n_s8]_m)"]
2638#[inline]
2639#[target_feature(enable = "sve")]
2640#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2641#[cfg_attr(test, assert_instr(asr))]
2642pub fn svasr_wide_n_s8_m(pg: svbool_t, op1: svint8_t, op2: u64) -> svint8_t {
2643 svasr_wide_s8_m(pg, op1, svdup_n_u64(op2))
2644}
2645#[doc = "Arithmetic shift right"]
2646#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svasr_wide[_s8]_x)"]
2647#[inline]
2648#[target_feature(enable = "sve")]
2649#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2650#[cfg_attr(test, assert_instr(asr))]
2651pub fn svasr_wide_s8_x(pg: svbool_t, op1: svint8_t, op2: svuint64_t) -> svint8_t {
2652 svasr_wide_s8_m(pg, op1, op2)
2653}
2654#[doc = "Arithmetic shift right"]
2655#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svasr_wide[_n_s8]_x)"]
2656#[inline]
2657#[target_feature(enable = "sve")]
2658#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2659#[cfg_attr(test, assert_instr(asr))]
2660pub fn svasr_wide_n_s8_x(pg: svbool_t, op1: svint8_t, op2: u64) -> svint8_t {
2661 svasr_wide_s8_x(pg, op1, svdup_n_u64(op2))
2662}
2663#[doc = "Arithmetic shift right"]
2664#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svasr_wide[_s8]_z)"]
2665#[inline]
2666#[target_feature(enable = "sve")]
2667#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2668#[cfg_attr(test, assert_instr(asr))]
2669pub fn svasr_wide_s8_z(pg: svbool_t, op1: svint8_t, op2: svuint64_t) -> svint8_t {
2670 svasr_wide_s8_m(pg, svsel_s8(pg, op1, svdup_n_s8(0)), op2)
2671}
2672#[doc = "Arithmetic shift right"]
2673#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svasr_wide[_n_s8]_z)"]
2674#[inline]
2675#[target_feature(enable = "sve")]
2676#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2677#[cfg_attr(test, assert_instr(asr))]
2678pub fn svasr_wide_n_s8_z(pg: svbool_t, op1: svint8_t, op2: u64) -> svint8_t {
2679 svasr_wide_s8_z(pg, op1, svdup_n_u64(op2))
2680}
2681#[doc = "Arithmetic shift right"]
2682#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svasr_wide[_s16]_m)"]
2683#[inline]
2684#[target_feature(enable = "sve")]
2685#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2686#[cfg_attr(test, assert_instr(asr))]
2687pub fn svasr_wide_s16_m(pg: svbool_t, op1: svint16_t, op2: svuint64_t) -> svint16_t {
2688 unsafe extern "unadjusted" {
2689 #[cfg_attr(
2690 target_arch = "aarch64",
2691 link_name = "llvm.aarch64.sve.asr.wide.nxv8i16"
2692 )]
2693 fn _svasr_wide_s16_m(pg: svbool8_t, op1: svint16_t, op2: svint64_t) -> svint16_t;
2694 }
2695 unsafe { _svasr_wide_s16_m(pg.sve_into(), op1, op2.as_signed()) }
2696}
2697#[doc = "Arithmetic shift right"]
2698#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svasr_wide[_n_s16]_m)"]
2699#[inline]
2700#[target_feature(enable = "sve")]
2701#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2702#[cfg_attr(test, assert_instr(asr))]
2703pub fn svasr_wide_n_s16_m(pg: svbool_t, op1: svint16_t, op2: u64) -> svint16_t {
2704 svasr_wide_s16_m(pg, op1, svdup_n_u64(op2))
2705}
2706#[doc = "Arithmetic shift right"]
2707#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svasr_wide[_s16]_x)"]
2708#[inline]
2709#[target_feature(enable = "sve")]
2710#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2711#[cfg_attr(test, assert_instr(asr))]
2712pub fn svasr_wide_s16_x(pg: svbool_t, op1: svint16_t, op2: svuint64_t) -> svint16_t {
2713 svasr_wide_s16_m(pg, op1, op2)
2714}
2715#[doc = "Arithmetic shift right"]
2716#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svasr_wide[_n_s16]_x)"]
2717#[inline]
2718#[target_feature(enable = "sve")]
2719#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2720#[cfg_attr(test, assert_instr(asr))]
2721pub fn svasr_wide_n_s16_x(pg: svbool_t, op1: svint16_t, op2: u64) -> svint16_t {
2722 svasr_wide_s16_x(pg, op1, svdup_n_u64(op2))
2723}
2724#[doc = "Arithmetic shift right"]
2725#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svasr_wide[_s16]_z)"]
2726#[inline]
2727#[target_feature(enable = "sve")]
2728#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2729#[cfg_attr(test, assert_instr(asr))]
2730pub fn svasr_wide_s16_z(pg: svbool_t, op1: svint16_t, op2: svuint64_t) -> svint16_t {
2731 svasr_wide_s16_m(pg, svsel_s16(pg, op1, svdup_n_s16(0)), op2)
2732}
2733#[doc = "Arithmetic shift right"]
2734#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svasr_wide[_n_s16]_z)"]
2735#[inline]
2736#[target_feature(enable = "sve")]
2737#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2738#[cfg_attr(test, assert_instr(asr))]
2739pub fn svasr_wide_n_s16_z(pg: svbool_t, op1: svint16_t, op2: u64) -> svint16_t {
2740 svasr_wide_s16_z(pg, op1, svdup_n_u64(op2))
2741}
2742#[doc = "Arithmetic shift right"]
2743#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svasr_wide[_s32]_m)"]
2744#[inline]
2745#[target_feature(enable = "sve")]
2746#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2747#[cfg_attr(test, assert_instr(asr))]
2748pub fn svasr_wide_s32_m(pg: svbool_t, op1: svint32_t, op2: svuint64_t) -> svint32_t {
2749 unsafe extern "unadjusted" {
2750 #[cfg_attr(
2751 target_arch = "aarch64",
2752 link_name = "llvm.aarch64.sve.asr.wide.nxv4i32"
2753 )]
2754 fn _svasr_wide_s32_m(pg: svbool4_t, op1: svint32_t, op2: svint64_t) -> svint32_t;
2755 }
2756 unsafe { _svasr_wide_s32_m(pg.sve_into(), op1, op2.as_signed()) }
2757}
2758#[doc = "Arithmetic shift right"]
2759#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svasr_wide[_n_s32]_m)"]
2760#[inline]
2761#[target_feature(enable = "sve")]
2762#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2763#[cfg_attr(test, assert_instr(asr))]
2764pub fn svasr_wide_n_s32_m(pg: svbool_t, op1: svint32_t, op2: u64) -> svint32_t {
2765 svasr_wide_s32_m(pg, op1, svdup_n_u64(op2))
2766}
2767#[doc = "Arithmetic shift right"]
2768#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svasr_wide[_s32]_x)"]
2769#[inline]
2770#[target_feature(enable = "sve")]
2771#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2772#[cfg_attr(test, assert_instr(asr))]
2773pub fn svasr_wide_s32_x(pg: svbool_t, op1: svint32_t, op2: svuint64_t) -> svint32_t {
2774 svasr_wide_s32_m(pg, op1, op2)
2775}
2776#[doc = "Arithmetic shift right"]
2777#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svasr_wide[_n_s32]_x)"]
2778#[inline]
2779#[target_feature(enable = "sve")]
2780#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2781#[cfg_attr(test, assert_instr(asr))]
2782pub fn svasr_wide_n_s32_x(pg: svbool_t, op1: svint32_t, op2: u64) -> svint32_t {
2783 svasr_wide_s32_x(pg, op1, svdup_n_u64(op2))
2784}
2785#[doc = "Arithmetic shift right"]
2786#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svasr_wide[_s32]_z)"]
2787#[inline]
2788#[target_feature(enable = "sve")]
2789#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2790#[cfg_attr(test, assert_instr(asr))]
2791pub fn svasr_wide_s32_z(pg: svbool_t, op1: svint32_t, op2: svuint64_t) -> svint32_t {
2792 svasr_wide_s32_m(pg, svsel_s32(pg, op1, svdup_n_s32(0)), op2)
2793}
2794#[doc = "Arithmetic shift right"]
2795#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svasr_wide[_n_s32]_z)"]
2796#[inline]
2797#[target_feature(enable = "sve")]
2798#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2799#[cfg_attr(test, assert_instr(asr))]
2800pub fn svasr_wide_n_s32_z(pg: svbool_t, op1: svint32_t, op2: u64) -> svint32_t {
2801 svasr_wide_s32_z(pg, op1, svdup_n_u64(op2))
2802}
2803#[doc = "Arithmetic shift right for divide by immediate"]
2804#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svasrd[_n_s8]_m)"]
2805#[inline]
2806#[target_feature(enable = "sve")]
2807#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2808#[cfg_attr(test, assert_instr(asrd, IMM2 = 1))]
2809pub fn svasrd_n_s8_m<const IMM2: i32>(pg: svbool_t, op1: svint8_t) -> svint8_t {
2810 static_assert_range!(IMM2, 1..=8);
2811 unsafe extern "unadjusted" {
2812 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.asrd.nxv16i8")]
2813 fn _svasrd_n_s8_m(pg: svbool_t, op1: svint8_t, imm2: i32) -> svint8_t;
2814 }
2815 unsafe { _svasrd_n_s8_m(pg, op1, IMM2) }
2816}
2817#[doc = "Arithmetic shift right for divide by immediate"]
2818#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svasrd[_n_s8]_x)"]
2819#[inline]
2820#[target_feature(enable = "sve")]
2821#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2822#[cfg_attr(test, assert_instr(asrd, IMM2 = 1))]
2823pub fn svasrd_n_s8_x<const IMM2: i32>(pg: svbool_t, op1: svint8_t) -> svint8_t {
2824 svasrd_n_s8_m::<IMM2>(pg, op1)
2825}
2826#[doc = "Arithmetic shift right for divide by immediate"]
2827#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svasrd[_n_s8]_z)"]
2828#[inline]
2829#[target_feature(enable = "sve")]
2830#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2831#[cfg_attr(test, assert_instr(asrd, IMM2 = 1))]
2832pub fn svasrd_n_s8_z<const IMM2: i32>(pg: svbool_t, op1: svint8_t) -> svint8_t {
2833 svasrd_n_s8_m::<IMM2>(pg, svsel_s8(pg, op1, svdup_n_s8(0)))
2834}
2835#[doc = "Arithmetic shift right for divide by immediate"]
2836#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svasrd[_n_s16]_m)"]
2837#[inline]
2838#[target_feature(enable = "sve")]
2839#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2840#[cfg_attr(test, assert_instr(asrd, IMM2 = 1))]
2841pub fn svasrd_n_s16_m<const IMM2: i32>(pg: svbool_t, op1: svint16_t) -> svint16_t {
2842 static_assert_range!(IMM2, 1..=16);
2843 unsafe extern "unadjusted" {
2844 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.asrd.nxv8i16")]
2845 fn _svasrd_n_s16_m(pg: svbool8_t, op1: svint16_t, imm2: i32) -> svint16_t;
2846 }
2847 unsafe { _svasrd_n_s16_m(pg.sve_into(), op1, IMM2) }
2848}
2849#[doc = "Arithmetic shift right for divide by immediate"]
2850#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svasrd[_n_s16]_x)"]
2851#[inline]
2852#[target_feature(enable = "sve")]
2853#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2854#[cfg_attr(test, assert_instr(asrd, IMM2 = 1))]
2855pub fn svasrd_n_s16_x<const IMM2: i32>(pg: svbool_t, op1: svint16_t) -> svint16_t {
2856 svasrd_n_s16_m::<IMM2>(pg, op1)
2857}
2858#[doc = "Arithmetic shift right for divide by immediate"]
2859#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svasrd[_n_s16]_z)"]
2860#[inline]
2861#[target_feature(enable = "sve")]
2862#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2863#[cfg_attr(test, assert_instr(asrd, IMM2 = 1))]
2864pub fn svasrd_n_s16_z<const IMM2: i32>(pg: svbool_t, op1: svint16_t) -> svint16_t {
2865 svasrd_n_s16_m::<IMM2>(pg, svsel_s16(pg, op1, svdup_n_s16(0)))
2866}
2867#[doc = "Arithmetic shift right for divide by immediate"]
2868#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svasrd[_n_s32]_m)"]
2869#[inline]
2870#[target_feature(enable = "sve")]
2871#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2872#[cfg_attr(test, assert_instr(asrd, IMM2 = 1))]
2873pub fn svasrd_n_s32_m<const IMM2: i32>(pg: svbool_t, op1: svint32_t) -> svint32_t {
2874 static_assert_range!(IMM2, 1..=32);
2875 unsafe extern "unadjusted" {
2876 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.asrd.nxv4i32")]
2877 fn _svasrd_n_s32_m(pg: svbool4_t, op1: svint32_t, imm2: i32) -> svint32_t;
2878 }
2879 unsafe { _svasrd_n_s32_m(pg.sve_into(), op1, IMM2) }
2880}
2881#[doc = "Arithmetic shift right for divide by immediate"]
2882#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svasrd[_n_s32]_x)"]
2883#[inline]
2884#[target_feature(enable = "sve")]
2885#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2886#[cfg_attr(test, assert_instr(asrd, IMM2 = 1))]
2887pub fn svasrd_n_s32_x<const IMM2: i32>(pg: svbool_t, op1: svint32_t) -> svint32_t {
2888 svasrd_n_s32_m::<IMM2>(pg, op1)
2889}
2890#[doc = "Arithmetic shift right for divide by immediate"]
2891#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svasrd[_n_s32]_z)"]
2892#[inline]
2893#[target_feature(enable = "sve")]
2894#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2895#[cfg_attr(test, assert_instr(asrd, IMM2 = 1))]
2896pub fn svasrd_n_s32_z<const IMM2: i32>(pg: svbool_t, op1: svint32_t) -> svint32_t {
2897 svasrd_n_s32_m::<IMM2>(pg, svsel_s32(pg, op1, svdup_n_s32(0)))
2898}
2899#[doc = "Arithmetic shift right for divide by immediate"]
2900#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svasrd[_n_s64]_m)"]
2901#[inline]
2902#[target_feature(enable = "sve")]
2903#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2904#[cfg_attr(test, assert_instr(asrd, IMM2 = 1))]
2905pub fn svasrd_n_s64_m<const IMM2: i32>(pg: svbool_t, op1: svint64_t) -> svint64_t {
2906 static_assert_range!(IMM2, 1..=64);
2907 unsafe extern "unadjusted" {
2908 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.asrd.nxv2i64")]
2909 fn _svasrd_n_s64_m(pg: svbool2_t, op1: svint64_t, imm2: i32) -> svint64_t;
2910 }
2911 unsafe { _svasrd_n_s64_m(pg.sve_into(), op1, IMM2) }
2912}
2913#[doc = "Arithmetic shift right for divide by immediate"]
2914#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svasrd[_n_s64]_x)"]
2915#[inline]
2916#[target_feature(enable = "sve")]
2917#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2918#[cfg_attr(test, assert_instr(asrd, IMM2 = 1))]
2919pub fn svasrd_n_s64_x<const IMM2: i32>(pg: svbool_t, op1: svint64_t) -> svint64_t {
2920 svasrd_n_s64_m::<IMM2>(pg, op1)
2921}
2922#[doc = "Arithmetic shift right for divide by immediate"]
2923#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svasrd[_n_s64]_z)"]
2924#[inline]
2925#[target_feature(enable = "sve")]
2926#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2927#[cfg_attr(test, assert_instr(asrd, IMM2 = 1))]
2928pub fn svasrd_n_s64_z<const IMM2: i32>(pg: svbool_t, op1: svint64_t) -> svint64_t {
2929 svasrd_n_s64_m::<IMM2>(pg, svsel_s64(pg, op1, svdup_n_s64(0)))
2930}
2931#[doc = "Bitwise clear"]
2932#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svbic[_b]_z)"]
2933#[inline]
2934#[target_feature(enable = "sve")]
2935#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2936#[cfg_attr(test, assert_instr(bic))]
2937pub fn svbic_b_z(pg: svbool_t, op1: svbool_t, op2: svbool_t) -> svbool_t {
2938 unsafe extern "unadjusted" {
2939 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.bic.z.nxv16i1")]
2940 fn _svbic_b_z(pg: svbool_t, op1: svbool_t, op2: svbool_t) -> svbool_t;
2941 }
2942 unsafe { _svbic_b_z(pg, op1, op2) }
2943}
2944#[doc = "Bitwise clear"]
2945#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svbic[_s8]_m)"]
2946#[inline]
2947#[target_feature(enable = "sve")]
2948#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2949#[cfg_attr(test, assert_instr(bic))]
2950pub fn svbic_s8_m(pg: svbool_t, op1: svint8_t, op2: svint8_t) -> svint8_t {
2951 unsafe extern "unadjusted" {
2952 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.bic.nxv16i8")]
2953 fn _svbic_s8_m(pg: svbool_t, op1: svint8_t, op2: svint8_t) -> svint8_t;
2954 }
2955 unsafe { _svbic_s8_m(pg, op1, op2) }
2956}
2957#[doc = "Bitwise clear"]
2958#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svbic[_n_s8]_m)"]
2959#[inline]
2960#[target_feature(enable = "sve")]
2961#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2962#[cfg_attr(test, assert_instr(bic))]
2963pub fn svbic_n_s8_m(pg: svbool_t, op1: svint8_t, op2: i8) -> svint8_t {
2964 svbic_s8_m(pg, op1, svdup_n_s8(op2))
2965}
2966#[doc = "Bitwise clear"]
2967#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svbic[_s8]_x)"]
2968#[inline]
2969#[target_feature(enable = "sve")]
2970#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2971#[cfg_attr(test, assert_instr(bic))]
2972pub fn svbic_s8_x(pg: svbool_t, op1: svint8_t, op2: svint8_t) -> svint8_t {
2973 svbic_s8_m(pg, op1, op2)
2974}
2975#[doc = "Bitwise clear"]
2976#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svbic[_n_s8]_x)"]
2977#[inline]
2978#[target_feature(enable = "sve")]
2979#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2980#[cfg_attr(test, assert_instr(bic))]
2981pub fn svbic_n_s8_x(pg: svbool_t, op1: svint8_t, op2: i8) -> svint8_t {
2982 svbic_s8_x(pg, op1, svdup_n_s8(op2))
2983}
2984#[doc = "Bitwise clear"]
2985#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svbic[_s8]_z)"]
2986#[inline]
2987#[target_feature(enable = "sve")]
2988#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2989#[cfg_attr(test, assert_instr(bic))]
2990pub fn svbic_s8_z(pg: svbool_t, op1: svint8_t, op2: svint8_t) -> svint8_t {
2991 svbic_s8_m(pg, svsel_s8(pg, op1, svdup_n_s8(0)), op2)
2992}
2993#[doc = "Bitwise clear"]
2994#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svbic[_n_s8]_z)"]
2995#[inline]
2996#[target_feature(enable = "sve")]
2997#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
2998#[cfg_attr(test, assert_instr(bic))]
2999pub fn svbic_n_s8_z(pg: svbool_t, op1: svint8_t, op2: i8) -> svint8_t {
3000 svbic_s8_z(pg, op1, svdup_n_s8(op2))
3001}
3002#[doc = "Bitwise clear"]
3003#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svbic[_s16]_m)"]
3004#[inline]
3005#[target_feature(enable = "sve")]
3006#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
3007#[cfg_attr(test, assert_instr(bic))]
3008pub fn svbic_s16_m(pg: svbool_t, op1: svint16_t, op2: svint16_t) -> svint16_t {
3009 unsafe extern "unadjusted" {
3010 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.bic.nxv8i16")]
3011 fn _svbic_s16_m(pg: svbool8_t, op1: svint16_t, op2: svint16_t) -> svint16_t;
3012 }
3013 unsafe { _svbic_s16_m(pg.sve_into(), op1, op2) }
3014}
3015#[doc = "Bitwise clear"]
3016#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svbic[_n_s16]_m)"]
3017#[inline]
3018#[target_feature(enable = "sve")]
3019#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
3020#[cfg_attr(test, assert_instr(bic))]
3021pub fn svbic_n_s16_m(pg: svbool_t, op1: svint16_t, op2: i16) -> svint16_t {
3022 svbic_s16_m(pg, op1, svdup_n_s16(op2))
3023}
3024#[doc = "Bitwise clear"]
3025#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svbic[_s16]_x)"]
3026#[inline]
3027#[target_feature(enable = "sve")]
3028#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
3029#[cfg_attr(test, assert_instr(bic))]
3030pub fn svbic_s16_x(pg: svbool_t, op1: svint16_t, op2: svint16_t) -> svint16_t {
3031 svbic_s16_m(pg, op1, op2)
3032}
3033#[doc = "Bitwise clear"]
3034#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svbic[_n_s16]_x)"]
3035#[inline]
3036#[target_feature(enable = "sve")]
3037#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
3038#[cfg_attr(test, assert_instr(bic))]
3039pub fn svbic_n_s16_x(pg: svbool_t, op1: svint16_t, op2: i16) -> svint16_t {
3040 svbic_s16_x(pg, op1, svdup_n_s16(op2))
3041}
3042#[doc = "Bitwise clear"]
3043#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svbic[_s16]_z)"]
3044#[inline]
3045#[target_feature(enable = "sve")]
3046#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
3047#[cfg_attr(test, assert_instr(bic))]
3048pub fn svbic_s16_z(pg: svbool_t, op1: svint16_t, op2: svint16_t) -> svint16_t {
3049 svbic_s16_m(pg, svsel_s16(pg, op1, svdup_n_s16(0)), op2)
3050}
3051#[doc = "Bitwise clear"]
3052#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svbic[_n_s16]_z)"]
3053#[inline]
3054#[target_feature(enable = "sve")]
3055#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
3056#[cfg_attr(test, assert_instr(bic))]
3057pub fn svbic_n_s16_z(pg: svbool_t, op1: svint16_t, op2: i16) -> svint16_t {
3058 svbic_s16_z(pg, op1, svdup_n_s16(op2))
3059}
3060#[doc = "Bitwise clear"]
3061#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svbic[_s32]_m)"]
3062#[inline]
3063#[target_feature(enable = "sve")]
3064#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
3065#[cfg_attr(test, assert_instr(bic))]
3066pub fn svbic_s32_m(pg: svbool_t, op1: svint32_t, op2: svint32_t) -> svint32_t {
3067 unsafe extern "unadjusted" {
3068 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.bic.nxv4i32")]
3069 fn _svbic_s32_m(pg: svbool4_t, op1: svint32_t, op2: svint32_t) -> svint32_t;
3070 }
3071 unsafe { _svbic_s32_m(pg.sve_into(), op1, op2) }
3072}
3073#[doc = "Bitwise clear"]
3074#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svbic[_n_s32]_m)"]
3075#[inline]
3076#[target_feature(enable = "sve")]
3077#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
3078#[cfg_attr(test, assert_instr(bic))]
3079pub fn svbic_n_s32_m(pg: svbool_t, op1: svint32_t, op2: i32) -> svint32_t {
3080 svbic_s32_m(pg, op1, svdup_n_s32(op2))
3081}
3082#[doc = "Bitwise clear"]
3083#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svbic[_s32]_x)"]
3084#[inline]
3085#[target_feature(enable = "sve")]
3086#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
3087#[cfg_attr(test, assert_instr(bic))]
3088pub fn svbic_s32_x(pg: svbool_t, op1: svint32_t, op2: svint32_t) -> svint32_t {
3089 svbic_s32_m(pg, op1, op2)
3090}
3091#[doc = "Bitwise clear"]
3092#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svbic[_n_s32]_x)"]
3093#[inline]
3094#[target_feature(enable = "sve")]
3095#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
3096#[cfg_attr(test, assert_instr(bic))]
3097pub fn svbic_n_s32_x(pg: svbool_t, op1: svint32_t, op2: i32) -> svint32_t {
3098 svbic_s32_x(pg, op1, svdup_n_s32(op2))
3099}
3100#[doc = "Bitwise clear"]
3101#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svbic[_s32]_z)"]
3102#[inline]
3103#[target_feature(enable = "sve")]
3104#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
3105#[cfg_attr(test, assert_instr(bic))]
3106pub fn svbic_s32_z(pg: svbool_t, op1: svint32_t, op2: svint32_t) -> svint32_t {
3107 svbic_s32_m(pg, svsel_s32(pg, op1, svdup_n_s32(0)), op2)
3108}
3109#[doc = "Bitwise clear"]
3110#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svbic[_n_s32]_z)"]
3111#[inline]
3112#[target_feature(enable = "sve")]
3113#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
3114#[cfg_attr(test, assert_instr(bic))]
3115pub fn svbic_n_s32_z(pg: svbool_t, op1: svint32_t, op2: i32) -> svint32_t {
3116 svbic_s32_z(pg, op1, svdup_n_s32(op2))
3117}
3118#[doc = "Bitwise clear"]
3119#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svbic[_s64]_m)"]
3120#[inline]
3121#[target_feature(enable = "sve")]
3122#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
3123#[cfg_attr(test, assert_instr(bic))]
3124pub fn svbic_s64_m(pg: svbool_t, op1: svint64_t, op2: svint64_t) -> svint64_t {
3125 unsafe extern "unadjusted" {
3126 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.bic.nxv2i64")]
3127 fn _svbic_s64_m(pg: svbool2_t, op1: svint64_t, op2: svint64_t) -> svint64_t;
3128 }
3129 unsafe { _svbic_s64_m(pg.sve_into(), op1, op2) }
3130}
3131#[doc = "Bitwise clear"]
3132#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svbic[_n_s64]_m)"]
3133#[inline]
3134#[target_feature(enable = "sve")]
3135#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
3136#[cfg_attr(test, assert_instr(bic))]
3137pub fn svbic_n_s64_m(pg: svbool_t, op1: svint64_t, op2: i64) -> svint64_t {
3138 svbic_s64_m(pg, op1, svdup_n_s64(op2))
3139}
3140#[doc = "Bitwise clear"]
3141#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svbic[_s64]_x)"]
3142#[inline]
3143#[target_feature(enable = "sve")]
3144#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
3145#[cfg_attr(test, assert_instr(bic))]
3146pub fn svbic_s64_x(pg: svbool_t, op1: svint64_t, op2: svint64_t) -> svint64_t {
3147 svbic_s64_m(pg, op1, op2)
3148}
3149#[doc = "Bitwise clear"]
3150#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svbic[_n_s64]_x)"]
3151#[inline]
3152#[target_feature(enable = "sve")]
3153#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
3154#[cfg_attr(test, assert_instr(bic))]
3155pub fn svbic_n_s64_x(pg: svbool_t, op1: svint64_t, op2: i64) -> svint64_t {
3156 svbic_s64_x(pg, op1, svdup_n_s64(op2))
3157}
3158#[doc = "Bitwise clear"]
3159#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svbic[_s64]_z)"]
3160#[inline]
3161#[target_feature(enable = "sve")]
3162#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
3163#[cfg_attr(test, assert_instr(bic))]
3164pub fn svbic_s64_z(pg: svbool_t, op1: svint64_t, op2: svint64_t) -> svint64_t {
3165 svbic_s64_m(pg, svsel_s64(pg, op1, svdup_n_s64(0)), op2)
3166}
3167#[doc = "Bitwise clear"]
3168#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svbic[_n_s64]_z)"]
3169#[inline]
3170#[target_feature(enable = "sve")]
3171#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
3172#[cfg_attr(test, assert_instr(bic))]
3173pub fn svbic_n_s64_z(pg: svbool_t, op1: svint64_t, op2: i64) -> svint64_t {
3174 svbic_s64_z(pg, op1, svdup_n_s64(op2))
3175}
3176#[doc = "Bitwise clear"]
3177#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svbic[_u8]_m)"]
3178#[inline]
3179#[target_feature(enable = "sve")]
3180#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
3181#[cfg_attr(test, assert_instr(bic))]
3182pub fn svbic_u8_m(pg: svbool_t, op1: svuint8_t, op2: svuint8_t) -> svuint8_t {
3183 unsafe { svbic_s8_m(pg, op1.as_signed(), op2.as_signed()).as_unsigned() }
3184}
3185#[doc = "Bitwise clear"]
3186#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svbic[_n_u8]_m)"]
3187#[inline]
3188#[target_feature(enable = "sve")]
3189#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
3190#[cfg_attr(test, assert_instr(bic))]
3191pub fn svbic_n_u8_m(pg: svbool_t, op1: svuint8_t, op2: u8) -> svuint8_t {
3192 svbic_u8_m(pg, op1, svdup_n_u8(op2))
3193}
3194#[doc = "Bitwise clear"]
3195#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svbic[_u8]_x)"]
3196#[inline]
3197#[target_feature(enable = "sve")]
3198#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
3199#[cfg_attr(test, assert_instr(bic))]
3200pub fn svbic_u8_x(pg: svbool_t, op1: svuint8_t, op2: svuint8_t) -> svuint8_t {
3201 svbic_u8_m(pg, op1, op2)
3202}
3203#[doc = "Bitwise clear"]
3204#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svbic[_n_u8]_x)"]
3205#[inline]
3206#[target_feature(enable = "sve")]
3207#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
3208#[cfg_attr(test, assert_instr(bic))]
3209pub fn svbic_n_u8_x(pg: svbool_t, op1: svuint8_t, op2: u8) -> svuint8_t {
3210 svbic_u8_x(pg, op1, svdup_n_u8(op2))
3211}
3212#[doc = "Bitwise clear"]
3213#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svbic[_u8]_z)"]
3214#[inline]
3215#[target_feature(enable = "sve")]
3216#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
3217#[cfg_attr(test, assert_instr(bic))]
3218pub fn svbic_u8_z(pg: svbool_t, op1: svuint8_t, op2: svuint8_t) -> svuint8_t {
3219 svbic_u8_m(pg, svsel_u8(pg, op1, svdup_n_u8(0)), op2)
3220}
3221#[doc = "Bitwise clear"]
3222#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svbic[_n_u8]_z)"]
3223#[inline]
3224#[target_feature(enable = "sve")]
3225#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
3226#[cfg_attr(test, assert_instr(bic))]
3227pub fn svbic_n_u8_z(pg: svbool_t, op1: svuint8_t, op2: u8) -> svuint8_t {
3228 svbic_u8_z(pg, op1, svdup_n_u8(op2))
3229}
3230#[doc = "Bitwise clear"]
3231#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svbic[_u16]_m)"]
3232#[inline]
3233#[target_feature(enable = "sve")]
3234#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
3235#[cfg_attr(test, assert_instr(bic))]
3236pub fn svbic_u16_m(pg: svbool_t, op1: svuint16_t, op2: svuint16_t) -> svuint16_t {
3237 unsafe { svbic_s16_m(pg, op1.as_signed(), op2.as_signed()).as_unsigned() }
3238}
3239#[doc = "Bitwise clear"]
3240#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svbic[_n_u16]_m)"]
3241#[inline]
3242#[target_feature(enable = "sve")]
3243#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
3244#[cfg_attr(test, assert_instr(bic))]
3245pub fn svbic_n_u16_m(pg: svbool_t, op1: svuint16_t, op2: u16) -> svuint16_t {
3246 svbic_u16_m(pg, op1, svdup_n_u16(op2))
3247}
3248#[doc = "Bitwise clear"]
3249#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svbic[_u16]_x)"]
3250#[inline]
3251#[target_feature(enable = "sve")]
3252#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
3253#[cfg_attr(test, assert_instr(bic))]
3254pub fn svbic_u16_x(pg: svbool_t, op1: svuint16_t, op2: svuint16_t) -> svuint16_t {
3255 svbic_u16_m(pg, op1, op2)
3256}
3257#[doc = "Bitwise clear"]
3258#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svbic[_n_u16]_x)"]
3259#[inline]
3260#[target_feature(enable = "sve")]
3261#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
3262#[cfg_attr(test, assert_instr(bic))]
3263pub fn svbic_n_u16_x(pg: svbool_t, op1: svuint16_t, op2: u16) -> svuint16_t {
3264 svbic_u16_x(pg, op1, svdup_n_u16(op2))
3265}
3266#[doc = "Bitwise clear"]
3267#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svbic[_u16]_z)"]
3268#[inline]
3269#[target_feature(enable = "sve")]
3270#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
3271#[cfg_attr(test, assert_instr(bic))]
3272pub fn svbic_u16_z(pg: svbool_t, op1: svuint16_t, op2: svuint16_t) -> svuint16_t {
3273 svbic_u16_m(pg, svsel_u16(pg, op1, svdup_n_u16(0)), op2)
3274}
3275#[doc = "Bitwise clear"]
3276#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svbic[_n_u16]_z)"]
3277#[inline]
3278#[target_feature(enable = "sve")]
3279#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
3280#[cfg_attr(test, assert_instr(bic))]
3281pub fn svbic_n_u16_z(pg: svbool_t, op1: svuint16_t, op2: u16) -> svuint16_t {
3282 svbic_u16_z(pg, op1, svdup_n_u16(op2))
3283}
3284#[doc = "Bitwise clear"]
3285#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svbic[_u32]_m)"]
3286#[inline]
3287#[target_feature(enable = "sve")]
3288#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
3289#[cfg_attr(test, assert_instr(bic))]
3290pub fn svbic_u32_m(pg: svbool_t, op1: svuint32_t, op2: svuint32_t) -> svuint32_t {
3291 unsafe { svbic_s32_m(pg, op1.as_signed(), op2.as_signed()).as_unsigned() }
3292}
3293#[doc = "Bitwise clear"]
3294#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svbic[_n_u32]_m)"]
3295#[inline]
3296#[target_feature(enable = "sve")]
3297#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
3298#[cfg_attr(test, assert_instr(bic))]
3299pub fn svbic_n_u32_m(pg: svbool_t, op1: svuint32_t, op2: u32) -> svuint32_t {
3300 svbic_u32_m(pg, op1, svdup_n_u32(op2))
3301}
3302#[doc = "Bitwise clear"]
3303#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svbic[_u32]_x)"]
3304#[inline]
3305#[target_feature(enable = "sve")]
3306#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
3307#[cfg_attr(test, assert_instr(bic))]
3308pub fn svbic_u32_x(pg: svbool_t, op1: svuint32_t, op2: svuint32_t) -> svuint32_t {
3309 svbic_u32_m(pg, op1, op2)
3310}
3311#[doc = "Bitwise clear"]
3312#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svbic[_n_u32]_x)"]
3313#[inline]
3314#[target_feature(enable = "sve")]
3315#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
3316#[cfg_attr(test, assert_instr(bic))]
3317pub fn svbic_n_u32_x(pg: svbool_t, op1: svuint32_t, op2: u32) -> svuint32_t {
3318 svbic_u32_x(pg, op1, svdup_n_u32(op2))
3319}
3320#[doc = "Bitwise clear"]
3321#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svbic[_u32]_z)"]
3322#[inline]
3323#[target_feature(enable = "sve")]
3324#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
3325#[cfg_attr(test, assert_instr(bic))]
3326pub fn svbic_u32_z(pg: svbool_t, op1: svuint32_t, op2: svuint32_t) -> svuint32_t {
3327 svbic_u32_m(pg, svsel_u32(pg, op1, svdup_n_u32(0)), op2)
3328}
3329#[doc = "Bitwise clear"]
3330#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svbic[_n_u32]_z)"]
3331#[inline]
3332#[target_feature(enable = "sve")]
3333#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
3334#[cfg_attr(test, assert_instr(bic))]
3335pub fn svbic_n_u32_z(pg: svbool_t, op1: svuint32_t, op2: u32) -> svuint32_t {
3336 svbic_u32_z(pg, op1, svdup_n_u32(op2))
3337}
3338#[doc = "Bitwise clear"]
3339#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svbic[_u64]_m)"]
3340#[inline]
3341#[target_feature(enable = "sve")]
3342#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
3343#[cfg_attr(test, assert_instr(bic))]
3344pub fn svbic_u64_m(pg: svbool_t, op1: svuint64_t, op2: svuint64_t) -> svuint64_t {
3345 unsafe { svbic_s64_m(pg, op1.as_signed(), op2.as_signed()).as_unsigned() }
3346}
3347#[doc = "Bitwise clear"]
3348#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svbic[_n_u64]_m)"]
3349#[inline]
3350#[target_feature(enable = "sve")]
3351#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
3352#[cfg_attr(test, assert_instr(bic))]
3353pub fn svbic_n_u64_m(pg: svbool_t, op1: svuint64_t, op2: u64) -> svuint64_t {
3354 svbic_u64_m(pg, op1, svdup_n_u64(op2))
3355}
3356#[doc = "Bitwise clear"]
3357#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svbic[_u64]_x)"]
3358#[inline]
3359#[target_feature(enable = "sve")]
3360#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
3361#[cfg_attr(test, assert_instr(bic))]
3362pub fn svbic_u64_x(pg: svbool_t, op1: svuint64_t, op2: svuint64_t) -> svuint64_t {
3363 svbic_u64_m(pg, op1, op2)
3364}
3365#[doc = "Bitwise clear"]
3366#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svbic[_n_u64]_x)"]
3367#[inline]
3368#[target_feature(enable = "sve")]
3369#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
3370#[cfg_attr(test, assert_instr(bic))]
3371pub fn svbic_n_u64_x(pg: svbool_t, op1: svuint64_t, op2: u64) -> svuint64_t {
3372 svbic_u64_x(pg, op1, svdup_n_u64(op2))
3373}
3374#[doc = "Bitwise clear"]
3375#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svbic[_u64]_z)"]
3376#[inline]
3377#[target_feature(enable = "sve")]
3378#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
3379#[cfg_attr(test, assert_instr(bic))]
3380pub fn svbic_u64_z(pg: svbool_t, op1: svuint64_t, op2: svuint64_t) -> svuint64_t {
3381 svbic_u64_m(pg, svsel_u64(pg, op1, svdup_n_u64(0)), op2)
3382}
3383#[doc = "Bitwise clear"]
3384#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svbic[_n_u64]_z)"]
3385#[inline]
3386#[target_feature(enable = "sve")]
3387#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
3388#[cfg_attr(test, assert_instr(bic))]
3389pub fn svbic_n_u64_z(pg: svbool_t, op1: svuint64_t, op2: u64) -> svuint64_t {
3390 svbic_u64_z(pg, op1, svdup_n_u64(op2))
3391}
3392#[doc = "Break after first true condition"]
3393#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svbrka[_b]_m)"]
3394#[inline]
3395#[target_feature(enable = "sve")]
3396#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
3397#[cfg_attr(test, assert_instr(brka))]
3398pub fn svbrka_b_m(inactive: svbool_t, pg: svbool_t, op: svbool_t) -> svbool_t {
3399 unsafe extern "unadjusted" {
3400 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.brka.nxv16i1")]
3401 fn _svbrka_b_m(inactive: svbool_t, pg: svbool_t, op: svbool_t) -> svbool_t;
3402 }
3403 unsafe { _svbrka_b_m(inactive, pg, op) }
3404}
3405#[doc = "Break after first true condition"]
3406#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svbrka[_b]_z)"]
3407#[inline]
3408#[target_feature(enable = "sve")]
3409#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
3410#[cfg_attr(test, assert_instr(brka))]
3411pub fn svbrka_b_z(pg: svbool_t, op: svbool_t) -> svbool_t {
3412 unsafe extern "unadjusted" {
3413 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.brka.z.nxv16i1")]
3414 fn _svbrka_b_z(pg: svbool_t, op: svbool_t) -> svbool_t;
3415 }
3416 unsafe { _svbrka_b_z(pg, op) }
3417}
3418#[doc = "Break before first true condition"]
3419#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svbrkb[_b]_m)"]
3420#[inline]
3421#[target_feature(enable = "sve")]
3422#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
3423#[cfg_attr(test, assert_instr(brkb))]
3424pub fn svbrkb_b_m(inactive: svbool_t, pg: svbool_t, op: svbool_t) -> svbool_t {
3425 unsafe extern "unadjusted" {
3426 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.brkb.nxv16i1")]
3427 fn _svbrkb_b_m(inactive: svbool_t, pg: svbool_t, op: svbool_t) -> svbool_t;
3428 }
3429 unsafe { _svbrkb_b_m(inactive, pg, op) }
3430}
3431#[doc = "Break before first true condition"]
3432#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svbrkb[_b]_z)"]
3433#[inline]
3434#[target_feature(enable = "sve")]
3435#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
3436#[cfg_attr(test, assert_instr(brkb))]
3437pub fn svbrkb_b_z(pg: svbool_t, op: svbool_t) -> svbool_t {
3438 unsafe extern "unadjusted" {
3439 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.brkb.z.nxv16i1")]
3440 fn _svbrkb_b_z(pg: svbool_t, op: svbool_t) -> svbool_t;
3441 }
3442 unsafe { _svbrkb_b_z(pg, op) }
3443}
3444#[doc = "Propagate break to next partition"]
3445#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svbrkn[_b]_z)"]
3446#[inline]
3447#[target_feature(enable = "sve")]
3448#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
3449#[cfg_attr(test, assert_instr(brkn))]
3450pub fn svbrkn_b_z(pg: svbool_t, op1: svbool_t, op2: svbool_t) -> svbool_t {
3451 unsafe extern "unadjusted" {
3452 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.brkn.z.nxv16i1")]
3453 fn _svbrkn_b_z(pg: svbool_t, op1: svbool_t, op2: svbool_t) -> svbool_t;
3454 }
3455 unsafe { _svbrkn_b_z(pg, op1, op2) }
3456}
3457#[doc = "Break after first true condition, propagating from previous partition"]
3458#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svbrkpa[_b]_z)"]
3459#[inline]
3460#[target_feature(enable = "sve")]
3461#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
3462#[cfg_attr(test, assert_instr(brkpa))]
3463pub fn svbrkpa_b_z(pg: svbool_t, op1: svbool_t, op2: svbool_t) -> svbool_t {
3464 unsafe extern "unadjusted" {
3465 #[cfg_attr(
3466 target_arch = "aarch64",
3467 link_name = "llvm.aarch64.sve.brkpa.z.nxv16i1"
3468 )]
3469 fn _svbrkpa_b_z(pg: svbool_t, op1: svbool_t, op2: svbool_t) -> svbool_t;
3470 }
3471 unsafe { _svbrkpa_b_z(pg, op1, op2) }
3472}
3473#[doc = "Break before first true condition, propagating from previous partition"]
3474#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svbrkpb[_b]_z)"]
3475#[inline]
3476#[target_feature(enable = "sve")]
3477#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
3478#[cfg_attr(test, assert_instr(brkpb))]
3479pub fn svbrkpb_b_z(pg: svbool_t, op1: svbool_t, op2: svbool_t) -> svbool_t {
3480 unsafe extern "unadjusted" {
3481 #[cfg_attr(
3482 target_arch = "aarch64",
3483 link_name = "llvm.aarch64.sve.brkpb.z.nxv16i1"
3484 )]
3485 fn _svbrkpb_b_z(pg: svbool_t, op1: svbool_t, op2: svbool_t) -> svbool_t;
3486 }
3487 unsafe { _svbrkpb_b_z(pg, op1, op2) }
3488}
3489#[doc = "Complex add with rotate"]
3490#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcadd[_f32]_m)"]
3491#[inline]
3492#[target_feature(enable = "sve")]
3493#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
3494#[cfg_attr(test, assert_instr(fcadd, IMM_ROTATION = 90))]
3495pub fn svcadd_f32_m<const IMM_ROTATION: i32>(
3496 pg: svbool_t,
3497 op1: svfloat32_t,
3498 op2: svfloat32_t,
3499) -> svfloat32_t {
3500 static_assert!(IMM_ROTATION == 90 || IMM_ROTATION == 270);
3501 unsafe extern "unadjusted" {
3502 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.fcadd.nxv4f32")]
3503 fn _svcadd_f32_m(
3504 pg: svbool4_t,
3505 op1: svfloat32_t,
3506 op2: svfloat32_t,
3507 imm_rotation: i32,
3508 ) -> svfloat32_t;
3509 }
3510 unsafe { _svcadd_f32_m(pg.sve_into(), op1, op2, IMM_ROTATION) }
3511}
3512#[doc = "Complex add with rotate"]
3513#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcadd[_f32]_x)"]
3514#[inline]
3515#[target_feature(enable = "sve")]
3516#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
3517#[cfg_attr(test, assert_instr(fcadd, IMM_ROTATION = 90))]
3518pub fn svcadd_f32_x<const IMM_ROTATION: i32>(
3519 pg: svbool_t,
3520 op1: svfloat32_t,
3521 op2: svfloat32_t,
3522) -> svfloat32_t {
3523 svcadd_f32_m::<IMM_ROTATION>(pg, op1, op2)
3524}
3525#[doc = "Complex add with rotate"]
3526#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcadd[_f32]_z)"]
3527#[inline]
3528#[target_feature(enable = "sve")]
3529#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
3530#[cfg_attr(test, assert_instr(fcadd, IMM_ROTATION = 90))]
3531pub fn svcadd_f32_z<const IMM_ROTATION: i32>(
3532 pg: svbool_t,
3533 op1: svfloat32_t,
3534 op2: svfloat32_t,
3535) -> svfloat32_t {
3536 svcadd_f32_m::<IMM_ROTATION>(pg, svsel_f32(pg, op1, svdup_n_f32(0.0)), op2)
3537}
3538#[doc = "Complex add with rotate"]
3539#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcadd[_f64]_m)"]
3540#[inline]
3541#[target_feature(enable = "sve")]
3542#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
3543#[cfg_attr(test, assert_instr(fcadd, IMM_ROTATION = 90))]
3544pub fn svcadd_f64_m<const IMM_ROTATION: i32>(
3545 pg: svbool_t,
3546 op1: svfloat64_t,
3547 op2: svfloat64_t,
3548) -> svfloat64_t {
3549 static_assert!(IMM_ROTATION == 90 || IMM_ROTATION == 270);
3550 unsafe extern "unadjusted" {
3551 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.fcadd.nxv2f64")]
3552 fn _svcadd_f64_m(
3553 pg: svbool2_t,
3554 op1: svfloat64_t,
3555 op2: svfloat64_t,
3556 imm_rotation: i32,
3557 ) -> svfloat64_t;
3558 }
3559 unsafe { _svcadd_f64_m(pg.sve_into(), op1, op2, IMM_ROTATION) }
3560}
3561#[doc = "Complex add with rotate"]
3562#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcadd[_f64]_x)"]
3563#[inline]
3564#[target_feature(enable = "sve")]
3565#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
3566#[cfg_attr(test, assert_instr(fcadd, IMM_ROTATION = 90))]
3567pub fn svcadd_f64_x<const IMM_ROTATION: i32>(
3568 pg: svbool_t,
3569 op1: svfloat64_t,
3570 op2: svfloat64_t,
3571) -> svfloat64_t {
3572 svcadd_f64_m::<IMM_ROTATION>(pg, op1, op2)
3573}
3574#[doc = "Complex add with rotate"]
3575#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcadd[_f64]_z)"]
3576#[inline]
3577#[target_feature(enable = "sve")]
3578#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
3579#[cfg_attr(test, assert_instr(fcadd, IMM_ROTATION = 90))]
3580pub fn svcadd_f64_z<const IMM_ROTATION: i32>(
3581 pg: svbool_t,
3582 op1: svfloat64_t,
3583 op2: svfloat64_t,
3584) -> svfloat64_t {
3585 svcadd_f64_m::<IMM_ROTATION>(pg, svsel_f64(pg, op1, svdup_n_f64(0.0)), op2)
3586}
3587#[doc = "Conditionally extract element after last"]
3588#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svclasta[_f32])"]
3589#[inline]
3590#[target_feature(enable = "sve")]
3591#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
3592#[cfg_attr(test, assert_instr(clasta))]
3593pub fn svclasta_f32(pg: svbool_t, fallback: svfloat32_t, data: svfloat32_t) -> svfloat32_t {
3594 unsafe extern "unadjusted" {
3595 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.clasta.nxv4f32")]
3596 fn _svclasta_f32(pg: svbool4_t, fallback: svfloat32_t, data: svfloat32_t) -> svfloat32_t;
3597 }
3598 unsafe { _svclasta_f32(pg.sve_into(), fallback, data) }
3599}
3600#[doc = "Conditionally extract element after last"]
3601#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svclasta[_f64])"]
3602#[inline]
3603#[target_feature(enable = "sve")]
3604#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
3605#[cfg_attr(test, assert_instr(clasta))]
3606pub fn svclasta_f64(pg: svbool_t, fallback: svfloat64_t, data: svfloat64_t) -> svfloat64_t {
3607 unsafe extern "unadjusted" {
3608 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.clasta.nxv2f64")]
3609 fn _svclasta_f64(pg: svbool2_t, fallback: svfloat64_t, data: svfloat64_t) -> svfloat64_t;
3610 }
3611 unsafe { _svclasta_f64(pg.sve_into(), fallback, data) }
3612}
3613#[doc = "Conditionally extract element after last"]
3614#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svclasta[_s8])"]
3615#[inline]
3616#[target_feature(enable = "sve")]
3617#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
3618#[cfg_attr(test, assert_instr(clasta))]
3619pub fn svclasta_s8(pg: svbool_t, fallback: svint8_t, data: svint8_t) -> svint8_t {
3620 unsafe extern "unadjusted" {
3621 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.clasta.nxv16i8")]
3622 fn _svclasta_s8(pg: svbool_t, fallback: svint8_t, data: svint8_t) -> svint8_t;
3623 }
3624 unsafe { _svclasta_s8(pg, fallback, data) }
3625}
3626#[doc = "Conditionally extract element after last"]
3627#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svclasta[_s16])"]
3628#[inline]
3629#[target_feature(enable = "sve")]
3630#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
3631#[cfg_attr(test, assert_instr(clasta))]
3632pub fn svclasta_s16(pg: svbool_t, fallback: svint16_t, data: svint16_t) -> svint16_t {
3633 unsafe extern "unadjusted" {
3634 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.clasta.nxv8i16")]
3635 fn _svclasta_s16(pg: svbool8_t, fallback: svint16_t, data: svint16_t) -> svint16_t;
3636 }
3637 unsafe { _svclasta_s16(pg.sve_into(), fallback, data) }
3638}
3639#[doc = "Conditionally extract element after last"]
3640#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svclasta[_s32])"]
3641#[inline]
3642#[target_feature(enable = "sve")]
3643#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
3644#[cfg_attr(test, assert_instr(clasta))]
3645pub fn svclasta_s32(pg: svbool_t, fallback: svint32_t, data: svint32_t) -> svint32_t {
3646 unsafe extern "unadjusted" {
3647 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.clasta.nxv4i32")]
3648 fn _svclasta_s32(pg: svbool4_t, fallback: svint32_t, data: svint32_t) -> svint32_t;
3649 }
3650 unsafe { _svclasta_s32(pg.sve_into(), fallback, data) }
3651}
3652#[doc = "Conditionally extract element after last"]
3653#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svclasta[_s64])"]
3654#[inline]
3655#[target_feature(enable = "sve")]
3656#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
3657#[cfg_attr(test, assert_instr(clasta))]
3658pub fn svclasta_s64(pg: svbool_t, fallback: svint64_t, data: svint64_t) -> svint64_t {
3659 unsafe extern "unadjusted" {
3660 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.clasta.nxv2i64")]
3661 fn _svclasta_s64(pg: svbool2_t, fallback: svint64_t, data: svint64_t) -> svint64_t;
3662 }
3663 unsafe { _svclasta_s64(pg.sve_into(), fallback, data) }
3664}
3665#[doc = "Conditionally extract element after last"]
3666#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svclasta[_u8])"]
3667#[inline]
3668#[target_feature(enable = "sve")]
3669#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
3670#[cfg_attr(test, assert_instr(clasta))]
3671pub fn svclasta_u8(pg: svbool_t, fallback: svuint8_t, data: svuint8_t) -> svuint8_t {
3672 unsafe { svclasta_s8(pg, fallback.as_signed(), data.as_signed()).as_unsigned() }
3673}
3674#[doc = "Conditionally extract element after last"]
3675#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svclasta[_u16])"]
3676#[inline]
3677#[target_feature(enable = "sve")]
3678#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
3679#[cfg_attr(test, assert_instr(clasta))]
3680pub fn svclasta_u16(pg: svbool_t, fallback: svuint16_t, data: svuint16_t) -> svuint16_t {
3681 unsafe { svclasta_s16(pg, fallback.as_signed(), data.as_signed()).as_unsigned() }
3682}
3683#[doc = "Conditionally extract element after last"]
3684#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svclasta[_u32])"]
3685#[inline]
3686#[target_feature(enable = "sve")]
3687#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
3688#[cfg_attr(test, assert_instr(clasta))]
3689pub fn svclasta_u32(pg: svbool_t, fallback: svuint32_t, data: svuint32_t) -> svuint32_t {
3690 unsafe { svclasta_s32(pg, fallback.as_signed(), data.as_signed()).as_unsigned() }
3691}
3692#[doc = "Conditionally extract element after last"]
3693#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svclasta[_u64])"]
3694#[inline]
3695#[target_feature(enable = "sve")]
3696#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
3697#[cfg_attr(test, assert_instr(clasta))]
3698pub fn svclasta_u64(pg: svbool_t, fallback: svuint64_t, data: svuint64_t) -> svuint64_t {
3699 unsafe { svclasta_s64(pg, fallback.as_signed(), data.as_signed()).as_unsigned() }
3700}
3701#[doc = "Conditionally extract element after last"]
3702#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svclasta[_n_f32])"]
3703#[inline]
3704#[target_feature(enable = "sve")]
3705#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
3706#[cfg_attr(test, assert_instr(clasta))]
3707pub fn svclasta_n_f32(pg: svbool_t, fallback: f32, data: svfloat32_t) -> f32 {
3708 unsafe extern "unadjusted" {
3709 #[cfg_attr(
3710 target_arch = "aarch64",
3711 link_name = "llvm.aarch64.sve.clasta.n.nxv4f32"
3712 )]
3713 fn _svclasta_n_f32(pg: svbool4_t, fallback: f32, data: svfloat32_t) -> f32;
3714 }
3715 unsafe { _svclasta_n_f32(pg.sve_into(), fallback, data) }
3716}
3717#[doc = "Conditionally extract element after last"]
3718#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svclasta[_n_f64])"]
3719#[inline]
3720#[target_feature(enable = "sve")]
3721#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
3722#[cfg_attr(test, assert_instr(clasta))]
3723pub fn svclasta_n_f64(pg: svbool_t, fallback: f64, data: svfloat64_t) -> f64 {
3724 unsafe extern "unadjusted" {
3725 #[cfg_attr(
3726 target_arch = "aarch64",
3727 link_name = "llvm.aarch64.sve.clasta.n.nxv2f64"
3728 )]
3729 fn _svclasta_n_f64(pg: svbool2_t, fallback: f64, data: svfloat64_t) -> f64;
3730 }
3731 unsafe { _svclasta_n_f64(pg.sve_into(), fallback, data) }
3732}
3733#[doc = "Conditionally extract element after last"]
3734#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svclasta[_n_s8])"]
3735#[inline]
3736#[target_feature(enable = "sve")]
3737#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
3738#[cfg_attr(test, assert_instr(clasta))]
3739pub fn svclasta_n_s8(pg: svbool_t, fallback: i8, data: svint8_t) -> i8 {
3740 unsafe extern "unadjusted" {
3741 #[cfg_attr(
3742 target_arch = "aarch64",
3743 link_name = "llvm.aarch64.sve.clasta.n.nxv16i8"
3744 )]
3745 fn _svclasta_n_s8(pg: svbool_t, fallback: i8, data: svint8_t) -> i8;
3746 }
3747 unsafe { _svclasta_n_s8(pg, fallback, data) }
3748}
3749#[doc = "Conditionally extract element after last"]
3750#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svclasta[_n_s16])"]
3751#[inline]
3752#[target_feature(enable = "sve")]
3753#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
3754#[cfg_attr(test, assert_instr(clasta))]
3755pub fn svclasta_n_s16(pg: svbool_t, fallback: i16, data: svint16_t) -> i16 {
3756 unsafe extern "unadjusted" {
3757 #[cfg_attr(
3758 target_arch = "aarch64",
3759 link_name = "llvm.aarch64.sve.clasta.n.nxv8i16"
3760 )]
3761 fn _svclasta_n_s16(pg: svbool8_t, fallback: i16, data: svint16_t) -> i16;
3762 }
3763 unsafe { _svclasta_n_s16(pg.sve_into(), fallback, data) }
3764}
3765#[doc = "Conditionally extract element after last"]
3766#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svclasta[_n_s32])"]
3767#[inline]
3768#[target_feature(enable = "sve")]
3769#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
3770#[cfg_attr(test, assert_instr(clasta))]
3771pub fn svclasta_n_s32(pg: svbool_t, fallback: i32, data: svint32_t) -> i32 {
3772 unsafe extern "unadjusted" {
3773 #[cfg_attr(
3774 target_arch = "aarch64",
3775 link_name = "llvm.aarch64.sve.clasta.n.nxv4i32"
3776 )]
3777 fn _svclasta_n_s32(pg: svbool4_t, fallback: i32, data: svint32_t) -> i32;
3778 }
3779 unsafe { _svclasta_n_s32(pg.sve_into(), fallback, data) }
3780}
3781#[doc = "Conditionally extract element after last"]
3782#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svclasta[_n_s64])"]
3783#[inline]
3784#[target_feature(enable = "sve")]
3785#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
3786#[cfg_attr(test, assert_instr(clasta))]
3787pub fn svclasta_n_s64(pg: svbool_t, fallback: i64, data: svint64_t) -> i64 {
3788 unsafe extern "unadjusted" {
3789 #[cfg_attr(
3790 target_arch = "aarch64",
3791 link_name = "llvm.aarch64.sve.clasta.n.nxv2i64"
3792 )]
3793 fn _svclasta_n_s64(pg: svbool2_t, fallback: i64, data: svint64_t) -> i64;
3794 }
3795 unsafe { _svclasta_n_s64(pg.sve_into(), fallback, data) }
3796}
3797#[doc = "Conditionally extract element after last"]
3798#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svclasta[_n_u8])"]
3799#[inline]
3800#[target_feature(enable = "sve")]
3801#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
3802#[cfg_attr(test, assert_instr(clasta))]
3803pub fn svclasta_n_u8(pg: svbool_t, fallback: u8, data: svuint8_t) -> u8 {
3804 unsafe { svclasta_n_s8(pg, fallback.as_signed(), data.as_signed()).as_unsigned() }
3805}
3806#[doc = "Conditionally extract element after last"]
3807#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svclasta[_n_u16])"]
3808#[inline]
3809#[target_feature(enable = "sve")]
3810#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
3811#[cfg_attr(test, assert_instr(clasta))]
3812pub fn svclasta_n_u16(pg: svbool_t, fallback: u16, data: svuint16_t) -> u16 {
3813 unsafe { svclasta_n_s16(pg, fallback.as_signed(), data.as_signed()).as_unsigned() }
3814}
3815#[doc = "Conditionally extract element after last"]
3816#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svclasta[_n_u32])"]
3817#[inline]
3818#[target_feature(enable = "sve")]
3819#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
3820#[cfg_attr(test, assert_instr(clasta))]
3821pub fn svclasta_n_u32(pg: svbool_t, fallback: u32, data: svuint32_t) -> u32 {
3822 unsafe { svclasta_n_s32(pg, fallback.as_signed(), data.as_signed()).as_unsigned() }
3823}
3824#[doc = "Conditionally extract element after last"]
3825#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svclasta[_n_u64])"]
3826#[inline]
3827#[target_feature(enable = "sve")]
3828#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
3829#[cfg_attr(test, assert_instr(clasta))]
3830pub fn svclasta_n_u64(pg: svbool_t, fallback: u64, data: svuint64_t) -> u64 {
3831 unsafe { svclasta_n_s64(pg, fallback.as_signed(), data.as_signed()).as_unsigned() }
3832}
3833#[doc = "Conditionally extract last element"]
3834#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svclastb[_f32])"]
3835#[inline]
3836#[target_feature(enable = "sve")]
3837#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
3838#[cfg_attr(test, assert_instr(clastb))]
3839pub fn svclastb_f32(pg: svbool_t, fallback: svfloat32_t, data: svfloat32_t) -> svfloat32_t {
3840 unsafe extern "unadjusted" {
3841 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.clastb.nxv4f32")]
3842 fn _svclastb_f32(pg: svbool4_t, fallback: svfloat32_t, data: svfloat32_t) -> svfloat32_t;
3843 }
3844 unsafe { _svclastb_f32(pg.sve_into(), fallback, data) }
3845}
3846#[doc = "Conditionally extract last element"]
3847#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svclastb[_f64])"]
3848#[inline]
3849#[target_feature(enable = "sve")]
3850#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
3851#[cfg_attr(test, assert_instr(clastb))]
3852pub fn svclastb_f64(pg: svbool_t, fallback: svfloat64_t, data: svfloat64_t) -> svfloat64_t {
3853 unsafe extern "unadjusted" {
3854 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.clastb.nxv2f64")]
3855 fn _svclastb_f64(pg: svbool2_t, fallback: svfloat64_t, data: svfloat64_t) -> svfloat64_t;
3856 }
3857 unsafe { _svclastb_f64(pg.sve_into(), fallback, data) }
3858}
3859#[doc = "Conditionally extract last element"]
3860#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svclastb[_s8])"]
3861#[inline]
3862#[target_feature(enable = "sve")]
3863#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
3864#[cfg_attr(test, assert_instr(clastb))]
3865pub fn svclastb_s8(pg: svbool_t, fallback: svint8_t, data: svint8_t) -> svint8_t {
3866 unsafe extern "unadjusted" {
3867 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.clastb.nxv16i8")]
3868 fn _svclastb_s8(pg: svbool_t, fallback: svint8_t, data: svint8_t) -> svint8_t;
3869 }
3870 unsafe { _svclastb_s8(pg, fallback, data) }
3871}
3872#[doc = "Conditionally extract last element"]
3873#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svclastb[_s16])"]
3874#[inline]
3875#[target_feature(enable = "sve")]
3876#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
3877#[cfg_attr(test, assert_instr(clastb))]
3878pub fn svclastb_s16(pg: svbool_t, fallback: svint16_t, data: svint16_t) -> svint16_t {
3879 unsafe extern "unadjusted" {
3880 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.clastb.nxv8i16")]
3881 fn _svclastb_s16(pg: svbool8_t, fallback: svint16_t, data: svint16_t) -> svint16_t;
3882 }
3883 unsafe { _svclastb_s16(pg.sve_into(), fallback, data) }
3884}
3885#[doc = "Conditionally extract last element"]
3886#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svclastb[_s32])"]
3887#[inline]
3888#[target_feature(enable = "sve")]
3889#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
3890#[cfg_attr(test, assert_instr(clastb))]
3891pub fn svclastb_s32(pg: svbool_t, fallback: svint32_t, data: svint32_t) -> svint32_t {
3892 unsafe extern "unadjusted" {
3893 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.clastb.nxv4i32")]
3894 fn _svclastb_s32(pg: svbool4_t, fallback: svint32_t, data: svint32_t) -> svint32_t;
3895 }
3896 unsafe { _svclastb_s32(pg.sve_into(), fallback, data) }
3897}
3898#[doc = "Conditionally extract last element"]
3899#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svclastb[_s64])"]
3900#[inline]
3901#[target_feature(enable = "sve")]
3902#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
3903#[cfg_attr(test, assert_instr(clastb))]
3904pub fn svclastb_s64(pg: svbool_t, fallback: svint64_t, data: svint64_t) -> svint64_t {
3905 unsafe extern "unadjusted" {
3906 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.clastb.nxv2i64")]
3907 fn _svclastb_s64(pg: svbool2_t, fallback: svint64_t, data: svint64_t) -> svint64_t;
3908 }
3909 unsafe { _svclastb_s64(pg.sve_into(), fallback, data) }
3910}
3911#[doc = "Conditionally extract last element"]
3912#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svclastb[_u8])"]
3913#[inline]
3914#[target_feature(enable = "sve")]
3915#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
3916#[cfg_attr(test, assert_instr(clastb))]
3917pub fn svclastb_u8(pg: svbool_t, fallback: svuint8_t, data: svuint8_t) -> svuint8_t {
3918 unsafe { svclastb_s8(pg, fallback.as_signed(), data.as_signed()).as_unsigned() }
3919}
3920#[doc = "Conditionally extract last element"]
3921#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svclastb[_u16])"]
3922#[inline]
3923#[target_feature(enable = "sve")]
3924#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
3925#[cfg_attr(test, assert_instr(clastb))]
3926pub fn svclastb_u16(pg: svbool_t, fallback: svuint16_t, data: svuint16_t) -> svuint16_t {
3927 unsafe { svclastb_s16(pg, fallback.as_signed(), data.as_signed()).as_unsigned() }
3928}
3929#[doc = "Conditionally extract last element"]
3930#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svclastb[_u32])"]
3931#[inline]
3932#[target_feature(enable = "sve")]
3933#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
3934#[cfg_attr(test, assert_instr(clastb))]
3935pub fn svclastb_u32(pg: svbool_t, fallback: svuint32_t, data: svuint32_t) -> svuint32_t {
3936 unsafe { svclastb_s32(pg, fallback.as_signed(), data.as_signed()).as_unsigned() }
3937}
3938#[doc = "Conditionally extract last element"]
3939#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svclastb[_u64])"]
3940#[inline]
3941#[target_feature(enable = "sve")]
3942#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
3943#[cfg_attr(test, assert_instr(clastb))]
3944pub fn svclastb_u64(pg: svbool_t, fallback: svuint64_t, data: svuint64_t) -> svuint64_t {
3945 unsafe { svclastb_s64(pg, fallback.as_signed(), data.as_signed()).as_unsigned() }
3946}
3947#[doc = "Conditionally extract last element"]
3948#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svclastb[_n_f32])"]
3949#[inline]
3950#[target_feature(enable = "sve")]
3951#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
3952#[cfg_attr(test, assert_instr(clastb))]
3953pub fn svclastb_n_f32(pg: svbool_t, fallback: f32, data: svfloat32_t) -> f32 {
3954 unsafe extern "unadjusted" {
3955 #[cfg_attr(
3956 target_arch = "aarch64",
3957 link_name = "llvm.aarch64.sve.clastb.n.nxv4f32"
3958 )]
3959 fn _svclastb_n_f32(pg: svbool4_t, fallback: f32, data: svfloat32_t) -> f32;
3960 }
3961 unsafe { _svclastb_n_f32(pg.sve_into(), fallback, data) }
3962}
3963#[doc = "Conditionally extract last element"]
3964#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svclastb[_n_f64])"]
3965#[inline]
3966#[target_feature(enable = "sve")]
3967#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
3968#[cfg_attr(test, assert_instr(clastb))]
3969pub fn svclastb_n_f64(pg: svbool_t, fallback: f64, data: svfloat64_t) -> f64 {
3970 unsafe extern "unadjusted" {
3971 #[cfg_attr(
3972 target_arch = "aarch64",
3973 link_name = "llvm.aarch64.sve.clastb.n.nxv2f64"
3974 )]
3975 fn _svclastb_n_f64(pg: svbool2_t, fallback: f64, data: svfloat64_t) -> f64;
3976 }
3977 unsafe { _svclastb_n_f64(pg.sve_into(), fallback, data) }
3978}
3979#[doc = "Conditionally extract last element"]
3980#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svclastb[_n_s8])"]
3981#[inline]
3982#[target_feature(enable = "sve")]
3983#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
3984#[cfg_attr(test, assert_instr(clastb))]
3985pub fn svclastb_n_s8(pg: svbool_t, fallback: i8, data: svint8_t) -> i8 {
3986 unsafe extern "unadjusted" {
3987 #[cfg_attr(
3988 target_arch = "aarch64",
3989 link_name = "llvm.aarch64.sve.clastb.n.nxv16i8"
3990 )]
3991 fn _svclastb_n_s8(pg: svbool_t, fallback: i8, data: svint8_t) -> i8;
3992 }
3993 unsafe { _svclastb_n_s8(pg, fallback, data) }
3994}
3995#[doc = "Conditionally extract last element"]
3996#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svclastb[_n_s16])"]
3997#[inline]
3998#[target_feature(enable = "sve")]
3999#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
4000#[cfg_attr(test, assert_instr(clastb))]
4001pub fn svclastb_n_s16(pg: svbool_t, fallback: i16, data: svint16_t) -> i16 {
4002 unsafe extern "unadjusted" {
4003 #[cfg_attr(
4004 target_arch = "aarch64",
4005 link_name = "llvm.aarch64.sve.clastb.n.nxv8i16"
4006 )]
4007 fn _svclastb_n_s16(pg: svbool8_t, fallback: i16, data: svint16_t) -> i16;
4008 }
4009 unsafe { _svclastb_n_s16(pg.sve_into(), fallback, data) }
4010}
4011#[doc = "Conditionally extract last element"]
4012#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svclastb[_n_s32])"]
4013#[inline]
4014#[target_feature(enable = "sve")]
4015#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
4016#[cfg_attr(test, assert_instr(clastb))]
4017pub fn svclastb_n_s32(pg: svbool_t, fallback: i32, data: svint32_t) -> i32 {
4018 unsafe extern "unadjusted" {
4019 #[cfg_attr(
4020 target_arch = "aarch64",
4021 link_name = "llvm.aarch64.sve.clastb.n.nxv4i32"
4022 )]
4023 fn _svclastb_n_s32(pg: svbool4_t, fallback: i32, data: svint32_t) -> i32;
4024 }
4025 unsafe { _svclastb_n_s32(pg.sve_into(), fallback, data) }
4026}
4027#[doc = "Conditionally extract last element"]
4028#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svclastb[_n_s64])"]
4029#[inline]
4030#[target_feature(enable = "sve")]
4031#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
4032#[cfg_attr(test, assert_instr(clastb))]
4033pub fn svclastb_n_s64(pg: svbool_t, fallback: i64, data: svint64_t) -> i64 {
4034 unsafe extern "unadjusted" {
4035 #[cfg_attr(
4036 target_arch = "aarch64",
4037 link_name = "llvm.aarch64.sve.clastb.n.nxv2i64"
4038 )]
4039 fn _svclastb_n_s64(pg: svbool2_t, fallback: i64, data: svint64_t) -> i64;
4040 }
4041 unsafe { _svclastb_n_s64(pg.sve_into(), fallback, data) }
4042}
4043#[doc = "Conditionally extract last element"]
4044#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svclastb[_n_u8])"]
4045#[inline]
4046#[target_feature(enable = "sve")]
4047#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
4048#[cfg_attr(test, assert_instr(clastb))]
4049pub fn svclastb_n_u8(pg: svbool_t, fallback: u8, data: svuint8_t) -> u8 {
4050 unsafe { svclastb_n_s8(pg, fallback.as_signed(), data.as_signed()).as_unsigned() }
4051}
4052#[doc = "Conditionally extract last element"]
4053#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svclastb[_n_u16])"]
4054#[inline]
4055#[target_feature(enable = "sve")]
4056#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
4057#[cfg_attr(test, assert_instr(clastb))]
4058pub fn svclastb_n_u16(pg: svbool_t, fallback: u16, data: svuint16_t) -> u16 {
4059 unsafe { svclastb_n_s16(pg, fallback.as_signed(), data.as_signed()).as_unsigned() }
4060}
4061#[doc = "Conditionally extract last element"]
4062#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svclastb[_n_u32])"]
4063#[inline]
4064#[target_feature(enable = "sve")]
4065#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
4066#[cfg_attr(test, assert_instr(clastb))]
4067pub fn svclastb_n_u32(pg: svbool_t, fallback: u32, data: svuint32_t) -> u32 {
4068 unsafe { svclastb_n_s32(pg, fallback.as_signed(), data.as_signed()).as_unsigned() }
4069}
4070#[doc = "Conditionally extract last element"]
4071#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svclastb[_n_u64])"]
4072#[inline]
4073#[target_feature(enable = "sve")]
4074#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
4075#[cfg_attr(test, assert_instr(clastb))]
4076pub fn svclastb_n_u64(pg: svbool_t, fallback: u64, data: svuint64_t) -> u64 {
4077 unsafe { svclastb_n_s64(pg, fallback.as_signed(), data.as_signed()).as_unsigned() }
4078}
4079#[doc = "Count leading sign bits"]
4080#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcls[_s8]_m)"]
4081#[inline]
4082#[target_feature(enable = "sve")]
4083#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
4084#[cfg_attr(test, assert_instr(cls))]
4085pub fn svcls_s8_m(inactive: svuint8_t, pg: svbool_t, op: svint8_t) -> svuint8_t {
4086 unsafe extern "unadjusted" {
4087 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.cls.nxv16i8")]
4088 fn _svcls_s8_m(inactive: svint8_t, pg: svbool_t, op: svint8_t) -> svint8_t;
4089 }
4090 unsafe { _svcls_s8_m(inactive.as_signed(), pg, op).as_unsigned() }
4091}
4092#[doc = "Count leading sign bits"]
4093#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcls[_s8]_x)"]
4094#[inline]
4095#[target_feature(enable = "sve")]
4096#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
4097#[cfg_attr(test, assert_instr(cls))]
4098pub fn svcls_s8_x(pg: svbool_t, op: svint8_t) -> svuint8_t {
4099 unsafe { svcls_s8_m(op.as_unsigned(), pg, op) }
4100}
4101#[doc = "Count leading sign bits"]
4102#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcls[_s8]_z)"]
4103#[inline]
4104#[target_feature(enable = "sve")]
4105#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
4106#[cfg_attr(test, assert_instr(cls))]
4107pub fn svcls_s8_z(pg: svbool_t, op: svint8_t) -> svuint8_t {
4108 svcls_s8_m(svdup_n_u8(0), pg, op)
4109}
4110#[doc = "Count leading sign bits"]
4111#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcls[_s16]_m)"]
4112#[inline]
4113#[target_feature(enable = "sve")]
4114#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
4115#[cfg_attr(test, assert_instr(cls))]
4116pub fn svcls_s16_m(inactive: svuint16_t, pg: svbool_t, op: svint16_t) -> svuint16_t {
4117 unsafe extern "unadjusted" {
4118 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.cls.nxv8i16")]
4119 fn _svcls_s16_m(inactive: svint16_t, pg: svbool8_t, op: svint16_t) -> svint16_t;
4120 }
4121 unsafe { _svcls_s16_m(inactive.as_signed(), pg.sve_into(), op).as_unsigned() }
4122}
4123#[doc = "Count leading sign bits"]
4124#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcls[_s16]_x)"]
4125#[inline]
4126#[target_feature(enable = "sve")]
4127#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
4128#[cfg_attr(test, assert_instr(cls))]
4129pub fn svcls_s16_x(pg: svbool_t, op: svint16_t) -> svuint16_t {
4130 unsafe { svcls_s16_m(op.as_unsigned(), pg, op) }
4131}
4132#[doc = "Count leading sign bits"]
4133#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcls[_s16]_z)"]
4134#[inline]
4135#[target_feature(enable = "sve")]
4136#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
4137#[cfg_attr(test, assert_instr(cls))]
4138pub fn svcls_s16_z(pg: svbool_t, op: svint16_t) -> svuint16_t {
4139 svcls_s16_m(svdup_n_u16(0), pg, op)
4140}
4141#[doc = "Count leading sign bits"]
4142#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcls[_s32]_m)"]
4143#[inline]
4144#[target_feature(enable = "sve")]
4145#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
4146#[cfg_attr(test, assert_instr(cls))]
4147pub fn svcls_s32_m(inactive: svuint32_t, pg: svbool_t, op: svint32_t) -> svuint32_t {
4148 unsafe extern "unadjusted" {
4149 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.cls.nxv4i32")]
4150 fn _svcls_s32_m(inactive: svint32_t, pg: svbool4_t, op: svint32_t) -> svint32_t;
4151 }
4152 unsafe { _svcls_s32_m(inactive.as_signed(), pg.sve_into(), op).as_unsigned() }
4153}
4154#[doc = "Count leading sign bits"]
4155#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcls[_s32]_x)"]
4156#[inline]
4157#[target_feature(enable = "sve")]
4158#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
4159#[cfg_attr(test, assert_instr(cls))]
4160pub fn svcls_s32_x(pg: svbool_t, op: svint32_t) -> svuint32_t {
4161 unsafe { svcls_s32_m(op.as_unsigned(), pg, op) }
4162}
4163#[doc = "Count leading sign bits"]
4164#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcls[_s32]_z)"]
4165#[inline]
4166#[target_feature(enable = "sve")]
4167#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
4168#[cfg_attr(test, assert_instr(cls))]
4169pub fn svcls_s32_z(pg: svbool_t, op: svint32_t) -> svuint32_t {
4170 svcls_s32_m(svdup_n_u32(0), pg, op)
4171}
4172#[doc = "Count leading sign bits"]
4173#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcls[_s64]_m)"]
4174#[inline]
4175#[target_feature(enable = "sve")]
4176#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
4177#[cfg_attr(test, assert_instr(cls))]
4178pub fn svcls_s64_m(inactive: svuint64_t, pg: svbool_t, op: svint64_t) -> svuint64_t {
4179 unsafe extern "unadjusted" {
4180 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.cls.nxv2i64")]
4181 fn _svcls_s64_m(inactive: svint64_t, pg: svbool2_t, op: svint64_t) -> svint64_t;
4182 }
4183 unsafe { _svcls_s64_m(inactive.as_signed(), pg.sve_into(), op).as_unsigned() }
4184}
4185#[doc = "Count leading sign bits"]
4186#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcls[_s64]_x)"]
4187#[inline]
4188#[target_feature(enable = "sve")]
4189#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
4190#[cfg_attr(test, assert_instr(cls))]
4191pub fn svcls_s64_x(pg: svbool_t, op: svint64_t) -> svuint64_t {
4192 unsafe { svcls_s64_m(op.as_unsigned(), pg, op) }
4193}
4194#[doc = "Count leading sign bits"]
4195#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcls[_s64]_z)"]
4196#[inline]
4197#[target_feature(enable = "sve")]
4198#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
4199#[cfg_attr(test, assert_instr(cls))]
4200pub fn svcls_s64_z(pg: svbool_t, op: svint64_t) -> svuint64_t {
4201 svcls_s64_m(svdup_n_u64(0), pg, op)
4202}
4203#[doc = "Count leading zero bits"]
4204#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svclz[_s8]_m)"]
4205#[inline]
4206#[target_feature(enable = "sve")]
4207#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
4208#[cfg_attr(test, assert_instr(clz))]
4209pub fn svclz_s8_m(inactive: svuint8_t, pg: svbool_t, op: svint8_t) -> svuint8_t {
4210 unsafe extern "unadjusted" {
4211 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.clz.nxv16i8")]
4212 fn _svclz_s8_m(inactive: svint8_t, pg: svbool_t, op: svint8_t) -> svint8_t;
4213 }
4214 unsafe { _svclz_s8_m(inactive.as_signed(), pg, op).as_unsigned() }
4215}
4216#[doc = "Count leading zero bits"]
4217#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svclz[_s8]_x)"]
4218#[inline]
4219#[target_feature(enable = "sve")]
4220#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
4221#[cfg_attr(test, assert_instr(clz))]
4222pub fn svclz_s8_x(pg: svbool_t, op: svint8_t) -> svuint8_t {
4223 unsafe { svclz_s8_m(op.as_unsigned(), pg, op) }
4224}
4225#[doc = "Count leading zero bits"]
4226#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svclz[_s8]_z)"]
4227#[inline]
4228#[target_feature(enable = "sve")]
4229#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
4230#[cfg_attr(test, assert_instr(clz))]
4231pub fn svclz_s8_z(pg: svbool_t, op: svint8_t) -> svuint8_t {
4232 svclz_s8_m(svdup_n_u8(0), pg, op)
4233}
4234#[doc = "Count leading zero bits"]
4235#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svclz[_s16]_m)"]
4236#[inline]
4237#[target_feature(enable = "sve")]
4238#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
4239#[cfg_attr(test, assert_instr(clz))]
4240pub fn svclz_s16_m(inactive: svuint16_t, pg: svbool_t, op: svint16_t) -> svuint16_t {
4241 unsafe extern "unadjusted" {
4242 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.clz.nxv8i16")]
4243 fn _svclz_s16_m(inactive: svint16_t, pg: svbool8_t, op: svint16_t) -> svint16_t;
4244 }
4245 unsafe { _svclz_s16_m(inactive.as_signed(), pg.sve_into(), op).as_unsigned() }
4246}
4247#[doc = "Count leading zero bits"]
4248#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svclz[_s16]_x)"]
4249#[inline]
4250#[target_feature(enable = "sve")]
4251#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
4252#[cfg_attr(test, assert_instr(clz))]
4253pub fn svclz_s16_x(pg: svbool_t, op: svint16_t) -> svuint16_t {
4254 unsafe { svclz_s16_m(op.as_unsigned(), pg, op) }
4255}
4256#[doc = "Count leading zero bits"]
4257#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svclz[_s16]_z)"]
4258#[inline]
4259#[target_feature(enable = "sve")]
4260#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
4261#[cfg_attr(test, assert_instr(clz))]
4262pub fn svclz_s16_z(pg: svbool_t, op: svint16_t) -> svuint16_t {
4263 svclz_s16_m(svdup_n_u16(0), pg, op)
4264}
4265#[doc = "Count leading zero bits"]
4266#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svclz[_s32]_m)"]
4267#[inline]
4268#[target_feature(enable = "sve")]
4269#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
4270#[cfg_attr(test, assert_instr(clz))]
4271pub fn svclz_s32_m(inactive: svuint32_t, pg: svbool_t, op: svint32_t) -> svuint32_t {
4272 unsafe extern "unadjusted" {
4273 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.clz.nxv4i32")]
4274 fn _svclz_s32_m(inactive: svint32_t, pg: svbool4_t, op: svint32_t) -> svint32_t;
4275 }
4276 unsafe { _svclz_s32_m(inactive.as_signed(), pg.sve_into(), op).as_unsigned() }
4277}
4278#[doc = "Count leading zero bits"]
4279#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svclz[_s32]_x)"]
4280#[inline]
4281#[target_feature(enable = "sve")]
4282#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
4283#[cfg_attr(test, assert_instr(clz))]
4284pub fn svclz_s32_x(pg: svbool_t, op: svint32_t) -> svuint32_t {
4285 unsafe { svclz_s32_m(op.as_unsigned(), pg, op) }
4286}
4287#[doc = "Count leading zero bits"]
4288#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svclz[_s32]_z)"]
4289#[inline]
4290#[target_feature(enable = "sve")]
4291#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
4292#[cfg_attr(test, assert_instr(clz))]
4293pub fn svclz_s32_z(pg: svbool_t, op: svint32_t) -> svuint32_t {
4294 svclz_s32_m(svdup_n_u32(0), pg, op)
4295}
4296#[doc = "Count leading zero bits"]
4297#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svclz[_s64]_m)"]
4298#[inline]
4299#[target_feature(enable = "sve")]
4300#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
4301#[cfg_attr(test, assert_instr(clz))]
4302pub fn svclz_s64_m(inactive: svuint64_t, pg: svbool_t, op: svint64_t) -> svuint64_t {
4303 unsafe extern "unadjusted" {
4304 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.clz.nxv2i64")]
4305 fn _svclz_s64_m(inactive: svint64_t, pg: svbool2_t, op: svint64_t) -> svint64_t;
4306 }
4307 unsafe { _svclz_s64_m(inactive.as_signed(), pg.sve_into(), op).as_unsigned() }
4308}
4309#[doc = "Count leading zero bits"]
4310#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svclz[_s64]_x)"]
4311#[inline]
4312#[target_feature(enable = "sve")]
4313#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
4314#[cfg_attr(test, assert_instr(clz))]
4315pub fn svclz_s64_x(pg: svbool_t, op: svint64_t) -> svuint64_t {
4316 unsafe { svclz_s64_m(op.as_unsigned(), pg, op) }
4317}
4318#[doc = "Count leading zero bits"]
4319#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svclz[_s64]_z)"]
4320#[inline]
4321#[target_feature(enable = "sve")]
4322#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
4323#[cfg_attr(test, assert_instr(clz))]
4324pub fn svclz_s64_z(pg: svbool_t, op: svint64_t) -> svuint64_t {
4325 svclz_s64_m(svdup_n_u64(0), pg, op)
4326}
4327#[doc = "Count leading zero bits"]
4328#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svclz[_u8]_m)"]
4329#[inline]
4330#[target_feature(enable = "sve")]
4331#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
4332#[cfg_attr(test, assert_instr(clz))]
4333pub fn svclz_u8_m(inactive: svuint8_t, pg: svbool_t, op: svuint8_t) -> svuint8_t {
4334 unsafe { svclz_s8_m(inactive, pg, op.as_signed()) }
4335}
4336#[doc = "Count leading zero bits"]
4337#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svclz[_u8]_x)"]
4338#[inline]
4339#[target_feature(enable = "sve")]
4340#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
4341#[cfg_attr(test, assert_instr(clz))]
4342pub fn svclz_u8_x(pg: svbool_t, op: svuint8_t) -> svuint8_t {
4343 svclz_u8_m(op, pg, op)
4344}
4345#[doc = "Count leading zero bits"]
4346#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svclz[_u8]_z)"]
4347#[inline]
4348#[target_feature(enable = "sve")]
4349#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
4350#[cfg_attr(test, assert_instr(clz))]
4351pub fn svclz_u8_z(pg: svbool_t, op: svuint8_t) -> svuint8_t {
4352 svclz_u8_m(svdup_n_u8(0), pg, op)
4353}
4354#[doc = "Count leading zero bits"]
4355#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svclz[_u16]_m)"]
4356#[inline]
4357#[target_feature(enable = "sve")]
4358#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
4359#[cfg_attr(test, assert_instr(clz))]
4360pub fn svclz_u16_m(inactive: svuint16_t, pg: svbool_t, op: svuint16_t) -> svuint16_t {
4361 unsafe { svclz_s16_m(inactive, pg, op.as_signed()) }
4362}
4363#[doc = "Count leading zero bits"]
4364#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svclz[_u16]_x)"]
4365#[inline]
4366#[target_feature(enable = "sve")]
4367#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
4368#[cfg_attr(test, assert_instr(clz))]
4369pub fn svclz_u16_x(pg: svbool_t, op: svuint16_t) -> svuint16_t {
4370 svclz_u16_m(op, pg, op)
4371}
4372#[doc = "Count leading zero bits"]
4373#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svclz[_u16]_z)"]
4374#[inline]
4375#[target_feature(enable = "sve")]
4376#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
4377#[cfg_attr(test, assert_instr(clz))]
4378pub fn svclz_u16_z(pg: svbool_t, op: svuint16_t) -> svuint16_t {
4379 svclz_u16_m(svdup_n_u16(0), pg, op)
4380}
4381#[doc = "Count leading zero bits"]
4382#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svclz[_u32]_m)"]
4383#[inline]
4384#[target_feature(enable = "sve")]
4385#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
4386#[cfg_attr(test, assert_instr(clz))]
4387pub fn svclz_u32_m(inactive: svuint32_t, pg: svbool_t, op: svuint32_t) -> svuint32_t {
4388 unsafe { svclz_s32_m(inactive, pg, op.as_signed()) }
4389}
4390#[doc = "Count leading zero bits"]
4391#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svclz[_u32]_x)"]
4392#[inline]
4393#[target_feature(enable = "sve")]
4394#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
4395#[cfg_attr(test, assert_instr(clz))]
4396pub fn svclz_u32_x(pg: svbool_t, op: svuint32_t) -> svuint32_t {
4397 svclz_u32_m(op, pg, op)
4398}
4399#[doc = "Count leading zero bits"]
4400#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svclz[_u32]_z)"]
4401#[inline]
4402#[target_feature(enable = "sve")]
4403#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
4404#[cfg_attr(test, assert_instr(clz))]
4405pub fn svclz_u32_z(pg: svbool_t, op: svuint32_t) -> svuint32_t {
4406 svclz_u32_m(svdup_n_u32(0), pg, op)
4407}
4408#[doc = "Count leading zero bits"]
4409#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svclz[_u64]_m)"]
4410#[inline]
4411#[target_feature(enable = "sve")]
4412#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
4413#[cfg_attr(test, assert_instr(clz))]
4414pub fn svclz_u64_m(inactive: svuint64_t, pg: svbool_t, op: svuint64_t) -> svuint64_t {
4415 unsafe { svclz_s64_m(inactive, pg, op.as_signed()) }
4416}
4417#[doc = "Count leading zero bits"]
4418#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svclz[_u64]_x)"]
4419#[inline]
4420#[target_feature(enable = "sve")]
4421#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
4422#[cfg_attr(test, assert_instr(clz))]
4423pub fn svclz_u64_x(pg: svbool_t, op: svuint64_t) -> svuint64_t {
4424 svclz_u64_m(op, pg, op)
4425}
4426#[doc = "Count leading zero bits"]
4427#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svclz[_u64]_z)"]
4428#[inline]
4429#[target_feature(enable = "sve")]
4430#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
4431#[cfg_attr(test, assert_instr(clz))]
4432pub fn svclz_u64_z(pg: svbool_t, op: svuint64_t) -> svuint64_t {
4433 svclz_u64_m(svdup_n_u64(0), pg, op)
4434}
4435#[doc = "Complex multiply-add with rotate"]
4436#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmla[_f32]_m)"]
4437#[inline]
4438#[target_feature(enable = "sve")]
4439#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
4440#[cfg_attr(test, assert_instr(fcmla, IMM_ROTATION = 90))]
4441pub fn svcmla_f32_m<const IMM_ROTATION: i32>(
4442 pg: svbool_t,
4443 op1: svfloat32_t,
4444 op2: svfloat32_t,
4445 op3: svfloat32_t,
4446) -> svfloat32_t {
4447 static_assert!(
4448 IMM_ROTATION == 0 || IMM_ROTATION == 90 || IMM_ROTATION == 180 || IMM_ROTATION == 270
4449 );
4450 unsafe extern "unadjusted" {
4451 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.fcmla.nxv4f32")]
4452 fn _svcmla_f32_m(
4453 pg: svbool4_t,
4454 op1: svfloat32_t,
4455 op2: svfloat32_t,
4456 op3: svfloat32_t,
4457 imm_rotation: i32,
4458 ) -> svfloat32_t;
4459 }
4460 unsafe { _svcmla_f32_m(pg.sve_into(), op1, op2, op3, IMM_ROTATION) }
4461}
4462#[doc = "Complex multiply-add with rotate"]
4463#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmla[_f32]_x)"]
4464#[inline]
4465#[target_feature(enable = "sve")]
4466#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
4467#[cfg_attr(test, assert_instr(fcmla, IMM_ROTATION = 90))]
4468pub fn svcmla_f32_x<const IMM_ROTATION: i32>(
4469 pg: svbool_t,
4470 op1: svfloat32_t,
4471 op2: svfloat32_t,
4472 op3: svfloat32_t,
4473) -> svfloat32_t {
4474 svcmla_f32_m::<IMM_ROTATION>(pg, op1, op2, op3)
4475}
4476#[doc = "Complex multiply-add with rotate"]
4477#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmla[_f32]_z)"]
4478#[inline]
4479#[target_feature(enable = "sve")]
4480#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
4481#[cfg_attr(test, assert_instr(fcmla, IMM_ROTATION = 90))]
4482pub fn svcmla_f32_z<const IMM_ROTATION: i32>(
4483 pg: svbool_t,
4484 op1: svfloat32_t,
4485 op2: svfloat32_t,
4486 op3: svfloat32_t,
4487) -> svfloat32_t {
4488 svcmla_f32_m::<IMM_ROTATION>(pg, svsel_f32(pg, op1, svdup_n_f32(0.0)), op2, op3)
4489}
4490#[doc = "Complex multiply-add with rotate"]
4491#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmla[_f64]_m)"]
4492#[inline]
4493#[target_feature(enable = "sve")]
4494#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
4495#[cfg_attr(test, assert_instr(fcmla, IMM_ROTATION = 90))]
4496pub fn svcmla_f64_m<const IMM_ROTATION: i32>(
4497 pg: svbool_t,
4498 op1: svfloat64_t,
4499 op2: svfloat64_t,
4500 op3: svfloat64_t,
4501) -> svfloat64_t {
4502 static_assert!(
4503 IMM_ROTATION == 0 || IMM_ROTATION == 90 || IMM_ROTATION == 180 || IMM_ROTATION == 270
4504 );
4505 unsafe extern "unadjusted" {
4506 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.fcmla.nxv2f64")]
4507 fn _svcmla_f64_m(
4508 pg: svbool2_t,
4509 op1: svfloat64_t,
4510 op2: svfloat64_t,
4511 op3: svfloat64_t,
4512 imm_rotation: i32,
4513 ) -> svfloat64_t;
4514 }
4515 unsafe { _svcmla_f64_m(pg.sve_into(), op1, op2, op3, IMM_ROTATION) }
4516}
4517#[doc = "Complex multiply-add with rotate"]
4518#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmla[_f64]_x)"]
4519#[inline]
4520#[target_feature(enable = "sve")]
4521#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
4522#[cfg_attr(test, assert_instr(fcmla, IMM_ROTATION = 90))]
4523pub fn svcmla_f64_x<const IMM_ROTATION: i32>(
4524 pg: svbool_t,
4525 op1: svfloat64_t,
4526 op2: svfloat64_t,
4527 op3: svfloat64_t,
4528) -> svfloat64_t {
4529 svcmla_f64_m::<IMM_ROTATION>(pg, op1, op2, op3)
4530}
4531#[doc = "Complex multiply-add with rotate"]
4532#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmla[_f64]_z)"]
4533#[inline]
4534#[target_feature(enable = "sve")]
4535#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
4536#[cfg_attr(test, assert_instr(fcmla, IMM_ROTATION = 90))]
4537pub fn svcmla_f64_z<const IMM_ROTATION: i32>(
4538 pg: svbool_t,
4539 op1: svfloat64_t,
4540 op2: svfloat64_t,
4541 op3: svfloat64_t,
4542) -> svfloat64_t {
4543 svcmla_f64_m::<IMM_ROTATION>(pg, svsel_f64(pg, op1, svdup_n_f64(0.0)), op2, op3)
4544}
4545#[doc = "Complex multiply-add with rotate"]
4546#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmla_lane[_f32])"]
4547#[inline]
4548#[target_feature(enable = "sve")]
4549#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
4550#[cfg_attr(test, assert_instr(fcmla, IMM_INDEX = 0, IMM_ROTATION = 90))]
4551pub fn svcmla_lane_f32<const IMM_INDEX: i32, const IMM_ROTATION: i32>(
4552 op1: svfloat32_t,
4553 op2: svfloat32_t,
4554 op3: svfloat32_t,
4555) -> svfloat32_t {
4556 static_assert_range!(IMM_INDEX, 0..=1);
4557 static_assert!(
4558 IMM_ROTATION == 0 || IMM_ROTATION == 90 || IMM_ROTATION == 180 || IMM_ROTATION == 270
4559 );
4560 unsafe extern "unadjusted" {
4561 #[cfg_attr(
4562 target_arch = "aarch64",
4563 link_name = "llvm.aarch64.sve.fcmla.lane.nxv4f32"
4564 )]
4565 fn _svcmla_lane_f32(
4566 op1: svfloat32_t,
4567 op2: svfloat32_t,
4568 op3: svfloat32_t,
4569 imm_index: i32,
4570 imm_rotation: i32,
4571 ) -> svfloat32_t;
4572 }
4573 unsafe { _svcmla_lane_f32(op1, op2, op3, IMM_INDEX, IMM_ROTATION) }
4574}
4575#[doc = "Compare equal to"]
4576#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpeq[_f32])"]
4577#[inline]
4578#[target_feature(enable = "sve")]
4579#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
4580#[cfg_attr(test, assert_instr(fcmeq))]
4581pub fn svcmpeq_f32(pg: svbool_t, op1: svfloat32_t, op2: svfloat32_t) -> svbool_t {
4582 unsafe extern "unadjusted" {
4583 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.fcmpeq.nxv4f32")]
4584 fn _svcmpeq_f32(pg: svbool4_t, op1: svfloat32_t, op2: svfloat32_t) -> svbool4_t;
4585 }
4586 unsafe { _svcmpeq_f32(pg.sve_into(), op1, op2).sve_into() }
4587}
4588#[doc = "Compare equal to"]
4589#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpeq[_n_f32])"]
4590#[inline]
4591#[target_feature(enable = "sve")]
4592#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
4593#[cfg_attr(test, assert_instr(fcmeq))]
4594pub fn svcmpeq_n_f32(pg: svbool_t, op1: svfloat32_t, op2: f32) -> svbool_t {
4595 svcmpeq_f32(pg, op1, svdup_n_f32(op2))
4596}
4597#[doc = "Compare equal to"]
4598#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpeq[_f64])"]
4599#[inline]
4600#[target_feature(enable = "sve")]
4601#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
4602#[cfg_attr(test, assert_instr(fcmeq))]
4603pub fn svcmpeq_f64(pg: svbool_t, op1: svfloat64_t, op2: svfloat64_t) -> svbool_t {
4604 unsafe extern "unadjusted" {
4605 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.fcmpeq.nxv2f64")]
4606 fn _svcmpeq_f64(pg: svbool2_t, op1: svfloat64_t, op2: svfloat64_t) -> svbool2_t;
4607 }
4608 unsafe { _svcmpeq_f64(pg.sve_into(), op1, op2).sve_into() }
4609}
4610#[doc = "Compare equal to"]
4611#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpeq[_n_f64])"]
4612#[inline]
4613#[target_feature(enable = "sve")]
4614#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
4615#[cfg_attr(test, assert_instr(fcmeq))]
4616pub fn svcmpeq_n_f64(pg: svbool_t, op1: svfloat64_t, op2: f64) -> svbool_t {
4617 svcmpeq_f64(pg, op1, svdup_n_f64(op2))
4618}
4619#[doc = "Compare equal to"]
4620#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpeq[_s8])"]
4621#[inline]
4622#[target_feature(enable = "sve")]
4623#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
4624#[cfg_attr(test, assert_instr(cmpeq))]
4625pub fn svcmpeq_s8(pg: svbool_t, op1: svint8_t, op2: svint8_t) -> svbool_t {
4626 unsafe extern "unadjusted" {
4627 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.cmpeq.nxv16i8")]
4628 fn _svcmpeq_s8(pg: svbool_t, op1: svint8_t, op2: svint8_t) -> svbool_t;
4629 }
4630 unsafe { _svcmpeq_s8(pg, op1, op2) }
4631}
4632#[doc = "Compare equal to"]
4633#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpeq[_n_s8])"]
4634#[inline]
4635#[target_feature(enable = "sve")]
4636#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
4637#[cfg_attr(test, assert_instr(cmpeq))]
4638pub fn svcmpeq_n_s8(pg: svbool_t, op1: svint8_t, op2: i8) -> svbool_t {
4639 svcmpeq_s8(pg, op1, svdup_n_s8(op2))
4640}
4641#[doc = "Compare equal to"]
4642#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpeq[_s16])"]
4643#[inline]
4644#[target_feature(enable = "sve")]
4645#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
4646#[cfg_attr(test, assert_instr(cmpeq))]
4647pub fn svcmpeq_s16(pg: svbool_t, op1: svint16_t, op2: svint16_t) -> svbool_t {
4648 unsafe extern "unadjusted" {
4649 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.cmpeq.nxv8i16")]
4650 fn _svcmpeq_s16(pg: svbool8_t, op1: svint16_t, op2: svint16_t) -> svbool8_t;
4651 }
4652 unsafe { _svcmpeq_s16(pg.sve_into(), op1, op2).sve_into() }
4653}
4654#[doc = "Compare equal to"]
4655#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpeq[_n_s16])"]
4656#[inline]
4657#[target_feature(enable = "sve")]
4658#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
4659#[cfg_attr(test, assert_instr(cmpeq))]
4660pub fn svcmpeq_n_s16(pg: svbool_t, op1: svint16_t, op2: i16) -> svbool_t {
4661 svcmpeq_s16(pg, op1, svdup_n_s16(op2))
4662}
4663#[doc = "Compare equal to"]
4664#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpeq[_s32])"]
4665#[inline]
4666#[target_feature(enable = "sve")]
4667#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
4668#[cfg_attr(test, assert_instr(cmpeq))]
4669pub fn svcmpeq_s32(pg: svbool_t, op1: svint32_t, op2: svint32_t) -> svbool_t {
4670 unsafe extern "unadjusted" {
4671 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.cmpeq.nxv4i32")]
4672 fn _svcmpeq_s32(pg: svbool4_t, op1: svint32_t, op2: svint32_t) -> svbool4_t;
4673 }
4674 unsafe { _svcmpeq_s32(pg.sve_into(), op1, op2).sve_into() }
4675}
4676#[doc = "Compare equal to"]
4677#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpeq[_n_s32])"]
4678#[inline]
4679#[target_feature(enable = "sve")]
4680#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
4681#[cfg_attr(test, assert_instr(cmpeq))]
4682pub fn svcmpeq_n_s32(pg: svbool_t, op1: svint32_t, op2: i32) -> svbool_t {
4683 svcmpeq_s32(pg, op1, svdup_n_s32(op2))
4684}
4685#[doc = "Compare equal to"]
4686#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpeq[_s64])"]
4687#[inline]
4688#[target_feature(enable = "sve")]
4689#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
4690#[cfg_attr(test, assert_instr(cmpeq))]
4691pub fn svcmpeq_s64(pg: svbool_t, op1: svint64_t, op2: svint64_t) -> svbool_t {
4692 unsafe extern "unadjusted" {
4693 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.cmpeq.nxv2i64")]
4694 fn _svcmpeq_s64(pg: svbool2_t, op1: svint64_t, op2: svint64_t) -> svbool2_t;
4695 }
4696 unsafe { _svcmpeq_s64(pg.sve_into(), op1, op2).sve_into() }
4697}
4698#[doc = "Compare equal to"]
4699#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpeq[_n_s64])"]
4700#[inline]
4701#[target_feature(enable = "sve")]
4702#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
4703#[cfg_attr(test, assert_instr(cmpeq))]
4704pub fn svcmpeq_n_s64(pg: svbool_t, op1: svint64_t, op2: i64) -> svbool_t {
4705 svcmpeq_s64(pg, op1, svdup_n_s64(op2))
4706}
4707#[doc = "Compare equal to"]
4708#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpeq[_u8])"]
4709#[inline]
4710#[target_feature(enable = "sve")]
4711#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
4712#[cfg_attr(test, assert_instr(cmpeq))]
4713pub fn svcmpeq_u8(pg: svbool_t, op1: svuint8_t, op2: svuint8_t) -> svbool_t {
4714 unsafe { svcmpeq_s8(pg, op1.as_signed(), op2.as_signed()) }
4715}
4716#[doc = "Compare equal to"]
4717#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpeq[_n_u8])"]
4718#[inline]
4719#[target_feature(enable = "sve")]
4720#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
4721#[cfg_attr(test, assert_instr(cmpeq))]
4722pub fn svcmpeq_n_u8(pg: svbool_t, op1: svuint8_t, op2: u8) -> svbool_t {
4723 svcmpeq_u8(pg, op1, svdup_n_u8(op2))
4724}
4725#[doc = "Compare equal to"]
4726#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpeq[_u16])"]
4727#[inline]
4728#[target_feature(enable = "sve")]
4729#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
4730#[cfg_attr(test, assert_instr(cmpeq))]
4731pub fn svcmpeq_u16(pg: svbool_t, op1: svuint16_t, op2: svuint16_t) -> svbool_t {
4732 unsafe { svcmpeq_s16(pg, op1.as_signed(), op2.as_signed()) }
4733}
4734#[doc = "Compare equal to"]
4735#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpeq[_n_u16])"]
4736#[inline]
4737#[target_feature(enable = "sve")]
4738#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
4739#[cfg_attr(test, assert_instr(cmpeq))]
4740pub fn svcmpeq_n_u16(pg: svbool_t, op1: svuint16_t, op2: u16) -> svbool_t {
4741 svcmpeq_u16(pg, op1, svdup_n_u16(op2))
4742}
4743#[doc = "Compare equal to"]
4744#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpeq[_u32])"]
4745#[inline]
4746#[target_feature(enable = "sve")]
4747#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
4748#[cfg_attr(test, assert_instr(cmpeq))]
4749pub fn svcmpeq_u32(pg: svbool_t, op1: svuint32_t, op2: svuint32_t) -> svbool_t {
4750 unsafe { svcmpeq_s32(pg, op1.as_signed(), op2.as_signed()) }
4751}
4752#[doc = "Compare equal to"]
4753#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpeq[_n_u32])"]
4754#[inline]
4755#[target_feature(enable = "sve")]
4756#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
4757#[cfg_attr(test, assert_instr(cmpeq))]
4758pub fn svcmpeq_n_u32(pg: svbool_t, op1: svuint32_t, op2: u32) -> svbool_t {
4759 svcmpeq_u32(pg, op1, svdup_n_u32(op2))
4760}
4761#[doc = "Compare equal to"]
4762#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpeq[_u64])"]
4763#[inline]
4764#[target_feature(enable = "sve")]
4765#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
4766#[cfg_attr(test, assert_instr(cmpeq))]
4767pub fn svcmpeq_u64(pg: svbool_t, op1: svuint64_t, op2: svuint64_t) -> svbool_t {
4768 unsafe { svcmpeq_s64(pg, op1.as_signed(), op2.as_signed()) }
4769}
4770#[doc = "Compare equal to"]
4771#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpeq[_n_u64])"]
4772#[inline]
4773#[target_feature(enable = "sve")]
4774#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
4775#[cfg_attr(test, assert_instr(cmpeq))]
4776pub fn svcmpeq_n_u64(pg: svbool_t, op1: svuint64_t, op2: u64) -> svbool_t {
4777 svcmpeq_u64(pg, op1, svdup_n_u64(op2))
4778}
4779#[doc = "Compare equal to"]
4780#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpeq_wide[_s8])"]
4781#[inline]
4782#[target_feature(enable = "sve")]
4783#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
4784#[cfg_attr(test, assert_instr(cmpeq))]
4785pub fn svcmpeq_wide_s8(pg: svbool_t, op1: svint8_t, op2: svint64_t) -> svbool_t {
4786 unsafe extern "unadjusted" {
4787 #[cfg_attr(
4788 target_arch = "aarch64",
4789 link_name = "llvm.aarch64.sve.cmpeq.wide.nxv16i8"
4790 )]
4791 fn _svcmpeq_wide_s8(pg: svbool_t, op1: svint8_t, op2: svint64_t) -> svbool_t;
4792 }
4793 unsafe { _svcmpeq_wide_s8(pg, op1, op2) }
4794}
4795#[doc = "Compare equal to"]
4796#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpeq_wide[_n_s8])"]
4797#[inline]
4798#[target_feature(enable = "sve")]
4799#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
4800#[cfg_attr(test, assert_instr(cmpeq))]
4801pub fn svcmpeq_wide_n_s8(pg: svbool_t, op1: svint8_t, op2: i64) -> svbool_t {
4802 svcmpeq_wide_s8(pg, op1, svdup_n_s64(op2))
4803}
4804#[doc = "Compare equal to"]
4805#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpeq_wide[_s16])"]
4806#[inline]
4807#[target_feature(enable = "sve")]
4808#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
4809#[cfg_attr(test, assert_instr(cmpeq))]
4810pub fn svcmpeq_wide_s16(pg: svbool_t, op1: svint16_t, op2: svint64_t) -> svbool_t {
4811 unsafe extern "unadjusted" {
4812 #[cfg_attr(
4813 target_arch = "aarch64",
4814 link_name = "llvm.aarch64.sve.cmpeq.wide.nxv8i16"
4815 )]
4816 fn _svcmpeq_wide_s16(pg: svbool8_t, op1: svint16_t, op2: svint64_t) -> svbool8_t;
4817 }
4818 unsafe { _svcmpeq_wide_s16(pg.sve_into(), op1, op2).sve_into() }
4819}
4820#[doc = "Compare equal to"]
4821#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpeq_wide[_n_s16])"]
4822#[inline]
4823#[target_feature(enable = "sve")]
4824#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
4825#[cfg_attr(test, assert_instr(cmpeq))]
4826pub fn svcmpeq_wide_n_s16(pg: svbool_t, op1: svint16_t, op2: i64) -> svbool_t {
4827 svcmpeq_wide_s16(pg, op1, svdup_n_s64(op2))
4828}
4829#[doc = "Compare equal to"]
4830#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpeq_wide[_s32])"]
4831#[inline]
4832#[target_feature(enable = "sve")]
4833#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
4834#[cfg_attr(test, assert_instr(cmpeq))]
4835pub fn svcmpeq_wide_s32(pg: svbool_t, op1: svint32_t, op2: svint64_t) -> svbool_t {
4836 unsafe extern "unadjusted" {
4837 #[cfg_attr(
4838 target_arch = "aarch64",
4839 link_name = "llvm.aarch64.sve.cmpeq.wide.nxv4i32"
4840 )]
4841 fn _svcmpeq_wide_s32(pg: svbool4_t, op1: svint32_t, op2: svint64_t) -> svbool4_t;
4842 }
4843 unsafe { _svcmpeq_wide_s32(pg.sve_into(), op1, op2).sve_into() }
4844}
4845#[doc = "Compare equal to"]
4846#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpeq_wide[_n_s32])"]
4847#[inline]
4848#[target_feature(enable = "sve")]
4849#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
4850#[cfg_attr(test, assert_instr(cmpeq))]
4851pub fn svcmpeq_wide_n_s32(pg: svbool_t, op1: svint32_t, op2: i64) -> svbool_t {
4852 svcmpeq_wide_s32(pg, op1, svdup_n_s64(op2))
4853}
4854#[doc = "Compare greater than or equal to"]
4855#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpge[_f32])"]
4856#[inline]
4857#[target_feature(enable = "sve")]
4858#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
4859#[cfg_attr(test, assert_instr(fcmge))]
4860pub fn svcmpge_f32(pg: svbool_t, op1: svfloat32_t, op2: svfloat32_t) -> svbool_t {
4861 unsafe extern "unadjusted" {
4862 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.fcmpge.nxv4f32")]
4863 fn _svcmpge_f32(pg: svbool4_t, op1: svfloat32_t, op2: svfloat32_t) -> svbool4_t;
4864 }
4865 unsafe { _svcmpge_f32(pg.sve_into(), op1, op2).sve_into() }
4866}
4867#[doc = "Compare greater than or equal to"]
4868#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpge[_n_f32])"]
4869#[inline]
4870#[target_feature(enable = "sve")]
4871#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
4872#[cfg_attr(test, assert_instr(fcmge))]
4873pub fn svcmpge_n_f32(pg: svbool_t, op1: svfloat32_t, op2: f32) -> svbool_t {
4874 svcmpge_f32(pg, op1, svdup_n_f32(op2))
4875}
4876#[doc = "Compare greater than or equal to"]
4877#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpge[_f64])"]
4878#[inline]
4879#[target_feature(enable = "sve")]
4880#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
4881#[cfg_attr(test, assert_instr(fcmge))]
4882pub fn svcmpge_f64(pg: svbool_t, op1: svfloat64_t, op2: svfloat64_t) -> svbool_t {
4883 unsafe extern "unadjusted" {
4884 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.fcmpge.nxv2f64")]
4885 fn _svcmpge_f64(pg: svbool2_t, op1: svfloat64_t, op2: svfloat64_t) -> svbool2_t;
4886 }
4887 unsafe { _svcmpge_f64(pg.sve_into(), op1, op2).sve_into() }
4888}
4889#[doc = "Compare greater than or equal to"]
4890#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpge[_n_f64])"]
4891#[inline]
4892#[target_feature(enable = "sve")]
4893#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
4894#[cfg_attr(test, assert_instr(fcmge))]
4895pub fn svcmpge_n_f64(pg: svbool_t, op1: svfloat64_t, op2: f64) -> svbool_t {
4896 svcmpge_f64(pg, op1, svdup_n_f64(op2))
4897}
4898#[doc = "Compare greater than or equal to"]
4899#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpge[_s8])"]
4900#[inline]
4901#[target_feature(enable = "sve")]
4902#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
4903#[cfg_attr(test, assert_instr(cmpge))]
4904pub fn svcmpge_s8(pg: svbool_t, op1: svint8_t, op2: svint8_t) -> svbool_t {
4905 unsafe extern "unadjusted" {
4906 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.cmpge.nxv16i8")]
4907 fn _svcmpge_s8(pg: svbool_t, op1: svint8_t, op2: svint8_t) -> svbool_t;
4908 }
4909 unsafe { _svcmpge_s8(pg, op1, op2) }
4910}
4911#[doc = "Compare greater than or equal to"]
4912#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpge[_n_s8])"]
4913#[inline]
4914#[target_feature(enable = "sve")]
4915#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
4916#[cfg_attr(test, assert_instr(cmpge))]
4917pub fn svcmpge_n_s8(pg: svbool_t, op1: svint8_t, op2: i8) -> svbool_t {
4918 svcmpge_s8(pg, op1, svdup_n_s8(op2))
4919}
4920#[doc = "Compare greater than or equal to"]
4921#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpge[_s16])"]
4922#[inline]
4923#[target_feature(enable = "sve")]
4924#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
4925#[cfg_attr(test, assert_instr(cmpge))]
4926pub fn svcmpge_s16(pg: svbool_t, op1: svint16_t, op2: svint16_t) -> svbool_t {
4927 unsafe extern "unadjusted" {
4928 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.cmpge.nxv8i16")]
4929 fn _svcmpge_s16(pg: svbool8_t, op1: svint16_t, op2: svint16_t) -> svbool8_t;
4930 }
4931 unsafe { _svcmpge_s16(pg.sve_into(), op1, op2).sve_into() }
4932}
4933#[doc = "Compare greater than or equal to"]
4934#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpge[_n_s16])"]
4935#[inline]
4936#[target_feature(enable = "sve")]
4937#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
4938#[cfg_attr(test, assert_instr(cmpge))]
4939pub fn svcmpge_n_s16(pg: svbool_t, op1: svint16_t, op2: i16) -> svbool_t {
4940 svcmpge_s16(pg, op1, svdup_n_s16(op2))
4941}
4942#[doc = "Compare greater than or equal to"]
4943#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpge[_s32])"]
4944#[inline]
4945#[target_feature(enable = "sve")]
4946#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
4947#[cfg_attr(test, assert_instr(cmpge))]
4948pub fn svcmpge_s32(pg: svbool_t, op1: svint32_t, op2: svint32_t) -> svbool_t {
4949 unsafe extern "unadjusted" {
4950 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.cmpge.nxv4i32")]
4951 fn _svcmpge_s32(pg: svbool4_t, op1: svint32_t, op2: svint32_t) -> svbool4_t;
4952 }
4953 unsafe { _svcmpge_s32(pg.sve_into(), op1, op2).sve_into() }
4954}
4955#[doc = "Compare greater than or equal to"]
4956#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpge[_n_s32])"]
4957#[inline]
4958#[target_feature(enable = "sve")]
4959#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
4960#[cfg_attr(test, assert_instr(cmpge))]
4961pub fn svcmpge_n_s32(pg: svbool_t, op1: svint32_t, op2: i32) -> svbool_t {
4962 svcmpge_s32(pg, op1, svdup_n_s32(op2))
4963}
4964#[doc = "Compare greater than or equal to"]
4965#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpge[_s64])"]
4966#[inline]
4967#[target_feature(enable = "sve")]
4968#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
4969#[cfg_attr(test, assert_instr(cmpge))]
4970pub fn svcmpge_s64(pg: svbool_t, op1: svint64_t, op2: svint64_t) -> svbool_t {
4971 unsafe extern "unadjusted" {
4972 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.cmpge.nxv2i64")]
4973 fn _svcmpge_s64(pg: svbool2_t, op1: svint64_t, op2: svint64_t) -> svbool2_t;
4974 }
4975 unsafe { _svcmpge_s64(pg.sve_into(), op1, op2).sve_into() }
4976}
4977#[doc = "Compare greater than or equal to"]
4978#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpge[_n_s64])"]
4979#[inline]
4980#[target_feature(enable = "sve")]
4981#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
4982#[cfg_attr(test, assert_instr(cmpge))]
4983pub fn svcmpge_n_s64(pg: svbool_t, op1: svint64_t, op2: i64) -> svbool_t {
4984 svcmpge_s64(pg, op1, svdup_n_s64(op2))
4985}
4986#[doc = "Compare greater than or equal to"]
4987#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpge[_u8])"]
4988#[inline]
4989#[target_feature(enable = "sve")]
4990#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
4991#[cfg_attr(test, assert_instr(cmphs))]
4992pub fn svcmpge_u8(pg: svbool_t, op1: svuint8_t, op2: svuint8_t) -> svbool_t {
4993 unsafe extern "unadjusted" {
4994 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.cmphs.nxv16i8")]
4995 fn _svcmpge_u8(pg: svbool_t, op1: svint8_t, op2: svint8_t) -> svbool_t;
4996 }
4997 unsafe { _svcmpge_u8(pg, op1.as_signed(), op2.as_signed()) }
4998}
4999#[doc = "Compare greater than or equal to"]
5000#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpge[_n_u8])"]
5001#[inline]
5002#[target_feature(enable = "sve")]
5003#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
5004#[cfg_attr(test, assert_instr(cmphs))]
5005pub fn svcmpge_n_u8(pg: svbool_t, op1: svuint8_t, op2: u8) -> svbool_t {
5006 svcmpge_u8(pg, op1, svdup_n_u8(op2))
5007}
5008#[doc = "Compare greater than or equal to"]
5009#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpge[_u16])"]
5010#[inline]
5011#[target_feature(enable = "sve")]
5012#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
5013#[cfg_attr(test, assert_instr(cmphs))]
5014pub fn svcmpge_u16(pg: svbool_t, op1: svuint16_t, op2: svuint16_t) -> svbool_t {
5015 unsafe extern "unadjusted" {
5016 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.cmphs.nxv8i16")]
5017 fn _svcmpge_u16(pg: svbool8_t, op1: svint16_t, op2: svint16_t) -> svbool8_t;
5018 }
5019 unsafe { _svcmpge_u16(pg.sve_into(), op1.as_signed(), op2.as_signed()).sve_into() }
5020}
5021#[doc = "Compare greater than or equal to"]
5022#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpge[_n_u16])"]
5023#[inline]
5024#[target_feature(enable = "sve")]
5025#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
5026#[cfg_attr(test, assert_instr(cmphs))]
5027pub fn svcmpge_n_u16(pg: svbool_t, op1: svuint16_t, op2: u16) -> svbool_t {
5028 svcmpge_u16(pg, op1, svdup_n_u16(op2))
5029}
5030#[doc = "Compare greater than or equal to"]
5031#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpge[_u32])"]
5032#[inline]
5033#[target_feature(enable = "sve")]
5034#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
5035#[cfg_attr(test, assert_instr(cmphs))]
5036pub fn svcmpge_u32(pg: svbool_t, op1: svuint32_t, op2: svuint32_t) -> svbool_t {
5037 unsafe extern "unadjusted" {
5038 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.cmphs.nxv4i32")]
5039 fn _svcmpge_u32(pg: svbool4_t, op1: svint32_t, op2: svint32_t) -> svbool4_t;
5040 }
5041 unsafe { _svcmpge_u32(pg.sve_into(), op1.as_signed(), op2.as_signed()).sve_into() }
5042}
5043#[doc = "Compare greater than or equal to"]
5044#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpge[_n_u32])"]
5045#[inline]
5046#[target_feature(enable = "sve")]
5047#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
5048#[cfg_attr(test, assert_instr(cmphs))]
5049pub fn svcmpge_n_u32(pg: svbool_t, op1: svuint32_t, op2: u32) -> svbool_t {
5050 svcmpge_u32(pg, op1, svdup_n_u32(op2))
5051}
5052#[doc = "Compare greater than or equal to"]
5053#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpge[_u64])"]
5054#[inline]
5055#[target_feature(enable = "sve")]
5056#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
5057#[cfg_attr(test, assert_instr(cmphs))]
5058pub fn svcmpge_u64(pg: svbool_t, op1: svuint64_t, op2: svuint64_t) -> svbool_t {
5059 unsafe extern "unadjusted" {
5060 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.cmphs.nxv2i64")]
5061 fn _svcmpge_u64(pg: svbool2_t, op1: svint64_t, op2: svint64_t) -> svbool2_t;
5062 }
5063 unsafe { _svcmpge_u64(pg.sve_into(), op1.as_signed(), op2.as_signed()).sve_into() }
5064}
5065#[doc = "Compare greater than or equal to"]
5066#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpge[_n_u64])"]
5067#[inline]
5068#[target_feature(enable = "sve")]
5069#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
5070#[cfg_attr(test, assert_instr(cmphs))]
5071pub fn svcmpge_n_u64(pg: svbool_t, op1: svuint64_t, op2: u64) -> svbool_t {
5072 svcmpge_u64(pg, op1, svdup_n_u64(op2))
5073}
5074#[doc = "Compare greater than or equal to"]
5075#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpge_wide[_s8])"]
5076#[inline]
5077#[target_feature(enable = "sve")]
5078#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
5079#[cfg_attr(test, assert_instr(cmpge))]
5080pub fn svcmpge_wide_s8(pg: svbool_t, op1: svint8_t, op2: svint64_t) -> svbool_t {
5081 unsafe extern "unadjusted" {
5082 #[cfg_attr(
5083 target_arch = "aarch64",
5084 link_name = "llvm.aarch64.sve.cmpge.wide.nxv16i8"
5085 )]
5086 fn _svcmpge_wide_s8(pg: svbool_t, op1: svint8_t, op2: svint64_t) -> svbool_t;
5087 }
5088 unsafe { _svcmpge_wide_s8(pg, op1, op2) }
5089}
5090#[doc = "Compare greater than or equal to"]
5091#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpge_wide[_n_s8])"]
5092#[inline]
5093#[target_feature(enable = "sve")]
5094#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
5095#[cfg_attr(test, assert_instr(cmpge))]
5096pub fn svcmpge_wide_n_s8(pg: svbool_t, op1: svint8_t, op2: i64) -> svbool_t {
5097 svcmpge_wide_s8(pg, op1, svdup_n_s64(op2))
5098}
5099#[doc = "Compare greater than or equal to"]
5100#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpge_wide[_s16])"]
5101#[inline]
5102#[target_feature(enable = "sve")]
5103#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
5104#[cfg_attr(test, assert_instr(cmpge))]
5105pub fn svcmpge_wide_s16(pg: svbool_t, op1: svint16_t, op2: svint64_t) -> svbool_t {
5106 unsafe extern "unadjusted" {
5107 #[cfg_attr(
5108 target_arch = "aarch64",
5109 link_name = "llvm.aarch64.sve.cmpge.wide.nxv8i16"
5110 )]
5111 fn _svcmpge_wide_s16(pg: svbool8_t, op1: svint16_t, op2: svint64_t) -> svbool8_t;
5112 }
5113 unsafe { _svcmpge_wide_s16(pg.sve_into(), op1, op2).sve_into() }
5114}
5115#[doc = "Compare greater than or equal to"]
5116#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpge_wide[_n_s16])"]
5117#[inline]
5118#[target_feature(enable = "sve")]
5119#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
5120#[cfg_attr(test, assert_instr(cmpge))]
5121pub fn svcmpge_wide_n_s16(pg: svbool_t, op1: svint16_t, op2: i64) -> svbool_t {
5122 svcmpge_wide_s16(pg, op1, svdup_n_s64(op2))
5123}
5124#[doc = "Compare greater than or equal to"]
5125#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpge_wide[_s32])"]
5126#[inline]
5127#[target_feature(enable = "sve")]
5128#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
5129#[cfg_attr(test, assert_instr(cmpge))]
5130pub fn svcmpge_wide_s32(pg: svbool_t, op1: svint32_t, op2: svint64_t) -> svbool_t {
5131 unsafe extern "unadjusted" {
5132 #[cfg_attr(
5133 target_arch = "aarch64",
5134 link_name = "llvm.aarch64.sve.cmpge.wide.nxv4i32"
5135 )]
5136 fn _svcmpge_wide_s32(pg: svbool4_t, op1: svint32_t, op2: svint64_t) -> svbool4_t;
5137 }
5138 unsafe { _svcmpge_wide_s32(pg.sve_into(), op1, op2).sve_into() }
5139}
5140#[doc = "Compare greater than or equal to"]
5141#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpge_wide[_n_s32])"]
5142#[inline]
5143#[target_feature(enable = "sve")]
5144#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
5145#[cfg_attr(test, assert_instr(cmpge))]
5146pub fn svcmpge_wide_n_s32(pg: svbool_t, op1: svint32_t, op2: i64) -> svbool_t {
5147 svcmpge_wide_s32(pg, op1, svdup_n_s64(op2))
5148}
5149#[doc = "Compare greater than or equal to"]
5150#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpge_wide[_u8])"]
5151#[inline]
5152#[target_feature(enable = "sve")]
5153#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
5154#[cfg_attr(test, assert_instr(cmphs))]
5155pub fn svcmpge_wide_u8(pg: svbool_t, op1: svuint8_t, op2: svuint64_t) -> svbool_t {
5156 unsafe extern "unadjusted" {
5157 #[cfg_attr(
5158 target_arch = "aarch64",
5159 link_name = "llvm.aarch64.sve.cmphs.wide.nxv16i8"
5160 )]
5161 fn _svcmpge_wide_u8(pg: svbool_t, op1: svint8_t, op2: svint64_t) -> svbool_t;
5162 }
5163 unsafe { _svcmpge_wide_u8(pg, op1.as_signed(), op2.as_signed()) }
5164}
5165#[doc = "Compare greater than or equal to"]
5166#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpge_wide[_n_u8])"]
5167#[inline]
5168#[target_feature(enable = "sve")]
5169#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
5170#[cfg_attr(test, assert_instr(cmphs))]
5171pub fn svcmpge_wide_n_u8(pg: svbool_t, op1: svuint8_t, op2: u64) -> svbool_t {
5172 svcmpge_wide_u8(pg, op1, svdup_n_u64(op2))
5173}
5174#[doc = "Compare greater than or equal to"]
5175#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpge_wide[_u16])"]
5176#[inline]
5177#[target_feature(enable = "sve")]
5178#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
5179#[cfg_attr(test, assert_instr(cmphs))]
5180pub fn svcmpge_wide_u16(pg: svbool_t, op1: svuint16_t, op2: svuint64_t) -> svbool_t {
5181 unsafe extern "unadjusted" {
5182 #[cfg_attr(
5183 target_arch = "aarch64",
5184 link_name = "llvm.aarch64.sve.cmphs.wide.nxv8i16"
5185 )]
5186 fn _svcmpge_wide_u16(pg: svbool8_t, op1: svint16_t, op2: svint64_t) -> svbool8_t;
5187 }
5188 unsafe { _svcmpge_wide_u16(pg.sve_into(), op1.as_signed(), op2.as_signed()).sve_into() }
5189}
5190#[doc = "Compare greater than or equal to"]
5191#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpge_wide[_n_u16])"]
5192#[inline]
5193#[target_feature(enable = "sve")]
5194#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
5195#[cfg_attr(test, assert_instr(cmphs))]
5196pub fn svcmpge_wide_n_u16(pg: svbool_t, op1: svuint16_t, op2: u64) -> svbool_t {
5197 svcmpge_wide_u16(pg, op1, svdup_n_u64(op2))
5198}
5199#[doc = "Compare greater than or equal to"]
5200#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpge_wide[_u32])"]
5201#[inline]
5202#[target_feature(enable = "sve")]
5203#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
5204#[cfg_attr(test, assert_instr(cmphs))]
5205pub fn svcmpge_wide_u32(pg: svbool_t, op1: svuint32_t, op2: svuint64_t) -> svbool_t {
5206 unsafe extern "unadjusted" {
5207 #[cfg_attr(
5208 target_arch = "aarch64",
5209 link_name = "llvm.aarch64.sve.cmphs.wide.nxv4i32"
5210 )]
5211 fn _svcmpge_wide_u32(pg: svbool4_t, op1: svint32_t, op2: svint64_t) -> svbool4_t;
5212 }
5213 unsafe { _svcmpge_wide_u32(pg.sve_into(), op1.as_signed(), op2.as_signed()).sve_into() }
5214}
5215#[doc = "Compare greater than or equal to"]
5216#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpge_wide[_n_u32])"]
5217#[inline]
5218#[target_feature(enable = "sve")]
5219#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
5220#[cfg_attr(test, assert_instr(cmphs))]
5221pub fn svcmpge_wide_n_u32(pg: svbool_t, op1: svuint32_t, op2: u64) -> svbool_t {
5222 svcmpge_wide_u32(pg, op1, svdup_n_u64(op2))
5223}
5224#[doc = "Compare greater than"]
5225#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpgt[_f32])"]
5226#[inline]
5227#[target_feature(enable = "sve")]
5228#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
5229#[cfg_attr(test, assert_instr(fcmgt))]
5230pub fn svcmpgt_f32(pg: svbool_t, op1: svfloat32_t, op2: svfloat32_t) -> svbool_t {
5231 unsafe extern "unadjusted" {
5232 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.fcmpgt.nxv4f32")]
5233 fn _svcmpgt_f32(pg: svbool4_t, op1: svfloat32_t, op2: svfloat32_t) -> svbool4_t;
5234 }
5235 unsafe { _svcmpgt_f32(pg.sve_into(), op1, op2).sve_into() }
5236}
5237#[doc = "Compare greater than"]
5238#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpgt[_n_f32])"]
5239#[inline]
5240#[target_feature(enable = "sve")]
5241#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
5242#[cfg_attr(test, assert_instr(fcmgt))]
5243pub fn svcmpgt_n_f32(pg: svbool_t, op1: svfloat32_t, op2: f32) -> svbool_t {
5244 svcmpgt_f32(pg, op1, svdup_n_f32(op2))
5245}
5246#[doc = "Compare greater than"]
5247#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpgt[_f64])"]
5248#[inline]
5249#[target_feature(enable = "sve")]
5250#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
5251#[cfg_attr(test, assert_instr(fcmgt))]
5252pub fn svcmpgt_f64(pg: svbool_t, op1: svfloat64_t, op2: svfloat64_t) -> svbool_t {
5253 unsafe extern "unadjusted" {
5254 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.fcmpgt.nxv2f64")]
5255 fn _svcmpgt_f64(pg: svbool2_t, op1: svfloat64_t, op2: svfloat64_t) -> svbool2_t;
5256 }
5257 unsafe { _svcmpgt_f64(pg.sve_into(), op1, op2).sve_into() }
5258}
5259#[doc = "Compare greater than"]
5260#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpgt[_n_f64])"]
5261#[inline]
5262#[target_feature(enable = "sve")]
5263#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
5264#[cfg_attr(test, assert_instr(fcmgt))]
5265pub fn svcmpgt_n_f64(pg: svbool_t, op1: svfloat64_t, op2: f64) -> svbool_t {
5266 svcmpgt_f64(pg, op1, svdup_n_f64(op2))
5267}
5268#[doc = "Compare greater than"]
5269#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpgt[_s8])"]
5270#[inline]
5271#[target_feature(enable = "sve")]
5272#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
5273#[cfg_attr(test, assert_instr(cmpgt))]
5274pub fn svcmpgt_s8(pg: svbool_t, op1: svint8_t, op2: svint8_t) -> svbool_t {
5275 unsafe extern "unadjusted" {
5276 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.cmpgt.nxv16i8")]
5277 fn _svcmpgt_s8(pg: svbool_t, op1: svint8_t, op2: svint8_t) -> svbool_t;
5278 }
5279 unsafe { _svcmpgt_s8(pg, op1, op2) }
5280}
5281#[doc = "Compare greater than"]
5282#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpgt[_n_s8])"]
5283#[inline]
5284#[target_feature(enable = "sve")]
5285#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
5286#[cfg_attr(test, assert_instr(cmpgt))]
5287pub fn svcmpgt_n_s8(pg: svbool_t, op1: svint8_t, op2: i8) -> svbool_t {
5288 svcmpgt_s8(pg, op1, svdup_n_s8(op2))
5289}
5290#[doc = "Compare greater than"]
5291#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpgt[_s16])"]
5292#[inline]
5293#[target_feature(enable = "sve")]
5294#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
5295#[cfg_attr(test, assert_instr(cmpgt))]
5296pub fn svcmpgt_s16(pg: svbool_t, op1: svint16_t, op2: svint16_t) -> svbool_t {
5297 unsafe extern "unadjusted" {
5298 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.cmpgt.nxv8i16")]
5299 fn _svcmpgt_s16(pg: svbool8_t, op1: svint16_t, op2: svint16_t) -> svbool8_t;
5300 }
5301 unsafe { _svcmpgt_s16(pg.sve_into(), op1, op2).sve_into() }
5302}
5303#[doc = "Compare greater than"]
5304#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpgt[_n_s16])"]
5305#[inline]
5306#[target_feature(enable = "sve")]
5307#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
5308#[cfg_attr(test, assert_instr(cmpgt))]
5309pub fn svcmpgt_n_s16(pg: svbool_t, op1: svint16_t, op2: i16) -> svbool_t {
5310 svcmpgt_s16(pg, op1, svdup_n_s16(op2))
5311}
5312#[doc = "Compare greater than"]
5313#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpgt[_s32])"]
5314#[inline]
5315#[target_feature(enable = "sve")]
5316#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
5317#[cfg_attr(test, assert_instr(cmpgt))]
5318pub fn svcmpgt_s32(pg: svbool_t, op1: svint32_t, op2: svint32_t) -> svbool_t {
5319 unsafe extern "unadjusted" {
5320 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.cmpgt.nxv4i32")]
5321 fn _svcmpgt_s32(pg: svbool4_t, op1: svint32_t, op2: svint32_t) -> svbool4_t;
5322 }
5323 unsafe { _svcmpgt_s32(pg.sve_into(), op1, op2).sve_into() }
5324}
5325#[doc = "Compare greater than"]
5326#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpgt[_n_s32])"]
5327#[inline]
5328#[target_feature(enable = "sve")]
5329#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
5330#[cfg_attr(test, assert_instr(cmpgt))]
5331pub fn svcmpgt_n_s32(pg: svbool_t, op1: svint32_t, op2: i32) -> svbool_t {
5332 svcmpgt_s32(pg, op1, svdup_n_s32(op2))
5333}
5334#[doc = "Compare greater than"]
5335#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpgt[_s64])"]
5336#[inline]
5337#[target_feature(enable = "sve")]
5338#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
5339#[cfg_attr(test, assert_instr(cmpgt))]
5340pub fn svcmpgt_s64(pg: svbool_t, op1: svint64_t, op2: svint64_t) -> svbool_t {
5341 unsafe extern "unadjusted" {
5342 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.cmpgt.nxv2i64")]
5343 fn _svcmpgt_s64(pg: svbool2_t, op1: svint64_t, op2: svint64_t) -> svbool2_t;
5344 }
5345 unsafe { _svcmpgt_s64(pg.sve_into(), op1, op2).sve_into() }
5346}
5347#[doc = "Compare greater than"]
5348#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpgt[_n_s64])"]
5349#[inline]
5350#[target_feature(enable = "sve")]
5351#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
5352#[cfg_attr(test, assert_instr(cmpgt))]
5353pub fn svcmpgt_n_s64(pg: svbool_t, op1: svint64_t, op2: i64) -> svbool_t {
5354 svcmpgt_s64(pg, op1, svdup_n_s64(op2))
5355}
5356#[doc = "Compare greater than"]
5357#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpgt[_u8])"]
5358#[inline]
5359#[target_feature(enable = "sve")]
5360#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
5361#[cfg_attr(test, assert_instr(cmphi))]
5362pub fn svcmpgt_u8(pg: svbool_t, op1: svuint8_t, op2: svuint8_t) -> svbool_t {
5363 unsafe extern "unadjusted" {
5364 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.cmphi.nxv16i8")]
5365 fn _svcmpgt_u8(pg: svbool_t, op1: svint8_t, op2: svint8_t) -> svbool_t;
5366 }
5367 unsafe { _svcmpgt_u8(pg, op1.as_signed(), op2.as_signed()) }
5368}
5369#[doc = "Compare greater than"]
5370#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpgt[_n_u8])"]
5371#[inline]
5372#[target_feature(enable = "sve")]
5373#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
5374#[cfg_attr(test, assert_instr(cmphi))]
5375pub fn svcmpgt_n_u8(pg: svbool_t, op1: svuint8_t, op2: u8) -> svbool_t {
5376 svcmpgt_u8(pg, op1, svdup_n_u8(op2))
5377}
5378#[doc = "Compare greater than"]
5379#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpgt[_u16])"]
5380#[inline]
5381#[target_feature(enable = "sve")]
5382#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
5383#[cfg_attr(test, assert_instr(cmphi))]
5384pub fn svcmpgt_u16(pg: svbool_t, op1: svuint16_t, op2: svuint16_t) -> svbool_t {
5385 unsafe extern "unadjusted" {
5386 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.cmphi.nxv8i16")]
5387 fn _svcmpgt_u16(pg: svbool8_t, op1: svint16_t, op2: svint16_t) -> svbool8_t;
5388 }
5389 unsafe { _svcmpgt_u16(pg.sve_into(), op1.as_signed(), op2.as_signed()).sve_into() }
5390}
5391#[doc = "Compare greater than"]
5392#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpgt[_n_u16])"]
5393#[inline]
5394#[target_feature(enable = "sve")]
5395#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
5396#[cfg_attr(test, assert_instr(cmphi))]
5397pub fn svcmpgt_n_u16(pg: svbool_t, op1: svuint16_t, op2: u16) -> svbool_t {
5398 svcmpgt_u16(pg, op1, svdup_n_u16(op2))
5399}
5400#[doc = "Compare greater than"]
5401#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpgt[_u32])"]
5402#[inline]
5403#[target_feature(enable = "sve")]
5404#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
5405#[cfg_attr(test, assert_instr(cmphi))]
5406pub fn svcmpgt_u32(pg: svbool_t, op1: svuint32_t, op2: svuint32_t) -> svbool_t {
5407 unsafe extern "unadjusted" {
5408 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.cmphi.nxv4i32")]
5409 fn _svcmpgt_u32(pg: svbool4_t, op1: svint32_t, op2: svint32_t) -> svbool4_t;
5410 }
5411 unsafe { _svcmpgt_u32(pg.sve_into(), op1.as_signed(), op2.as_signed()).sve_into() }
5412}
5413#[doc = "Compare greater than"]
5414#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpgt[_n_u32])"]
5415#[inline]
5416#[target_feature(enable = "sve")]
5417#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
5418#[cfg_attr(test, assert_instr(cmphi))]
5419pub fn svcmpgt_n_u32(pg: svbool_t, op1: svuint32_t, op2: u32) -> svbool_t {
5420 svcmpgt_u32(pg, op1, svdup_n_u32(op2))
5421}
5422#[doc = "Compare greater than"]
5423#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpgt[_u64])"]
5424#[inline]
5425#[target_feature(enable = "sve")]
5426#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
5427#[cfg_attr(test, assert_instr(cmphi))]
5428pub fn svcmpgt_u64(pg: svbool_t, op1: svuint64_t, op2: svuint64_t) -> svbool_t {
5429 unsafe extern "unadjusted" {
5430 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.cmphi.nxv2i64")]
5431 fn _svcmpgt_u64(pg: svbool2_t, op1: svint64_t, op2: svint64_t) -> svbool2_t;
5432 }
5433 unsafe { _svcmpgt_u64(pg.sve_into(), op1.as_signed(), op2.as_signed()).sve_into() }
5434}
5435#[doc = "Compare greater than"]
5436#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpgt[_n_u64])"]
5437#[inline]
5438#[target_feature(enable = "sve")]
5439#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
5440#[cfg_attr(test, assert_instr(cmphi))]
5441pub fn svcmpgt_n_u64(pg: svbool_t, op1: svuint64_t, op2: u64) -> svbool_t {
5442 svcmpgt_u64(pg, op1, svdup_n_u64(op2))
5443}
5444#[doc = "Compare greater than"]
5445#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpgt_wide[_s8])"]
5446#[inline]
5447#[target_feature(enable = "sve")]
5448#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
5449#[cfg_attr(test, assert_instr(cmpgt))]
5450pub fn svcmpgt_wide_s8(pg: svbool_t, op1: svint8_t, op2: svint64_t) -> svbool_t {
5451 unsafe extern "unadjusted" {
5452 #[cfg_attr(
5453 target_arch = "aarch64",
5454 link_name = "llvm.aarch64.sve.cmpgt.wide.nxv16i8"
5455 )]
5456 fn _svcmpgt_wide_s8(pg: svbool_t, op1: svint8_t, op2: svint64_t) -> svbool_t;
5457 }
5458 unsafe { _svcmpgt_wide_s8(pg, op1, op2) }
5459}
5460#[doc = "Compare greater than"]
5461#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpgt_wide[_n_s8])"]
5462#[inline]
5463#[target_feature(enable = "sve")]
5464#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
5465#[cfg_attr(test, assert_instr(cmpgt))]
5466pub fn svcmpgt_wide_n_s8(pg: svbool_t, op1: svint8_t, op2: i64) -> svbool_t {
5467 svcmpgt_wide_s8(pg, op1, svdup_n_s64(op2))
5468}
5469#[doc = "Compare greater than"]
5470#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpgt_wide[_s16])"]
5471#[inline]
5472#[target_feature(enable = "sve")]
5473#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
5474#[cfg_attr(test, assert_instr(cmpgt))]
5475pub fn svcmpgt_wide_s16(pg: svbool_t, op1: svint16_t, op2: svint64_t) -> svbool_t {
5476 unsafe extern "unadjusted" {
5477 #[cfg_attr(
5478 target_arch = "aarch64",
5479 link_name = "llvm.aarch64.sve.cmpgt.wide.nxv8i16"
5480 )]
5481 fn _svcmpgt_wide_s16(pg: svbool8_t, op1: svint16_t, op2: svint64_t) -> svbool8_t;
5482 }
5483 unsafe { _svcmpgt_wide_s16(pg.sve_into(), op1, op2).sve_into() }
5484}
5485#[doc = "Compare greater than"]
5486#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpgt_wide[_n_s16])"]
5487#[inline]
5488#[target_feature(enable = "sve")]
5489#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
5490#[cfg_attr(test, assert_instr(cmpgt))]
5491pub fn svcmpgt_wide_n_s16(pg: svbool_t, op1: svint16_t, op2: i64) -> svbool_t {
5492 svcmpgt_wide_s16(pg, op1, svdup_n_s64(op2))
5493}
5494#[doc = "Compare greater than"]
5495#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpgt_wide[_s32])"]
5496#[inline]
5497#[target_feature(enable = "sve")]
5498#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
5499#[cfg_attr(test, assert_instr(cmpgt))]
5500pub fn svcmpgt_wide_s32(pg: svbool_t, op1: svint32_t, op2: svint64_t) -> svbool_t {
5501 unsafe extern "unadjusted" {
5502 #[cfg_attr(
5503 target_arch = "aarch64",
5504 link_name = "llvm.aarch64.sve.cmpgt.wide.nxv4i32"
5505 )]
5506 fn _svcmpgt_wide_s32(pg: svbool4_t, op1: svint32_t, op2: svint64_t) -> svbool4_t;
5507 }
5508 unsafe { _svcmpgt_wide_s32(pg.sve_into(), op1, op2).sve_into() }
5509}
5510#[doc = "Compare greater than"]
5511#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpgt_wide[_n_s32])"]
5512#[inline]
5513#[target_feature(enable = "sve")]
5514#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
5515#[cfg_attr(test, assert_instr(cmpgt))]
5516pub fn svcmpgt_wide_n_s32(pg: svbool_t, op1: svint32_t, op2: i64) -> svbool_t {
5517 svcmpgt_wide_s32(pg, op1, svdup_n_s64(op2))
5518}
5519#[doc = "Compare greater than"]
5520#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpgt_wide[_u8])"]
5521#[inline]
5522#[target_feature(enable = "sve")]
5523#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
5524#[cfg_attr(test, assert_instr(cmphi))]
5525pub fn svcmpgt_wide_u8(pg: svbool_t, op1: svuint8_t, op2: svuint64_t) -> svbool_t {
5526 unsafe extern "unadjusted" {
5527 #[cfg_attr(
5528 target_arch = "aarch64",
5529 link_name = "llvm.aarch64.sve.cmphi.wide.nxv16i8"
5530 )]
5531 fn _svcmpgt_wide_u8(pg: svbool_t, op1: svint8_t, op2: svint64_t) -> svbool_t;
5532 }
5533 unsafe { _svcmpgt_wide_u8(pg, op1.as_signed(), op2.as_signed()) }
5534}
5535#[doc = "Compare greater than"]
5536#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpgt_wide[_n_u8])"]
5537#[inline]
5538#[target_feature(enable = "sve")]
5539#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
5540#[cfg_attr(test, assert_instr(cmphi))]
5541pub fn svcmpgt_wide_n_u8(pg: svbool_t, op1: svuint8_t, op2: u64) -> svbool_t {
5542 svcmpgt_wide_u8(pg, op1, svdup_n_u64(op2))
5543}
5544#[doc = "Compare greater than"]
5545#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpgt_wide[_u16])"]
5546#[inline]
5547#[target_feature(enable = "sve")]
5548#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
5549#[cfg_attr(test, assert_instr(cmphi))]
5550pub fn svcmpgt_wide_u16(pg: svbool_t, op1: svuint16_t, op2: svuint64_t) -> svbool_t {
5551 unsafe extern "unadjusted" {
5552 #[cfg_attr(
5553 target_arch = "aarch64",
5554 link_name = "llvm.aarch64.sve.cmphi.wide.nxv8i16"
5555 )]
5556 fn _svcmpgt_wide_u16(pg: svbool8_t, op1: svint16_t, op2: svint64_t) -> svbool8_t;
5557 }
5558 unsafe { _svcmpgt_wide_u16(pg.sve_into(), op1.as_signed(), op2.as_signed()).sve_into() }
5559}
5560#[doc = "Compare greater than"]
5561#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpgt_wide[_n_u16])"]
5562#[inline]
5563#[target_feature(enable = "sve")]
5564#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
5565#[cfg_attr(test, assert_instr(cmphi))]
5566pub fn svcmpgt_wide_n_u16(pg: svbool_t, op1: svuint16_t, op2: u64) -> svbool_t {
5567 svcmpgt_wide_u16(pg, op1, svdup_n_u64(op2))
5568}
5569#[doc = "Compare greater than"]
5570#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpgt_wide[_u32])"]
5571#[inline]
5572#[target_feature(enable = "sve")]
5573#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
5574#[cfg_attr(test, assert_instr(cmphi))]
5575pub fn svcmpgt_wide_u32(pg: svbool_t, op1: svuint32_t, op2: svuint64_t) -> svbool_t {
5576 unsafe extern "unadjusted" {
5577 #[cfg_attr(
5578 target_arch = "aarch64",
5579 link_name = "llvm.aarch64.sve.cmphi.wide.nxv4i32"
5580 )]
5581 fn _svcmpgt_wide_u32(pg: svbool4_t, op1: svint32_t, op2: svint64_t) -> svbool4_t;
5582 }
5583 unsafe { _svcmpgt_wide_u32(pg.sve_into(), op1.as_signed(), op2.as_signed()).sve_into() }
5584}
5585#[doc = "Compare greater than"]
5586#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpgt_wide[_n_u32])"]
5587#[inline]
5588#[target_feature(enable = "sve")]
5589#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
5590#[cfg_attr(test, assert_instr(cmphi))]
5591pub fn svcmpgt_wide_n_u32(pg: svbool_t, op1: svuint32_t, op2: u64) -> svbool_t {
5592 svcmpgt_wide_u32(pg, op1, svdup_n_u64(op2))
5593}
5594#[doc = "Compare less than or equal to"]
5595#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmple[_f32])"]
5596#[inline]
5597#[target_feature(enable = "sve")]
5598#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
5599#[cfg_attr(test, assert_instr(fcmge))]
5600pub fn svcmple_f32(pg: svbool_t, op1: svfloat32_t, op2: svfloat32_t) -> svbool_t {
5601 svcmpge_f32(pg, op2, op1)
5602}
5603#[doc = "Compare less than or equal to"]
5604#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmple[_n_f32])"]
5605#[inline]
5606#[target_feature(enable = "sve")]
5607#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
5608#[cfg_attr(test, assert_instr(fcmge))]
5609pub fn svcmple_n_f32(pg: svbool_t, op1: svfloat32_t, op2: f32) -> svbool_t {
5610 svcmple_f32(pg, op1, svdup_n_f32(op2))
5611}
5612#[doc = "Compare less than or equal to"]
5613#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmple[_f64])"]
5614#[inline]
5615#[target_feature(enable = "sve")]
5616#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
5617#[cfg_attr(test, assert_instr(fcmge))]
5618pub fn svcmple_f64(pg: svbool_t, op1: svfloat64_t, op2: svfloat64_t) -> svbool_t {
5619 svcmpge_f64(pg, op2, op1)
5620}
5621#[doc = "Compare less than or equal to"]
5622#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmple[_n_f64])"]
5623#[inline]
5624#[target_feature(enable = "sve")]
5625#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
5626#[cfg_attr(test, assert_instr(fcmge))]
5627pub fn svcmple_n_f64(pg: svbool_t, op1: svfloat64_t, op2: f64) -> svbool_t {
5628 svcmple_f64(pg, op1, svdup_n_f64(op2))
5629}
5630#[doc = "Compare less than or equal to"]
5631#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmple[_s8])"]
5632#[inline]
5633#[target_feature(enable = "sve")]
5634#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
5635#[cfg_attr(test, assert_instr(cmpge))]
5636pub fn svcmple_s8(pg: svbool_t, op1: svint8_t, op2: svint8_t) -> svbool_t {
5637 svcmpge_s8(pg, op2, op1)
5638}
5639#[doc = "Compare less than or equal to"]
5640#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmple[_n_s8])"]
5641#[inline]
5642#[target_feature(enable = "sve")]
5643#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
5644#[cfg_attr(test, assert_instr(cmpge))]
5645pub fn svcmple_n_s8(pg: svbool_t, op1: svint8_t, op2: i8) -> svbool_t {
5646 svcmple_s8(pg, op1, svdup_n_s8(op2))
5647}
5648#[doc = "Compare less than or equal to"]
5649#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmple[_s16])"]
5650#[inline]
5651#[target_feature(enable = "sve")]
5652#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
5653#[cfg_attr(test, assert_instr(cmpge))]
5654pub fn svcmple_s16(pg: svbool_t, op1: svint16_t, op2: svint16_t) -> svbool_t {
5655 svcmpge_s16(pg, op2, op1)
5656}
5657#[doc = "Compare less than or equal to"]
5658#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmple[_n_s16])"]
5659#[inline]
5660#[target_feature(enable = "sve")]
5661#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
5662#[cfg_attr(test, assert_instr(cmpge))]
5663pub fn svcmple_n_s16(pg: svbool_t, op1: svint16_t, op2: i16) -> svbool_t {
5664 svcmple_s16(pg, op1, svdup_n_s16(op2))
5665}
5666#[doc = "Compare less than or equal to"]
5667#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmple[_s32])"]
5668#[inline]
5669#[target_feature(enable = "sve")]
5670#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
5671#[cfg_attr(test, assert_instr(cmpge))]
5672pub fn svcmple_s32(pg: svbool_t, op1: svint32_t, op2: svint32_t) -> svbool_t {
5673 svcmpge_s32(pg, op2, op1)
5674}
5675#[doc = "Compare less than or equal to"]
5676#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmple[_n_s32])"]
5677#[inline]
5678#[target_feature(enable = "sve")]
5679#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
5680#[cfg_attr(test, assert_instr(cmpge))]
5681pub fn svcmple_n_s32(pg: svbool_t, op1: svint32_t, op2: i32) -> svbool_t {
5682 svcmple_s32(pg, op1, svdup_n_s32(op2))
5683}
5684#[doc = "Compare less than or equal to"]
5685#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmple[_s64])"]
5686#[inline]
5687#[target_feature(enable = "sve")]
5688#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
5689#[cfg_attr(test, assert_instr(cmpge))]
5690pub fn svcmple_s64(pg: svbool_t, op1: svint64_t, op2: svint64_t) -> svbool_t {
5691 svcmpge_s64(pg, op2, op1)
5692}
5693#[doc = "Compare less than or equal to"]
5694#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmple[_n_s64])"]
5695#[inline]
5696#[target_feature(enable = "sve")]
5697#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
5698#[cfg_attr(test, assert_instr(cmpge))]
5699pub fn svcmple_n_s64(pg: svbool_t, op1: svint64_t, op2: i64) -> svbool_t {
5700 svcmple_s64(pg, op1, svdup_n_s64(op2))
5701}
5702#[doc = "Compare less than or equal to"]
5703#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmple[_u8])"]
5704#[inline]
5705#[target_feature(enable = "sve")]
5706#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
5707#[cfg_attr(test, assert_instr(cmphs))]
5708pub fn svcmple_u8(pg: svbool_t, op1: svuint8_t, op2: svuint8_t) -> svbool_t {
5709 svcmpge_u8(pg, op2, op1)
5710}
5711#[doc = "Compare less than or equal to"]
5712#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmple[_n_u8])"]
5713#[inline]
5714#[target_feature(enable = "sve")]
5715#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
5716#[cfg_attr(test, assert_instr(cmphs))]
5717pub fn svcmple_n_u8(pg: svbool_t, op1: svuint8_t, op2: u8) -> svbool_t {
5718 svcmple_u8(pg, op1, svdup_n_u8(op2))
5719}
5720#[doc = "Compare less than or equal to"]
5721#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmple[_u16])"]
5722#[inline]
5723#[target_feature(enable = "sve")]
5724#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
5725#[cfg_attr(test, assert_instr(cmphs))]
5726pub fn svcmple_u16(pg: svbool_t, op1: svuint16_t, op2: svuint16_t) -> svbool_t {
5727 svcmpge_u16(pg, op2, op1)
5728}
5729#[doc = "Compare less than or equal to"]
5730#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmple[_n_u16])"]
5731#[inline]
5732#[target_feature(enable = "sve")]
5733#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
5734#[cfg_attr(test, assert_instr(cmphs))]
5735pub fn svcmple_n_u16(pg: svbool_t, op1: svuint16_t, op2: u16) -> svbool_t {
5736 svcmple_u16(pg, op1, svdup_n_u16(op2))
5737}
5738#[doc = "Compare less than or equal to"]
5739#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmple[_u32])"]
5740#[inline]
5741#[target_feature(enable = "sve")]
5742#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
5743#[cfg_attr(test, assert_instr(cmphs))]
5744pub fn svcmple_u32(pg: svbool_t, op1: svuint32_t, op2: svuint32_t) -> svbool_t {
5745 svcmpge_u32(pg, op2, op1)
5746}
5747#[doc = "Compare less than or equal to"]
5748#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmple[_n_u32])"]
5749#[inline]
5750#[target_feature(enable = "sve")]
5751#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
5752#[cfg_attr(test, assert_instr(cmphs))]
5753pub fn svcmple_n_u32(pg: svbool_t, op1: svuint32_t, op2: u32) -> svbool_t {
5754 svcmple_u32(pg, op1, svdup_n_u32(op2))
5755}
5756#[doc = "Compare less than or equal to"]
5757#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmple[_u64])"]
5758#[inline]
5759#[target_feature(enable = "sve")]
5760#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
5761#[cfg_attr(test, assert_instr(cmphs))]
5762pub fn svcmple_u64(pg: svbool_t, op1: svuint64_t, op2: svuint64_t) -> svbool_t {
5763 svcmpge_u64(pg, op2, op1)
5764}
5765#[doc = "Compare less than or equal to"]
5766#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmple[_n_u64])"]
5767#[inline]
5768#[target_feature(enable = "sve")]
5769#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
5770#[cfg_attr(test, assert_instr(cmphs))]
5771pub fn svcmple_n_u64(pg: svbool_t, op1: svuint64_t, op2: u64) -> svbool_t {
5772 svcmple_u64(pg, op1, svdup_n_u64(op2))
5773}
5774#[doc = "Compare less than or equal to"]
5775#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmple_wide[_s8])"]
5776#[inline]
5777#[target_feature(enable = "sve")]
5778#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
5779#[cfg_attr(test, assert_instr(cmple))]
5780pub fn svcmple_wide_s8(pg: svbool_t, op1: svint8_t, op2: svint64_t) -> svbool_t {
5781 unsafe extern "unadjusted" {
5782 #[cfg_attr(
5783 target_arch = "aarch64",
5784 link_name = "llvm.aarch64.sve.cmple.wide.nxv16i8"
5785 )]
5786 fn _svcmple_wide_s8(pg: svbool_t, op1: svint8_t, op2: svint64_t) -> svbool_t;
5787 }
5788 unsafe { _svcmple_wide_s8(pg, op1, op2) }
5789}
5790#[doc = "Compare less than or equal to"]
5791#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmple_wide[_n_s8])"]
5792#[inline]
5793#[target_feature(enable = "sve")]
5794#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
5795#[cfg_attr(test, assert_instr(cmple))]
5796pub fn svcmple_wide_n_s8(pg: svbool_t, op1: svint8_t, op2: i64) -> svbool_t {
5797 svcmple_wide_s8(pg, op1, svdup_n_s64(op2))
5798}
5799#[doc = "Compare less than or equal to"]
5800#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmple_wide[_s16])"]
5801#[inline]
5802#[target_feature(enable = "sve")]
5803#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
5804#[cfg_attr(test, assert_instr(cmple))]
5805pub fn svcmple_wide_s16(pg: svbool_t, op1: svint16_t, op2: svint64_t) -> svbool_t {
5806 unsafe extern "unadjusted" {
5807 #[cfg_attr(
5808 target_arch = "aarch64",
5809 link_name = "llvm.aarch64.sve.cmple.wide.nxv8i16"
5810 )]
5811 fn _svcmple_wide_s16(pg: svbool8_t, op1: svint16_t, op2: svint64_t) -> svbool8_t;
5812 }
5813 unsafe { _svcmple_wide_s16(pg.sve_into(), op1, op2).sve_into() }
5814}
5815#[doc = "Compare less than or equal to"]
5816#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmple_wide[_n_s16])"]
5817#[inline]
5818#[target_feature(enable = "sve")]
5819#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
5820#[cfg_attr(test, assert_instr(cmple))]
5821pub fn svcmple_wide_n_s16(pg: svbool_t, op1: svint16_t, op2: i64) -> svbool_t {
5822 svcmple_wide_s16(pg, op1, svdup_n_s64(op2))
5823}
5824#[doc = "Compare less than or equal to"]
5825#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmple_wide[_s32])"]
5826#[inline]
5827#[target_feature(enable = "sve")]
5828#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
5829#[cfg_attr(test, assert_instr(cmple))]
5830pub fn svcmple_wide_s32(pg: svbool_t, op1: svint32_t, op2: svint64_t) -> svbool_t {
5831 unsafe extern "unadjusted" {
5832 #[cfg_attr(
5833 target_arch = "aarch64",
5834 link_name = "llvm.aarch64.sve.cmple.wide.nxv4i32"
5835 )]
5836 fn _svcmple_wide_s32(pg: svbool4_t, op1: svint32_t, op2: svint64_t) -> svbool4_t;
5837 }
5838 unsafe { _svcmple_wide_s32(pg.sve_into(), op1, op2).sve_into() }
5839}
5840#[doc = "Compare less than or equal to"]
5841#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmple_wide[_n_s32])"]
5842#[inline]
5843#[target_feature(enable = "sve")]
5844#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
5845#[cfg_attr(test, assert_instr(cmple))]
5846pub fn svcmple_wide_n_s32(pg: svbool_t, op1: svint32_t, op2: i64) -> svbool_t {
5847 svcmple_wide_s32(pg, op1, svdup_n_s64(op2))
5848}
5849#[doc = "Compare less than or equal to"]
5850#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmple_wide[_u8])"]
5851#[inline]
5852#[target_feature(enable = "sve")]
5853#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
5854#[cfg_attr(test, assert_instr(cmpls))]
5855pub fn svcmple_wide_u8(pg: svbool_t, op1: svuint8_t, op2: svuint64_t) -> svbool_t {
5856 unsafe extern "unadjusted" {
5857 #[cfg_attr(
5858 target_arch = "aarch64",
5859 link_name = "llvm.aarch64.sve.cmpls.wide.nxv16i8"
5860 )]
5861 fn _svcmple_wide_u8(pg: svbool_t, op1: svint8_t, op2: svint64_t) -> svbool_t;
5862 }
5863 unsafe { _svcmple_wide_u8(pg, op1.as_signed(), op2.as_signed()) }
5864}
5865#[doc = "Compare less than or equal to"]
5866#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmple_wide[_n_u8])"]
5867#[inline]
5868#[target_feature(enable = "sve")]
5869#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
5870#[cfg_attr(test, assert_instr(cmpls))]
5871pub fn svcmple_wide_n_u8(pg: svbool_t, op1: svuint8_t, op2: u64) -> svbool_t {
5872 svcmple_wide_u8(pg, op1, svdup_n_u64(op2))
5873}
5874#[doc = "Compare less than or equal to"]
5875#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmple_wide[_u16])"]
5876#[inline]
5877#[target_feature(enable = "sve")]
5878#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
5879#[cfg_attr(test, assert_instr(cmpls))]
5880pub fn svcmple_wide_u16(pg: svbool_t, op1: svuint16_t, op2: svuint64_t) -> svbool_t {
5881 unsafe extern "unadjusted" {
5882 #[cfg_attr(
5883 target_arch = "aarch64",
5884 link_name = "llvm.aarch64.sve.cmpls.wide.nxv8i16"
5885 )]
5886 fn _svcmple_wide_u16(pg: svbool8_t, op1: svint16_t, op2: svint64_t) -> svbool8_t;
5887 }
5888 unsafe { _svcmple_wide_u16(pg.sve_into(), op1.as_signed(), op2.as_signed()).sve_into() }
5889}
5890#[doc = "Compare less than or equal to"]
5891#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmple_wide[_n_u16])"]
5892#[inline]
5893#[target_feature(enable = "sve")]
5894#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
5895#[cfg_attr(test, assert_instr(cmpls))]
5896pub fn svcmple_wide_n_u16(pg: svbool_t, op1: svuint16_t, op2: u64) -> svbool_t {
5897 svcmple_wide_u16(pg, op1, svdup_n_u64(op2))
5898}
5899#[doc = "Compare less than or equal to"]
5900#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmple_wide[_u32])"]
5901#[inline]
5902#[target_feature(enable = "sve")]
5903#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
5904#[cfg_attr(test, assert_instr(cmpls))]
5905pub fn svcmple_wide_u32(pg: svbool_t, op1: svuint32_t, op2: svuint64_t) -> svbool_t {
5906 unsafe extern "unadjusted" {
5907 #[cfg_attr(
5908 target_arch = "aarch64",
5909 link_name = "llvm.aarch64.sve.cmpls.wide.nxv4i32"
5910 )]
5911 fn _svcmple_wide_u32(pg: svbool4_t, op1: svint32_t, op2: svint64_t) -> svbool4_t;
5912 }
5913 unsafe { _svcmple_wide_u32(pg.sve_into(), op1.as_signed(), op2.as_signed()).sve_into() }
5914}
5915#[doc = "Compare less than or equal to"]
5916#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmple_wide[_n_u32])"]
5917#[inline]
5918#[target_feature(enable = "sve")]
5919#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
5920#[cfg_attr(test, assert_instr(cmpls))]
5921pub fn svcmple_wide_n_u32(pg: svbool_t, op1: svuint32_t, op2: u64) -> svbool_t {
5922 svcmple_wide_u32(pg, op1, svdup_n_u64(op2))
5923}
5924#[doc = "Compare less than"]
5925#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmplt[_f32])"]
5926#[inline]
5927#[target_feature(enable = "sve")]
5928#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
5929#[cfg_attr(test, assert_instr(fcmgt))]
5930pub fn svcmplt_f32(pg: svbool_t, op1: svfloat32_t, op2: svfloat32_t) -> svbool_t {
5931 svcmpgt_f32(pg, op2, op1)
5932}
5933#[doc = "Compare less than"]
5934#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmplt[_n_f32])"]
5935#[inline]
5936#[target_feature(enable = "sve")]
5937#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
5938#[cfg_attr(test, assert_instr(fcmgt))]
5939pub fn svcmplt_n_f32(pg: svbool_t, op1: svfloat32_t, op2: f32) -> svbool_t {
5940 svcmplt_f32(pg, op1, svdup_n_f32(op2))
5941}
5942#[doc = "Compare less than"]
5943#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmplt[_f64])"]
5944#[inline]
5945#[target_feature(enable = "sve")]
5946#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
5947#[cfg_attr(test, assert_instr(fcmgt))]
5948pub fn svcmplt_f64(pg: svbool_t, op1: svfloat64_t, op2: svfloat64_t) -> svbool_t {
5949 svcmpgt_f64(pg, op2, op1)
5950}
5951#[doc = "Compare less than"]
5952#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmplt[_n_f64])"]
5953#[inline]
5954#[target_feature(enable = "sve")]
5955#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
5956#[cfg_attr(test, assert_instr(fcmgt))]
5957pub fn svcmplt_n_f64(pg: svbool_t, op1: svfloat64_t, op2: f64) -> svbool_t {
5958 svcmplt_f64(pg, op1, svdup_n_f64(op2))
5959}
5960#[doc = "Compare less than"]
5961#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmplt[_s8])"]
5962#[inline]
5963#[target_feature(enable = "sve")]
5964#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
5965#[cfg_attr(test, assert_instr(cmpgt))]
5966pub fn svcmplt_s8(pg: svbool_t, op1: svint8_t, op2: svint8_t) -> svbool_t {
5967 svcmpgt_s8(pg, op2, op1)
5968}
5969#[doc = "Compare less than"]
5970#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmplt[_n_s8])"]
5971#[inline]
5972#[target_feature(enable = "sve")]
5973#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
5974#[cfg_attr(test, assert_instr(cmpgt))]
5975pub fn svcmplt_n_s8(pg: svbool_t, op1: svint8_t, op2: i8) -> svbool_t {
5976 svcmplt_s8(pg, op1, svdup_n_s8(op2))
5977}
5978#[doc = "Compare less than"]
5979#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmplt[_s16])"]
5980#[inline]
5981#[target_feature(enable = "sve")]
5982#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
5983#[cfg_attr(test, assert_instr(cmpgt))]
5984pub fn svcmplt_s16(pg: svbool_t, op1: svint16_t, op2: svint16_t) -> svbool_t {
5985 svcmpgt_s16(pg, op2, op1)
5986}
5987#[doc = "Compare less than"]
5988#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmplt[_n_s16])"]
5989#[inline]
5990#[target_feature(enable = "sve")]
5991#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
5992#[cfg_attr(test, assert_instr(cmpgt))]
5993pub fn svcmplt_n_s16(pg: svbool_t, op1: svint16_t, op2: i16) -> svbool_t {
5994 svcmplt_s16(pg, op1, svdup_n_s16(op2))
5995}
5996#[doc = "Compare less than"]
5997#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmplt[_s32])"]
5998#[inline]
5999#[target_feature(enable = "sve")]
6000#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6001#[cfg_attr(test, assert_instr(cmpgt))]
6002pub fn svcmplt_s32(pg: svbool_t, op1: svint32_t, op2: svint32_t) -> svbool_t {
6003 svcmpgt_s32(pg, op2, op1)
6004}
6005#[doc = "Compare less than"]
6006#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmplt[_n_s32])"]
6007#[inline]
6008#[target_feature(enable = "sve")]
6009#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6010#[cfg_attr(test, assert_instr(cmpgt))]
6011pub fn svcmplt_n_s32(pg: svbool_t, op1: svint32_t, op2: i32) -> svbool_t {
6012 svcmplt_s32(pg, op1, svdup_n_s32(op2))
6013}
6014#[doc = "Compare less than"]
6015#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmplt[_s64])"]
6016#[inline]
6017#[target_feature(enable = "sve")]
6018#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6019#[cfg_attr(test, assert_instr(cmpgt))]
6020pub fn svcmplt_s64(pg: svbool_t, op1: svint64_t, op2: svint64_t) -> svbool_t {
6021 svcmpgt_s64(pg, op2, op1)
6022}
6023#[doc = "Compare less than"]
6024#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmplt[_n_s64])"]
6025#[inline]
6026#[target_feature(enable = "sve")]
6027#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6028#[cfg_attr(test, assert_instr(cmpgt))]
6029pub fn svcmplt_n_s64(pg: svbool_t, op1: svint64_t, op2: i64) -> svbool_t {
6030 svcmplt_s64(pg, op1, svdup_n_s64(op2))
6031}
6032#[doc = "Compare less than"]
6033#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmplt[_u8])"]
6034#[inline]
6035#[target_feature(enable = "sve")]
6036#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6037#[cfg_attr(test, assert_instr(cmphi))]
6038pub fn svcmplt_u8(pg: svbool_t, op1: svuint8_t, op2: svuint8_t) -> svbool_t {
6039 svcmpgt_u8(pg, op2, op1)
6040}
6041#[doc = "Compare less than"]
6042#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmplt[_n_u8])"]
6043#[inline]
6044#[target_feature(enable = "sve")]
6045#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6046#[cfg_attr(test, assert_instr(cmphi))]
6047pub fn svcmplt_n_u8(pg: svbool_t, op1: svuint8_t, op2: u8) -> svbool_t {
6048 svcmplt_u8(pg, op1, svdup_n_u8(op2))
6049}
6050#[doc = "Compare less than"]
6051#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmplt[_u16])"]
6052#[inline]
6053#[target_feature(enable = "sve")]
6054#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6055#[cfg_attr(test, assert_instr(cmphi))]
6056pub fn svcmplt_u16(pg: svbool_t, op1: svuint16_t, op2: svuint16_t) -> svbool_t {
6057 svcmpgt_u16(pg, op2, op1)
6058}
6059#[doc = "Compare less than"]
6060#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmplt[_n_u16])"]
6061#[inline]
6062#[target_feature(enable = "sve")]
6063#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6064#[cfg_attr(test, assert_instr(cmphi))]
6065pub fn svcmplt_n_u16(pg: svbool_t, op1: svuint16_t, op2: u16) -> svbool_t {
6066 svcmplt_u16(pg, op1, svdup_n_u16(op2))
6067}
6068#[doc = "Compare less than"]
6069#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmplt[_u32])"]
6070#[inline]
6071#[target_feature(enable = "sve")]
6072#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6073#[cfg_attr(test, assert_instr(cmphi))]
6074pub fn svcmplt_u32(pg: svbool_t, op1: svuint32_t, op2: svuint32_t) -> svbool_t {
6075 svcmpgt_u32(pg, op2, op1)
6076}
6077#[doc = "Compare less than"]
6078#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmplt[_n_u32])"]
6079#[inline]
6080#[target_feature(enable = "sve")]
6081#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6082#[cfg_attr(test, assert_instr(cmphi))]
6083pub fn svcmplt_n_u32(pg: svbool_t, op1: svuint32_t, op2: u32) -> svbool_t {
6084 svcmplt_u32(pg, op1, svdup_n_u32(op2))
6085}
6086#[doc = "Compare less than"]
6087#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmplt[_u64])"]
6088#[inline]
6089#[target_feature(enable = "sve")]
6090#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6091#[cfg_attr(test, assert_instr(cmphi))]
6092pub fn svcmplt_u64(pg: svbool_t, op1: svuint64_t, op2: svuint64_t) -> svbool_t {
6093 svcmpgt_u64(pg, op2, op1)
6094}
6095#[doc = "Compare less than"]
6096#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmplt[_n_u64])"]
6097#[inline]
6098#[target_feature(enable = "sve")]
6099#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6100#[cfg_attr(test, assert_instr(cmphi))]
6101pub fn svcmplt_n_u64(pg: svbool_t, op1: svuint64_t, op2: u64) -> svbool_t {
6102 svcmplt_u64(pg, op1, svdup_n_u64(op2))
6103}
6104#[doc = "Compare less than"]
6105#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmplt_wide[_s8])"]
6106#[inline]
6107#[target_feature(enable = "sve")]
6108#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6109#[cfg_attr(test, assert_instr(cmplt))]
6110pub fn svcmplt_wide_s8(pg: svbool_t, op1: svint8_t, op2: svint64_t) -> svbool_t {
6111 unsafe extern "unadjusted" {
6112 #[cfg_attr(
6113 target_arch = "aarch64",
6114 link_name = "llvm.aarch64.sve.cmplt.wide.nxv16i8"
6115 )]
6116 fn _svcmplt_wide_s8(pg: svbool_t, op1: svint8_t, op2: svint64_t) -> svbool_t;
6117 }
6118 unsafe { _svcmplt_wide_s8(pg, op1, op2) }
6119}
6120#[doc = "Compare less than"]
6121#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmplt_wide[_n_s8])"]
6122#[inline]
6123#[target_feature(enable = "sve")]
6124#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6125#[cfg_attr(test, assert_instr(cmplt))]
6126pub fn svcmplt_wide_n_s8(pg: svbool_t, op1: svint8_t, op2: i64) -> svbool_t {
6127 svcmplt_wide_s8(pg, op1, svdup_n_s64(op2))
6128}
6129#[doc = "Compare less than"]
6130#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmplt_wide[_s16])"]
6131#[inline]
6132#[target_feature(enable = "sve")]
6133#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6134#[cfg_attr(test, assert_instr(cmplt))]
6135pub fn svcmplt_wide_s16(pg: svbool_t, op1: svint16_t, op2: svint64_t) -> svbool_t {
6136 unsafe extern "unadjusted" {
6137 #[cfg_attr(
6138 target_arch = "aarch64",
6139 link_name = "llvm.aarch64.sve.cmplt.wide.nxv8i16"
6140 )]
6141 fn _svcmplt_wide_s16(pg: svbool8_t, op1: svint16_t, op2: svint64_t) -> svbool8_t;
6142 }
6143 unsafe { _svcmplt_wide_s16(pg.sve_into(), op1, op2).sve_into() }
6144}
6145#[doc = "Compare less than"]
6146#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmplt_wide[_n_s16])"]
6147#[inline]
6148#[target_feature(enable = "sve")]
6149#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6150#[cfg_attr(test, assert_instr(cmplt))]
6151pub fn svcmplt_wide_n_s16(pg: svbool_t, op1: svint16_t, op2: i64) -> svbool_t {
6152 svcmplt_wide_s16(pg, op1, svdup_n_s64(op2))
6153}
6154#[doc = "Compare less than"]
6155#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmplt_wide[_s32])"]
6156#[inline]
6157#[target_feature(enable = "sve")]
6158#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6159#[cfg_attr(test, assert_instr(cmplt))]
6160pub fn svcmplt_wide_s32(pg: svbool_t, op1: svint32_t, op2: svint64_t) -> svbool_t {
6161 unsafe extern "unadjusted" {
6162 #[cfg_attr(
6163 target_arch = "aarch64",
6164 link_name = "llvm.aarch64.sve.cmplt.wide.nxv4i32"
6165 )]
6166 fn _svcmplt_wide_s32(pg: svbool4_t, op1: svint32_t, op2: svint64_t) -> svbool4_t;
6167 }
6168 unsafe { _svcmplt_wide_s32(pg.sve_into(), op1, op2).sve_into() }
6169}
6170#[doc = "Compare less than"]
6171#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmplt_wide[_n_s32])"]
6172#[inline]
6173#[target_feature(enable = "sve")]
6174#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6175#[cfg_attr(test, assert_instr(cmplt))]
6176pub fn svcmplt_wide_n_s32(pg: svbool_t, op1: svint32_t, op2: i64) -> svbool_t {
6177 svcmplt_wide_s32(pg, op1, svdup_n_s64(op2))
6178}
6179#[doc = "Compare less than"]
6180#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmplt_wide[_u8])"]
6181#[inline]
6182#[target_feature(enable = "sve")]
6183#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6184#[cfg_attr(test, assert_instr(cmplo))]
6185pub fn svcmplt_wide_u8(pg: svbool_t, op1: svuint8_t, op2: svuint64_t) -> svbool_t {
6186 unsafe extern "unadjusted" {
6187 #[cfg_attr(
6188 target_arch = "aarch64",
6189 link_name = "llvm.aarch64.sve.cmplo.wide.nxv16i8"
6190 )]
6191 fn _svcmplt_wide_u8(pg: svbool_t, op1: svint8_t, op2: svint64_t) -> svbool_t;
6192 }
6193 unsafe { _svcmplt_wide_u8(pg, op1.as_signed(), op2.as_signed()) }
6194}
6195#[doc = "Compare less than"]
6196#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmplt_wide[_n_u8])"]
6197#[inline]
6198#[target_feature(enable = "sve")]
6199#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6200#[cfg_attr(test, assert_instr(cmplo))]
6201pub fn svcmplt_wide_n_u8(pg: svbool_t, op1: svuint8_t, op2: u64) -> svbool_t {
6202 svcmplt_wide_u8(pg, op1, svdup_n_u64(op2))
6203}
6204#[doc = "Compare less than"]
6205#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmplt_wide[_u16])"]
6206#[inline]
6207#[target_feature(enable = "sve")]
6208#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6209#[cfg_attr(test, assert_instr(cmplo))]
6210pub fn svcmplt_wide_u16(pg: svbool_t, op1: svuint16_t, op2: svuint64_t) -> svbool_t {
6211 unsafe extern "unadjusted" {
6212 #[cfg_attr(
6213 target_arch = "aarch64",
6214 link_name = "llvm.aarch64.sve.cmplo.wide.nxv8i16"
6215 )]
6216 fn _svcmplt_wide_u16(pg: svbool8_t, op1: svint16_t, op2: svint64_t) -> svbool8_t;
6217 }
6218 unsafe { _svcmplt_wide_u16(pg.sve_into(), op1.as_signed(), op2.as_signed()).sve_into() }
6219}
6220#[doc = "Compare less than"]
6221#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmplt_wide[_n_u16])"]
6222#[inline]
6223#[target_feature(enable = "sve")]
6224#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6225#[cfg_attr(test, assert_instr(cmplo))]
6226pub fn svcmplt_wide_n_u16(pg: svbool_t, op1: svuint16_t, op2: u64) -> svbool_t {
6227 svcmplt_wide_u16(pg, op1, svdup_n_u64(op2))
6228}
6229#[doc = "Compare less than"]
6230#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmplt_wide[_u32])"]
6231#[inline]
6232#[target_feature(enable = "sve")]
6233#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6234#[cfg_attr(test, assert_instr(cmplo))]
6235pub fn svcmplt_wide_u32(pg: svbool_t, op1: svuint32_t, op2: svuint64_t) -> svbool_t {
6236 unsafe extern "unadjusted" {
6237 #[cfg_attr(
6238 target_arch = "aarch64",
6239 link_name = "llvm.aarch64.sve.cmplo.wide.nxv4i32"
6240 )]
6241 fn _svcmplt_wide_u32(pg: svbool4_t, op1: svint32_t, op2: svint64_t) -> svbool4_t;
6242 }
6243 unsafe { _svcmplt_wide_u32(pg.sve_into(), op1.as_signed(), op2.as_signed()).sve_into() }
6244}
6245#[doc = "Compare less than"]
6246#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmplt_wide[_n_u32])"]
6247#[inline]
6248#[target_feature(enable = "sve")]
6249#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6250#[cfg_attr(test, assert_instr(cmplo))]
6251pub fn svcmplt_wide_n_u32(pg: svbool_t, op1: svuint32_t, op2: u64) -> svbool_t {
6252 svcmplt_wide_u32(pg, op1, svdup_n_u64(op2))
6253}
6254#[doc = "Compare not equal to"]
6255#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpne[_f32])"]
6256#[inline]
6257#[target_feature(enable = "sve")]
6258#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6259#[cfg_attr(test, assert_instr(fcmne))]
6260pub fn svcmpne_f32(pg: svbool_t, op1: svfloat32_t, op2: svfloat32_t) -> svbool_t {
6261 unsafe extern "unadjusted" {
6262 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.fcmpne.nxv4f32")]
6263 fn _svcmpne_f32(pg: svbool4_t, op1: svfloat32_t, op2: svfloat32_t) -> svbool4_t;
6264 }
6265 unsafe { _svcmpne_f32(pg.sve_into(), op1, op2).sve_into() }
6266}
6267#[doc = "Compare not equal to"]
6268#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpne[_n_f32])"]
6269#[inline]
6270#[target_feature(enable = "sve")]
6271#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6272#[cfg_attr(test, assert_instr(fcmne))]
6273pub fn svcmpne_n_f32(pg: svbool_t, op1: svfloat32_t, op2: f32) -> svbool_t {
6274 svcmpne_f32(pg, op1, svdup_n_f32(op2))
6275}
6276#[doc = "Compare not equal to"]
6277#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpne[_f64])"]
6278#[inline]
6279#[target_feature(enable = "sve")]
6280#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6281#[cfg_attr(test, assert_instr(fcmne))]
6282pub fn svcmpne_f64(pg: svbool_t, op1: svfloat64_t, op2: svfloat64_t) -> svbool_t {
6283 unsafe extern "unadjusted" {
6284 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.fcmpne.nxv2f64")]
6285 fn _svcmpne_f64(pg: svbool2_t, op1: svfloat64_t, op2: svfloat64_t) -> svbool2_t;
6286 }
6287 unsafe { _svcmpne_f64(pg.sve_into(), op1, op2).sve_into() }
6288}
6289#[doc = "Compare not equal to"]
6290#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpne[_n_f64])"]
6291#[inline]
6292#[target_feature(enable = "sve")]
6293#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6294#[cfg_attr(test, assert_instr(fcmne))]
6295pub fn svcmpne_n_f64(pg: svbool_t, op1: svfloat64_t, op2: f64) -> svbool_t {
6296 svcmpne_f64(pg, op1, svdup_n_f64(op2))
6297}
6298#[doc = "Compare not equal to"]
6299#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpne[_s8])"]
6300#[inline]
6301#[target_feature(enable = "sve")]
6302#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6303#[cfg_attr(test, assert_instr(cmpne))]
6304pub fn svcmpne_s8(pg: svbool_t, op1: svint8_t, op2: svint8_t) -> svbool_t {
6305 unsafe extern "unadjusted" {
6306 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.cmpne.nxv16i8")]
6307 fn _svcmpne_s8(pg: svbool_t, op1: svint8_t, op2: svint8_t) -> svbool_t;
6308 }
6309 unsafe { _svcmpne_s8(pg, op1, op2) }
6310}
6311#[doc = "Compare not equal to"]
6312#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpne[_n_s8])"]
6313#[inline]
6314#[target_feature(enable = "sve")]
6315#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6316#[cfg_attr(test, assert_instr(cmpne))]
6317pub fn svcmpne_n_s8(pg: svbool_t, op1: svint8_t, op2: i8) -> svbool_t {
6318 svcmpne_s8(pg, op1, svdup_n_s8(op2))
6319}
6320#[doc = "Compare not equal to"]
6321#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpne[_s16])"]
6322#[inline]
6323#[target_feature(enable = "sve")]
6324#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6325#[cfg_attr(test, assert_instr(cmpne))]
6326pub fn svcmpne_s16(pg: svbool_t, op1: svint16_t, op2: svint16_t) -> svbool_t {
6327 unsafe extern "unadjusted" {
6328 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.cmpne.nxv8i16")]
6329 fn _svcmpne_s16(pg: svbool8_t, op1: svint16_t, op2: svint16_t) -> svbool8_t;
6330 }
6331 unsafe { _svcmpne_s16(pg.sve_into(), op1, op2).sve_into() }
6332}
6333#[doc = "Compare not equal to"]
6334#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpne[_n_s16])"]
6335#[inline]
6336#[target_feature(enable = "sve")]
6337#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6338#[cfg_attr(test, assert_instr(cmpne))]
6339pub fn svcmpne_n_s16(pg: svbool_t, op1: svint16_t, op2: i16) -> svbool_t {
6340 svcmpne_s16(pg, op1, svdup_n_s16(op2))
6341}
6342#[doc = "Compare not equal to"]
6343#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpne[_s32])"]
6344#[inline]
6345#[target_feature(enable = "sve")]
6346#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6347#[cfg_attr(test, assert_instr(cmpne))]
6348pub fn svcmpne_s32(pg: svbool_t, op1: svint32_t, op2: svint32_t) -> svbool_t {
6349 unsafe extern "unadjusted" {
6350 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.cmpne.nxv4i32")]
6351 fn _svcmpne_s32(pg: svbool4_t, op1: svint32_t, op2: svint32_t) -> svbool4_t;
6352 }
6353 unsafe { _svcmpne_s32(pg.sve_into(), op1, op2).sve_into() }
6354}
6355#[doc = "Compare not equal to"]
6356#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpne[_n_s32])"]
6357#[inline]
6358#[target_feature(enable = "sve")]
6359#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6360#[cfg_attr(test, assert_instr(cmpne))]
6361pub fn svcmpne_n_s32(pg: svbool_t, op1: svint32_t, op2: i32) -> svbool_t {
6362 svcmpne_s32(pg, op1, svdup_n_s32(op2))
6363}
6364#[doc = "Compare not equal to"]
6365#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpne[_s64])"]
6366#[inline]
6367#[target_feature(enable = "sve")]
6368#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6369#[cfg_attr(test, assert_instr(cmpne))]
6370pub fn svcmpne_s64(pg: svbool_t, op1: svint64_t, op2: svint64_t) -> svbool_t {
6371 unsafe extern "unadjusted" {
6372 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.cmpne.nxv2i64")]
6373 fn _svcmpne_s64(pg: svbool2_t, op1: svint64_t, op2: svint64_t) -> svbool2_t;
6374 }
6375 unsafe { _svcmpne_s64(pg.sve_into(), op1, op2).sve_into() }
6376}
6377#[doc = "Compare not equal to"]
6378#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpne[_n_s64])"]
6379#[inline]
6380#[target_feature(enable = "sve")]
6381#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6382#[cfg_attr(test, assert_instr(cmpne))]
6383pub fn svcmpne_n_s64(pg: svbool_t, op1: svint64_t, op2: i64) -> svbool_t {
6384 svcmpne_s64(pg, op1, svdup_n_s64(op2))
6385}
6386#[doc = "Compare not equal to"]
6387#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpne[_u8])"]
6388#[inline]
6389#[target_feature(enable = "sve")]
6390#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6391#[cfg_attr(test, assert_instr(cmpne))]
6392pub fn svcmpne_u8(pg: svbool_t, op1: svuint8_t, op2: svuint8_t) -> svbool_t {
6393 unsafe { svcmpne_s8(pg, op1.as_signed(), op2.as_signed()) }
6394}
6395#[doc = "Compare not equal to"]
6396#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpne[_n_u8])"]
6397#[inline]
6398#[target_feature(enable = "sve")]
6399#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6400#[cfg_attr(test, assert_instr(cmpne))]
6401pub fn svcmpne_n_u8(pg: svbool_t, op1: svuint8_t, op2: u8) -> svbool_t {
6402 svcmpne_u8(pg, op1, svdup_n_u8(op2))
6403}
6404#[doc = "Compare not equal to"]
6405#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpne[_u16])"]
6406#[inline]
6407#[target_feature(enable = "sve")]
6408#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6409#[cfg_attr(test, assert_instr(cmpne))]
6410pub fn svcmpne_u16(pg: svbool_t, op1: svuint16_t, op2: svuint16_t) -> svbool_t {
6411 unsafe { svcmpne_s16(pg, op1.as_signed(), op2.as_signed()) }
6412}
6413#[doc = "Compare not equal to"]
6414#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpne[_n_u16])"]
6415#[inline]
6416#[target_feature(enable = "sve")]
6417#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6418#[cfg_attr(test, assert_instr(cmpne))]
6419pub fn svcmpne_n_u16(pg: svbool_t, op1: svuint16_t, op2: u16) -> svbool_t {
6420 svcmpne_u16(pg, op1, svdup_n_u16(op2))
6421}
6422#[doc = "Compare not equal to"]
6423#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpne[_u32])"]
6424#[inline]
6425#[target_feature(enable = "sve")]
6426#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6427#[cfg_attr(test, assert_instr(cmpne))]
6428pub fn svcmpne_u32(pg: svbool_t, op1: svuint32_t, op2: svuint32_t) -> svbool_t {
6429 unsafe { svcmpne_s32(pg, op1.as_signed(), op2.as_signed()) }
6430}
6431#[doc = "Compare not equal to"]
6432#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpne[_n_u32])"]
6433#[inline]
6434#[target_feature(enable = "sve")]
6435#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6436#[cfg_attr(test, assert_instr(cmpne))]
6437pub fn svcmpne_n_u32(pg: svbool_t, op1: svuint32_t, op2: u32) -> svbool_t {
6438 svcmpne_u32(pg, op1, svdup_n_u32(op2))
6439}
6440#[doc = "Compare not equal to"]
6441#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpne[_u64])"]
6442#[inline]
6443#[target_feature(enable = "sve")]
6444#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6445#[cfg_attr(test, assert_instr(cmpne))]
6446pub fn svcmpne_u64(pg: svbool_t, op1: svuint64_t, op2: svuint64_t) -> svbool_t {
6447 unsafe { svcmpne_s64(pg, op1.as_signed(), op2.as_signed()) }
6448}
6449#[doc = "Compare not equal to"]
6450#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpne[_n_u64])"]
6451#[inline]
6452#[target_feature(enable = "sve")]
6453#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6454#[cfg_attr(test, assert_instr(cmpne))]
6455pub fn svcmpne_n_u64(pg: svbool_t, op1: svuint64_t, op2: u64) -> svbool_t {
6456 svcmpne_u64(pg, op1, svdup_n_u64(op2))
6457}
6458#[doc = "Compare not equal to"]
6459#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpne_wide[_s8])"]
6460#[inline]
6461#[target_feature(enable = "sve")]
6462#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6463#[cfg_attr(test, assert_instr(cmpne))]
6464pub fn svcmpne_wide_s8(pg: svbool_t, op1: svint8_t, op2: svint64_t) -> svbool_t {
6465 unsafe extern "unadjusted" {
6466 #[cfg_attr(
6467 target_arch = "aarch64",
6468 link_name = "llvm.aarch64.sve.cmpne.wide.nxv16i8"
6469 )]
6470 fn _svcmpne_wide_s8(pg: svbool_t, op1: svint8_t, op2: svint64_t) -> svbool_t;
6471 }
6472 unsafe { _svcmpne_wide_s8(pg, op1, op2) }
6473}
6474#[doc = "Compare not equal to"]
6475#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpne_wide[_n_s8])"]
6476#[inline]
6477#[target_feature(enable = "sve")]
6478#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6479#[cfg_attr(test, assert_instr(cmpne))]
6480pub fn svcmpne_wide_n_s8(pg: svbool_t, op1: svint8_t, op2: i64) -> svbool_t {
6481 svcmpne_wide_s8(pg, op1, svdup_n_s64(op2))
6482}
6483#[doc = "Compare not equal to"]
6484#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpne_wide[_s16])"]
6485#[inline]
6486#[target_feature(enable = "sve")]
6487#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6488#[cfg_attr(test, assert_instr(cmpne))]
6489pub fn svcmpne_wide_s16(pg: svbool_t, op1: svint16_t, op2: svint64_t) -> svbool_t {
6490 unsafe extern "unadjusted" {
6491 #[cfg_attr(
6492 target_arch = "aarch64",
6493 link_name = "llvm.aarch64.sve.cmpne.wide.nxv8i16"
6494 )]
6495 fn _svcmpne_wide_s16(pg: svbool8_t, op1: svint16_t, op2: svint64_t) -> svbool8_t;
6496 }
6497 unsafe { _svcmpne_wide_s16(pg.sve_into(), op1, op2).sve_into() }
6498}
6499#[doc = "Compare not equal to"]
6500#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpne_wide[_n_s16])"]
6501#[inline]
6502#[target_feature(enable = "sve")]
6503#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6504#[cfg_attr(test, assert_instr(cmpne))]
6505pub fn svcmpne_wide_n_s16(pg: svbool_t, op1: svint16_t, op2: i64) -> svbool_t {
6506 svcmpne_wide_s16(pg, op1, svdup_n_s64(op2))
6507}
6508#[doc = "Compare not equal to"]
6509#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpne_wide[_s32])"]
6510#[inline]
6511#[target_feature(enable = "sve")]
6512#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6513#[cfg_attr(test, assert_instr(cmpne))]
6514pub fn svcmpne_wide_s32(pg: svbool_t, op1: svint32_t, op2: svint64_t) -> svbool_t {
6515 unsafe extern "unadjusted" {
6516 #[cfg_attr(
6517 target_arch = "aarch64",
6518 link_name = "llvm.aarch64.sve.cmpne.wide.nxv4i32"
6519 )]
6520 fn _svcmpne_wide_s32(pg: svbool4_t, op1: svint32_t, op2: svint64_t) -> svbool4_t;
6521 }
6522 unsafe { _svcmpne_wide_s32(pg.sve_into(), op1, op2).sve_into() }
6523}
6524#[doc = "Compare not equal to"]
6525#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpne_wide[_n_s32])"]
6526#[inline]
6527#[target_feature(enable = "sve")]
6528#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6529#[cfg_attr(test, assert_instr(cmpne))]
6530pub fn svcmpne_wide_n_s32(pg: svbool_t, op1: svint32_t, op2: i64) -> svbool_t {
6531 svcmpne_wide_s32(pg, op1, svdup_n_s64(op2))
6532}
6533#[doc = "Compare unordered with"]
6534#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpuo[_f32])"]
6535#[inline]
6536#[target_feature(enable = "sve")]
6537#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6538#[cfg_attr(test, assert_instr(fcmuo))]
6539pub fn svcmpuo_f32(pg: svbool_t, op1: svfloat32_t, op2: svfloat32_t) -> svbool_t {
6540 unsafe extern "unadjusted" {
6541 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.fcmpuo.nxv4f32")]
6542 fn _svcmpuo_f32(pg: svbool4_t, op1: svfloat32_t, op2: svfloat32_t) -> svbool4_t;
6543 }
6544 unsafe { _svcmpuo_f32(pg.sve_into(), op1, op2).sve_into() }
6545}
6546#[doc = "Compare unordered with"]
6547#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpuo[_n_f32])"]
6548#[inline]
6549#[target_feature(enable = "sve")]
6550#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6551#[cfg_attr(test, assert_instr(fcmuo))]
6552pub fn svcmpuo_n_f32(pg: svbool_t, op1: svfloat32_t, op2: f32) -> svbool_t {
6553 svcmpuo_f32(pg, op1, svdup_n_f32(op2))
6554}
6555#[doc = "Compare unordered with"]
6556#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpuo[_f64])"]
6557#[inline]
6558#[target_feature(enable = "sve")]
6559#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6560#[cfg_attr(test, assert_instr(fcmuo))]
6561pub fn svcmpuo_f64(pg: svbool_t, op1: svfloat64_t, op2: svfloat64_t) -> svbool_t {
6562 unsafe extern "unadjusted" {
6563 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.fcmpuo.nxv2f64")]
6564 fn _svcmpuo_f64(pg: svbool2_t, op1: svfloat64_t, op2: svfloat64_t) -> svbool2_t;
6565 }
6566 unsafe { _svcmpuo_f64(pg.sve_into(), op1, op2).sve_into() }
6567}
6568#[doc = "Compare unordered with"]
6569#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcmpuo[_n_f64])"]
6570#[inline]
6571#[target_feature(enable = "sve")]
6572#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6573#[cfg_attr(test, assert_instr(fcmuo))]
6574pub fn svcmpuo_n_f64(pg: svbool_t, op1: svfloat64_t, op2: f64) -> svbool_t {
6575 svcmpuo_f64(pg, op1, svdup_n_f64(op2))
6576}
6577#[doc = "Logically invert boolean condition"]
6578#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcnot[_s8]_m)"]
6579#[inline]
6580#[target_feature(enable = "sve")]
6581#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6582#[cfg_attr(test, assert_instr(cnot))]
6583pub fn svcnot_s8_m(inactive: svint8_t, pg: svbool_t, op: svint8_t) -> svint8_t {
6584 unsafe extern "unadjusted" {
6585 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.cnot.nxv16i8")]
6586 fn _svcnot_s8_m(inactive: svint8_t, pg: svbool_t, op: svint8_t) -> svint8_t;
6587 }
6588 unsafe { _svcnot_s8_m(inactive, pg, op) }
6589}
6590#[doc = "Logically invert boolean condition"]
6591#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcnot[_s8]_x)"]
6592#[inline]
6593#[target_feature(enable = "sve")]
6594#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6595#[cfg_attr(test, assert_instr(cnot))]
6596pub fn svcnot_s8_x(pg: svbool_t, op: svint8_t) -> svint8_t {
6597 svcnot_s8_m(op, pg, op)
6598}
6599#[doc = "Logically invert boolean condition"]
6600#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcnot[_s8]_z)"]
6601#[inline]
6602#[target_feature(enable = "sve")]
6603#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6604#[cfg_attr(test, assert_instr(cnot))]
6605pub fn svcnot_s8_z(pg: svbool_t, op: svint8_t) -> svint8_t {
6606 svcnot_s8_m(svdup_n_s8(0), pg, op)
6607}
6608#[doc = "Logically invert boolean condition"]
6609#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcnot[_s16]_m)"]
6610#[inline]
6611#[target_feature(enable = "sve")]
6612#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6613#[cfg_attr(test, assert_instr(cnot))]
6614pub fn svcnot_s16_m(inactive: svint16_t, pg: svbool_t, op: svint16_t) -> svint16_t {
6615 unsafe extern "unadjusted" {
6616 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.cnot.nxv8i16")]
6617 fn _svcnot_s16_m(inactive: svint16_t, pg: svbool8_t, op: svint16_t) -> svint16_t;
6618 }
6619 unsafe { _svcnot_s16_m(inactive, pg.sve_into(), op) }
6620}
6621#[doc = "Logically invert boolean condition"]
6622#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcnot[_s16]_x)"]
6623#[inline]
6624#[target_feature(enable = "sve")]
6625#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6626#[cfg_attr(test, assert_instr(cnot))]
6627pub fn svcnot_s16_x(pg: svbool_t, op: svint16_t) -> svint16_t {
6628 svcnot_s16_m(op, pg, op)
6629}
6630#[doc = "Logically invert boolean condition"]
6631#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcnot[_s16]_z)"]
6632#[inline]
6633#[target_feature(enable = "sve")]
6634#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6635#[cfg_attr(test, assert_instr(cnot))]
6636pub fn svcnot_s16_z(pg: svbool_t, op: svint16_t) -> svint16_t {
6637 svcnot_s16_m(svdup_n_s16(0), pg, op)
6638}
6639#[doc = "Logically invert boolean condition"]
6640#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcnot[_s32]_m)"]
6641#[inline]
6642#[target_feature(enable = "sve")]
6643#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6644#[cfg_attr(test, assert_instr(cnot))]
6645pub fn svcnot_s32_m(inactive: svint32_t, pg: svbool_t, op: svint32_t) -> svint32_t {
6646 unsafe extern "unadjusted" {
6647 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.cnot.nxv4i32")]
6648 fn _svcnot_s32_m(inactive: svint32_t, pg: svbool4_t, op: svint32_t) -> svint32_t;
6649 }
6650 unsafe { _svcnot_s32_m(inactive, pg.sve_into(), op) }
6651}
6652#[doc = "Logically invert boolean condition"]
6653#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcnot[_s32]_x)"]
6654#[inline]
6655#[target_feature(enable = "sve")]
6656#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6657#[cfg_attr(test, assert_instr(cnot))]
6658pub fn svcnot_s32_x(pg: svbool_t, op: svint32_t) -> svint32_t {
6659 svcnot_s32_m(op, pg, op)
6660}
6661#[doc = "Logically invert boolean condition"]
6662#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcnot[_s32]_z)"]
6663#[inline]
6664#[target_feature(enable = "sve")]
6665#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6666#[cfg_attr(test, assert_instr(cnot))]
6667pub fn svcnot_s32_z(pg: svbool_t, op: svint32_t) -> svint32_t {
6668 svcnot_s32_m(svdup_n_s32(0), pg, op)
6669}
6670#[doc = "Logically invert boolean condition"]
6671#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcnot[_s64]_m)"]
6672#[inline]
6673#[target_feature(enable = "sve")]
6674#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6675#[cfg_attr(test, assert_instr(cnot))]
6676pub fn svcnot_s64_m(inactive: svint64_t, pg: svbool_t, op: svint64_t) -> svint64_t {
6677 unsafe extern "unadjusted" {
6678 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.cnot.nxv2i64")]
6679 fn _svcnot_s64_m(inactive: svint64_t, pg: svbool2_t, op: svint64_t) -> svint64_t;
6680 }
6681 unsafe { _svcnot_s64_m(inactive, pg.sve_into(), op) }
6682}
6683#[doc = "Logically invert boolean condition"]
6684#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcnot[_s64]_x)"]
6685#[inline]
6686#[target_feature(enable = "sve")]
6687#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6688#[cfg_attr(test, assert_instr(cnot))]
6689pub fn svcnot_s64_x(pg: svbool_t, op: svint64_t) -> svint64_t {
6690 svcnot_s64_m(op, pg, op)
6691}
6692#[doc = "Logically invert boolean condition"]
6693#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcnot[_s64]_z)"]
6694#[inline]
6695#[target_feature(enable = "sve")]
6696#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6697#[cfg_attr(test, assert_instr(cnot))]
6698pub fn svcnot_s64_z(pg: svbool_t, op: svint64_t) -> svint64_t {
6699 svcnot_s64_m(svdup_n_s64(0), pg, op)
6700}
6701#[doc = "Logically invert boolean condition"]
6702#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcnot[_u8]_m)"]
6703#[inline]
6704#[target_feature(enable = "sve")]
6705#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6706#[cfg_attr(test, assert_instr(cnot))]
6707pub fn svcnot_u8_m(inactive: svuint8_t, pg: svbool_t, op: svuint8_t) -> svuint8_t {
6708 unsafe { svcnot_s8_m(inactive.as_signed(), pg, op.as_signed()).as_unsigned() }
6709}
6710#[doc = "Logically invert boolean condition"]
6711#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcnot[_u8]_x)"]
6712#[inline]
6713#[target_feature(enable = "sve")]
6714#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6715#[cfg_attr(test, assert_instr(cnot))]
6716pub fn svcnot_u8_x(pg: svbool_t, op: svuint8_t) -> svuint8_t {
6717 svcnot_u8_m(op, pg, op)
6718}
6719#[doc = "Logically invert boolean condition"]
6720#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcnot[_u8]_z)"]
6721#[inline]
6722#[target_feature(enable = "sve")]
6723#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6724#[cfg_attr(test, assert_instr(cnot))]
6725pub fn svcnot_u8_z(pg: svbool_t, op: svuint8_t) -> svuint8_t {
6726 svcnot_u8_m(svdup_n_u8(0), pg, op)
6727}
6728#[doc = "Logically invert boolean condition"]
6729#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcnot[_u16]_m)"]
6730#[inline]
6731#[target_feature(enable = "sve")]
6732#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6733#[cfg_attr(test, assert_instr(cnot))]
6734pub fn svcnot_u16_m(inactive: svuint16_t, pg: svbool_t, op: svuint16_t) -> svuint16_t {
6735 unsafe { svcnot_s16_m(inactive.as_signed(), pg, op.as_signed()).as_unsigned() }
6736}
6737#[doc = "Logically invert boolean condition"]
6738#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcnot[_u16]_x)"]
6739#[inline]
6740#[target_feature(enable = "sve")]
6741#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6742#[cfg_attr(test, assert_instr(cnot))]
6743pub fn svcnot_u16_x(pg: svbool_t, op: svuint16_t) -> svuint16_t {
6744 svcnot_u16_m(op, pg, op)
6745}
6746#[doc = "Logically invert boolean condition"]
6747#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcnot[_u16]_z)"]
6748#[inline]
6749#[target_feature(enable = "sve")]
6750#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6751#[cfg_attr(test, assert_instr(cnot))]
6752pub fn svcnot_u16_z(pg: svbool_t, op: svuint16_t) -> svuint16_t {
6753 svcnot_u16_m(svdup_n_u16(0), pg, op)
6754}
6755#[doc = "Logically invert boolean condition"]
6756#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcnot[_u32]_m)"]
6757#[inline]
6758#[target_feature(enable = "sve")]
6759#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6760#[cfg_attr(test, assert_instr(cnot))]
6761pub fn svcnot_u32_m(inactive: svuint32_t, pg: svbool_t, op: svuint32_t) -> svuint32_t {
6762 unsafe { svcnot_s32_m(inactive.as_signed(), pg, op.as_signed()).as_unsigned() }
6763}
6764#[doc = "Logically invert boolean condition"]
6765#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcnot[_u32]_x)"]
6766#[inline]
6767#[target_feature(enable = "sve")]
6768#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6769#[cfg_attr(test, assert_instr(cnot))]
6770pub fn svcnot_u32_x(pg: svbool_t, op: svuint32_t) -> svuint32_t {
6771 svcnot_u32_m(op, pg, op)
6772}
6773#[doc = "Logically invert boolean condition"]
6774#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcnot[_u32]_z)"]
6775#[inline]
6776#[target_feature(enable = "sve")]
6777#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6778#[cfg_attr(test, assert_instr(cnot))]
6779pub fn svcnot_u32_z(pg: svbool_t, op: svuint32_t) -> svuint32_t {
6780 svcnot_u32_m(svdup_n_u32(0), pg, op)
6781}
6782#[doc = "Logically invert boolean condition"]
6783#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcnot[_u64]_m)"]
6784#[inline]
6785#[target_feature(enable = "sve")]
6786#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6787#[cfg_attr(test, assert_instr(cnot))]
6788pub fn svcnot_u64_m(inactive: svuint64_t, pg: svbool_t, op: svuint64_t) -> svuint64_t {
6789 unsafe { svcnot_s64_m(inactive.as_signed(), pg, op.as_signed()).as_unsigned() }
6790}
6791#[doc = "Logically invert boolean condition"]
6792#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcnot[_u64]_x)"]
6793#[inline]
6794#[target_feature(enable = "sve")]
6795#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6796#[cfg_attr(test, assert_instr(cnot))]
6797pub fn svcnot_u64_x(pg: svbool_t, op: svuint64_t) -> svuint64_t {
6798 svcnot_u64_m(op, pg, op)
6799}
6800#[doc = "Logically invert boolean condition"]
6801#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcnot[_u64]_z)"]
6802#[inline]
6803#[target_feature(enable = "sve")]
6804#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6805#[cfg_attr(test, assert_instr(cnot))]
6806pub fn svcnot_u64_z(pg: svbool_t, op: svuint64_t) -> svuint64_t {
6807 svcnot_u64_m(svdup_n_u64(0), pg, op)
6808}
6809#[doc = "Count nonzero bits"]
6810#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcnt[_f32]_m)"]
6811#[inline]
6812#[target_feature(enable = "sve")]
6813#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6814#[cfg_attr(test, assert_instr(cnt))]
6815pub fn svcnt_f32_m(inactive: svuint32_t, pg: svbool_t, op: svfloat32_t) -> svuint32_t {
6816 unsafe extern "unadjusted" {
6817 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.cnt.nxv4f32")]
6818 fn _svcnt_f32_m(inactive: svint32_t, pg: svbool4_t, op: svfloat32_t) -> svint32_t;
6819 }
6820 unsafe { _svcnt_f32_m(inactive.as_signed(), pg.sve_into(), op).as_unsigned() }
6821}
6822#[doc = "Count nonzero bits"]
6823#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcnt[_f32]_x)"]
6824#[inline]
6825#[target_feature(enable = "sve")]
6826#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6827#[cfg_attr(test, assert_instr(cnt))]
6828pub fn svcnt_f32_x(pg: svbool_t, op: svfloat32_t) -> svuint32_t {
6829 unsafe { svcnt_f32_m(transmute_unchecked(op), pg, op) }
6830}
6831#[doc = "Count nonzero bits"]
6832#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcnt[_f32]_z)"]
6833#[inline]
6834#[target_feature(enable = "sve")]
6835#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6836#[cfg_attr(test, assert_instr(cnt))]
6837pub fn svcnt_f32_z(pg: svbool_t, op: svfloat32_t) -> svuint32_t {
6838 svcnt_f32_m(svdup_n_u32(0), pg, op)
6839}
6840#[doc = "Count nonzero bits"]
6841#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcnt[_f64]_m)"]
6842#[inline]
6843#[target_feature(enable = "sve")]
6844#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6845#[cfg_attr(test, assert_instr(cnt))]
6846pub fn svcnt_f64_m(inactive: svuint64_t, pg: svbool_t, op: svfloat64_t) -> svuint64_t {
6847 unsafe extern "unadjusted" {
6848 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.cnt.nxv2f64")]
6849 fn _svcnt_f64_m(inactive: svint64_t, pg: svbool2_t, op: svfloat64_t) -> svint64_t;
6850 }
6851 unsafe { _svcnt_f64_m(inactive.as_signed(), pg.sve_into(), op).as_unsigned() }
6852}
6853#[doc = "Count nonzero bits"]
6854#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcnt[_f64]_x)"]
6855#[inline]
6856#[target_feature(enable = "sve")]
6857#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6858#[cfg_attr(test, assert_instr(cnt))]
6859pub fn svcnt_f64_x(pg: svbool_t, op: svfloat64_t) -> svuint64_t {
6860 unsafe { svcnt_f64_m(transmute_unchecked(op), pg, op) }
6861}
6862#[doc = "Count nonzero bits"]
6863#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcnt[_f64]_z)"]
6864#[inline]
6865#[target_feature(enable = "sve")]
6866#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6867#[cfg_attr(test, assert_instr(cnt))]
6868pub fn svcnt_f64_z(pg: svbool_t, op: svfloat64_t) -> svuint64_t {
6869 svcnt_f64_m(svdup_n_u64(0), pg, op)
6870}
6871#[doc = "Count nonzero bits"]
6872#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcnt[_s8]_m)"]
6873#[inline]
6874#[target_feature(enable = "sve")]
6875#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6876#[cfg_attr(test, assert_instr(cnt))]
6877pub fn svcnt_s8_m(inactive: svuint8_t, pg: svbool_t, op: svint8_t) -> svuint8_t {
6878 unsafe extern "unadjusted" {
6879 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.cnt.nxv16i8")]
6880 fn _svcnt_s8_m(inactive: svint8_t, pg: svbool_t, op: svint8_t) -> svint8_t;
6881 }
6882 unsafe { _svcnt_s8_m(inactive.as_signed(), pg, op).as_unsigned() }
6883}
6884#[doc = "Count nonzero bits"]
6885#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcnt[_s8]_x)"]
6886#[inline]
6887#[target_feature(enable = "sve")]
6888#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6889#[cfg_attr(test, assert_instr(cnt))]
6890pub fn svcnt_s8_x(pg: svbool_t, op: svint8_t) -> svuint8_t {
6891 unsafe { svcnt_s8_m(op.as_unsigned(), pg, op) }
6892}
6893#[doc = "Count nonzero bits"]
6894#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcnt[_s8]_z)"]
6895#[inline]
6896#[target_feature(enable = "sve")]
6897#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6898#[cfg_attr(test, assert_instr(cnt))]
6899pub fn svcnt_s8_z(pg: svbool_t, op: svint8_t) -> svuint8_t {
6900 svcnt_s8_m(svdup_n_u8(0), pg, op)
6901}
6902#[doc = "Count nonzero bits"]
6903#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcnt[_s16]_m)"]
6904#[inline]
6905#[target_feature(enable = "sve")]
6906#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6907#[cfg_attr(test, assert_instr(cnt))]
6908pub fn svcnt_s16_m(inactive: svuint16_t, pg: svbool_t, op: svint16_t) -> svuint16_t {
6909 unsafe extern "unadjusted" {
6910 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.cnt.nxv8i16")]
6911 fn _svcnt_s16_m(inactive: svint16_t, pg: svbool8_t, op: svint16_t) -> svint16_t;
6912 }
6913 unsafe { _svcnt_s16_m(inactive.as_signed(), pg.sve_into(), op).as_unsigned() }
6914}
6915#[doc = "Count nonzero bits"]
6916#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcnt[_s16]_x)"]
6917#[inline]
6918#[target_feature(enable = "sve")]
6919#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6920#[cfg_attr(test, assert_instr(cnt))]
6921pub fn svcnt_s16_x(pg: svbool_t, op: svint16_t) -> svuint16_t {
6922 unsafe { svcnt_s16_m(op.as_unsigned(), pg, op) }
6923}
6924#[doc = "Count nonzero bits"]
6925#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcnt[_s16]_z)"]
6926#[inline]
6927#[target_feature(enable = "sve")]
6928#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6929#[cfg_attr(test, assert_instr(cnt))]
6930pub fn svcnt_s16_z(pg: svbool_t, op: svint16_t) -> svuint16_t {
6931 svcnt_s16_m(svdup_n_u16(0), pg, op)
6932}
6933#[doc = "Count nonzero bits"]
6934#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcnt[_s32]_m)"]
6935#[inline]
6936#[target_feature(enable = "sve")]
6937#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6938#[cfg_attr(test, assert_instr(cnt))]
6939pub fn svcnt_s32_m(inactive: svuint32_t, pg: svbool_t, op: svint32_t) -> svuint32_t {
6940 unsafe extern "unadjusted" {
6941 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.cnt.nxv4i32")]
6942 fn _svcnt_s32_m(inactive: svint32_t, pg: svbool4_t, op: svint32_t) -> svint32_t;
6943 }
6944 unsafe { _svcnt_s32_m(inactive.as_signed(), pg.sve_into(), op).as_unsigned() }
6945}
6946#[doc = "Count nonzero bits"]
6947#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcnt[_s32]_x)"]
6948#[inline]
6949#[target_feature(enable = "sve")]
6950#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6951#[cfg_attr(test, assert_instr(cnt))]
6952pub fn svcnt_s32_x(pg: svbool_t, op: svint32_t) -> svuint32_t {
6953 unsafe { svcnt_s32_m(op.as_unsigned(), pg, op) }
6954}
6955#[doc = "Count nonzero bits"]
6956#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcnt[_s32]_z)"]
6957#[inline]
6958#[target_feature(enable = "sve")]
6959#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6960#[cfg_attr(test, assert_instr(cnt))]
6961pub fn svcnt_s32_z(pg: svbool_t, op: svint32_t) -> svuint32_t {
6962 svcnt_s32_m(svdup_n_u32(0), pg, op)
6963}
6964#[doc = "Count nonzero bits"]
6965#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcnt[_s64]_m)"]
6966#[inline]
6967#[target_feature(enable = "sve")]
6968#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6969#[cfg_attr(test, assert_instr(cnt))]
6970pub fn svcnt_s64_m(inactive: svuint64_t, pg: svbool_t, op: svint64_t) -> svuint64_t {
6971 unsafe extern "unadjusted" {
6972 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.cnt.nxv2i64")]
6973 fn _svcnt_s64_m(inactive: svint64_t, pg: svbool2_t, op: svint64_t) -> svint64_t;
6974 }
6975 unsafe { _svcnt_s64_m(inactive.as_signed(), pg.sve_into(), op).as_unsigned() }
6976}
6977#[doc = "Count nonzero bits"]
6978#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcnt[_s64]_x)"]
6979#[inline]
6980#[target_feature(enable = "sve")]
6981#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6982#[cfg_attr(test, assert_instr(cnt))]
6983pub fn svcnt_s64_x(pg: svbool_t, op: svint64_t) -> svuint64_t {
6984 unsafe { svcnt_s64_m(op.as_unsigned(), pg, op) }
6985}
6986#[doc = "Count nonzero bits"]
6987#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcnt[_s64]_z)"]
6988#[inline]
6989#[target_feature(enable = "sve")]
6990#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
6991#[cfg_attr(test, assert_instr(cnt))]
6992pub fn svcnt_s64_z(pg: svbool_t, op: svint64_t) -> svuint64_t {
6993 svcnt_s64_m(svdup_n_u64(0), pg, op)
6994}
6995#[doc = "Count nonzero bits"]
6996#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcnt[_u8]_m)"]
6997#[inline]
6998#[target_feature(enable = "sve")]
6999#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7000#[cfg_attr(test, assert_instr(cnt))]
7001pub fn svcnt_u8_m(inactive: svuint8_t, pg: svbool_t, op: svuint8_t) -> svuint8_t {
7002 unsafe { svcnt_s8_m(inactive, pg, op.as_signed()) }
7003}
7004#[doc = "Count nonzero bits"]
7005#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcnt[_u8]_x)"]
7006#[inline]
7007#[target_feature(enable = "sve")]
7008#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7009#[cfg_attr(test, assert_instr(cnt))]
7010pub fn svcnt_u8_x(pg: svbool_t, op: svuint8_t) -> svuint8_t {
7011 svcnt_u8_m(op, pg, op)
7012}
7013#[doc = "Count nonzero bits"]
7014#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcnt[_u8]_z)"]
7015#[inline]
7016#[target_feature(enable = "sve")]
7017#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7018#[cfg_attr(test, assert_instr(cnt))]
7019pub fn svcnt_u8_z(pg: svbool_t, op: svuint8_t) -> svuint8_t {
7020 svcnt_u8_m(svdup_n_u8(0), pg, op)
7021}
7022#[doc = "Count nonzero bits"]
7023#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcnt[_u16]_m)"]
7024#[inline]
7025#[target_feature(enable = "sve")]
7026#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7027#[cfg_attr(test, assert_instr(cnt))]
7028pub fn svcnt_u16_m(inactive: svuint16_t, pg: svbool_t, op: svuint16_t) -> svuint16_t {
7029 unsafe { svcnt_s16_m(inactive, pg, op.as_signed()) }
7030}
7031#[doc = "Count nonzero bits"]
7032#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcnt[_u16]_x)"]
7033#[inline]
7034#[target_feature(enable = "sve")]
7035#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7036#[cfg_attr(test, assert_instr(cnt))]
7037pub fn svcnt_u16_x(pg: svbool_t, op: svuint16_t) -> svuint16_t {
7038 svcnt_u16_m(op, pg, op)
7039}
7040#[doc = "Count nonzero bits"]
7041#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcnt[_u16]_z)"]
7042#[inline]
7043#[target_feature(enable = "sve")]
7044#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7045#[cfg_attr(test, assert_instr(cnt))]
7046pub fn svcnt_u16_z(pg: svbool_t, op: svuint16_t) -> svuint16_t {
7047 svcnt_u16_m(svdup_n_u16(0), pg, op)
7048}
7049#[doc = "Count nonzero bits"]
7050#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcnt[_u32]_m)"]
7051#[inline]
7052#[target_feature(enable = "sve")]
7053#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7054#[cfg_attr(test, assert_instr(cnt))]
7055pub fn svcnt_u32_m(inactive: svuint32_t, pg: svbool_t, op: svuint32_t) -> svuint32_t {
7056 unsafe { svcnt_s32_m(inactive, pg, op.as_signed()) }
7057}
7058#[doc = "Count nonzero bits"]
7059#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcnt[_u32]_x)"]
7060#[inline]
7061#[target_feature(enable = "sve")]
7062#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7063#[cfg_attr(test, assert_instr(cnt))]
7064pub fn svcnt_u32_x(pg: svbool_t, op: svuint32_t) -> svuint32_t {
7065 svcnt_u32_m(op, pg, op)
7066}
7067#[doc = "Count nonzero bits"]
7068#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcnt[_u32]_z)"]
7069#[inline]
7070#[target_feature(enable = "sve")]
7071#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7072#[cfg_attr(test, assert_instr(cnt))]
7073pub fn svcnt_u32_z(pg: svbool_t, op: svuint32_t) -> svuint32_t {
7074 svcnt_u32_m(svdup_n_u32(0), pg, op)
7075}
7076#[doc = "Count nonzero bits"]
7077#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcnt[_u64]_m)"]
7078#[inline]
7079#[target_feature(enable = "sve")]
7080#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7081#[cfg_attr(test, assert_instr(cnt))]
7082pub fn svcnt_u64_m(inactive: svuint64_t, pg: svbool_t, op: svuint64_t) -> svuint64_t {
7083 unsafe { svcnt_s64_m(inactive, pg, op.as_signed()) }
7084}
7085#[doc = "Count nonzero bits"]
7086#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcnt[_u64]_x)"]
7087#[inline]
7088#[target_feature(enable = "sve")]
7089#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7090#[cfg_attr(test, assert_instr(cnt))]
7091pub fn svcnt_u64_x(pg: svbool_t, op: svuint64_t) -> svuint64_t {
7092 svcnt_u64_m(op, pg, op)
7093}
7094#[doc = "Count nonzero bits"]
7095#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcnt[_u64]_z)"]
7096#[inline]
7097#[target_feature(enable = "sve")]
7098#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7099#[cfg_attr(test, assert_instr(cnt))]
7100pub fn svcnt_u64_z(pg: svbool_t, op: svuint64_t) -> svuint64_t {
7101 svcnt_u64_m(svdup_n_u64(0), pg, op)
7102}
7103#[doc = "Count the number of 8-bit elements in a vector"]
7104#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcntb)"]
7105#[inline]
7106#[target_feature(enable = "sve")]
7107#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7108#[cfg_attr(test, assert_instr(rdvl))]
7109pub fn svcntb() -> u64 {
7110 svcntb_pat::<{ svpattern::SV_ALL }>()
7111}
7112#[doc = "Count the number of 16-bit elements in a vector"]
7113#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcnth)"]
7114#[inline]
7115#[target_feature(enable = "sve")]
7116#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7117#[cfg_attr(test, assert_instr(cnth))]
7118pub fn svcnth() -> u64 {
7119 svcnth_pat::<{ svpattern::SV_ALL }>()
7120}
7121#[doc = "Count the number of 32-bit elements in a vector"]
7122#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcntw)"]
7123#[inline]
7124#[target_feature(enable = "sve")]
7125#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7126#[cfg_attr(test, assert_instr(cntw))]
7127pub fn svcntw() -> u64 {
7128 svcntw_pat::<{ svpattern::SV_ALL }>()
7129}
7130#[doc = "Count the number of 64-bit elements in a vector"]
7131#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcntd)"]
7132#[inline]
7133#[target_feature(enable = "sve")]
7134#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7135#[cfg_attr(test, assert_instr(cntd))]
7136pub fn svcntd() -> u64 {
7137 svcntd_pat::<{ svpattern::SV_ALL }>()
7138}
7139#[doc = "Count the number of 8-bit elements in a vector"]
7140#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcntb_pat)"]
7141#[inline]
7142#[target_feature(enable = "sve")]
7143#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7144# [cfg_attr (test , assert_instr (rdvl , PATTERN = { svpattern :: SV_ALL }))]
7145# [cfg_attr (test , assert_instr (cntb , PATTERN = { svpattern :: SV_MUL4 }))]
7146pub fn svcntb_pat<const PATTERN: svpattern>() -> u64 {
7147 unsafe extern "unadjusted" {
7148 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.cntb")]
7149 fn _svcntb_pat(pattern: svpattern) -> i64;
7150 }
7151 unsafe { _svcntb_pat(PATTERN).as_unsigned() }
7152}
7153#[doc = "Count the number of 16-bit elements in a vector"]
7154#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcnth_pat)"]
7155#[inline]
7156#[target_feature(enable = "sve")]
7157#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7158# [cfg_attr (test , assert_instr (cnth , PATTERN = { svpattern :: SV_ALL }))]
7159pub fn svcnth_pat<const PATTERN: svpattern>() -> u64 {
7160 unsafe extern "unadjusted" {
7161 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.cnth")]
7162 fn _svcnth_pat(pattern: svpattern) -> i64;
7163 }
7164 unsafe { _svcnth_pat(PATTERN).as_unsigned() }
7165}
7166#[doc = "Count the number of 32-bit elements in a vector"]
7167#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcntw_pat)"]
7168#[inline]
7169#[target_feature(enable = "sve")]
7170#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7171# [cfg_attr (test , assert_instr (cntw , PATTERN = { svpattern :: SV_ALL }))]
7172pub fn svcntw_pat<const PATTERN: svpattern>() -> u64 {
7173 unsafe extern "unadjusted" {
7174 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.cntw")]
7175 fn _svcntw_pat(pattern: svpattern) -> i64;
7176 }
7177 unsafe { _svcntw_pat(PATTERN).as_unsigned() }
7178}
7179#[doc = "Count the number of 64-bit elements in a vector"]
7180#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcntd_pat)"]
7181#[inline]
7182#[target_feature(enable = "sve")]
7183#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7184# [cfg_attr (test , assert_instr (cntd , PATTERN = { svpattern :: SV_ALL }))]
7185pub fn svcntd_pat<const PATTERN: svpattern>() -> u64 {
7186 unsafe extern "unadjusted" {
7187 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.cntd")]
7188 fn _svcntd_pat(pattern: svpattern) -> i64;
7189 }
7190 unsafe { _svcntd_pat(PATTERN).as_unsigned() }
7191}
7192#[doc = "Count set predicate bits"]
7193#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcntp_b8)"]
7194#[inline]
7195#[target_feature(enable = "sve")]
7196#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7197#[cfg_attr(test, assert_instr(cntp))]
7198pub fn svcntp_b8(pg: svbool_t, op: svbool_t) -> u64 {
7199 unsafe extern "unadjusted" {
7200 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.cntp.nxv16i1")]
7201 fn _svcntp_b8(pg: svbool_t, op: svbool_t) -> i64;
7202 }
7203 unsafe { _svcntp_b8(pg, op).as_unsigned() }
7204}
7205#[doc = "Count set predicate bits"]
7206#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcntp_b16)"]
7207#[inline]
7208#[target_feature(enable = "sve")]
7209#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7210#[cfg_attr(test, assert_instr(cntp))]
7211pub fn svcntp_b16(pg: svbool_t, op: svbool_t) -> u64 {
7212 unsafe extern "unadjusted" {
7213 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.cntp.nxv8i1")]
7214 fn _svcntp_b16(pg: svbool8_t, op: svbool8_t) -> i64;
7215 }
7216 unsafe { _svcntp_b16(pg.sve_into(), op.sve_into()).as_unsigned() }
7217}
7218#[doc = "Count set predicate bits"]
7219#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcntp_b32)"]
7220#[inline]
7221#[target_feature(enable = "sve")]
7222#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7223#[cfg_attr(test, assert_instr(cntp))]
7224pub fn svcntp_b32(pg: svbool_t, op: svbool_t) -> u64 {
7225 unsafe extern "unadjusted" {
7226 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.cntp.nxv4i1")]
7227 fn _svcntp_b32(pg: svbool4_t, op: svbool4_t) -> i64;
7228 }
7229 unsafe { _svcntp_b32(pg.sve_into(), op.sve_into()).as_unsigned() }
7230}
7231#[doc = "Count set predicate bits"]
7232#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcntp_b64)"]
7233#[inline]
7234#[target_feature(enable = "sve")]
7235#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7236#[cfg_attr(test, assert_instr(cntp))]
7237pub fn svcntp_b64(pg: svbool_t, op: svbool_t) -> u64 {
7238 unsafe extern "unadjusted" {
7239 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.cntp.nxv2i1")]
7240 fn _svcntp_b64(pg: svbool2_t, op: svbool2_t) -> i64;
7241 }
7242 unsafe { _svcntp_b64(pg.sve_into(), op.sve_into()).as_unsigned() }
7243}
7244#[doc = "Shuffle active elements of vector to the right and fill with zero"]
7245#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcompact[_f32])"]
7246#[inline]
7247#[target_feature(enable = "sve")]
7248#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7249#[cfg_attr(test, assert_instr(compact))]
7250pub fn svcompact_f32(pg: svbool_t, op: svfloat32_t) -> svfloat32_t {
7251 unsafe extern "unadjusted" {
7252 #[cfg_attr(
7253 target_arch = "aarch64",
7254 link_name = "llvm.aarch64.sve.compact.nxv4f32"
7255 )]
7256 fn _svcompact_f32(pg: svbool4_t, op: svfloat32_t) -> svfloat32_t;
7257 }
7258 unsafe { _svcompact_f32(pg.sve_into(), op) }
7259}
7260#[doc = "Shuffle active elements of vector to the right and fill with zero"]
7261#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcompact[_f64])"]
7262#[inline]
7263#[target_feature(enable = "sve")]
7264#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7265#[cfg_attr(test, assert_instr(compact))]
7266pub fn svcompact_f64(pg: svbool_t, op: svfloat64_t) -> svfloat64_t {
7267 unsafe extern "unadjusted" {
7268 #[cfg_attr(
7269 target_arch = "aarch64",
7270 link_name = "llvm.aarch64.sve.compact.nxv2f64"
7271 )]
7272 fn _svcompact_f64(pg: svbool2_t, op: svfloat64_t) -> svfloat64_t;
7273 }
7274 unsafe { _svcompact_f64(pg.sve_into(), op) }
7275}
7276#[doc = "Shuffle active elements of vector to the right and fill with zero"]
7277#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcompact[_s32])"]
7278#[inline]
7279#[target_feature(enable = "sve")]
7280#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7281#[cfg_attr(test, assert_instr(compact))]
7282pub fn svcompact_s32(pg: svbool_t, op: svint32_t) -> svint32_t {
7283 unsafe extern "unadjusted" {
7284 #[cfg_attr(
7285 target_arch = "aarch64",
7286 link_name = "llvm.aarch64.sve.compact.nxv4i32"
7287 )]
7288 fn _svcompact_s32(pg: svbool4_t, op: svint32_t) -> svint32_t;
7289 }
7290 unsafe { _svcompact_s32(pg.sve_into(), op) }
7291}
7292#[doc = "Shuffle active elements of vector to the right and fill with zero"]
7293#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcompact[_s64])"]
7294#[inline]
7295#[target_feature(enable = "sve")]
7296#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7297#[cfg_attr(test, assert_instr(compact))]
7298pub fn svcompact_s64(pg: svbool_t, op: svint64_t) -> svint64_t {
7299 unsafe extern "unadjusted" {
7300 #[cfg_attr(
7301 target_arch = "aarch64",
7302 link_name = "llvm.aarch64.sve.compact.nxv2i64"
7303 )]
7304 fn _svcompact_s64(pg: svbool2_t, op: svint64_t) -> svint64_t;
7305 }
7306 unsafe { _svcompact_s64(pg.sve_into(), op) }
7307}
7308#[doc = "Shuffle active elements of vector to the right and fill with zero"]
7309#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcompact[_u32])"]
7310#[inline]
7311#[target_feature(enable = "sve")]
7312#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7313#[cfg_attr(test, assert_instr(compact))]
7314pub fn svcompact_u32(pg: svbool_t, op: svuint32_t) -> svuint32_t {
7315 unsafe { svcompact_s32(pg, op.as_signed()).as_unsigned() }
7316}
7317#[doc = "Shuffle active elements of vector to the right and fill with zero"]
7318#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcompact[_u64])"]
7319#[inline]
7320#[target_feature(enable = "sve")]
7321#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7322#[cfg_attr(test, assert_instr(compact))]
7323pub fn svcompact_u64(pg: svbool_t, op: svuint64_t) -> svuint64_t {
7324 unsafe { svcompact_s64(pg, op.as_signed()).as_unsigned() }
7325}
7326#[doc = "Create a tuple of two vectors"]
7327#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcreate2[_f32])"]
7328#[inline]
7329#[target_feature(enable = "sve")]
7330#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7331pub fn svcreate2_f32(x0: svfloat32_t, x1: svfloat32_t) -> svfloat32x2_t {
7332 unsafe { crate::intrinsics::simd::scalable::sve_tuple_create2(x0, x1) }
7333}
7334#[doc = "Create a tuple of two vectors"]
7335#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcreate2[_f64])"]
7336#[inline]
7337#[target_feature(enable = "sve")]
7338#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7339pub fn svcreate2_f64(x0: svfloat64_t, x1: svfloat64_t) -> svfloat64x2_t {
7340 unsafe { crate::intrinsics::simd::scalable::sve_tuple_create2(x0, x1) }
7341}
7342#[doc = "Create a tuple of two vectors"]
7343#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcreate2[_s8])"]
7344#[inline]
7345#[target_feature(enable = "sve")]
7346#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7347pub fn svcreate2_s8(x0: svint8_t, x1: svint8_t) -> svint8x2_t {
7348 unsafe { crate::intrinsics::simd::scalable::sve_tuple_create2(x0, x1) }
7349}
7350#[doc = "Create a tuple of two vectors"]
7351#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcreate2[_s16])"]
7352#[inline]
7353#[target_feature(enable = "sve")]
7354#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7355pub fn svcreate2_s16(x0: svint16_t, x1: svint16_t) -> svint16x2_t {
7356 unsafe { crate::intrinsics::simd::scalable::sve_tuple_create2(x0, x1) }
7357}
7358#[doc = "Create a tuple of two vectors"]
7359#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcreate2[_s32])"]
7360#[inline]
7361#[target_feature(enable = "sve")]
7362#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7363pub fn svcreate2_s32(x0: svint32_t, x1: svint32_t) -> svint32x2_t {
7364 unsafe { crate::intrinsics::simd::scalable::sve_tuple_create2(x0, x1) }
7365}
7366#[doc = "Create a tuple of two vectors"]
7367#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcreate2[_s64])"]
7368#[inline]
7369#[target_feature(enable = "sve")]
7370#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7371pub fn svcreate2_s64(x0: svint64_t, x1: svint64_t) -> svint64x2_t {
7372 unsafe { crate::intrinsics::simd::scalable::sve_tuple_create2(x0, x1) }
7373}
7374#[doc = "Create a tuple of two vectors"]
7375#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcreate2[_u8])"]
7376#[inline]
7377#[target_feature(enable = "sve")]
7378#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7379pub fn svcreate2_u8(x0: svuint8_t, x1: svuint8_t) -> svuint8x2_t {
7380 unsafe { crate::intrinsics::simd::scalable::sve_tuple_create2(x0, x1) }
7381}
7382#[doc = "Create a tuple of two vectors"]
7383#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcreate2[_u16])"]
7384#[inline]
7385#[target_feature(enable = "sve")]
7386#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7387pub fn svcreate2_u16(x0: svuint16_t, x1: svuint16_t) -> svuint16x2_t {
7388 unsafe { crate::intrinsics::simd::scalable::sve_tuple_create2(x0, x1) }
7389}
7390#[doc = "Create a tuple of two vectors"]
7391#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcreate2[_u32])"]
7392#[inline]
7393#[target_feature(enable = "sve")]
7394#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7395pub fn svcreate2_u32(x0: svuint32_t, x1: svuint32_t) -> svuint32x2_t {
7396 unsafe { crate::intrinsics::simd::scalable::sve_tuple_create2(x0, x1) }
7397}
7398#[doc = "Create a tuple of two vectors"]
7399#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcreate2[_u64])"]
7400#[inline]
7401#[target_feature(enable = "sve")]
7402#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7403pub fn svcreate2_u64(x0: svuint64_t, x1: svuint64_t) -> svuint64x2_t {
7404 unsafe { crate::intrinsics::simd::scalable::sve_tuple_create2(x0, x1) }
7405}
7406#[doc = "Create a tuple of three vectors"]
7407#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcreate3[_f32])"]
7408#[inline]
7409#[target_feature(enable = "sve")]
7410#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7411pub fn svcreate3_f32(x0: svfloat32_t, x1: svfloat32_t, x2: svfloat32_t) -> svfloat32x3_t {
7412 unsafe { crate::intrinsics::simd::scalable::sve_tuple_create3(x0, x1, x2) }
7413}
7414#[doc = "Create a tuple of three vectors"]
7415#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcreate3[_f64])"]
7416#[inline]
7417#[target_feature(enable = "sve")]
7418#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7419pub fn svcreate3_f64(x0: svfloat64_t, x1: svfloat64_t, x2: svfloat64_t) -> svfloat64x3_t {
7420 unsafe { crate::intrinsics::simd::scalable::sve_tuple_create3(x0, x1, x2) }
7421}
7422#[doc = "Create a tuple of three vectors"]
7423#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcreate3[_s8])"]
7424#[inline]
7425#[target_feature(enable = "sve")]
7426#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7427pub fn svcreate3_s8(x0: svint8_t, x1: svint8_t, x2: svint8_t) -> svint8x3_t {
7428 unsafe { crate::intrinsics::simd::scalable::sve_tuple_create3(x0, x1, x2) }
7429}
7430#[doc = "Create a tuple of three vectors"]
7431#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcreate3[_s16])"]
7432#[inline]
7433#[target_feature(enable = "sve")]
7434#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7435pub fn svcreate3_s16(x0: svint16_t, x1: svint16_t, x2: svint16_t) -> svint16x3_t {
7436 unsafe { crate::intrinsics::simd::scalable::sve_tuple_create3(x0, x1, x2) }
7437}
7438#[doc = "Create a tuple of three vectors"]
7439#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcreate3[_s32])"]
7440#[inline]
7441#[target_feature(enable = "sve")]
7442#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7443pub fn svcreate3_s32(x0: svint32_t, x1: svint32_t, x2: svint32_t) -> svint32x3_t {
7444 unsafe { crate::intrinsics::simd::scalable::sve_tuple_create3(x0, x1, x2) }
7445}
7446#[doc = "Create a tuple of three vectors"]
7447#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcreate3[_s64])"]
7448#[inline]
7449#[target_feature(enable = "sve")]
7450#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7451pub fn svcreate3_s64(x0: svint64_t, x1: svint64_t, x2: svint64_t) -> svint64x3_t {
7452 unsafe { crate::intrinsics::simd::scalable::sve_tuple_create3(x0, x1, x2) }
7453}
7454#[doc = "Create a tuple of three vectors"]
7455#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcreate3[_u8])"]
7456#[inline]
7457#[target_feature(enable = "sve")]
7458#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7459pub fn svcreate3_u8(x0: svuint8_t, x1: svuint8_t, x2: svuint8_t) -> svuint8x3_t {
7460 unsafe { crate::intrinsics::simd::scalable::sve_tuple_create3(x0, x1, x2) }
7461}
7462#[doc = "Create a tuple of three vectors"]
7463#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcreate3[_u16])"]
7464#[inline]
7465#[target_feature(enable = "sve")]
7466#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7467pub fn svcreate3_u16(x0: svuint16_t, x1: svuint16_t, x2: svuint16_t) -> svuint16x3_t {
7468 unsafe { crate::intrinsics::simd::scalable::sve_tuple_create3(x0, x1, x2) }
7469}
7470#[doc = "Create a tuple of three vectors"]
7471#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcreate3[_u32])"]
7472#[inline]
7473#[target_feature(enable = "sve")]
7474#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7475pub fn svcreate3_u32(x0: svuint32_t, x1: svuint32_t, x2: svuint32_t) -> svuint32x3_t {
7476 unsafe { crate::intrinsics::simd::scalable::sve_tuple_create3(x0, x1, x2) }
7477}
7478#[doc = "Create a tuple of three vectors"]
7479#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcreate3[_u64])"]
7480#[inline]
7481#[target_feature(enable = "sve")]
7482#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7483pub fn svcreate3_u64(x0: svuint64_t, x1: svuint64_t, x2: svuint64_t) -> svuint64x3_t {
7484 unsafe { crate::intrinsics::simd::scalable::sve_tuple_create3(x0, x1, x2) }
7485}
7486#[doc = "Create a tuple of four vectors"]
7487#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcreate4[_f32])"]
7488#[inline]
7489#[target_feature(enable = "sve")]
7490#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7491pub fn svcreate4_f32(
7492 x0: svfloat32_t,
7493 x1: svfloat32_t,
7494 x2: svfloat32_t,
7495 x3: svfloat32_t,
7496) -> svfloat32x4_t {
7497 unsafe { crate::intrinsics::simd::scalable::sve_tuple_create4(x0, x1, x2, x3) }
7498}
7499#[doc = "Create a tuple of four vectors"]
7500#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcreate4[_f64])"]
7501#[inline]
7502#[target_feature(enable = "sve")]
7503#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7504pub fn svcreate4_f64(
7505 x0: svfloat64_t,
7506 x1: svfloat64_t,
7507 x2: svfloat64_t,
7508 x3: svfloat64_t,
7509) -> svfloat64x4_t {
7510 unsafe { crate::intrinsics::simd::scalable::sve_tuple_create4(x0, x1, x2, x3) }
7511}
7512#[doc = "Create a tuple of four vectors"]
7513#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcreate4[_s8])"]
7514#[inline]
7515#[target_feature(enable = "sve")]
7516#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7517pub fn svcreate4_s8(x0: svint8_t, x1: svint8_t, x2: svint8_t, x3: svint8_t) -> svint8x4_t {
7518 unsafe { crate::intrinsics::simd::scalable::sve_tuple_create4(x0, x1, x2, x3) }
7519}
7520#[doc = "Create a tuple of four vectors"]
7521#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcreate4[_s16])"]
7522#[inline]
7523#[target_feature(enable = "sve")]
7524#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7525pub fn svcreate4_s16(x0: svint16_t, x1: svint16_t, x2: svint16_t, x3: svint16_t) -> svint16x4_t {
7526 unsafe { crate::intrinsics::simd::scalable::sve_tuple_create4(x0, x1, x2, x3) }
7527}
7528#[doc = "Create a tuple of four vectors"]
7529#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcreate4[_s32])"]
7530#[inline]
7531#[target_feature(enable = "sve")]
7532#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7533pub fn svcreate4_s32(x0: svint32_t, x1: svint32_t, x2: svint32_t, x3: svint32_t) -> svint32x4_t {
7534 unsafe { crate::intrinsics::simd::scalable::sve_tuple_create4(x0, x1, x2, x3) }
7535}
7536#[doc = "Create a tuple of four vectors"]
7537#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcreate4[_s64])"]
7538#[inline]
7539#[target_feature(enable = "sve")]
7540#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7541pub fn svcreate4_s64(x0: svint64_t, x1: svint64_t, x2: svint64_t, x3: svint64_t) -> svint64x4_t {
7542 unsafe { crate::intrinsics::simd::scalable::sve_tuple_create4(x0, x1, x2, x3) }
7543}
7544#[doc = "Create a tuple of four vectors"]
7545#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcreate4[_u8])"]
7546#[inline]
7547#[target_feature(enable = "sve")]
7548#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7549pub fn svcreate4_u8(x0: svuint8_t, x1: svuint8_t, x2: svuint8_t, x3: svuint8_t) -> svuint8x4_t {
7550 unsafe { crate::intrinsics::simd::scalable::sve_tuple_create4(x0, x1, x2, x3) }
7551}
7552#[doc = "Create a tuple of four vectors"]
7553#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcreate4[_u16])"]
7554#[inline]
7555#[target_feature(enable = "sve")]
7556#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7557pub fn svcreate4_u16(
7558 x0: svuint16_t,
7559 x1: svuint16_t,
7560 x2: svuint16_t,
7561 x3: svuint16_t,
7562) -> svuint16x4_t {
7563 unsafe { crate::intrinsics::simd::scalable::sve_tuple_create4(x0, x1, x2, x3) }
7564}
7565#[doc = "Create a tuple of four vectors"]
7566#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcreate4[_u32])"]
7567#[inline]
7568#[target_feature(enable = "sve")]
7569#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7570pub fn svcreate4_u32(
7571 x0: svuint32_t,
7572 x1: svuint32_t,
7573 x2: svuint32_t,
7574 x3: svuint32_t,
7575) -> svuint32x4_t {
7576 unsafe { crate::intrinsics::simd::scalable::sve_tuple_create4(x0, x1, x2, x3) }
7577}
7578#[doc = "Create a tuple of four vectors"]
7579#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcreate4[_u64])"]
7580#[inline]
7581#[target_feature(enable = "sve")]
7582#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7583pub fn svcreate4_u64(
7584 x0: svuint64_t,
7585 x1: svuint64_t,
7586 x2: svuint64_t,
7587 x3: svuint64_t,
7588) -> svuint64x4_t {
7589 unsafe { crate::intrinsics::simd::scalable::sve_tuple_create4(x0, x1, x2, x3) }
7590}
7591#[doc = "Floating-point convert"]
7592#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcvt_f32[_f64]_m)"]
7593#[inline]
7594#[target_feature(enable = "sve")]
7595#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7596#[cfg_attr(test, assert_instr(fcvt))]
7597pub fn svcvt_f32_f64_m(inactive: svfloat32_t, pg: svbool_t, op: svfloat64_t) -> svfloat32_t {
7598 unsafe extern "unadjusted" {
7599 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.fcvt.f32f64")]
7600 fn _svcvt_f32_f64_m(inactive: svfloat32_t, pg: svbool2_t, op: svfloat64_t) -> svfloat32_t;
7601 }
7602 unsafe { _svcvt_f32_f64_m(inactive, pg.sve_into(), op) }
7603}
7604#[doc = "Floating-point convert"]
7605#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcvt_f32[_f64]_x)"]
7606#[inline]
7607#[target_feature(enable = "sve")]
7608#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7609#[cfg_attr(test, assert_instr(fcvt))]
7610pub fn svcvt_f32_f64_x(pg: svbool_t, op: svfloat64_t) -> svfloat32_t {
7611 unsafe { svcvt_f32_f64_m(transmute_unchecked(op), pg, op) }
7612}
7613#[doc = "Floating-point convert"]
7614#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcvt_f32[_f64]_z)"]
7615#[inline]
7616#[target_feature(enable = "sve")]
7617#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7618#[cfg_attr(test, assert_instr(fcvt))]
7619pub fn svcvt_f32_f64_z(pg: svbool_t, op: svfloat64_t) -> svfloat32_t {
7620 svcvt_f32_f64_m(svdup_n_f32(0.0), pg, op)
7621}
7622#[doc = "Floating-point convert"]
7623#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcvt_f64[_f32]_m)"]
7624#[inline]
7625#[target_feature(enable = "sve")]
7626#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7627#[cfg_attr(test, assert_instr(fcvt))]
7628pub fn svcvt_f64_f32_m(inactive: svfloat64_t, pg: svbool_t, op: svfloat32_t) -> svfloat64_t {
7629 unsafe extern "unadjusted" {
7630 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.fcvt.f64f32")]
7631 fn _svcvt_f64_f32_m(inactive: svfloat64_t, pg: svbool2_t, op: svfloat32_t) -> svfloat64_t;
7632 }
7633 unsafe { _svcvt_f64_f32_m(inactive, pg.sve_into(), op) }
7634}
7635#[doc = "Floating-point convert"]
7636#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcvt_f64[_f32]_x)"]
7637#[inline]
7638#[target_feature(enable = "sve")]
7639#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7640#[cfg_attr(test, assert_instr(fcvt))]
7641pub fn svcvt_f64_f32_x(pg: svbool_t, op: svfloat32_t) -> svfloat64_t {
7642 unsafe { svcvt_f64_f32_m(transmute_unchecked(op), pg, op) }
7643}
7644#[doc = "Floating-point convert"]
7645#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcvt_f64[_f32]_z)"]
7646#[inline]
7647#[target_feature(enable = "sve")]
7648#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7649#[cfg_attr(test, assert_instr(fcvt))]
7650pub fn svcvt_f64_f32_z(pg: svbool_t, op: svfloat32_t) -> svfloat64_t {
7651 svcvt_f64_f32_m(svdup_n_f64(0.0), pg, op)
7652}
7653#[doc = "Floating-point convert"]
7654#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcvt_f32[_s32]_m)"]
7655#[inline]
7656#[target_feature(enable = "sve")]
7657#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7658#[cfg_attr(test, assert_instr(scvtf))]
7659pub fn svcvt_f32_s32_m(inactive: svfloat32_t, pg: svbool_t, op: svint32_t) -> svfloat32_t {
7660 unsafe extern "unadjusted" {
7661 #[cfg_attr(
7662 target_arch = "aarch64",
7663 link_name = "llvm.aarch64.sve.scvtf.nxv4f32.nxv4i32"
7664 )]
7665 fn _svcvt_f32_s32_m(inactive: svfloat32_t, pg: svbool4_t, op: svint32_t) -> svfloat32_t;
7666 }
7667 unsafe { _svcvt_f32_s32_m(inactive, pg.sve_into(), op) }
7668}
7669#[doc = "Floating-point convert"]
7670#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcvt_f32[_s32]_x)"]
7671#[inline]
7672#[target_feature(enable = "sve")]
7673#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7674#[cfg_attr(test, assert_instr(scvtf))]
7675pub fn svcvt_f32_s32_x(pg: svbool_t, op: svint32_t) -> svfloat32_t {
7676 unsafe { svcvt_f32_s32_m(transmute_unchecked(op), pg, op) }
7677}
7678#[doc = "Floating-point convert"]
7679#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcvt_f32[_s32]_z)"]
7680#[inline]
7681#[target_feature(enable = "sve")]
7682#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7683#[cfg_attr(test, assert_instr(scvtf))]
7684pub fn svcvt_f32_s32_z(pg: svbool_t, op: svint32_t) -> svfloat32_t {
7685 svcvt_f32_s32_m(svdup_n_f32(0.0), pg, op)
7686}
7687#[doc = "Floating-point convert"]
7688#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcvt_f32[_u32]_m)"]
7689#[inline]
7690#[target_feature(enable = "sve")]
7691#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7692#[cfg_attr(test, assert_instr(ucvtf))]
7693pub fn svcvt_f32_u32_m(inactive: svfloat32_t, pg: svbool_t, op: svuint32_t) -> svfloat32_t {
7694 unsafe extern "unadjusted" {
7695 #[cfg_attr(
7696 target_arch = "aarch64",
7697 link_name = "llvm.aarch64.sve.ucvtf.nxv4f32.nxv4i32"
7698 )]
7699 fn _svcvt_f32_u32_m(inactive: svfloat32_t, pg: svbool4_t, op: svint32_t) -> svfloat32_t;
7700 }
7701 unsafe { _svcvt_f32_u32_m(inactive, pg.sve_into(), op.as_signed()) }
7702}
7703#[doc = "Floating-point convert"]
7704#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcvt_f32[_u32]_x)"]
7705#[inline]
7706#[target_feature(enable = "sve")]
7707#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7708#[cfg_attr(test, assert_instr(ucvtf))]
7709pub fn svcvt_f32_u32_x(pg: svbool_t, op: svuint32_t) -> svfloat32_t {
7710 unsafe { svcvt_f32_u32_m(transmute_unchecked(op), pg, op) }
7711}
7712#[doc = "Floating-point convert"]
7713#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcvt_f32[_u32]_z)"]
7714#[inline]
7715#[target_feature(enable = "sve")]
7716#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7717#[cfg_attr(test, assert_instr(ucvtf))]
7718pub fn svcvt_f32_u32_z(pg: svbool_t, op: svuint32_t) -> svfloat32_t {
7719 svcvt_f32_u32_m(svdup_n_f32(0.0), pg, op)
7720}
7721#[doc = "Floating-point convert"]
7722#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcvt_f64[_s64]_m)"]
7723#[inline]
7724#[target_feature(enable = "sve")]
7725#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7726#[cfg_attr(test, assert_instr(scvtf))]
7727pub fn svcvt_f64_s64_m(inactive: svfloat64_t, pg: svbool_t, op: svint64_t) -> svfloat64_t {
7728 unsafe extern "unadjusted" {
7729 #[cfg_attr(
7730 target_arch = "aarch64",
7731 link_name = "llvm.aarch64.sve.scvtf.nxv2f64.nxv2i64"
7732 )]
7733 fn _svcvt_f64_s64_m(inactive: svfloat64_t, pg: svbool2_t, op: svint64_t) -> svfloat64_t;
7734 }
7735 unsafe { _svcvt_f64_s64_m(inactive, pg.sve_into(), op) }
7736}
7737#[doc = "Floating-point convert"]
7738#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcvt_f64[_s64]_x)"]
7739#[inline]
7740#[target_feature(enable = "sve")]
7741#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7742#[cfg_attr(test, assert_instr(scvtf))]
7743pub fn svcvt_f64_s64_x(pg: svbool_t, op: svint64_t) -> svfloat64_t {
7744 unsafe { svcvt_f64_s64_m(transmute_unchecked(op), pg, op) }
7745}
7746#[doc = "Floating-point convert"]
7747#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcvt_f64[_s64]_z)"]
7748#[inline]
7749#[target_feature(enable = "sve")]
7750#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7751#[cfg_attr(test, assert_instr(scvtf))]
7752pub fn svcvt_f64_s64_z(pg: svbool_t, op: svint64_t) -> svfloat64_t {
7753 svcvt_f64_s64_m(svdup_n_f64(0.0), pg, op)
7754}
7755#[doc = "Floating-point convert"]
7756#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcvt_f64[_u64]_m)"]
7757#[inline]
7758#[target_feature(enable = "sve")]
7759#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7760#[cfg_attr(test, assert_instr(ucvtf))]
7761pub fn svcvt_f64_u64_m(inactive: svfloat64_t, pg: svbool_t, op: svuint64_t) -> svfloat64_t {
7762 unsafe extern "unadjusted" {
7763 #[cfg_attr(
7764 target_arch = "aarch64",
7765 link_name = "llvm.aarch64.sve.ucvtf.nxv2f64.nxv2i64"
7766 )]
7767 fn _svcvt_f64_u64_m(inactive: svfloat64_t, pg: svbool2_t, op: svint64_t) -> svfloat64_t;
7768 }
7769 unsafe { _svcvt_f64_u64_m(inactive, pg.sve_into(), op.as_signed()) }
7770}
7771#[doc = "Floating-point convert"]
7772#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcvt_f64[_u64]_x)"]
7773#[inline]
7774#[target_feature(enable = "sve")]
7775#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7776#[cfg_attr(test, assert_instr(ucvtf))]
7777pub fn svcvt_f64_u64_x(pg: svbool_t, op: svuint64_t) -> svfloat64_t {
7778 unsafe { svcvt_f64_u64_m(transmute_unchecked(op), pg, op) }
7779}
7780#[doc = "Floating-point convert"]
7781#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcvt_f64[_u64]_z)"]
7782#[inline]
7783#[target_feature(enable = "sve")]
7784#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7785#[cfg_attr(test, assert_instr(ucvtf))]
7786pub fn svcvt_f64_u64_z(pg: svbool_t, op: svuint64_t) -> svfloat64_t {
7787 svcvt_f64_u64_m(svdup_n_f64(0.0), pg, op)
7788}
7789#[doc = "Floating-point convert"]
7790#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcvt_f32[_s64]_m)"]
7791#[inline]
7792#[target_feature(enable = "sve")]
7793#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7794#[cfg_attr(test, assert_instr(scvtf))]
7795pub fn svcvt_f32_s64_m(inactive: svfloat32_t, pg: svbool_t, op: svint64_t) -> svfloat32_t {
7796 unsafe extern "unadjusted" {
7797 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.scvtf.f32i64")]
7798 fn _svcvt_f32_s64_m(inactive: svfloat32_t, pg: svbool2_t, op: svint64_t) -> svfloat32_t;
7799 }
7800 unsafe { _svcvt_f32_s64_m(inactive, pg.sve_into(), op) }
7801}
7802#[doc = "Floating-point convert"]
7803#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcvt_f32[_s64]_x)"]
7804#[inline]
7805#[target_feature(enable = "sve")]
7806#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7807#[cfg_attr(test, assert_instr(scvtf))]
7808pub fn svcvt_f32_s64_x(pg: svbool_t, op: svint64_t) -> svfloat32_t {
7809 unsafe { svcvt_f32_s64_m(transmute_unchecked(op), pg, op) }
7810}
7811#[doc = "Floating-point convert"]
7812#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcvt_f32[_s64]_z)"]
7813#[inline]
7814#[target_feature(enable = "sve")]
7815#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7816#[cfg_attr(test, assert_instr(scvtf))]
7817pub fn svcvt_f32_s64_z(pg: svbool_t, op: svint64_t) -> svfloat32_t {
7818 svcvt_f32_s64_m(svdup_n_f32(0.0), pg, op)
7819}
7820#[doc = "Floating-point convert"]
7821#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcvt_f32[_u64]_m)"]
7822#[inline]
7823#[target_feature(enable = "sve")]
7824#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7825#[cfg_attr(test, assert_instr(ucvtf))]
7826pub fn svcvt_f32_u64_m(inactive: svfloat32_t, pg: svbool_t, op: svuint64_t) -> svfloat32_t {
7827 unsafe extern "unadjusted" {
7828 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.ucvtf.f32i64")]
7829 fn _svcvt_f32_u64_m(inactive: svfloat32_t, pg: svbool2_t, op: svint64_t) -> svfloat32_t;
7830 }
7831 unsafe { _svcvt_f32_u64_m(inactive, pg.sve_into(), op.as_signed()) }
7832}
7833#[doc = "Floating-point convert"]
7834#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcvt_f32[_u64]_x)"]
7835#[inline]
7836#[target_feature(enable = "sve")]
7837#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7838#[cfg_attr(test, assert_instr(ucvtf))]
7839pub fn svcvt_f32_u64_x(pg: svbool_t, op: svuint64_t) -> svfloat32_t {
7840 unsafe { svcvt_f32_u64_m(transmute_unchecked(op), pg, op) }
7841}
7842#[doc = "Floating-point convert"]
7843#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcvt_f32[_u64]_z)"]
7844#[inline]
7845#[target_feature(enable = "sve")]
7846#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7847#[cfg_attr(test, assert_instr(ucvtf))]
7848pub fn svcvt_f32_u64_z(pg: svbool_t, op: svuint64_t) -> svfloat32_t {
7849 svcvt_f32_u64_m(svdup_n_f32(0.0), pg, op)
7850}
7851#[doc = "Floating-point convert"]
7852#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcvt_f64[_s32]_m)"]
7853#[inline]
7854#[target_feature(enable = "sve")]
7855#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7856#[cfg_attr(test, assert_instr(scvtf))]
7857pub fn svcvt_f64_s32_m(inactive: svfloat64_t, pg: svbool_t, op: svint32_t) -> svfloat64_t {
7858 unsafe extern "unadjusted" {
7859 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.scvtf.f64i32")]
7860 fn _svcvt_f64_s32_m(inactive: svfloat64_t, pg: svbool2_t, op: svint32_t) -> svfloat64_t;
7861 }
7862 unsafe { _svcvt_f64_s32_m(inactive, pg.sve_into(), op) }
7863}
7864#[doc = "Floating-point convert"]
7865#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcvt_f64[_s32]_x)"]
7866#[inline]
7867#[target_feature(enable = "sve")]
7868#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7869#[cfg_attr(test, assert_instr(scvtf))]
7870pub fn svcvt_f64_s32_x(pg: svbool_t, op: svint32_t) -> svfloat64_t {
7871 unsafe { svcvt_f64_s32_m(transmute_unchecked(op), pg, op) }
7872}
7873#[doc = "Floating-point convert"]
7874#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcvt_f64[_s32]_z)"]
7875#[inline]
7876#[target_feature(enable = "sve")]
7877#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7878#[cfg_attr(test, assert_instr(scvtf))]
7879pub fn svcvt_f64_s32_z(pg: svbool_t, op: svint32_t) -> svfloat64_t {
7880 svcvt_f64_s32_m(svdup_n_f64(0.0), pg, op)
7881}
7882#[doc = "Floating-point convert"]
7883#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcvt_f64[_u32]_m)"]
7884#[inline]
7885#[target_feature(enable = "sve")]
7886#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7887#[cfg_attr(test, assert_instr(ucvtf))]
7888pub fn svcvt_f64_u32_m(inactive: svfloat64_t, pg: svbool_t, op: svuint32_t) -> svfloat64_t {
7889 unsafe extern "unadjusted" {
7890 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.ucvtf.f64i32")]
7891 fn _svcvt_f64_u32_m(inactive: svfloat64_t, pg: svbool2_t, op: svint32_t) -> svfloat64_t;
7892 }
7893 unsafe { _svcvt_f64_u32_m(inactive, pg.sve_into(), op.as_signed()) }
7894}
7895#[doc = "Floating-point convert"]
7896#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcvt_f64[_u32]_x)"]
7897#[inline]
7898#[target_feature(enable = "sve")]
7899#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7900#[cfg_attr(test, assert_instr(ucvtf))]
7901pub fn svcvt_f64_u32_x(pg: svbool_t, op: svuint32_t) -> svfloat64_t {
7902 unsafe { svcvt_f64_u32_m(transmute_unchecked(op), pg, op) }
7903}
7904#[doc = "Floating-point convert"]
7905#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcvt_f64[_u32]_z)"]
7906#[inline]
7907#[target_feature(enable = "sve")]
7908#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7909#[cfg_attr(test, assert_instr(ucvtf))]
7910pub fn svcvt_f64_u32_z(pg: svbool_t, op: svuint32_t) -> svfloat64_t {
7911 svcvt_f64_u32_m(svdup_n_f64(0.0), pg, op)
7912}
7913#[doc = "Floating-point convert"]
7914#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcvt_s32[_f32]_m)"]
7915#[inline]
7916#[target_feature(enable = "sve")]
7917#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7918#[cfg_attr(test, assert_instr(fcvtzs))]
7919pub fn svcvt_s32_f32_m(inactive: svint32_t, pg: svbool_t, op: svfloat32_t) -> svint32_t {
7920 unsafe extern "unadjusted" {
7921 #[cfg_attr(
7922 target_arch = "aarch64",
7923 link_name = "llvm.aarch64.sve.fcvtzs.nxv4i32.nxv4f32"
7924 )]
7925 fn _svcvt_s32_f32_m(inactive: svint32_t, pg: svbool4_t, op: svfloat32_t) -> svint32_t;
7926 }
7927 unsafe { _svcvt_s32_f32_m(inactive, pg.sve_into(), op) }
7928}
7929#[doc = "Floating-point convert"]
7930#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcvt_s32[_f32]_x)"]
7931#[inline]
7932#[target_feature(enable = "sve")]
7933#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7934#[cfg_attr(test, assert_instr(fcvtzs))]
7935pub fn svcvt_s32_f32_x(pg: svbool_t, op: svfloat32_t) -> svint32_t {
7936 unsafe { svcvt_s32_f32_m(transmute_unchecked(op), pg, op) }
7937}
7938#[doc = "Floating-point convert"]
7939#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcvt_s32[_f32]_z)"]
7940#[inline]
7941#[target_feature(enable = "sve")]
7942#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7943#[cfg_attr(test, assert_instr(fcvtzs))]
7944pub fn svcvt_s32_f32_z(pg: svbool_t, op: svfloat32_t) -> svint32_t {
7945 svcvt_s32_f32_m(svdup_n_s32(0), pg, op)
7946}
7947#[doc = "Floating-point convert"]
7948#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcvt_s64[_f64]_m)"]
7949#[inline]
7950#[target_feature(enable = "sve")]
7951#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7952#[cfg_attr(test, assert_instr(fcvtzs))]
7953pub fn svcvt_s64_f64_m(inactive: svint64_t, pg: svbool_t, op: svfloat64_t) -> svint64_t {
7954 unsafe extern "unadjusted" {
7955 #[cfg_attr(
7956 target_arch = "aarch64",
7957 link_name = "llvm.aarch64.sve.fcvtzs.nxv2i64.nxv2f64"
7958 )]
7959 fn _svcvt_s64_f64_m(inactive: svint64_t, pg: svbool2_t, op: svfloat64_t) -> svint64_t;
7960 }
7961 unsafe { _svcvt_s64_f64_m(inactive, pg.sve_into(), op) }
7962}
7963#[doc = "Floating-point convert"]
7964#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcvt_s64[_f64]_x)"]
7965#[inline]
7966#[target_feature(enable = "sve")]
7967#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7968#[cfg_attr(test, assert_instr(fcvtzs))]
7969pub fn svcvt_s64_f64_x(pg: svbool_t, op: svfloat64_t) -> svint64_t {
7970 unsafe { svcvt_s64_f64_m(transmute_unchecked(op), pg, op) }
7971}
7972#[doc = "Floating-point convert"]
7973#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcvt_s64[_f64]_z)"]
7974#[inline]
7975#[target_feature(enable = "sve")]
7976#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7977#[cfg_attr(test, assert_instr(fcvtzs))]
7978pub fn svcvt_s64_f64_z(pg: svbool_t, op: svfloat64_t) -> svint64_t {
7979 svcvt_s64_f64_m(svdup_n_s64(0), pg, op)
7980}
7981#[doc = "Floating-point convert"]
7982#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcvt_u32[_f32]_m)"]
7983#[inline]
7984#[target_feature(enable = "sve")]
7985#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
7986#[cfg_attr(test, assert_instr(fcvtzu))]
7987pub fn svcvt_u32_f32_m(inactive: svuint32_t, pg: svbool_t, op: svfloat32_t) -> svuint32_t {
7988 unsafe extern "unadjusted" {
7989 #[cfg_attr(
7990 target_arch = "aarch64",
7991 link_name = "llvm.aarch64.sve.fcvtzu.nxv4i32.nxv4f32"
7992 )]
7993 fn _svcvt_u32_f32_m(inactive: svint32_t, pg: svbool4_t, op: svfloat32_t) -> svint32_t;
7994 }
7995 unsafe { _svcvt_u32_f32_m(inactive.as_signed(), pg.sve_into(), op).as_unsigned() }
7996}
7997#[doc = "Floating-point convert"]
7998#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcvt_u32[_f32]_x)"]
7999#[inline]
8000#[target_feature(enable = "sve")]
8001#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8002#[cfg_attr(test, assert_instr(fcvtzu))]
8003pub fn svcvt_u32_f32_x(pg: svbool_t, op: svfloat32_t) -> svuint32_t {
8004 unsafe { svcvt_u32_f32_m(transmute_unchecked(op), pg, op) }
8005}
8006#[doc = "Floating-point convert"]
8007#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcvt_u32[_f32]_z)"]
8008#[inline]
8009#[target_feature(enable = "sve")]
8010#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8011#[cfg_attr(test, assert_instr(fcvtzu))]
8012pub fn svcvt_u32_f32_z(pg: svbool_t, op: svfloat32_t) -> svuint32_t {
8013 svcvt_u32_f32_m(svdup_n_u32(0), pg, op)
8014}
8015#[doc = "Floating-point convert"]
8016#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcvt_u64[_f64]_m)"]
8017#[inline]
8018#[target_feature(enable = "sve")]
8019#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8020#[cfg_attr(test, assert_instr(fcvtzu))]
8021pub fn svcvt_u64_f64_m(inactive: svuint64_t, pg: svbool_t, op: svfloat64_t) -> svuint64_t {
8022 unsafe extern "unadjusted" {
8023 #[cfg_attr(
8024 target_arch = "aarch64",
8025 link_name = "llvm.aarch64.sve.fcvtzu.nxv2i64.nxv2f64"
8026 )]
8027 fn _svcvt_u64_f64_m(inactive: svint64_t, pg: svbool2_t, op: svfloat64_t) -> svint64_t;
8028 }
8029 unsafe { _svcvt_u64_f64_m(inactive.as_signed(), pg.sve_into(), op).as_unsigned() }
8030}
8031#[doc = "Floating-point convert"]
8032#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcvt_u64[_f64]_x)"]
8033#[inline]
8034#[target_feature(enable = "sve")]
8035#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8036#[cfg_attr(test, assert_instr(fcvtzu))]
8037pub fn svcvt_u64_f64_x(pg: svbool_t, op: svfloat64_t) -> svuint64_t {
8038 unsafe { svcvt_u64_f64_m(transmute_unchecked(op), pg, op) }
8039}
8040#[doc = "Floating-point convert"]
8041#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcvt_u64[_f64]_z)"]
8042#[inline]
8043#[target_feature(enable = "sve")]
8044#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8045#[cfg_attr(test, assert_instr(fcvtzu))]
8046pub fn svcvt_u64_f64_z(pg: svbool_t, op: svfloat64_t) -> svuint64_t {
8047 svcvt_u64_f64_m(svdup_n_u64(0), pg, op)
8048}
8049#[doc = "Floating-point convert"]
8050#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcvt_s32[_f64]_m)"]
8051#[inline]
8052#[target_feature(enable = "sve")]
8053#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8054#[cfg_attr(test, assert_instr(fcvtzs))]
8055pub fn svcvt_s32_f64_m(inactive: svint32_t, pg: svbool_t, op: svfloat64_t) -> svint32_t {
8056 unsafe extern "unadjusted" {
8057 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.fcvtzs.i32f64")]
8058 fn _svcvt_s32_f64_m(inactive: svint32_t, pg: svbool2_t, op: svfloat64_t) -> svint32_t;
8059 }
8060 unsafe { _svcvt_s32_f64_m(inactive, pg.sve_into(), op) }
8061}
8062#[doc = "Floating-point convert"]
8063#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcvt_s32[_f64]_x)"]
8064#[inline]
8065#[target_feature(enable = "sve")]
8066#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8067#[cfg_attr(test, assert_instr(fcvtzs))]
8068pub fn svcvt_s32_f64_x(pg: svbool_t, op: svfloat64_t) -> svint32_t {
8069 unsafe { svcvt_s32_f64_m(transmute_unchecked(op), pg, op) }
8070}
8071#[doc = "Floating-point convert"]
8072#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcvt_s32[_f64]_z)"]
8073#[inline]
8074#[target_feature(enable = "sve")]
8075#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8076#[cfg_attr(test, assert_instr(fcvtzs))]
8077pub fn svcvt_s32_f64_z(pg: svbool_t, op: svfloat64_t) -> svint32_t {
8078 svcvt_s32_f64_m(svdup_n_s32(0), pg, op)
8079}
8080#[doc = "Floating-point convert"]
8081#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcvt_s64[_f32]_m)"]
8082#[inline]
8083#[target_feature(enable = "sve")]
8084#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8085#[cfg_attr(test, assert_instr(fcvtzs))]
8086pub fn svcvt_s64_f32_m(inactive: svint64_t, pg: svbool_t, op: svfloat32_t) -> svint64_t {
8087 unsafe extern "unadjusted" {
8088 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.fcvtzs.i64f32")]
8089 fn _svcvt_s64_f32_m(inactive: svint64_t, pg: svbool2_t, op: svfloat32_t) -> svint64_t;
8090 }
8091 unsafe { _svcvt_s64_f32_m(inactive, pg.sve_into(), op) }
8092}
8093#[doc = "Floating-point convert"]
8094#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcvt_s64[_f32]_x)"]
8095#[inline]
8096#[target_feature(enable = "sve")]
8097#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8098#[cfg_attr(test, assert_instr(fcvtzs))]
8099pub fn svcvt_s64_f32_x(pg: svbool_t, op: svfloat32_t) -> svint64_t {
8100 unsafe { svcvt_s64_f32_m(transmute_unchecked(op), pg, op) }
8101}
8102#[doc = "Floating-point convert"]
8103#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcvt_s64[_f32]_z)"]
8104#[inline]
8105#[target_feature(enable = "sve")]
8106#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8107#[cfg_attr(test, assert_instr(fcvtzs))]
8108pub fn svcvt_s64_f32_z(pg: svbool_t, op: svfloat32_t) -> svint64_t {
8109 svcvt_s64_f32_m(svdup_n_s64(0), pg, op)
8110}
8111#[doc = "Floating-point convert"]
8112#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcvt_u32[_f64]_m)"]
8113#[inline]
8114#[target_feature(enable = "sve")]
8115#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8116#[cfg_attr(test, assert_instr(fcvtzu))]
8117pub fn svcvt_u32_f64_m(inactive: svuint32_t, pg: svbool_t, op: svfloat64_t) -> svuint32_t {
8118 unsafe extern "unadjusted" {
8119 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.fcvtzu.i32f64")]
8120 fn _svcvt_u32_f64_m(inactive: svint32_t, pg: svbool2_t, op: svfloat64_t) -> svint32_t;
8121 }
8122 unsafe { _svcvt_u32_f64_m(inactive.as_signed(), pg.sve_into(), op).as_unsigned() }
8123}
8124#[doc = "Floating-point convert"]
8125#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcvt_u32[_f64]_x)"]
8126#[inline]
8127#[target_feature(enable = "sve")]
8128#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8129#[cfg_attr(test, assert_instr(fcvtzu))]
8130pub fn svcvt_u32_f64_x(pg: svbool_t, op: svfloat64_t) -> svuint32_t {
8131 unsafe { svcvt_u32_f64_m(transmute_unchecked(op), pg, op) }
8132}
8133#[doc = "Floating-point convert"]
8134#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcvt_u32[_f64]_z)"]
8135#[inline]
8136#[target_feature(enable = "sve")]
8137#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8138#[cfg_attr(test, assert_instr(fcvtzu))]
8139pub fn svcvt_u32_f64_z(pg: svbool_t, op: svfloat64_t) -> svuint32_t {
8140 svcvt_u32_f64_m(svdup_n_u32(0), pg, op)
8141}
8142#[doc = "Floating-point convert"]
8143#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcvt_u64[_f32]_m)"]
8144#[inline]
8145#[target_feature(enable = "sve")]
8146#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8147#[cfg_attr(test, assert_instr(fcvtzu))]
8148pub fn svcvt_u64_f32_m(inactive: svuint64_t, pg: svbool_t, op: svfloat32_t) -> svuint64_t {
8149 unsafe extern "unadjusted" {
8150 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.fcvtzu.i64f32")]
8151 fn _svcvt_u64_f32_m(inactive: svint64_t, pg: svbool2_t, op: svfloat32_t) -> svint64_t;
8152 }
8153 unsafe { _svcvt_u64_f32_m(inactive.as_signed(), pg.sve_into(), op).as_unsigned() }
8154}
8155#[doc = "Floating-point convert"]
8156#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcvt_u64[_f32]_x)"]
8157#[inline]
8158#[target_feature(enable = "sve")]
8159#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8160#[cfg_attr(test, assert_instr(fcvtzu))]
8161pub fn svcvt_u64_f32_x(pg: svbool_t, op: svfloat32_t) -> svuint64_t {
8162 unsafe { svcvt_u64_f32_m(transmute_unchecked(op), pg, op) }
8163}
8164#[doc = "Floating-point convert"]
8165#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svcvt_u64[_f32]_z)"]
8166#[inline]
8167#[target_feature(enable = "sve")]
8168#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8169#[cfg_attr(test, assert_instr(fcvtzu))]
8170pub fn svcvt_u64_f32_z(pg: svbool_t, op: svfloat32_t) -> svuint64_t {
8171 svcvt_u64_f32_m(svdup_n_u64(0), pg, op)
8172}
8173#[doc = "Divide"]
8174#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdiv[_f32]_m)"]
8175#[inline]
8176#[target_feature(enable = "sve")]
8177#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8178#[cfg_attr(test, assert_instr(fdiv))]
8179pub fn svdiv_f32_m(pg: svbool_t, op1: svfloat32_t, op2: svfloat32_t) -> svfloat32_t {
8180 unsafe extern "unadjusted" {
8181 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.fdiv.nxv4f32")]
8182 fn _svdiv_f32_m(pg: svbool4_t, op1: svfloat32_t, op2: svfloat32_t) -> svfloat32_t;
8183 }
8184 unsafe { _svdiv_f32_m(pg.sve_into(), op1, op2) }
8185}
8186#[doc = "Divide"]
8187#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdiv[_n_f32]_m)"]
8188#[inline]
8189#[target_feature(enable = "sve")]
8190#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8191#[cfg_attr(test, assert_instr(fdiv))]
8192pub fn svdiv_n_f32_m(pg: svbool_t, op1: svfloat32_t, op2: f32) -> svfloat32_t {
8193 svdiv_f32_m(pg, op1, svdup_n_f32(op2))
8194}
8195#[doc = "Divide"]
8196#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdiv[_f32]_x)"]
8197#[inline]
8198#[target_feature(enable = "sve")]
8199#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8200#[cfg_attr(test, assert_instr(fdiv))]
8201pub fn svdiv_f32_x(pg: svbool_t, op1: svfloat32_t, op2: svfloat32_t) -> svfloat32_t {
8202 svdiv_f32_m(pg, op1, op2)
8203}
8204#[doc = "Divide"]
8205#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdiv[_n_f32]_x)"]
8206#[inline]
8207#[target_feature(enable = "sve")]
8208#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8209#[cfg_attr(test, assert_instr(fdiv))]
8210pub fn svdiv_n_f32_x(pg: svbool_t, op1: svfloat32_t, op2: f32) -> svfloat32_t {
8211 svdiv_f32_x(pg, op1, svdup_n_f32(op2))
8212}
8213#[doc = "Divide"]
8214#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdiv[_f32]_z)"]
8215#[inline]
8216#[target_feature(enable = "sve")]
8217#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8218#[cfg_attr(test, assert_instr(fdiv))]
8219pub fn svdiv_f32_z(pg: svbool_t, op1: svfloat32_t, op2: svfloat32_t) -> svfloat32_t {
8220 svdiv_f32_m(pg, svsel_f32(pg, op1, svdup_n_f32(0.0)), op2)
8221}
8222#[doc = "Divide"]
8223#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdiv[_n_f32]_z)"]
8224#[inline]
8225#[target_feature(enable = "sve")]
8226#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8227#[cfg_attr(test, assert_instr(fdiv))]
8228pub fn svdiv_n_f32_z(pg: svbool_t, op1: svfloat32_t, op2: f32) -> svfloat32_t {
8229 svdiv_f32_z(pg, op1, svdup_n_f32(op2))
8230}
8231#[doc = "Divide"]
8232#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdiv[_f64]_m)"]
8233#[inline]
8234#[target_feature(enable = "sve")]
8235#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8236#[cfg_attr(test, assert_instr(fdiv))]
8237pub fn svdiv_f64_m(pg: svbool_t, op1: svfloat64_t, op2: svfloat64_t) -> svfloat64_t {
8238 unsafe extern "unadjusted" {
8239 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.fdiv.nxv2f64")]
8240 fn _svdiv_f64_m(pg: svbool2_t, op1: svfloat64_t, op2: svfloat64_t) -> svfloat64_t;
8241 }
8242 unsafe { _svdiv_f64_m(pg.sve_into(), op1, op2) }
8243}
8244#[doc = "Divide"]
8245#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdiv[_n_f64]_m)"]
8246#[inline]
8247#[target_feature(enable = "sve")]
8248#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8249#[cfg_attr(test, assert_instr(fdiv))]
8250pub fn svdiv_n_f64_m(pg: svbool_t, op1: svfloat64_t, op2: f64) -> svfloat64_t {
8251 svdiv_f64_m(pg, op1, svdup_n_f64(op2))
8252}
8253#[doc = "Divide"]
8254#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdiv[_f64]_x)"]
8255#[inline]
8256#[target_feature(enable = "sve")]
8257#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8258#[cfg_attr(test, assert_instr(fdiv))]
8259pub fn svdiv_f64_x(pg: svbool_t, op1: svfloat64_t, op2: svfloat64_t) -> svfloat64_t {
8260 svdiv_f64_m(pg, op1, op2)
8261}
8262#[doc = "Divide"]
8263#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdiv[_n_f64]_x)"]
8264#[inline]
8265#[target_feature(enable = "sve")]
8266#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8267#[cfg_attr(test, assert_instr(fdiv))]
8268pub fn svdiv_n_f64_x(pg: svbool_t, op1: svfloat64_t, op2: f64) -> svfloat64_t {
8269 svdiv_f64_x(pg, op1, svdup_n_f64(op2))
8270}
8271#[doc = "Divide"]
8272#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdiv[_f64]_z)"]
8273#[inline]
8274#[target_feature(enable = "sve")]
8275#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8276#[cfg_attr(test, assert_instr(fdiv))]
8277pub fn svdiv_f64_z(pg: svbool_t, op1: svfloat64_t, op2: svfloat64_t) -> svfloat64_t {
8278 svdiv_f64_m(pg, svsel_f64(pg, op1, svdup_n_f64(0.0)), op2)
8279}
8280#[doc = "Divide"]
8281#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdiv[_n_f64]_z)"]
8282#[inline]
8283#[target_feature(enable = "sve")]
8284#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8285#[cfg_attr(test, assert_instr(fdiv))]
8286pub fn svdiv_n_f64_z(pg: svbool_t, op1: svfloat64_t, op2: f64) -> svfloat64_t {
8287 svdiv_f64_z(pg, op1, svdup_n_f64(op2))
8288}
8289#[doc = "Divide"]
8290#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdiv[_s32]_m)"]
8291#[inline]
8292#[target_feature(enable = "sve")]
8293#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8294#[cfg_attr(test, assert_instr(sdiv))]
8295pub fn svdiv_s32_m(pg: svbool_t, op1: svint32_t, op2: svint32_t) -> svint32_t {
8296 unsafe extern "unadjusted" {
8297 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.sdiv.nxv4i32")]
8298 fn _svdiv_s32_m(pg: svbool4_t, op1: svint32_t, op2: svint32_t) -> svint32_t;
8299 }
8300 unsafe { _svdiv_s32_m(pg.sve_into(), op1, op2) }
8301}
8302#[doc = "Divide"]
8303#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdiv[_n_s32]_m)"]
8304#[inline]
8305#[target_feature(enable = "sve")]
8306#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8307#[cfg_attr(test, assert_instr(sdiv))]
8308pub fn svdiv_n_s32_m(pg: svbool_t, op1: svint32_t, op2: i32) -> svint32_t {
8309 svdiv_s32_m(pg, op1, svdup_n_s32(op2))
8310}
8311#[doc = "Divide"]
8312#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdiv[_s32]_x)"]
8313#[inline]
8314#[target_feature(enable = "sve")]
8315#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8316#[cfg_attr(test, assert_instr(sdiv))]
8317pub fn svdiv_s32_x(pg: svbool_t, op1: svint32_t, op2: svint32_t) -> svint32_t {
8318 svdiv_s32_m(pg, op1, op2)
8319}
8320#[doc = "Divide"]
8321#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdiv[_n_s32]_x)"]
8322#[inline]
8323#[target_feature(enable = "sve")]
8324#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8325#[cfg_attr(test, assert_instr(sdiv))]
8326pub fn svdiv_n_s32_x(pg: svbool_t, op1: svint32_t, op2: i32) -> svint32_t {
8327 svdiv_s32_x(pg, op1, svdup_n_s32(op2))
8328}
8329#[doc = "Divide"]
8330#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdiv[_s32]_z)"]
8331#[inline]
8332#[target_feature(enable = "sve")]
8333#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8334#[cfg_attr(test, assert_instr(sdiv))]
8335pub fn svdiv_s32_z(pg: svbool_t, op1: svint32_t, op2: svint32_t) -> svint32_t {
8336 svdiv_s32_m(pg, svsel_s32(pg, op1, svdup_n_s32(0)), op2)
8337}
8338#[doc = "Divide"]
8339#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdiv[_n_s32]_z)"]
8340#[inline]
8341#[target_feature(enable = "sve")]
8342#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8343#[cfg_attr(test, assert_instr(sdiv))]
8344pub fn svdiv_n_s32_z(pg: svbool_t, op1: svint32_t, op2: i32) -> svint32_t {
8345 svdiv_s32_z(pg, op1, svdup_n_s32(op2))
8346}
8347#[doc = "Divide"]
8348#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdiv[_s64]_m)"]
8349#[inline]
8350#[target_feature(enable = "sve")]
8351#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8352#[cfg_attr(test, assert_instr(sdiv))]
8353pub fn svdiv_s64_m(pg: svbool_t, op1: svint64_t, op2: svint64_t) -> svint64_t {
8354 unsafe extern "unadjusted" {
8355 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.sdiv.nxv2i64")]
8356 fn _svdiv_s64_m(pg: svbool2_t, op1: svint64_t, op2: svint64_t) -> svint64_t;
8357 }
8358 unsafe { _svdiv_s64_m(pg.sve_into(), op1, op2) }
8359}
8360#[doc = "Divide"]
8361#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdiv[_n_s64]_m)"]
8362#[inline]
8363#[target_feature(enable = "sve")]
8364#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8365#[cfg_attr(test, assert_instr(sdiv))]
8366pub fn svdiv_n_s64_m(pg: svbool_t, op1: svint64_t, op2: i64) -> svint64_t {
8367 svdiv_s64_m(pg, op1, svdup_n_s64(op2))
8368}
8369#[doc = "Divide"]
8370#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdiv[_s64]_x)"]
8371#[inline]
8372#[target_feature(enable = "sve")]
8373#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8374#[cfg_attr(test, assert_instr(sdiv))]
8375pub fn svdiv_s64_x(pg: svbool_t, op1: svint64_t, op2: svint64_t) -> svint64_t {
8376 svdiv_s64_m(pg, op1, op2)
8377}
8378#[doc = "Divide"]
8379#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdiv[_n_s64]_x)"]
8380#[inline]
8381#[target_feature(enable = "sve")]
8382#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8383#[cfg_attr(test, assert_instr(sdiv))]
8384pub fn svdiv_n_s64_x(pg: svbool_t, op1: svint64_t, op2: i64) -> svint64_t {
8385 svdiv_s64_x(pg, op1, svdup_n_s64(op2))
8386}
8387#[doc = "Divide"]
8388#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdiv[_s64]_z)"]
8389#[inline]
8390#[target_feature(enable = "sve")]
8391#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8392#[cfg_attr(test, assert_instr(sdiv))]
8393pub fn svdiv_s64_z(pg: svbool_t, op1: svint64_t, op2: svint64_t) -> svint64_t {
8394 svdiv_s64_m(pg, svsel_s64(pg, op1, svdup_n_s64(0)), op2)
8395}
8396#[doc = "Divide"]
8397#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdiv[_n_s64]_z)"]
8398#[inline]
8399#[target_feature(enable = "sve")]
8400#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8401#[cfg_attr(test, assert_instr(sdiv))]
8402pub fn svdiv_n_s64_z(pg: svbool_t, op1: svint64_t, op2: i64) -> svint64_t {
8403 svdiv_s64_z(pg, op1, svdup_n_s64(op2))
8404}
8405#[doc = "Divide"]
8406#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdiv[_u32]_m)"]
8407#[inline]
8408#[target_feature(enable = "sve")]
8409#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8410#[cfg_attr(test, assert_instr(udiv))]
8411pub fn svdiv_u32_m(pg: svbool_t, op1: svuint32_t, op2: svuint32_t) -> svuint32_t {
8412 unsafe extern "unadjusted" {
8413 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.udiv.nxv4i32")]
8414 fn _svdiv_u32_m(pg: svbool4_t, op1: svint32_t, op2: svint32_t) -> svint32_t;
8415 }
8416 unsafe { _svdiv_u32_m(pg.sve_into(), op1.as_signed(), op2.as_signed()).as_unsigned() }
8417}
8418#[doc = "Divide"]
8419#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdiv[_n_u32]_m)"]
8420#[inline]
8421#[target_feature(enable = "sve")]
8422#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8423#[cfg_attr(test, assert_instr(udiv))]
8424pub fn svdiv_n_u32_m(pg: svbool_t, op1: svuint32_t, op2: u32) -> svuint32_t {
8425 svdiv_u32_m(pg, op1, svdup_n_u32(op2))
8426}
8427#[doc = "Divide"]
8428#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdiv[_u32]_x)"]
8429#[inline]
8430#[target_feature(enable = "sve")]
8431#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8432#[cfg_attr(test, assert_instr(udiv))]
8433pub fn svdiv_u32_x(pg: svbool_t, op1: svuint32_t, op2: svuint32_t) -> svuint32_t {
8434 svdiv_u32_m(pg, op1, op2)
8435}
8436#[doc = "Divide"]
8437#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdiv[_n_u32]_x)"]
8438#[inline]
8439#[target_feature(enable = "sve")]
8440#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8441#[cfg_attr(test, assert_instr(udiv))]
8442pub fn svdiv_n_u32_x(pg: svbool_t, op1: svuint32_t, op2: u32) -> svuint32_t {
8443 svdiv_u32_x(pg, op1, svdup_n_u32(op2))
8444}
8445#[doc = "Divide"]
8446#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdiv[_u32]_z)"]
8447#[inline]
8448#[target_feature(enable = "sve")]
8449#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8450#[cfg_attr(test, assert_instr(udiv))]
8451pub fn svdiv_u32_z(pg: svbool_t, op1: svuint32_t, op2: svuint32_t) -> svuint32_t {
8452 svdiv_u32_m(pg, svsel_u32(pg, op1, svdup_n_u32(0)), op2)
8453}
8454#[doc = "Divide"]
8455#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdiv[_n_u32]_z)"]
8456#[inline]
8457#[target_feature(enable = "sve")]
8458#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8459#[cfg_attr(test, assert_instr(udiv))]
8460pub fn svdiv_n_u32_z(pg: svbool_t, op1: svuint32_t, op2: u32) -> svuint32_t {
8461 svdiv_u32_z(pg, op1, svdup_n_u32(op2))
8462}
8463#[doc = "Divide"]
8464#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdiv[_u64]_m)"]
8465#[inline]
8466#[target_feature(enable = "sve")]
8467#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8468#[cfg_attr(test, assert_instr(udiv))]
8469pub fn svdiv_u64_m(pg: svbool_t, op1: svuint64_t, op2: svuint64_t) -> svuint64_t {
8470 unsafe extern "unadjusted" {
8471 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.udiv.nxv2i64")]
8472 fn _svdiv_u64_m(pg: svbool2_t, op1: svint64_t, op2: svint64_t) -> svint64_t;
8473 }
8474 unsafe { _svdiv_u64_m(pg.sve_into(), op1.as_signed(), op2.as_signed()).as_unsigned() }
8475}
8476#[doc = "Divide"]
8477#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdiv[_n_u64]_m)"]
8478#[inline]
8479#[target_feature(enable = "sve")]
8480#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8481#[cfg_attr(test, assert_instr(udiv))]
8482pub fn svdiv_n_u64_m(pg: svbool_t, op1: svuint64_t, op2: u64) -> svuint64_t {
8483 svdiv_u64_m(pg, op1, svdup_n_u64(op2))
8484}
8485#[doc = "Divide"]
8486#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdiv[_u64]_x)"]
8487#[inline]
8488#[target_feature(enable = "sve")]
8489#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8490#[cfg_attr(test, assert_instr(udiv))]
8491pub fn svdiv_u64_x(pg: svbool_t, op1: svuint64_t, op2: svuint64_t) -> svuint64_t {
8492 svdiv_u64_m(pg, op1, op2)
8493}
8494#[doc = "Divide"]
8495#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdiv[_n_u64]_x)"]
8496#[inline]
8497#[target_feature(enable = "sve")]
8498#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8499#[cfg_attr(test, assert_instr(udiv))]
8500pub fn svdiv_n_u64_x(pg: svbool_t, op1: svuint64_t, op2: u64) -> svuint64_t {
8501 svdiv_u64_x(pg, op1, svdup_n_u64(op2))
8502}
8503#[doc = "Divide"]
8504#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdiv[_u64]_z)"]
8505#[inline]
8506#[target_feature(enable = "sve")]
8507#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8508#[cfg_attr(test, assert_instr(udiv))]
8509pub fn svdiv_u64_z(pg: svbool_t, op1: svuint64_t, op2: svuint64_t) -> svuint64_t {
8510 svdiv_u64_m(pg, svsel_u64(pg, op1, svdup_n_u64(0)), op2)
8511}
8512#[doc = "Divide"]
8513#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdiv[_n_u64]_z)"]
8514#[inline]
8515#[target_feature(enable = "sve")]
8516#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8517#[cfg_attr(test, assert_instr(udiv))]
8518pub fn svdiv_n_u64_z(pg: svbool_t, op1: svuint64_t, op2: u64) -> svuint64_t {
8519 svdiv_u64_z(pg, op1, svdup_n_u64(op2))
8520}
8521#[doc = "Divide reversed"]
8522#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdivr[_f32]_m)"]
8523#[inline]
8524#[target_feature(enable = "sve")]
8525#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8526#[cfg_attr(test, assert_instr(fdivr))]
8527pub fn svdivr_f32_m(pg: svbool_t, op1: svfloat32_t, op2: svfloat32_t) -> svfloat32_t {
8528 unsafe extern "unadjusted" {
8529 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.fdivr.nxv4f32")]
8530 fn _svdivr_f32_m(pg: svbool4_t, op1: svfloat32_t, op2: svfloat32_t) -> svfloat32_t;
8531 }
8532 unsafe { _svdivr_f32_m(pg.sve_into(), op1, op2) }
8533}
8534#[doc = "Divide reversed"]
8535#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdivr[_n_f32]_m)"]
8536#[inline]
8537#[target_feature(enable = "sve")]
8538#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8539#[cfg_attr(test, assert_instr(fdivr))]
8540pub fn svdivr_n_f32_m(pg: svbool_t, op1: svfloat32_t, op2: f32) -> svfloat32_t {
8541 svdivr_f32_m(pg, op1, svdup_n_f32(op2))
8542}
8543#[doc = "Divide reversed"]
8544#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdivr[_f32]_x)"]
8545#[inline]
8546#[target_feature(enable = "sve")]
8547#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8548#[cfg_attr(test, assert_instr(fdivr))]
8549pub fn svdivr_f32_x(pg: svbool_t, op1: svfloat32_t, op2: svfloat32_t) -> svfloat32_t {
8550 svdivr_f32_m(pg, op1, op2)
8551}
8552#[doc = "Divide reversed"]
8553#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdivr[_n_f32]_x)"]
8554#[inline]
8555#[target_feature(enable = "sve")]
8556#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8557#[cfg_attr(test, assert_instr(fdivr))]
8558pub fn svdivr_n_f32_x(pg: svbool_t, op1: svfloat32_t, op2: f32) -> svfloat32_t {
8559 svdivr_f32_x(pg, op1, svdup_n_f32(op2))
8560}
8561#[doc = "Divide reversed"]
8562#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdivr[_f32]_z)"]
8563#[inline]
8564#[target_feature(enable = "sve")]
8565#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8566#[cfg_attr(test, assert_instr(fdivr))]
8567pub fn svdivr_f32_z(pg: svbool_t, op1: svfloat32_t, op2: svfloat32_t) -> svfloat32_t {
8568 svdivr_f32_m(pg, svsel_f32(pg, op1, svdup_n_f32(0.0)), op2)
8569}
8570#[doc = "Divide reversed"]
8571#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdivr[_n_f32]_z)"]
8572#[inline]
8573#[target_feature(enable = "sve")]
8574#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8575#[cfg_attr(test, assert_instr(fdivr))]
8576pub fn svdivr_n_f32_z(pg: svbool_t, op1: svfloat32_t, op2: f32) -> svfloat32_t {
8577 svdivr_f32_z(pg, op1, svdup_n_f32(op2))
8578}
8579#[doc = "Divide reversed"]
8580#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdivr[_f64]_m)"]
8581#[inline]
8582#[target_feature(enable = "sve")]
8583#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8584#[cfg_attr(test, assert_instr(fdivr))]
8585pub fn svdivr_f64_m(pg: svbool_t, op1: svfloat64_t, op2: svfloat64_t) -> svfloat64_t {
8586 unsafe extern "unadjusted" {
8587 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.fdivr.nxv2f64")]
8588 fn _svdivr_f64_m(pg: svbool2_t, op1: svfloat64_t, op2: svfloat64_t) -> svfloat64_t;
8589 }
8590 unsafe { _svdivr_f64_m(pg.sve_into(), op1, op2) }
8591}
8592#[doc = "Divide reversed"]
8593#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdivr[_n_f64]_m)"]
8594#[inline]
8595#[target_feature(enable = "sve")]
8596#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8597#[cfg_attr(test, assert_instr(fdivr))]
8598pub fn svdivr_n_f64_m(pg: svbool_t, op1: svfloat64_t, op2: f64) -> svfloat64_t {
8599 svdivr_f64_m(pg, op1, svdup_n_f64(op2))
8600}
8601#[doc = "Divide reversed"]
8602#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdivr[_f64]_x)"]
8603#[inline]
8604#[target_feature(enable = "sve")]
8605#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8606#[cfg_attr(test, assert_instr(fdivr))]
8607pub fn svdivr_f64_x(pg: svbool_t, op1: svfloat64_t, op2: svfloat64_t) -> svfloat64_t {
8608 svdivr_f64_m(pg, op1, op2)
8609}
8610#[doc = "Divide reversed"]
8611#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdivr[_n_f64]_x)"]
8612#[inline]
8613#[target_feature(enable = "sve")]
8614#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8615#[cfg_attr(test, assert_instr(fdivr))]
8616pub fn svdivr_n_f64_x(pg: svbool_t, op1: svfloat64_t, op2: f64) -> svfloat64_t {
8617 svdivr_f64_x(pg, op1, svdup_n_f64(op2))
8618}
8619#[doc = "Divide reversed"]
8620#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdivr[_f64]_z)"]
8621#[inline]
8622#[target_feature(enable = "sve")]
8623#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8624#[cfg_attr(test, assert_instr(fdivr))]
8625pub fn svdivr_f64_z(pg: svbool_t, op1: svfloat64_t, op2: svfloat64_t) -> svfloat64_t {
8626 svdivr_f64_m(pg, svsel_f64(pg, op1, svdup_n_f64(0.0)), op2)
8627}
8628#[doc = "Divide reversed"]
8629#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdivr[_n_f64]_z)"]
8630#[inline]
8631#[target_feature(enable = "sve")]
8632#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8633#[cfg_attr(test, assert_instr(fdivr))]
8634pub fn svdivr_n_f64_z(pg: svbool_t, op1: svfloat64_t, op2: f64) -> svfloat64_t {
8635 svdivr_f64_z(pg, op1, svdup_n_f64(op2))
8636}
8637#[doc = "Divide reversed"]
8638#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdivr[_s32]_m)"]
8639#[inline]
8640#[target_feature(enable = "sve")]
8641#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8642#[cfg_attr(test, assert_instr(sdivr))]
8643pub fn svdivr_s32_m(pg: svbool_t, op1: svint32_t, op2: svint32_t) -> svint32_t {
8644 unsafe extern "unadjusted" {
8645 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.sdivr.nxv4i32")]
8646 fn _svdivr_s32_m(pg: svbool4_t, op1: svint32_t, op2: svint32_t) -> svint32_t;
8647 }
8648 unsafe { _svdivr_s32_m(pg.sve_into(), op1, op2) }
8649}
8650#[doc = "Divide reversed"]
8651#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdivr[_n_s32]_m)"]
8652#[inline]
8653#[target_feature(enable = "sve")]
8654#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8655#[cfg_attr(test, assert_instr(sdivr))]
8656pub fn svdivr_n_s32_m(pg: svbool_t, op1: svint32_t, op2: i32) -> svint32_t {
8657 svdivr_s32_m(pg, op1, svdup_n_s32(op2))
8658}
8659#[doc = "Divide reversed"]
8660#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdivr[_s32]_x)"]
8661#[inline]
8662#[target_feature(enable = "sve")]
8663#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8664#[cfg_attr(test, assert_instr(sdivr))]
8665pub fn svdivr_s32_x(pg: svbool_t, op1: svint32_t, op2: svint32_t) -> svint32_t {
8666 svdivr_s32_m(pg, op1, op2)
8667}
8668#[doc = "Divide reversed"]
8669#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdivr[_n_s32]_x)"]
8670#[inline]
8671#[target_feature(enable = "sve")]
8672#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8673#[cfg_attr(test, assert_instr(sdivr))]
8674pub fn svdivr_n_s32_x(pg: svbool_t, op1: svint32_t, op2: i32) -> svint32_t {
8675 svdivr_s32_x(pg, op1, svdup_n_s32(op2))
8676}
8677#[doc = "Divide reversed"]
8678#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdivr[_s32]_z)"]
8679#[inline]
8680#[target_feature(enable = "sve")]
8681#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8682#[cfg_attr(test, assert_instr(sdivr))]
8683pub fn svdivr_s32_z(pg: svbool_t, op1: svint32_t, op2: svint32_t) -> svint32_t {
8684 svdivr_s32_m(pg, svsel_s32(pg, op1, svdup_n_s32(0)), op2)
8685}
8686#[doc = "Divide reversed"]
8687#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdivr[_n_s32]_z)"]
8688#[inline]
8689#[target_feature(enable = "sve")]
8690#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8691#[cfg_attr(test, assert_instr(sdivr))]
8692pub fn svdivr_n_s32_z(pg: svbool_t, op1: svint32_t, op2: i32) -> svint32_t {
8693 svdivr_s32_z(pg, op1, svdup_n_s32(op2))
8694}
8695#[doc = "Divide reversed"]
8696#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdivr[_s64]_m)"]
8697#[inline]
8698#[target_feature(enable = "sve")]
8699#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8700#[cfg_attr(test, assert_instr(sdivr))]
8701pub fn svdivr_s64_m(pg: svbool_t, op1: svint64_t, op2: svint64_t) -> svint64_t {
8702 unsafe extern "unadjusted" {
8703 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.sdivr.nxv2i64")]
8704 fn _svdivr_s64_m(pg: svbool2_t, op1: svint64_t, op2: svint64_t) -> svint64_t;
8705 }
8706 unsafe { _svdivr_s64_m(pg.sve_into(), op1, op2) }
8707}
8708#[doc = "Divide reversed"]
8709#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdivr[_n_s64]_m)"]
8710#[inline]
8711#[target_feature(enable = "sve")]
8712#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8713#[cfg_attr(test, assert_instr(sdivr))]
8714pub fn svdivr_n_s64_m(pg: svbool_t, op1: svint64_t, op2: i64) -> svint64_t {
8715 svdivr_s64_m(pg, op1, svdup_n_s64(op2))
8716}
8717#[doc = "Divide reversed"]
8718#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdivr[_s64]_x)"]
8719#[inline]
8720#[target_feature(enable = "sve")]
8721#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8722#[cfg_attr(test, assert_instr(sdivr))]
8723pub fn svdivr_s64_x(pg: svbool_t, op1: svint64_t, op2: svint64_t) -> svint64_t {
8724 svdivr_s64_m(pg, op1, op2)
8725}
8726#[doc = "Divide reversed"]
8727#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdivr[_n_s64]_x)"]
8728#[inline]
8729#[target_feature(enable = "sve")]
8730#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8731#[cfg_attr(test, assert_instr(sdivr))]
8732pub fn svdivr_n_s64_x(pg: svbool_t, op1: svint64_t, op2: i64) -> svint64_t {
8733 svdivr_s64_x(pg, op1, svdup_n_s64(op2))
8734}
8735#[doc = "Divide reversed"]
8736#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdivr[_s64]_z)"]
8737#[inline]
8738#[target_feature(enable = "sve")]
8739#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8740#[cfg_attr(test, assert_instr(sdivr))]
8741pub fn svdivr_s64_z(pg: svbool_t, op1: svint64_t, op2: svint64_t) -> svint64_t {
8742 svdivr_s64_m(pg, svsel_s64(pg, op1, svdup_n_s64(0)), op2)
8743}
8744#[doc = "Divide reversed"]
8745#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdivr[_n_s64]_z)"]
8746#[inline]
8747#[target_feature(enable = "sve")]
8748#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8749#[cfg_attr(test, assert_instr(sdivr))]
8750pub fn svdivr_n_s64_z(pg: svbool_t, op1: svint64_t, op2: i64) -> svint64_t {
8751 svdivr_s64_z(pg, op1, svdup_n_s64(op2))
8752}
8753#[doc = "Divide reversed"]
8754#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdivr[_u32]_m)"]
8755#[inline]
8756#[target_feature(enable = "sve")]
8757#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8758#[cfg_attr(test, assert_instr(udivr))]
8759pub fn svdivr_u32_m(pg: svbool_t, op1: svuint32_t, op2: svuint32_t) -> svuint32_t {
8760 unsafe extern "unadjusted" {
8761 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.udivr.nxv4i32")]
8762 fn _svdivr_u32_m(pg: svbool4_t, op1: svint32_t, op2: svint32_t) -> svint32_t;
8763 }
8764 unsafe { _svdivr_u32_m(pg.sve_into(), op1.as_signed(), op2.as_signed()).as_unsigned() }
8765}
8766#[doc = "Divide reversed"]
8767#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdivr[_n_u32]_m)"]
8768#[inline]
8769#[target_feature(enable = "sve")]
8770#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8771#[cfg_attr(test, assert_instr(udivr))]
8772pub fn svdivr_n_u32_m(pg: svbool_t, op1: svuint32_t, op2: u32) -> svuint32_t {
8773 svdivr_u32_m(pg, op1, svdup_n_u32(op2))
8774}
8775#[doc = "Divide reversed"]
8776#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdivr[_u32]_x)"]
8777#[inline]
8778#[target_feature(enable = "sve")]
8779#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8780#[cfg_attr(test, assert_instr(udivr))]
8781pub fn svdivr_u32_x(pg: svbool_t, op1: svuint32_t, op2: svuint32_t) -> svuint32_t {
8782 svdivr_u32_m(pg, op1, op2)
8783}
8784#[doc = "Divide reversed"]
8785#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdivr[_n_u32]_x)"]
8786#[inline]
8787#[target_feature(enable = "sve")]
8788#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8789#[cfg_attr(test, assert_instr(udivr))]
8790pub fn svdivr_n_u32_x(pg: svbool_t, op1: svuint32_t, op2: u32) -> svuint32_t {
8791 svdivr_u32_x(pg, op1, svdup_n_u32(op2))
8792}
8793#[doc = "Divide reversed"]
8794#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdivr[_u32]_z)"]
8795#[inline]
8796#[target_feature(enable = "sve")]
8797#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8798#[cfg_attr(test, assert_instr(udivr))]
8799pub fn svdivr_u32_z(pg: svbool_t, op1: svuint32_t, op2: svuint32_t) -> svuint32_t {
8800 svdivr_u32_m(pg, svsel_u32(pg, op1, svdup_n_u32(0)), op2)
8801}
8802#[doc = "Divide reversed"]
8803#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdivr[_n_u32]_z)"]
8804#[inline]
8805#[target_feature(enable = "sve")]
8806#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8807#[cfg_attr(test, assert_instr(udivr))]
8808pub fn svdivr_n_u32_z(pg: svbool_t, op1: svuint32_t, op2: u32) -> svuint32_t {
8809 svdivr_u32_z(pg, op1, svdup_n_u32(op2))
8810}
8811#[doc = "Divide reversed"]
8812#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdivr[_u64]_m)"]
8813#[inline]
8814#[target_feature(enable = "sve")]
8815#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8816#[cfg_attr(test, assert_instr(udivr))]
8817pub fn svdivr_u64_m(pg: svbool_t, op1: svuint64_t, op2: svuint64_t) -> svuint64_t {
8818 unsafe extern "unadjusted" {
8819 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.udivr.nxv2i64")]
8820 fn _svdivr_u64_m(pg: svbool2_t, op1: svint64_t, op2: svint64_t) -> svint64_t;
8821 }
8822 unsafe { _svdivr_u64_m(pg.sve_into(), op1.as_signed(), op2.as_signed()).as_unsigned() }
8823}
8824#[doc = "Divide reversed"]
8825#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdivr[_n_u64]_m)"]
8826#[inline]
8827#[target_feature(enable = "sve")]
8828#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8829#[cfg_attr(test, assert_instr(udivr))]
8830pub fn svdivr_n_u64_m(pg: svbool_t, op1: svuint64_t, op2: u64) -> svuint64_t {
8831 svdivr_u64_m(pg, op1, svdup_n_u64(op2))
8832}
8833#[doc = "Divide reversed"]
8834#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdivr[_u64]_x)"]
8835#[inline]
8836#[target_feature(enable = "sve")]
8837#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8838#[cfg_attr(test, assert_instr(udivr))]
8839pub fn svdivr_u64_x(pg: svbool_t, op1: svuint64_t, op2: svuint64_t) -> svuint64_t {
8840 svdivr_u64_m(pg, op1, op2)
8841}
8842#[doc = "Divide reversed"]
8843#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdivr[_n_u64]_x)"]
8844#[inline]
8845#[target_feature(enable = "sve")]
8846#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8847#[cfg_attr(test, assert_instr(udivr))]
8848pub fn svdivr_n_u64_x(pg: svbool_t, op1: svuint64_t, op2: u64) -> svuint64_t {
8849 svdivr_u64_x(pg, op1, svdup_n_u64(op2))
8850}
8851#[doc = "Divide reversed"]
8852#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdivr[_u64]_z)"]
8853#[inline]
8854#[target_feature(enable = "sve")]
8855#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8856#[cfg_attr(test, assert_instr(udivr))]
8857pub fn svdivr_u64_z(pg: svbool_t, op1: svuint64_t, op2: svuint64_t) -> svuint64_t {
8858 svdivr_u64_m(pg, svsel_u64(pg, op1, svdup_n_u64(0)), op2)
8859}
8860#[doc = "Divide reversed"]
8861#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdivr[_n_u64]_z)"]
8862#[inline]
8863#[target_feature(enable = "sve")]
8864#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8865#[cfg_attr(test, assert_instr(udivr))]
8866pub fn svdivr_n_u64_z(pg: svbool_t, op1: svuint64_t, op2: u64) -> svuint64_t {
8867 svdivr_u64_z(pg, op1, svdup_n_u64(op2))
8868}
8869#[doc = "Dot product"]
8870#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdot_lane[_s32])"]
8871#[inline]
8872#[target_feature(enable = "sve")]
8873#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8874#[cfg_attr(test, assert_instr(sdot, IMM_INDEX = 0))]
8875pub fn svdot_lane_s32<const IMM_INDEX: i32>(
8876 op1: svint32_t,
8877 op2: svint8_t,
8878 op3: svint8_t,
8879) -> svint32_t {
8880 static_assert_range!(IMM_INDEX, 0..=3);
8881 unsafe extern "unadjusted" {
8882 #[cfg_attr(
8883 target_arch = "aarch64",
8884 link_name = "llvm.aarch64.sve.sdot.lane.nxv4i32"
8885 )]
8886 fn _svdot_lane_s32(
8887 op1: svint32_t,
8888 op2: svint8_t,
8889 op3: svint8_t,
8890 imm_index: i32,
8891 ) -> svint32_t;
8892 }
8893 unsafe { _svdot_lane_s32(op1, op2, op3, IMM_INDEX) }
8894}
8895#[doc = "Dot product"]
8896#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdot_lane[_s64])"]
8897#[inline]
8898#[target_feature(enable = "sve")]
8899#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8900#[cfg_attr(test, assert_instr(sdot, IMM_INDEX = 0))]
8901pub fn svdot_lane_s64<const IMM_INDEX: i32>(
8902 op1: svint64_t,
8903 op2: svint16_t,
8904 op3: svint16_t,
8905) -> svint64_t {
8906 static_assert_range!(IMM_INDEX, 0..=1);
8907 unsafe extern "unadjusted" {
8908 #[cfg_attr(
8909 target_arch = "aarch64",
8910 link_name = "llvm.aarch64.sve.sdot.lane.nxv2i64"
8911 )]
8912 fn _svdot_lane_s64(
8913 op1: svint64_t,
8914 op2: svint16_t,
8915 op3: svint16_t,
8916 imm_index: i32,
8917 ) -> svint64_t;
8918 }
8919 unsafe { _svdot_lane_s64(op1, op2, op3, IMM_INDEX) }
8920}
8921#[doc = "Dot product"]
8922#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdot_lane[_u32])"]
8923#[inline]
8924#[target_feature(enable = "sve")]
8925#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8926#[cfg_attr(test, assert_instr(udot, IMM_INDEX = 0))]
8927pub fn svdot_lane_u32<const IMM_INDEX: i32>(
8928 op1: svuint32_t,
8929 op2: svuint8_t,
8930 op3: svuint8_t,
8931) -> svuint32_t {
8932 static_assert_range!(IMM_INDEX, 0..=3);
8933 unsafe extern "unadjusted" {
8934 #[cfg_attr(
8935 target_arch = "aarch64",
8936 link_name = "llvm.aarch64.sve.udot.lane.nxv4i32"
8937 )]
8938 fn _svdot_lane_u32(
8939 op1: svint32_t,
8940 op2: svint8_t,
8941 op3: svint8_t,
8942 imm_index: i32,
8943 ) -> svint32_t;
8944 }
8945 unsafe {
8946 _svdot_lane_u32(op1.as_signed(), op2.as_signed(), op3.as_signed(), IMM_INDEX).as_unsigned()
8947 }
8948}
8949#[doc = "Dot product"]
8950#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdot_lane[_u64])"]
8951#[inline]
8952#[target_feature(enable = "sve")]
8953#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8954#[cfg_attr(test, assert_instr(udot, IMM_INDEX = 0))]
8955pub fn svdot_lane_u64<const IMM_INDEX: i32>(
8956 op1: svuint64_t,
8957 op2: svuint16_t,
8958 op3: svuint16_t,
8959) -> svuint64_t {
8960 static_assert_range!(IMM_INDEX, 0..=1);
8961 unsafe extern "unadjusted" {
8962 #[cfg_attr(
8963 target_arch = "aarch64",
8964 link_name = "llvm.aarch64.sve.udot.lane.nxv2i64"
8965 )]
8966 fn _svdot_lane_u64(
8967 op1: svint64_t,
8968 op2: svint16_t,
8969 op3: svint16_t,
8970 imm_index: i32,
8971 ) -> svint64_t;
8972 }
8973 unsafe {
8974 _svdot_lane_u64(op1.as_signed(), op2.as_signed(), op3.as_signed(), IMM_INDEX).as_unsigned()
8975 }
8976}
8977#[doc = "Dot product"]
8978#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdot[_s32])"]
8979#[inline]
8980#[target_feature(enable = "sve")]
8981#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8982#[cfg_attr(test, assert_instr(sdot))]
8983pub fn svdot_s32(op1: svint32_t, op2: svint8_t, op3: svint8_t) -> svint32_t {
8984 unsafe extern "unadjusted" {
8985 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.sdot.nxv4i32")]
8986 fn _svdot_s32(op1: svint32_t, op2: svint8_t, op3: svint8_t) -> svint32_t;
8987 }
8988 unsafe { _svdot_s32(op1, op2, op3) }
8989}
8990#[doc = "Dot product"]
8991#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdot[_n_s32])"]
8992#[inline]
8993#[target_feature(enable = "sve")]
8994#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
8995#[cfg_attr(test, assert_instr(sdot))]
8996pub fn svdot_n_s32(op1: svint32_t, op2: svint8_t, op3: i8) -> svint32_t {
8997 svdot_s32(op1, op2, svdup_n_s8(op3))
8998}
8999#[doc = "Dot product"]
9000#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdot[_s64])"]
9001#[inline]
9002#[target_feature(enable = "sve")]
9003#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
9004#[cfg_attr(test, assert_instr(sdot))]
9005pub fn svdot_s64(op1: svint64_t, op2: svint16_t, op3: svint16_t) -> svint64_t {
9006 unsafe extern "unadjusted" {
9007 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.sdot.nxv2i64")]
9008 fn _svdot_s64(op1: svint64_t, op2: svint16_t, op3: svint16_t) -> svint64_t;
9009 }
9010 unsafe { _svdot_s64(op1, op2, op3) }
9011}
9012#[doc = "Dot product"]
9013#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdot[_n_s64])"]
9014#[inline]
9015#[target_feature(enable = "sve")]
9016#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
9017#[cfg_attr(test, assert_instr(sdot))]
9018pub fn svdot_n_s64(op1: svint64_t, op2: svint16_t, op3: i16) -> svint64_t {
9019 svdot_s64(op1, op2, svdup_n_s16(op3))
9020}
9021#[doc = "Dot product"]
9022#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdot[_u32])"]
9023#[inline]
9024#[target_feature(enable = "sve")]
9025#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
9026#[cfg_attr(test, assert_instr(udot))]
9027pub fn svdot_u32(op1: svuint32_t, op2: svuint8_t, op3: svuint8_t) -> svuint32_t {
9028 unsafe extern "unadjusted" {
9029 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.udot.nxv4i32")]
9030 fn _svdot_u32(op1: svint32_t, op2: svint8_t, op3: svint8_t) -> svint32_t;
9031 }
9032 unsafe { _svdot_u32(op1.as_signed(), op2.as_signed(), op3.as_signed()).as_unsigned() }
9033}
9034#[doc = "Dot product"]
9035#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdot[_n_u32])"]
9036#[inline]
9037#[target_feature(enable = "sve")]
9038#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
9039#[cfg_attr(test, assert_instr(udot))]
9040pub fn svdot_n_u32(op1: svuint32_t, op2: svuint8_t, op3: u8) -> svuint32_t {
9041 svdot_u32(op1, op2, svdup_n_u8(op3))
9042}
9043#[doc = "Dot product"]
9044#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdot[_u64])"]
9045#[inline]
9046#[target_feature(enable = "sve")]
9047#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
9048#[cfg_attr(test, assert_instr(udot))]
9049pub fn svdot_u64(op1: svuint64_t, op2: svuint16_t, op3: svuint16_t) -> svuint64_t {
9050 unsafe extern "unadjusted" {
9051 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.udot.nxv2i64")]
9052 fn _svdot_u64(op1: svint64_t, op2: svint16_t, op3: svint16_t) -> svint64_t;
9053 }
9054 unsafe { _svdot_u64(op1.as_signed(), op2.as_signed(), op3.as_signed()).as_unsigned() }
9055}
9056#[doc = "Dot product"]
9057#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdot[_n_u64])"]
9058#[inline]
9059#[target_feature(enable = "sve")]
9060#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
9061#[cfg_attr(test, assert_instr(udot))]
9062pub fn svdot_n_u64(op1: svuint64_t, op2: svuint16_t, op3: u16) -> svuint64_t {
9063 svdot_u64(op1, op2, svdup_n_u16(op3))
9064}
9065#[doc = "Broadcast a scalar value"]
9066#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdup_lane[_f32])"]
9067#[inline]
9068#[target_feature(enable = "sve")]
9069#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
9070#[cfg_attr(test, assert_instr(tbl))]
9071pub fn svdup_lane_f32(data: svfloat32_t, index: u32) -> svfloat32_t {
9072 svtbl_f32(data, svdup_n_u32(index))
9073}
9074#[doc = "Broadcast a scalar value"]
9075#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdup_lane[_f64])"]
9076#[inline]
9077#[target_feature(enable = "sve")]
9078#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
9079#[cfg_attr(test, assert_instr(tbl))]
9080pub fn svdup_lane_f64(data: svfloat64_t, index: u64) -> svfloat64_t {
9081 svtbl_f64(data, svdup_n_u64(index))
9082}
9083#[doc = "Broadcast a scalar value"]
9084#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdup_lane[_s8])"]
9085#[inline]
9086#[target_feature(enable = "sve")]
9087#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
9088#[cfg_attr(test, assert_instr(tbl))]
9089pub fn svdup_lane_s8(data: svint8_t, index: u8) -> svint8_t {
9090 svtbl_s8(data, svdup_n_u8(index))
9091}
9092#[doc = "Broadcast a scalar value"]
9093#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdup_lane[_s16])"]
9094#[inline]
9095#[target_feature(enable = "sve")]
9096#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
9097#[cfg_attr(test, assert_instr(tbl))]
9098pub fn svdup_lane_s16(data: svint16_t, index: u16) -> svint16_t {
9099 svtbl_s16(data, svdup_n_u16(index))
9100}
9101#[doc = "Broadcast a scalar value"]
9102#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdup_lane[_s32])"]
9103#[inline]
9104#[target_feature(enable = "sve")]
9105#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
9106#[cfg_attr(test, assert_instr(tbl))]
9107pub fn svdup_lane_s32(data: svint32_t, index: u32) -> svint32_t {
9108 svtbl_s32(data, svdup_n_u32(index))
9109}
9110#[doc = "Broadcast a scalar value"]
9111#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdup_lane[_s64])"]
9112#[inline]
9113#[target_feature(enable = "sve")]
9114#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
9115#[cfg_attr(test, assert_instr(tbl))]
9116pub fn svdup_lane_s64(data: svint64_t, index: u64) -> svint64_t {
9117 svtbl_s64(data, svdup_n_u64(index))
9118}
9119#[doc = "Broadcast a scalar value"]
9120#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdup_lane[_u8])"]
9121#[inline]
9122#[target_feature(enable = "sve")]
9123#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
9124#[cfg_attr(test, assert_instr(tbl))]
9125pub fn svdup_lane_u8(data: svuint8_t, index: u8) -> svuint8_t {
9126 svtbl_u8(data, svdup_n_u8(index))
9127}
9128#[doc = "Broadcast a scalar value"]
9129#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdup_lane[_u16])"]
9130#[inline]
9131#[target_feature(enable = "sve")]
9132#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
9133#[cfg_attr(test, assert_instr(tbl))]
9134pub fn svdup_lane_u16(data: svuint16_t, index: u16) -> svuint16_t {
9135 svtbl_u16(data, svdup_n_u16(index))
9136}
9137#[doc = "Broadcast a scalar value"]
9138#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdup_lane[_u32])"]
9139#[inline]
9140#[target_feature(enable = "sve")]
9141#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
9142#[cfg_attr(test, assert_instr(tbl))]
9143pub fn svdup_lane_u32(data: svuint32_t, index: u32) -> svuint32_t {
9144 svtbl_u32(data, svdup_n_u32(index))
9145}
9146#[doc = "Broadcast a scalar value"]
9147#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdup_lane[_u64])"]
9148#[inline]
9149#[target_feature(enable = "sve")]
9150#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
9151#[cfg_attr(test, assert_instr(tbl))]
9152pub fn svdup_lane_u64(data: svuint64_t, index: u64) -> svuint64_t {
9153 svtbl_u64(data, svdup_n_u64(index))
9154}
9155#[doc = "Broadcast a scalar value"]
9156#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdup[_n]_b8)"]
9157#[inline]
9158#[target_feature(enable = "sve")]
9159#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
9160#[cfg_attr(test, assert_instr(sbfx))]
9161#[cfg_attr(test, assert_instr(whilelo))]
9162pub fn svdup_n_b8(op: bool) -> svbool_t {
9163 unsafe extern "unadjusted" {
9164 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.dup.x.nxv16i1")]
9165 fn _svdup_n_b8(op: bool) -> svbool_t;
9166 }
9167 unsafe { _svdup_n_b8(op) }
9168}
9169#[doc = "Broadcast a scalar value"]
9170#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdup[_n]_b16)"]
9171#[inline]
9172#[target_feature(enable = "sve")]
9173#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
9174#[cfg_attr(test, assert_instr(sbfx))]
9175#[cfg_attr(test, assert_instr(whilelo))]
9176pub fn svdup_n_b16(op: bool) -> svbool_t {
9177 unsafe extern "unadjusted" {
9178 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.dup.x.nxv8i1")]
9179 fn _svdup_n_b16(op: bool) -> svbool8_t;
9180 }
9181 unsafe { _svdup_n_b16(op).sve_into() }
9182}
9183#[doc = "Broadcast a scalar value"]
9184#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdup[_n]_b32)"]
9185#[inline]
9186#[target_feature(enable = "sve")]
9187#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
9188#[cfg_attr(test, assert_instr(sbfx))]
9189#[cfg_attr(test, assert_instr(whilelo))]
9190pub fn svdup_n_b32(op: bool) -> svbool_t {
9191 unsafe extern "unadjusted" {
9192 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.dup.x.nxv4i1")]
9193 fn _svdup_n_b32(op: bool) -> svbool4_t;
9194 }
9195 unsafe { _svdup_n_b32(op).sve_into() }
9196}
9197#[doc = "Broadcast a scalar value"]
9198#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdup[_n]_b64)"]
9199#[inline]
9200#[target_feature(enable = "sve")]
9201#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
9202#[cfg_attr(test, assert_instr(sbfx))]
9203#[cfg_attr(test, assert_instr(whilelo))]
9204pub fn svdup_n_b64(op: bool) -> svbool_t {
9205 unsafe extern "unadjusted" {
9206 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.dup.x.nxv2i1")]
9207 fn _svdup_n_b64(op: bool) -> svbool2_t;
9208 }
9209 unsafe { _svdup_n_b64(op).sve_into() }
9210}
9211#[doc = "Broadcast a scalar value"]
9212#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdup[_n]_f32)"]
9213#[inline]
9214#[target_feature(enable = "sve")]
9215#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
9216#[cfg_attr(test, assert_instr(mov))]
9217pub fn svdup_n_f32(op: f32) -> svfloat32_t {
9218 unsafe extern "unadjusted" {
9219 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.dup.x.nxv4f32")]
9220 fn _svdup_n_f32(op: f32) -> svfloat32_t;
9221 }
9222 unsafe { _svdup_n_f32(op) }
9223}
9224#[doc = "Broadcast a scalar value"]
9225#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdup[_n]_f64)"]
9226#[inline]
9227#[target_feature(enable = "sve")]
9228#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
9229#[cfg_attr(test, assert_instr(mov))]
9230pub fn svdup_n_f64(op: f64) -> svfloat64_t {
9231 unsafe extern "unadjusted" {
9232 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.dup.x.nxv2f64")]
9233 fn _svdup_n_f64(op: f64) -> svfloat64_t;
9234 }
9235 unsafe { _svdup_n_f64(op) }
9236}
9237#[doc = "Broadcast a scalar value"]
9238#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdup[_n]_s8)"]
9239#[inline]
9240#[target_feature(enable = "sve")]
9241#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
9242#[cfg_attr(test, assert_instr(mov))]
9243pub fn svdup_n_s8(op: i8) -> svint8_t {
9244 unsafe extern "unadjusted" {
9245 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.dup.x.nxv16i8")]
9246 fn _svdup_n_s8(op: i8) -> svint8_t;
9247 }
9248 unsafe { _svdup_n_s8(op) }
9249}
9250#[doc = "Broadcast a scalar value"]
9251#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdup[_n]_s16)"]
9252#[inline]
9253#[target_feature(enable = "sve")]
9254#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
9255#[cfg_attr(test, assert_instr(mov))]
9256pub fn svdup_n_s16(op: i16) -> svint16_t {
9257 unsafe extern "unadjusted" {
9258 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.dup.x.nxv8i16")]
9259 fn _svdup_n_s16(op: i16) -> svint16_t;
9260 }
9261 unsafe { _svdup_n_s16(op) }
9262}
9263#[doc = "Broadcast a scalar value"]
9264#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdup[_n]_s32)"]
9265#[inline]
9266#[target_feature(enable = "sve")]
9267#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
9268#[cfg_attr(test, assert_instr(mov))]
9269pub fn svdup_n_s32(op: i32) -> svint32_t {
9270 unsafe extern "unadjusted" {
9271 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.dup.x.nxv4i32")]
9272 fn _svdup_n_s32(op: i32) -> svint32_t;
9273 }
9274 unsafe { _svdup_n_s32(op) }
9275}
9276#[doc = "Broadcast a scalar value"]
9277#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdup[_n]_s64)"]
9278#[inline]
9279#[target_feature(enable = "sve")]
9280#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
9281#[cfg_attr(test, assert_instr(mov))]
9282pub fn svdup_n_s64(op: i64) -> svint64_t {
9283 unsafe extern "unadjusted" {
9284 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.dup.x.nxv2i64")]
9285 fn _svdup_n_s64(op: i64) -> svint64_t;
9286 }
9287 unsafe { _svdup_n_s64(op) }
9288}
9289#[doc = "Broadcast a scalar value"]
9290#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdup[_n]_u8)"]
9291#[inline]
9292#[target_feature(enable = "sve")]
9293#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
9294#[cfg_attr(test, assert_instr(mov))]
9295pub fn svdup_n_u8(op: u8) -> svuint8_t {
9296 unsafe { svdup_n_s8(op.as_signed()).as_unsigned() }
9297}
9298#[doc = "Broadcast a scalar value"]
9299#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdup[_n]_u16)"]
9300#[inline]
9301#[target_feature(enable = "sve")]
9302#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
9303#[cfg_attr(test, assert_instr(mov))]
9304pub fn svdup_n_u16(op: u16) -> svuint16_t {
9305 unsafe { svdup_n_s16(op.as_signed()).as_unsigned() }
9306}
9307#[doc = "Broadcast a scalar value"]
9308#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdup[_n]_u32)"]
9309#[inline]
9310#[target_feature(enable = "sve")]
9311#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
9312#[cfg_attr(test, assert_instr(mov))]
9313pub fn svdup_n_u32(op: u32) -> svuint32_t {
9314 unsafe { svdup_n_s32(op.as_signed()).as_unsigned() }
9315}
9316#[doc = "Broadcast a scalar value"]
9317#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdup[_n]_u64)"]
9318#[inline]
9319#[target_feature(enable = "sve")]
9320#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
9321#[cfg_attr(test, assert_instr(mov))]
9322pub fn svdup_n_u64(op: u64) -> svuint64_t {
9323 unsafe { svdup_n_s64(op.as_signed()).as_unsigned() }
9324}
9325#[doc = "Broadcast a scalar value"]
9326#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdup[_n]_f32_m)"]
9327#[inline]
9328#[target_feature(enable = "sve")]
9329#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
9330#[cfg_attr(test, assert_instr(mov))]
9331pub fn svdup_n_f32_m(inactive: svfloat32_t, pg: svbool_t, op: f32) -> svfloat32_t {
9332 unsafe extern "unadjusted" {
9333 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.dup.nxv4f32")]
9334 fn _svdup_n_f32_m(inactive: svfloat32_t, pg: svbool4_t, op: f32) -> svfloat32_t;
9335 }
9336 unsafe { _svdup_n_f32_m(inactive, pg.sve_into(), op) }
9337}
9338#[doc = "Broadcast a scalar value"]
9339#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdup[_n]_f32_x)"]
9340#[inline]
9341#[target_feature(enable = "sve")]
9342#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
9343#[cfg_attr(test, assert_instr(mov))]
9344pub fn svdup_n_f32_x(pg: svbool_t, op: f32) -> svfloat32_t {
9345 svdup_n_f32_m(svdup_n_f32(0.0), pg, op)
9346}
9347#[doc = "Broadcast a scalar value"]
9348#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdup[_n]_f32_z)"]
9349#[inline]
9350#[target_feature(enable = "sve")]
9351#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
9352#[cfg_attr(test, assert_instr(mov))]
9353pub fn svdup_n_f32_z(pg: svbool_t, op: f32) -> svfloat32_t {
9354 svdup_n_f32_m(svdup_n_f32(0.0), pg, op)
9355}
9356#[doc = "Broadcast a scalar value"]
9357#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdup[_n]_f64_m)"]
9358#[inline]
9359#[target_feature(enable = "sve")]
9360#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
9361#[cfg_attr(test, assert_instr(mov))]
9362pub fn svdup_n_f64_m(inactive: svfloat64_t, pg: svbool_t, op: f64) -> svfloat64_t {
9363 unsafe extern "unadjusted" {
9364 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.dup.nxv2f64")]
9365 fn _svdup_n_f64_m(inactive: svfloat64_t, pg: svbool2_t, op: f64) -> svfloat64_t;
9366 }
9367 unsafe { _svdup_n_f64_m(inactive, pg.sve_into(), op) }
9368}
9369#[doc = "Broadcast a scalar value"]
9370#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdup[_n]_f64_x)"]
9371#[inline]
9372#[target_feature(enable = "sve")]
9373#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
9374#[cfg_attr(test, assert_instr(mov))]
9375pub fn svdup_n_f64_x(pg: svbool_t, op: f64) -> svfloat64_t {
9376 svdup_n_f64_m(svdup_n_f64(0.0), pg, op)
9377}
9378#[doc = "Broadcast a scalar value"]
9379#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdup[_n]_f64_z)"]
9380#[inline]
9381#[target_feature(enable = "sve")]
9382#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
9383#[cfg_attr(test, assert_instr(mov))]
9384pub fn svdup_n_f64_z(pg: svbool_t, op: f64) -> svfloat64_t {
9385 svdup_n_f64_m(svdup_n_f64(0.0), pg, op)
9386}
9387#[doc = "Broadcast a scalar value"]
9388#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdup[_n]_s8_m)"]
9389#[inline]
9390#[target_feature(enable = "sve")]
9391#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
9392#[cfg_attr(test, assert_instr(mov))]
9393pub fn svdup_n_s8_m(inactive: svint8_t, pg: svbool_t, op: i8) -> svint8_t {
9394 unsafe extern "unadjusted" {
9395 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.dup.nxv16i8")]
9396 fn _svdup_n_s8_m(inactive: svint8_t, pg: svbool_t, op: i8) -> svint8_t;
9397 }
9398 unsafe { _svdup_n_s8_m(inactive, pg, op) }
9399}
9400#[doc = "Broadcast a scalar value"]
9401#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdup[_n]_s8_x)"]
9402#[inline]
9403#[target_feature(enable = "sve")]
9404#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
9405#[cfg_attr(test, assert_instr(mov))]
9406pub fn svdup_n_s8_x(pg: svbool_t, op: i8) -> svint8_t {
9407 svdup_n_s8_m(svdup_n_s8(0), pg, op)
9408}
9409#[doc = "Broadcast a scalar value"]
9410#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdup[_n]_s8_z)"]
9411#[inline]
9412#[target_feature(enable = "sve")]
9413#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
9414#[cfg_attr(test, assert_instr(mov))]
9415pub fn svdup_n_s8_z(pg: svbool_t, op: i8) -> svint8_t {
9416 svdup_n_s8_m(svdup_n_s8(0), pg, op)
9417}
9418#[doc = "Broadcast a scalar value"]
9419#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdup[_n]_s16_m)"]
9420#[inline]
9421#[target_feature(enable = "sve")]
9422#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
9423#[cfg_attr(test, assert_instr(mov))]
9424pub fn svdup_n_s16_m(inactive: svint16_t, pg: svbool_t, op: i16) -> svint16_t {
9425 unsafe extern "unadjusted" {
9426 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.dup.nxv8i16")]
9427 fn _svdup_n_s16_m(inactive: svint16_t, pg: svbool8_t, op: i16) -> svint16_t;
9428 }
9429 unsafe { _svdup_n_s16_m(inactive, pg.sve_into(), op) }
9430}
9431#[doc = "Broadcast a scalar value"]
9432#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdup[_n]_s16_x)"]
9433#[inline]
9434#[target_feature(enable = "sve")]
9435#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
9436#[cfg_attr(test, assert_instr(mov))]
9437pub fn svdup_n_s16_x(pg: svbool_t, op: i16) -> svint16_t {
9438 svdup_n_s16_m(svdup_n_s16(0), pg, op)
9439}
9440#[doc = "Broadcast a scalar value"]
9441#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdup[_n]_s16_z)"]
9442#[inline]
9443#[target_feature(enable = "sve")]
9444#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
9445#[cfg_attr(test, assert_instr(mov))]
9446pub fn svdup_n_s16_z(pg: svbool_t, op: i16) -> svint16_t {
9447 svdup_n_s16_m(svdup_n_s16(0), pg, op)
9448}
9449#[doc = "Broadcast a scalar value"]
9450#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdup[_n]_s32_m)"]
9451#[inline]
9452#[target_feature(enable = "sve")]
9453#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
9454#[cfg_attr(test, assert_instr(mov))]
9455pub fn svdup_n_s32_m(inactive: svint32_t, pg: svbool_t, op: i32) -> svint32_t {
9456 unsafe extern "unadjusted" {
9457 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.dup.nxv4i32")]
9458 fn _svdup_n_s32_m(inactive: svint32_t, pg: svbool4_t, op: i32) -> svint32_t;
9459 }
9460 unsafe { _svdup_n_s32_m(inactive, pg.sve_into(), op) }
9461}
9462#[doc = "Broadcast a scalar value"]
9463#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdup[_n]_s32_x)"]
9464#[inline]
9465#[target_feature(enable = "sve")]
9466#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
9467#[cfg_attr(test, assert_instr(mov))]
9468pub fn svdup_n_s32_x(pg: svbool_t, op: i32) -> svint32_t {
9469 svdup_n_s32_m(svdup_n_s32(0), pg, op)
9470}
9471#[doc = "Broadcast a scalar value"]
9472#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdup[_n]_s32_z)"]
9473#[inline]
9474#[target_feature(enable = "sve")]
9475#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
9476#[cfg_attr(test, assert_instr(mov))]
9477pub fn svdup_n_s32_z(pg: svbool_t, op: i32) -> svint32_t {
9478 svdup_n_s32_m(svdup_n_s32(0), pg, op)
9479}
9480#[doc = "Broadcast a scalar value"]
9481#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdup[_n]_s64_m)"]
9482#[inline]
9483#[target_feature(enable = "sve")]
9484#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
9485#[cfg_attr(test, assert_instr(mov))]
9486pub fn svdup_n_s64_m(inactive: svint64_t, pg: svbool_t, op: i64) -> svint64_t {
9487 unsafe extern "unadjusted" {
9488 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.dup.nxv2i64")]
9489 fn _svdup_n_s64_m(inactive: svint64_t, pg: svbool2_t, op: i64) -> svint64_t;
9490 }
9491 unsafe { _svdup_n_s64_m(inactive, pg.sve_into(), op) }
9492}
9493#[doc = "Broadcast a scalar value"]
9494#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdup[_n]_s64_x)"]
9495#[inline]
9496#[target_feature(enable = "sve")]
9497#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
9498#[cfg_attr(test, assert_instr(mov))]
9499pub fn svdup_n_s64_x(pg: svbool_t, op: i64) -> svint64_t {
9500 svdup_n_s64_m(svdup_n_s64(0), pg, op)
9501}
9502#[doc = "Broadcast a scalar value"]
9503#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdup[_n]_s64_z)"]
9504#[inline]
9505#[target_feature(enable = "sve")]
9506#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
9507#[cfg_attr(test, assert_instr(mov))]
9508pub fn svdup_n_s64_z(pg: svbool_t, op: i64) -> svint64_t {
9509 svdup_n_s64_m(svdup_n_s64(0), pg, op)
9510}
9511#[doc = "Broadcast a scalar value"]
9512#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdup[_n]_u8_m)"]
9513#[inline]
9514#[target_feature(enable = "sve")]
9515#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
9516#[cfg_attr(test, assert_instr(mov))]
9517pub fn svdup_n_u8_m(inactive: svuint8_t, pg: svbool_t, op: u8) -> svuint8_t {
9518 unsafe { svdup_n_s8_m(inactive.as_signed(), pg, op.as_signed()).as_unsigned() }
9519}
9520#[doc = "Broadcast a scalar value"]
9521#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdup[_n]_u8_x)"]
9522#[inline]
9523#[target_feature(enable = "sve")]
9524#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
9525#[cfg_attr(test, assert_instr(mov))]
9526pub fn svdup_n_u8_x(pg: svbool_t, op: u8) -> svuint8_t {
9527 svdup_n_u8_m(svdup_n_u8(0), pg, op)
9528}
9529#[doc = "Broadcast a scalar value"]
9530#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdup[_n]_u8_z)"]
9531#[inline]
9532#[target_feature(enable = "sve")]
9533#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
9534#[cfg_attr(test, assert_instr(mov))]
9535pub fn svdup_n_u8_z(pg: svbool_t, op: u8) -> svuint8_t {
9536 svdup_n_u8_m(svdup_n_u8(0), pg, op)
9537}
9538#[doc = "Broadcast a scalar value"]
9539#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdup[_n]_u16_m)"]
9540#[inline]
9541#[target_feature(enable = "sve")]
9542#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
9543#[cfg_attr(test, assert_instr(mov))]
9544pub fn svdup_n_u16_m(inactive: svuint16_t, pg: svbool_t, op: u16) -> svuint16_t {
9545 unsafe { svdup_n_s16_m(inactive.as_signed(), pg, op.as_signed()).as_unsigned() }
9546}
9547#[doc = "Broadcast a scalar value"]
9548#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdup[_n]_u16_x)"]
9549#[inline]
9550#[target_feature(enable = "sve")]
9551#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
9552#[cfg_attr(test, assert_instr(mov))]
9553pub fn svdup_n_u16_x(pg: svbool_t, op: u16) -> svuint16_t {
9554 svdup_n_u16_m(svdup_n_u16(0), pg, op)
9555}
9556#[doc = "Broadcast a scalar value"]
9557#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdup[_n]_u16_z)"]
9558#[inline]
9559#[target_feature(enable = "sve")]
9560#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
9561#[cfg_attr(test, assert_instr(mov))]
9562pub fn svdup_n_u16_z(pg: svbool_t, op: u16) -> svuint16_t {
9563 svdup_n_u16_m(svdup_n_u16(0), pg, op)
9564}
9565#[doc = "Broadcast a scalar value"]
9566#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdup[_n]_u32_m)"]
9567#[inline]
9568#[target_feature(enable = "sve")]
9569#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
9570#[cfg_attr(test, assert_instr(mov))]
9571pub fn svdup_n_u32_m(inactive: svuint32_t, pg: svbool_t, op: u32) -> svuint32_t {
9572 unsafe { svdup_n_s32_m(inactive.as_signed(), pg, op.as_signed()).as_unsigned() }
9573}
9574#[doc = "Broadcast a scalar value"]
9575#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdup[_n]_u32_x)"]
9576#[inline]
9577#[target_feature(enable = "sve")]
9578#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
9579#[cfg_attr(test, assert_instr(mov))]
9580pub fn svdup_n_u32_x(pg: svbool_t, op: u32) -> svuint32_t {
9581 svdup_n_u32_m(svdup_n_u32(0), pg, op)
9582}
9583#[doc = "Broadcast a scalar value"]
9584#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdup[_n]_u32_z)"]
9585#[inline]
9586#[target_feature(enable = "sve")]
9587#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
9588#[cfg_attr(test, assert_instr(mov))]
9589pub fn svdup_n_u32_z(pg: svbool_t, op: u32) -> svuint32_t {
9590 svdup_n_u32_m(svdup_n_u32(0), pg, op)
9591}
9592#[doc = "Broadcast a scalar value"]
9593#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdup[_n]_u64_m)"]
9594#[inline]
9595#[target_feature(enable = "sve")]
9596#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
9597#[cfg_attr(test, assert_instr(mov))]
9598pub fn svdup_n_u64_m(inactive: svuint64_t, pg: svbool_t, op: u64) -> svuint64_t {
9599 unsafe { svdup_n_s64_m(inactive.as_signed(), pg, op.as_signed()).as_unsigned() }
9600}
9601#[doc = "Broadcast a scalar value"]
9602#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdup[_n]_u64_x)"]
9603#[inline]
9604#[target_feature(enable = "sve")]
9605#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
9606#[cfg_attr(test, assert_instr(mov))]
9607pub fn svdup_n_u64_x(pg: svbool_t, op: u64) -> svuint64_t {
9608 svdup_n_u64_m(svdup_n_u64(0), pg, op)
9609}
9610#[doc = "Broadcast a scalar value"]
9611#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdup[_n]_u64_z)"]
9612#[inline]
9613#[target_feature(enable = "sve")]
9614#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
9615#[cfg_attr(test, assert_instr(mov))]
9616pub fn svdup_n_u64_z(pg: svbool_t, op: u64) -> svuint64_t {
9617 svdup_n_u64_m(svdup_n_u64(0), pg, op)
9618}
9619#[doc = "Broadcast a quadword of scalars"]
9620#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdupq_lane[_f32])"]
9621#[inline]
9622#[target_feature(enable = "sve")]
9623#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
9624#[cfg_attr(test, assert_instr(tbl))]
9625pub fn svdupq_lane_f32(data: svfloat32_t, index: u64) -> svfloat32_t {
9626 unsafe extern "unadjusted" {
9627 #[cfg_attr(
9628 target_arch = "aarch64",
9629 link_name = "llvm.aarch64.sve.dupq.lane.nxv4f32"
9630 )]
9631 fn _svdupq_lane_f32(data: svfloat32_t, index: i64) -> svfloat32_t;
9632 }
9633 unsafe { _svdupq_lane_f32(data, index.as_signed()) }
9634}
9635#[doc = "Broadcast a quadword of scalars"]
9636#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdupq_lane[_f64])"]
9637#[inline]
9638#[target_feature(enable = "sve")]
9639#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
9640#[cfg_attr(test, assert_instr(tbl))]
9641pub fn svdupq_lane_f64(data: svfloat64_t, index: u64) -> svfloat64_t {
9642 unsafe extern "unadjusted" {
9643 #[cfg_attr(
9644 target_arch = "aarch64",
9645 link_name = "llvm.aarch64.sve.dupq.lane.nxv2f64"
9646 )]
9647 fn _svdupq_lane_f64(data: svfloat64_t, index: i64) -> svfloat64_t;
9648 }
9649 unsafe { _svdupq_lane_f64(data, index.as_signed()) }
9650}
9651#[doc = "Broadcast a quadword of scalars"]
9652#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdupq_lane[_s8])"]
9653#[inline]
9654#[target_feature(enable = "sve")]
9655#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
9656#[cfg_attr(test, assert_instr(tbl))]
9657pub fn svdupq_lane_s8(data: svint8_t, index: u64) -> svint8_t {
9658 unsafe extern "unadjusted" {
9659 #[cfg_attr(
9660 target_arch = "aarch64",
9661 link_name = "llvm.aarch64.sve.dupq.lane.nxv16i8"
9662 )]
9663 fn _svdupq_lane_s8(data: svint8_t, index: i64) -> svint8_t;
9664 }
9665 unsafe { _svdupq_lane_s8(data, index.as_signed()) }
9666}
9667#[doc = "Broadcast a quadword of scalars"]
9668#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdupq_lane[_s16])"]
9669#[inline]
9670#[target_feature(enable = "sve")]
9671#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
9672#[cfg_attr(test, assert_instr(tbl))]
9673pub fn svdupq_lane_s16(data: svint16_t, index: u64) -> svint16_t {
9674 unsafe extern "unadjusted" {
9675 #[cfg_attr(
9676 target_arch = "aarch64",
9677 link_name = "llvm.aarch64.sve.dupq.lane.nxv8i16"
9678 )]
9679 fn _svdupq_lane_s16(data: svint16_t, index: i64) -> svint16_t;
9680 }
9681 unsafe { _svdupq_lane_s16(data, index.as_signed()) }
9682}
9683#[doc = "Broadcast a quadword of scalars"]
9684#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdupq_lane[_s32])"]
9685#[inline]
9686#[target_feature(enable = "sve")]
9687#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
9688#[cfg_attr(test, assert_instr(tbl))]
9689pub fn svdupq_lane_s32(data: svint32_t, index: u64) -> svint32_t {
9690 unsafe extern "unadjusted" {
9691 #[cfg_attr(
9692 target_arch = "aarch64",
9693 link_name = "llvm.aarch64.sve.dupq.lane.nxv4i32"
9694 )]
9695 fn _svdupq_lane_s32(data: svint32_t, index: i64) -> svint32_t;
9696 }
9697 unsafe { _svdupq_lane_s32(data, index.as_signed()) }
9698}
9699#[doc = "Broadcast a quadword of scalars"]
9700#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdupq_lane[_s64])"]
9701#[inline]
9702#[target_feature(enable = "sve")]
9703#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
9704#[cfg_attr(test, assert_instr(tbl))]
9705pub fn svdupq_lane_s64(data: svint64_t, index: u64) -> svint64_t {
9706 unsafe extern "unadjusted" {
9707 #[cfg_attr(
9708 target_arch = "aarch64",
9709 link_name = "llvm.aarch64.sve.dupq.lane.nxv2i64"
9710 )]
9711 fn _svdupq_lane_s64(data: svint64_t, index: i64) -> svint64_t;
9712 }
9713 unsafe { _svdupq_lane_s64(data, index.as_signed()) }
9714}
9715#[doc = "Broadcast a quadword of scalars"]
9716#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdupq_lane[_u8])"]
9717#[inline]
9718#[target_feature(enable = "sve")]
9719#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
9720#[cfg_attr(test, assert_instr(tbl))]
9721pub fn svdupq_lane_u8(data: svuint8_t, index: u64) -> svuint8_t {
9722 unsafe { svdupq_lane_s8(data.as_signed(), index).as_unsigned() }
9723}
9724#[doc = "Broadcast a quadword of scalars"]
9725#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdupq_lane[_u16])"]
9726#[inline]
9727#[target_feature(enable = "sve")]
9728#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
9729#[cfg_attr(test, assert_instr(tbl))]
9730pub fn svdupq_lane_u16(data: svuint16_t, index: u64) -> svuint16_t {
9731 unsafe { svdupq_lane_s16(data.as_signed(), index).as_unsigned() }
9732}
9733#[doc = "Broadcast a quadword of scalars"]
9734#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdupq_lane[_u32])"]
9735#[inline]
9736#[target_feature(enable = "sve")]
9737#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
9738#[cfg_attr(test, assert_instr(tbl))]
9739pub fn svdupq_lane_u32(data: svuint32_t, index: u64) -> svuint32_t {
9740 unsafe { svdupq_lane_s32(data.as_signed(), index).as_unsigned() }
9741}
9742#[doc = "Broadcast a quadword of scalars"]
9743#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdupq_lane[_u64])"]
9744#[inline]
9745#[target_feature(enable = "sve")]
9746#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
9747#[cfg_attr(test, assert_instr(tbl))]
9748pub fn svdupq_lane_u64(data: svuint64_t, index: u64) -> svuint64_t {
9749 unsafe { svdupq_lane_s64(data.as_signed(), index).as_unsigned() }
9750}
9751#[doc = "Broadcast a quadword of scalars"]
9752#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdupq[_n]_b16)"]
9753#[inline]
9754#[target_feature(enable = "sve")]
9755#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
9756pub fn svdupq_n_b16(
9757 x0: bool,
9758 x1: bool,
9759 x2: bool,
9760 x3: bool,
9761 x4: bool,
9762 x5: bool,
9763 x6: bool,
9764 x7: bool,
9765) -> svbool_t {
9766 let op1 = svdupq_n_s16(
9767 x0 as i16, x1 as i16, x2 as i16, x3 as i16, x4 as i16, x5 as i16, x6 as i16, x7 as i16,
9768 );
9769 svcmpne_wide_s16(svptrue_b16(), op1, svdup_n_s64(0))
9770}
9771#[doc = "Broadcast a quadword of scalars"]
9772#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdupq[_n]_b32)"]
9773#[inline]
9774#[target_feature(enable = "sve")]
9775#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
9776pub fn svdupq_n_b32(x0: bool, x1: bool, x2: bool, x3: bool) -> svbool_t {
9777 let op1 = svdupq_n_s32(x0 as i32, x1 as i32, x2 as i32, x3 as i32);
9778 svcmpne_wide_s32(svptrue_b32(), op1, svdup_n_s64(0))
9779}
9780#[doc = "Broadcast a quadword of scalars"]
9781#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdupq[_n]_b64)"]
9782#[inline]
9783#[target_feature(enable = "sve")]
9784#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
9785pub fn svdupq_n_b64(x0: bool, x1: bool) -> svbool_t {
9786 let op1 = svdupq_n_s64(x0 as i64, x1 as i64);
9787 svcmpne_s64(svptrue_b64(), op1, svdup_n_s64(0))
9788}
9789#[doc = "Broadcast a quadword of scalars"]
9790#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdupq[_n]_b8)"]
9791#[inline]
9792#[target_feature(enable = "sve")]
9793#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
9794pub fn svdupq_n_b8(
9795 x0: bool,
9796 x1: bool,
9797 x2: bool,
9798 x3: bool,
9799 x4: bool,
9800 x5: bool,
9801 x6: bool,
9802 x7: bool,
9803 x8: bool,
9804 x9: bool,
9805 x10: bool,
9806 x11: bool,
9807 x12: bool,
9808 x13: bool,
9809 x14: bool,
9810 x15: bool,
9811) -> svbool_t {
9812 let op1 = svdupq_n_s8(
9813 x0 as i8, x1 as i8, x2 as i8, x3 as i8, x4 as i8, x5 as i8, x6 as i8, x7 as i8, x8 as i8,
9814 x9 as i8, x10 as i8, x11 as i8, x12 as i8, x13 as i8, x14 as i8, x15 as i8,
9815 );
9816 svcmpne_wide_s8(svptrue_b8(), op1, svdup_n_s64(0))
9817}
9818#[doc = "Broadcast a quadword of scalars"]
9819#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdupq[_n]_f32)"]
9820#[inline]
9821#[target_feature(enable = "sve")]
9822#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
9823pub fn svdupq_n_f32(x0: f32, x1: f32, x2: f32, x3: f32) -> svfloat32_t {
9824 unsafe extern "unadjusted" {
9825 #[cfg_attr(
9826 target_arch = "aarch64",
9827 link_name = "llvm.vector.insert.nxv4f32.v4f32"
9828 )]
9829 fn _svdupq_n_f32(op0: svfloat32_t, op1: float32x4_t, idx: i64) -> svfloat32_t;
9830 }
9831 unsafe {
9832 let op = _svdupq_n_f32(svundef_f32(), crate::mem::transmute([x0, x1, x2, x3]), 0);
9833 svdupq_lane_f32(op, 0)
9834 }
9835}
9836#[doc = "Broadcast a quadword of scalars"]
9837#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdupq[_n]_s32)"]
9838#[inline]
9839#[target_feature(enable = "sve")]
9840#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
9841pub fn svdupq_n_s32(x0: i32, x1: i32, x2: i32, x3: i32) -> svint32_t {
9842 unsafe extern "unadjusted" {
9843 #[cfg_attr(
9844 target_arch = "aarch64",
9845 link_name = "llvm.vector.insert.nxv4i32.v4i32"
9846 )]
9847 fn _svdupq_n_s32(op0: svint32_t, op1: int32x4_t, idx: i64) -> svint32_t;
9848 }
9849 unsafe {
9850 let op = _svdupq_n_s32(svundef_s32(), crate::mem::transmute([x0, x1, x2, x3]), 0);
9851 svdupq_lane_s32(op, 0)
9852 }
9853}
9854#[doc = "Broadcast a quadword of scalars"]
9855#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdupq[_n]_u32)"]
9856#[inline]
9857#[target_feature(enable = "sve")]
9858#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
9859pub fn svdupq_n_u32(x0: u32, x1: u32, x2: u32, x3: u32) -> svuint32_t {
9860 unsafe {
9861 svdupq_n_s32(
9862 x0.as_signed(),
9863 x1.as_signed(),
9864 x2.as_signed(),
9865 x3.as_signed(),
9866 )
9867 .as_unsigned()
9868 }
9869}
9870#[doc = "Broadcast a quadword of scalars"]
9871#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdupq[_n]_f64)"]
9872#[inline]
9873#[target_feature(enable = "sve")]
9874#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
9875pub fn svdupq_n_f64(x0: f64, x1: f64) -> svfloat64_t {
9876 unsafe extern "unadjusted" {
9877 #[cfg_attr(
9878 target_arch = "aarch64",
9879 link_name = "llvm.vector.insert.nxv2f64.v2f64"
9880 )]
9881 fn _svdupq_n_f64(op0: svfloat64_t, op1: float64x2_t, idx: i64) -> svfloat64_t;
9882 }
9883 unsafe {
9884 let op = _svdupq_n_f64(svundef_f64(), crate::mem::transmute([x0, x1]), 0);
9885 svdupq_lane_f64(op, 0)
9886 }
9887}
9888#[doc = "Broadcast a quadword of scalars"]
9889#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdupq[_n]_s64)"]
9890#[inline]
9891#[target_feature(enable = "sve")]
9892#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
9893pub fn svdupq_n_s64(x0: i64, x1: i64) -> svint64_t {
9894 unsafe extern "unadjusted" {
9895 #[cfg_attr(
9896 target_arch = "aarch64",
9897 link_name = "llvm.vector.insert.nxv2i64.v2i64"
9898 )]
9899 fn _svdupq_n_s64(op0: svint64_t, op1: int64x2_t, idx: i64) -> svint64_t;
9900 }
9901 unsafe {
9902 let op = _svdupq_n_s64(svundef_s64(), crate::mem::transmute([x0, x1]), 0);
9903 svdupq_lane_s64(op, 0)
9904 }
9905}
9906#[doc = "Broadcast a quadword of scalars"]
9907#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdupq[_n]_u64)"]
9908#[inline]
9909#[target_feature(enable = "sve")]
9910#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
9911pub fn svdupq_n_u64(x0: u64, x1: u64) -> svuint64_t {
9912 unsafe { svdupq_n_s64(x0.as_signed(), x1.as_signed()).as_unsigned() }
9913}
9914#[doc = "Broadcast a quadword of scalars"]
9915#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdupq[_n]_s16)"]
9916#[inline]
9917#[target_feature(enable = "sve")]
9918#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
9919pub fn svdupq_n_s16(
9920 x0: i16,
9921 x1: i16,
9922 x2: i16,
9923 x3: i16,
9924 x4: i16,
9925 x5: i16,
9926 x6: i16,
9927 x7: i16,
9928) -> svint16_t {
9929 unsafe extern "unadjusted" {
9930 #[cfg_attr(
9931 target_arch = "aarch64",
9932 link_name = "llvm.vector.insert.nxv8i16.v8i16"
9933 )]
9934 fn _svdupq_n_s16(op0: svint16_t, op1: int16x8_t, idx: i64) -> svint16_t;
9935 }
9936 unsafe {
9937 let op = _svdupq_n_s16(
9938 svundef_s16(),
9939 crate::mem::transmute([x0, x1, x2, x3, x4, x5, x6, x7]),
9940 0,
9941 );
9942 svdupq_lane_s16(op, 0)
9943 }
9944}
9945#[doc = "Broadcast a quadword of scalars"]
9946#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdupq[_n]_u16)"]
9947#[inline]
9948#[target_feature(enable = "sve")]
9949#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
9950pub fn svdupq_n_u16(
9951 x0: u16,
9952 x1: u16,
9953 x2: u16,
9954 x3: u16,
9955 x4: u16,
9956 x5: u16,
9957 x6: u16,
9958 x7: u16,
9959) -> svuint16_t {
9960 unsafe {
9961 svdupq_n_s16(
9962 x0.as_signed(),
9963 x1.as_signed(),
9964 x2.as_signed(),
9965 x3.as_signed(),
9966 x4.as_signed(),
9967 x5.as_signed(),
9968 x6.as_signed(),
9969 x7.as_signed(),
9970 )
9971 .as_unsigned()
9972 }
9973}
9974#[doc = "Broadcast a quadword of scalars"]
9975#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdupq[_n]_s8)"]
9976#[inline]
9977#[target_feature(enable = "sve")]
9978#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
9979pub fn svdupq_n_s8(
9980 x0: i8,
9981 x1: i8,
9982 x2: i8,
9983 x3: i8,
9984 x4: i8,
9985 x5: i8,
9986 x6: i8,
9987 x7: i8,
9988 x8: i8,
9989 x9: i8,
9990 x10: i8,
9991 x11: i8,
9992 x12: i8,
9993 x13: i8,
9994 x14: i8,
9995 x15: i8,
9996) -> svint8_t {
9997 unsafe extern "unadjusted" {
9998 #[cfg_attr(
9999 target_arch = "aarch64",
10000 link_name = "llvm.vector.insert.nxv16i8.v16i8"
10001 )]
10002 fn _svdupq_n_s8(op0: svint8_t, op1: int8x16_t, idx: i64) -> svint8_t;
10003 }
10004 unsafe {
10005 let op = _svdupq_n_s8(
10006 svundef_s8(),
10007 crate::mem::transmute([
10008 x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15,
10009 ]),
10010 0,
10011 );
10012 svdupq_lane_s8(op, 0)
10013 }
10014}
10015#[doc = "Broadcast a quadword of scalars"]
10016#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svdupq[_n]_u8)"]
10017#[inline]
10018#[target_feature(enable = "sve")]
10019#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
10020pub fn svdupq_n_u8(
10021 x0: u8,
10022 x1: u8,
10023 x2: u8,
10024 x3: u8,
10025 x4: u8,
10026 x5: u8,
10027 x6: u8,
10028 x7: u8,
10029 x8: u8,
10030 x9: u8,
10031 x10: u8,
10032 x11: u8,
10033 x12: u8,
10034 x13: u8,
10035 x14: u8,
10036 x15: u8,
10037) -> svuint8_t {
10038 unsafe {
10039 svdupq_n_s8(
10040 x0.as_signed(),
10041 x1.as_signed(),
10042 x2.as_signed(),
10043 x3.as_signed(),
10044 x4.as_signed(),
10045 x5.as_signed(),
10046 x6.as_signed(),
10047 x7.as_signed(),
10048 x8.as_signed(),
10049 x9.as_signed(),
10050 x10.as_signed(),
10051 x11.as_signed(),
10052 x12.as_signed(),
10053 x13.as_signed(),
10054 x14.as_signed(),
10055 x15.as_signed(),
10056 )
10057 .as_unsigned()
10058 }
10059}
10060#[doc = "Bitwise exclusive OR"]
10061#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/sveor[_b]_z)"]
10062#[inline]
10063#[target_feature(enable = "sve")]
10064#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
10065#[cfg_attr(test, assert_instr(eor))]
10066pub fn sveor_b_z(pg: svbool_t, op1: svbool_t, op2: svbool_t) -> svbool_t {
10067 unsafe extern "unadjusted" {
10068 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.eor.z.nxv16i1")]
10069 fn _sveor_b_z(pg: svbool_t, op1: svbool_t, op2: svbool_t) -> svbool_t;
10070 }
10071 unsafe { _sveor_b_z(pg, op1, op2) }
10072}
10073#[doc = "Bitwise exclusive OR"]
10074#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/sveor[_s8]_m)"]
10075#[inline]
10076#[target_feature(enable = "sve")]
10077#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
10078#[cfg_attr(test, assert_instr(eor))]
10079pub fn sveor_s8_m(pg: svbool_t, op1: svint8_t, op2: svint8_t) -> svint8_t {
10080 unsafe extern "unadjusted" {
10081 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.eor.nxv16i8")]
10082 fn _sveor_s8_m(pg: svbool_t, op1: svint8_t, op2: svint8_t) -> svint8_t;
10083 }
10084 unsafe { _sveor_s8_m(pg, op1, op2) }
10085}
10086#[doc = "Bitwise exclusive OR"]
10087#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/sveor[_n_s8]_m)"]
10088#[inline]
10089#[target_feature(enable = "sve")]
10090#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
10091#[cfg_attr(test, assert_instr(eor))]
10092pub fn sveor_n_s8_m(pg: svbool_t, op1: svint8_t, op2: i8) -> svint8_t {
10093 sveor_s8_m(pg, op1, svdup_n_s8(op2))
10094}
10095#[doc = "Bitwise exclusive OR"]
10096#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/sveor[_s8]_x)"]
10097#[inline]
10098#[target_feature(enable = "sve")]
10099#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
10100#[cfg_attr(test, assert_instr(eor))]
10101pub fn sveor_s8_x(pg: svbool_t, op1: svint8_t, op2: svint8_t) -> svint8_t {
10102 sveor_s8_m(pg, op1, op2)
10103}
10104#[doc = "Bitwise exclusive OR"]
10105#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/sveor[_n_s8]_x)"]
10106#[inline]
10107#[target_feature(enable = "sve")]
10108#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
10109#[cfg_attr(test, assert_instr(eor))]
10110pub fn sveor_n_s8_x(pg: svbool_t, op1: svint8_t, op2: i8) -> svint8_t {
10111 sveor_s8_x(pg, op1, svdup_n_s8(op2))
10112}
10113#[doc = "Bitwise exclusive OR"]
10114#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/sveor[_s8]_z)"]
10115#[inline]
10116#[target_feature(enable = "sve")]
10117#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
10118#[cfg_attr(test, assert_instr(eor))]
10119pub fn sveor_s8_z(pg: svbool_t, op1: svint8_t, op2: svint8_t) -> svint8_t {
10120 sveor_s8_m(pg, svsel_s8(pg, op1, svdup_n_s8(0)), op2)
10121}
10122#[doc = "Bitwise exclusive OR"]
10123#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/sveor[_n_s8]_z)"]
10124#[inline]
10125#[target_feature(enable = "sve")]
10126#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
10127#[cfg_attr(test, assert_instr(eor))]
10128pub fn sveor_n_s8_z(pg: svbool_t, op1: svint8_t, op2: i8) -> svint8_t {
10129 sveor_s8_z(pg, op1, svdup_n_s8(op2))
10130}
10131#[doc = "Bitwise exclusive OR"]
10132#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/sveor[_s16]_m)"]
10133#[inline]
10134#[target_feature(enable = "sve")]
10135#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
10136#[cfg_attr(test, assert_instr(eor))]
10137pub fn sveor_s16_m(pg: svbool_t, op1: svint16_t, op2: svint16_t) -> svint16_t {
10138 unsafe extern "unadjusted" {
10139 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.eor.nxv8i16")]
10140 fn _sveor_s16_m(pg: svbool8_t, op1: svint16_t, op2: svint16_t) -> svint16_t;
10141 }
10142 unsafe { _sveor_s16_m(pg.sve_into(), op1, op2) }
10143}
10144#[doc = "Bitwise exclusive OR"]
10145#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/sveor[_n_s16]_m)"]
10146#[inline]
10147#[target_feature(enable = "sve")]
10148#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
10149#[cfg_attr(test, assert_instr(eor))]
10150pub fn sveor_n_s16_m(pg: svbool_t, op1: svint16_t, op2: i16) -> svint16_t {
10151 sveor_s16_m(pg, op1, svdup_n_s16(op2))
10152}
10153#[doc = "Bitwise exclusive OR"]
10154#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/sveor[_s16]_x)"]
10155#[inline]
10156#[target_feature(enable = "sve")]
10157#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
10158#[cfg_attr(test, assert_instr(eor))]
10159pub fn sveor_s16_x(pg: svbool_t, op1: svint16_t, op2: svint16_t) -> svint16_t {
10160 sveor_s16_m(pg, op1, op2)
10161}
10162#[doc = "Bitwise exclusive OR"]
10163#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/sveor[_n_s16]_x)"]
10164#[inline]
10165#[target_feature(enable = "sve")]
10166#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
10167#[cfg_attr(test, assert_instr(eor))]
10168pub fn sveor_n_s16_x(pg: svbool_t, op1: svint16_t, op2: i16) -> svint16_t {
10169 sveor_s16_x(pg, op1, svdup_n_s16(op2))
10170}
10171#[doc = "Bitwise exclusive OR"]
10172#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/sveor[_s16]_z)"]
10173#[inline]
10174#[target_feature(enable = "sve")]
10175#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
10176#[cfg_attr(test, assert_instr(eor))]
10177pub fn sveor_s16_z(pg: svbool_t, op1: svint16_t, op2: svint16_t) -> svint16_t {
10178 sveor_s16_m(pg, svsel_s16(pg, op1, svdup_n_s16(0)), op2)
10179}
10180#[doc = "Bitwise exclusive OR"]
10181#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/sveor[_n_s16]_z)"]
10182#[inline]
10183#[target_feature(enable = "sve")]
10184#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
10185#[cfg_attr(test, assert_instr(eor))]
10186pub fn sveor_n_s16_z(pg: svbool_t, op1: svint16_t, op2: i16) -> svint16_t {
10187 sveor_s16_z(pg, op1, svdup_n_s16(op2))
10188}
10189#[doc = "Bitwise exclusive OR"]
10190#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/sveor[_s32]_m)"]
10191#[inline]
10192#[target_feature(enable = "sve")]
10193#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
10194#[cfg_attr(test, assert_instr(eor))]
10195pub fn sveor_s32_m(pg: svbool_t, op1: svint32_t, op2: svint32_t) -> svint32_t {
10196 unsafe extern "unadjusted" {
10197 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.eor.nxv4i32")]
10198 fn _sveor_s32_m(pg: svbool4_t, op1: svint32_t, op2: svint32_t) -> svint32_t;
10199 }
10200 unsafe { _sveor_s32_m(pg.sve_into(), op1, op2) }
10201}
10202#[doc = "Bitwise exclusive OR"]
10203#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/sveor[_n_s32]_m)"]
10204#[inline]
10205#[target_feature(enable = "sve")]
10206#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
10207#[cfg_attr(test, assert_instr(eor))]
10208pub fn sveor_n_s32_m(pg: svbool_t, op1: svint32_t, op2: i32) -> svint32_t {
10209 sveor_s32_m(pg, op1, svdup_n_s32(op2))
10210}
10211#[doc = "Bitwise exclusive OR"]
10212#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/sveor[_s32]_x)"]
10213#[inline]
10214#[target_feature(enable = "sve")]
10215#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
10216#[cfg_attr(test, assert_instr(eor))]
10217pub fn sveor_s32_x(pg: svbool_t, op1: svint32_t, op2: svint32_t) -> svint32_t {
10218 sveor_s32_m(pg, op1, op2)
10219}
10220#[doc = "Bitwise exclusive OR"]
10221#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/sveor[_n_s32]_x)"]
10222#[inline]
10223#[target_feature(enable = "sve")]
10224#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
10225#[cfg_attr(test, assert_instr(eor))]
10226pub fn sveor_n_s32_x(pg: svbool_t, op1: svint32_t, op2: i32) -> svint32_t {
10227 sveor_s32_x(pg, op1, svdup_n_s32(op2))
10228}
10229#[doc = "Bitwise exclusive OR"]
10230#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/sveor[_s32]_z)"]
10231#[inline]
10232#[target_feature(enable = "sve")]
10233#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
10234#[cfg_attr(test, assert_instr(eor))]
10235pub fn sveor_s32_z(pg: svbool_t, op1: svint32_t, op2: svint32_t) -> svint32_t {
10236 sveor_s32_m(pg, svsel_s32(pg, op1, svdup_n_s32(0)), op2)
10237}
10238#[doc = "Bitwise exclusive OR"]
10239#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/sveor[_n_s32]_z)"]
10240#[inline]
10241#[target_feature(enable = "sve")]
10242#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
10243#[cfg_attr(test, assert_instr(eor))]
10244pub fn sveor_n_s32_z(pg: svbool_t, op1: svint32_t, op2: i32) -> svint32_t {
10245 sveor_s32_z(pg, op1, svdup_n_s32(op2))
10246}
10247#[doc = "Bitwise exclusive OR"]
10248#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/sveor[_s64]_m)"]
10249#[inline]
10250#[target_feature(enable = "sve")]
10251#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
10252#[cfg_attr(test, assert_instr(eor))]
10253pub fn sveor_s64_m(pg: svbool_t, op1: svint64_t, op2: svint64_t) -> svint64_t {
10254 unsafe extern "unadjusted" {
10255 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.eor.nxv2i64")]
10256 fn _sveor_s64_m(pg: svbool2_t, op1: svint64_t, op2: svint64_t) -> svint64_t;
10257 }
10258 unsafe { _sveor_s64_m(pg.sve_into(), op1, op2) }
10259}
10260#[doc = "Bitwise exclusive OR"]
10261#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/sveor[_n_s64]_m)"]
10262#[inline]
10263#[target_feature(enable = "sve")]
10264#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
10265#[cfg_attr(test, assert_instr(eor))]
10266pub fn sveor_n_s64_m(pg: svbool_t, op1: svint64_t, op2: i64) -> svint64_t {
10267 sveor_s64_m(pg, op1, svdup_n_s64(op2))
10268}
10269#[doc = "Bitwise exclusive OR"]
10270#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/sveor[_s64]_x)"]
10271#[inline]
10272#[target_feature(enable = "sve")]
10273#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
10274#[cfg_attr(test, assert_instr(eor))]
10275pub fn sveor_s64_x(pg: svbool_t, op1: svint64_t, op2: svint64_t) -> svint64_t {
10276 sveor_s64_m(pg, op1, op2)
10277}
10278#[doc = "Bitwise exclusive OR"]
10279#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/sveor[_n_s64]_x)"]
10280#[inline]
10281#[target_feature(enable = "sve")]
10282#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
10283#[cfg_attr(test, assert_instr(eor))]
10284pub fn sveor_n_s64_x(pg: svbool_t, op1: svint64_t, op2: i64) -> svint64_t {
10285 sveor_s64_x(pg, op1, svdup_n_s64(op2))
10286}
10287#[doc = "Bitwise exclusive OR"]
10288#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/sveor[_s64]_z)"]
10289#[inline]
10290#[target_feature(enable = "sve")]
10291#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
10292#[cfg_attr(test, assert_instr(eor))]
10293pub fn sveor_s64_z(pg: svbool_t, op1: svint64_t, op2: svint64_t) -> svint64_t {
10294 sveor_s64_m(pg, svsel_s64(pg, op1, svdup_n_s64(0)), op2)
10295}
10296#[doc = "Bitwise exclusive OR"]
10297#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/sveor[_n_s64]_z)"]
10298#[inline]
10299#[target_feature(enable = "sve")]
10300#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
10301#[cfg_attr(test, assert_instr(eor))]
10302pub fn sveor_n_s64_z(pg: svbool_t, op1: svint64_t, op2: i64) -> svint64_t {
10303 sveor_s64_z(pg, op1, svdup_n_s64(op2))
10304}
10305#[doc = "Bitwise exclusive OR"]
10306#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/sveor[_u8]_m)"]
10307#[inline]
10308#[target_feature(enable = "sve")]
10309#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
10310#[cfg_attr(test, assert_instr(eor))]
10311pub fn sveor_u8_m(pg: svbool_t, op1: svuint8_t, op2: svuint8_t) -> svuint8_t {
10312 unsafe { sveor_s8_m(pg, op1.as_signed(), op2.as_signed()).as_unsigned() }
10313}
10314#[doc = "Bitwise exclusive OR"]
10315#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/sveor[_n_u8]_m)"]
10316#[inline]
10317#[target_feature(enable = "sve")]
10318#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
10319#[cfg_attr(test, assert_instr(eor))]
10320pub fn sveor_n_u8_m(pg: svbool_t, op1: svuint8_t, op2: u8) -> svuint8_t {
10321 sveor_u8_m(pg, op1, svdup_n_u8(op2))
10322}
10323#[doc = "Bitwise exclusive OR"]
10324#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/sveor[_u8]_x)"]
10325#[inline]
10326#[target_feature(enable = "sve")]
10327#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
10328#[cfg_attr(test, assert_instr(eor))]
10329pub fn sveor_u8_x(pg: svbool_t, op1: svuint8_t, op2: svuint8_t) -> svuint8_t {
10330 sveor_u8_m(pg, op1, op2)
10331}
10332#[doc = "Bitwise exclusive OR"]
10333#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/sveor[_n_u8]_x)"]
10334#[inline]
10335#[target_feature(enable = "sve")]
10336#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
10337#[cfg_attr(test, assert_instr(eor))]
10338pub fn sveor_n_u8_x(pg: svbool_t, op1: svuint8_t, op2: u8) -> svuint8_t {
10339 sveor_u8_x(pg, op1, svdup_n_u8(op2))
10340}
10341#[doc = "Bitwise exclusive OR"]
10342#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/sveor[_u8]_z)"]
10343#[inline]
10344#[target_feature(enable = "sve")]
10345#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
10346#[cfg_attr(test, assert_instr(eor))]
10347pub fn sveor_u8_z(pg: svbool_t, op1: svuint8_t, op2: svuint8_t) -> svuint8_t {
10348 sveor_u8_m(pg, svsel_u8(pg, op1, svdup_n_u8(0)), op2)
10349}
10350#[doc = "Bitwise exclusive OR"]
10351#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/sveor[_n_u8]_z)"]
10352#[inline]
10353#[target_feature(enable = "sve")]
10354#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
10355#[cfg_attr(test, assert_instr(eor))]
10356pub fn sveor_n_u8_z(pg: svbool_t, op1: svuint8_t, op2: u8) -> svuint8_t {
10357 sveor_u8_z(pg, op1, svdup_n_u8(op2))
10358}
10359#[doc = "Bitwise exclusive OR"]
10360#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/sveor[_u16]_m)"]
10361#[inline]
10362#[target_feature(enable = "sve")]
10363#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
10364#[cfg_attr(test, assert_instr(eor))]
10365pub fn sveor_u16_m(pg: svbool_t, op1: svuint16_t, op2: svuint16_t) -> svuint16_t {
10366 unsafe { sveor_s16_m(pg, op1.as_signed(), op2.as_signed()).as_unsigned() }
10367}
10368#[doc = "Bitwise exclusive OR"]
10369#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/sveor[_n_u16]_m)"]
10370#[inline]
10371#[target_feature(enable = "sve")]
10372#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
10373#[cfg_attr(test, assert_instr(eor))]
10374pub fn sveor_n_u16_m(pg: svbool_t, op1: svuint16_t, op2: u16) -> svuint16_t {
10375 sveor_u16_m(pg, op1, svdup_n_u16(op2))
10376}
10377#[doc = "Bitwise exclusive OR"]
10378#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/sveor[_u16]_x)"]
10379#[inline]
10380#[target_feature(enable = "sve")]
10381#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
10382#[cfg_attr(test, assert_instr(eor))]
10383pub fn sveor_u16_x(pg: svbool_t, op1: svuint16_t, op2: svuint16_t) -> svuint16_t {
10384 sveor_u16_m(pg, op1, op2)
10385}
10386#[doc = "Bitwise exclusive OR"]
10387#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/sveor[_n_u16]_x)"]
10388#[inline]
10389#[target_feature(enable = "sve")]
10390#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
10391#[cfg_attr(test, assert_instr(eor))]
10392pub fn sveor_n_u16_x(pg: svbool_t, op1: svuint16_t, op2: u16) -> svuint16_t {
10393 sveor_u16_x(pg, op1, svdup_n_u16(op2))
10394}
10395#[doc = "Bitwise exclusive OR"]
10396#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/sveor[_u16]_z)"]
10397#[inline]
10398#[target_feature(enable = "sve")]
10399#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
10400#[cfg_attr(test, assert_instr(eor))]
10401pub fn sveor_u16_z(pg: svbool_t, op1: svuint16_t, op2: svuint16_t) -> svuint16_t {
10402 sveor_u16_m(pg, svsel_u16(pg, op1, svdup_n_u16(0)), op2)
10403}
10404#[doc = "Bitwise exclusive OR"]
10405#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/sveor[_n_u16]_z)"]
10406#[inline]
10407#[target_feature(enable = "sve")]
10408#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
10409#[cfg_attr(test, assert_instr(eor))]
10410pub fn sveor_n_u16_z(pg: svbool_t, op1: svuint16_t, op2: u16) -> svuint16_t {
10411 sveor_u16_z(pg, op1, svdup_n_u16(op2))
10412}
10413#[doc = "Bitwise exclusive OR"]
10414#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/sveor[_u32]_m)"]
10415#[inline]
10416#[target_feature(enable = "sve")]
10417#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
10418#[cfg_attr(test, assert_instr(eor))]
10419pub fn sveor_u32_m(pg: svbool_t, op1: svuint32_t, op2: svuint32_t) -> svuint32_t {
10420 unsafe { sveor_s32_m(pg, op1.as_signed(), op2.as_signed()).as_unsigned() }
10421}
10422#[doc = "Bitwise exclusive OR"]
10423#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/sveor[_n_u32]_m)"]
10424#[inline]
10425#[target_feature(enable = "sve")]
10426#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
10427#[cfg_attr(test, assert_instr(eor))]
10428pub fn sveor_n_u32_m(pg: svbool_t, op1: svuint32_t, op2: u32) -> svuint32_t {
10429 sveor_u32_m(pg, op1, svdup_n_u32(op2))
10430}
10431#[doc = "Bitwise exclusive OR"]
10432#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/sveor[_u32]_x)"]
10433#[inline]
10434#[target_feature(enable = "sve")]
10435#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
10436#[cfg_attr(test, assert_instr(eor))]
10437pub fn sveor_u32_x(pg: svbool_t, op1: svuint32_t, op2: svuint32_t) -> svuint32_t {
10438 sveor_u32_m(pg, op1, op2)
10439}
10440#[doc = "Bitwise exclusive OR"]
10441#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/sveor[_n_u32]_x)"]
10442#[inline]
10443#[target_feature(enable = "sve")]
10444#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
10445#[cfg_attr(test, assert_instr(eor))]
10446pub fn sveor_n_u32_x(pg: svbool_t, op1: svuint32_t, op2: u32) -> svuint32_t {
10447 sveor_u32_x(pg, op1, svdup_n_u32(op2))
10448}
10449#[doc = "Bitwise exclusive OR"]
10450#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/sveor[_u32]_z)"]
10451#[inline]
10452#[target_feature(enable = "sve")]
10453#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
10454#[cfg_attr(test, assert_instr(eor))]
10455pub fn sveor_u32_z(pg: svbool_t, op1: svuint32_t, op2: svuint32_t) -> svuint32_t {
10456 sveor_u32_m(pg, svsel_u32(pg, op1, svdup_n_u32(0)), op2)
10457}
10458#[doc = "Bitwise exclusive OR"]
10459#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/sveor[_n_u32]_z)"]
10460#[inline]
10461#[target_feature(enable = "sve")]
10462#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
10463#[cfg_attr(test, assert_instr(eor))]
10464pub fn sveor_n_u32_z(pg: svbool_t, op1: svuint32_t, op2: u32) -> svuint32_t {
10465 sveor_u32_z(pg, op1, svdup_n_u32(op2))
10466}
10467#[doc = "Bitwise exclusive OR"]
10468#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/sveor[_u64]_m)"]
10469#[inline]
10470#[target_feature(enable = "sve")]
10471#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
10472#[cfg_attr(test, assert_instr(eor))]
10473pub fn sveor_u64_m(pg: svbool_t, op1: svuint64_t, op2: svuint64_t) -> svuint64_t {
10474 unsafe { sveor_s64_m(pg, op1.as_signed(), op2.as_signed()).as_unsigned() }
10475}
10476#[doc = "Bitwise exclusive OR"]
10477#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/sveor[_n_u64]_m)"]
10478#[inline]
10479#[target_feature(enable = "sve")]
10480#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
10481#[cfg_attr(test, assert_instr(eor))]
10482pub fn sveor_n_u64_m(pg: svbool_t, op1: svuint64_t, op2: u64) -> svuint64_t {
10483 sveor_u64_m(pg, op1, svdup_n_u64(op2))
10484}
10485#[doc = "Bitwise exclusive OR"]
10486#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/sveor[_u64]_x)"]
10487#[inline]
10488#[target_feature(enable = "sve")]
10489#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
10490#[cfg_attr(test, assert_instr(eor))]
10491pub fn sveor_u64_x(pg: svbool_t, op1: svuint64_t, op2: svuint64_t) -> svuint64_t {
10492 sveor_u64_m(pg, op1, op2)
10493}
10494#[doc = "Bitwise exclusive OR"]
10495#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/sveor[_n_u64]_x)"]
10496#[inline]
10497#[target_feature(enable = "sve")]
10498#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
10499#[cfg_attr(test, assert_instr(eor))]
10500pub fn sveor_n_u64_x(pg: svbool_t, op1: svuint64_t, op2: u64) -> svuint64_t {
10501 sveor_u64_x(pg, op1, svdup_n_u64(op2))
10502}
10503#[doc = "Bitwise exclusive OR"]
10504#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/sveor[_u64]_z)"]
10505#[inline]
10506#[target_feature(enable = "sve")]
10507#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
10508#[cfg_attr(test, assert_instr(eor))]
10509pub fn sveor_u64_z(pg: svbool_t, op1: svuint64_t, op2: svuint64_t) -> svuint64_t {
10510 sveor_u64_m(pg, svsel_u64(pg, op1, svdup_n_u64(0)), op2)
10511}
10512#[doc = "Bitwise exclusive OR"]
10513#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/sveor[_n_u64]_z)"]
10514#[inline]
10515#[target_feature(enable = "sve")]
10516#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
10517#[cfg_attr(test, assert_instr(eor))]
10518pub fn sveor_n_u64_z(pg: svbool_t, op1: svuint64_t, op2: u64) -> svuint64_t {
10519 sveor_u64_z(pg, op1, svdup_n_u64(op2))
10520}
10521#[doc = "Bitwise exclusive OR reduction to scalar"]
10522#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/sveorv[_s8])"]
10523#[inline]
10524#[target_feature(enable = "sve")]
10525#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
10526#[cfg_attr(test, assert_instr(eorv))]
10527pub fn sveorv_s8(pg: svbool_t, op: svint8_t) -> i8 {
10528 unsafe extern "unadjusted" {
10529 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.eorv.nxv16i8")]
10530 fn _sveorv_s8(pg: svbool_t, op: svint8_t) -> i8;
10531 }
10532 unsafe { _sveorv_s8(pg, op) }
10533}
10534#[doc = "Bitwise exclusive OR reduction to scalar"]
10535#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/sveorv[_s16])"]
10536#[inline]
10537#[target_feature(enable = "sve")]
10538#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
10539#[cfg_attr(test, assert_instr(eorv))]
10540pub fn sveorv_s16(pg: svbool_t, op: svint16_t) -> i16 {
10541 unsafe extern "unadjusted" {
10542 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.eorv.nxv8i16")]
10543 fn _sveorv_s16(pg: svbool8_t, op: svint16_t) -> i16;
10544 }
10545 unsafe { _sveorv_s16(pg.sve_into(), op) }
10546}
10547#[doc = "Bitwise exclusive OR reduction to scalar"]
10548#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/sveorv[_s32])"]
10549#[inline]
10550#[target_feature(enable = "sve")]
10551#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
10552#[cfg_attr(test, assert_instr(eorv))]
10553pub fn sveorv_s32(pg: svbool_t, op: svint32_t) -> i32 {
10554 unsafe extern "unadjusted" {
10555 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.eorv.nxv4i32")]
10556 fn _sveorv_s32(pg: svbool4_t, op: svint32_t) -> i32;
10557 }
10558 unsafe { _sveorv_s32(pg.sve_into(), op) }
10559}
10560#[doc = "Bitwise exclusive OR reduction to scalar"]
10561#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/sveorv[_s64])"]
10562#[inline]
10563#[target_feature(enable = "sve")]
10564#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
10565#[cfg_attr(test, assert_instr(eorv))]
10566pub fn sveorv_s64(pg: svbool_t, op: svint64_t) -> i64 {
10567 unsafe extern "unadjusted" {
10568 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.eorv.nxv2i64")]
10569 fn _sveorv_s64(pg: svbool2_t, op: svint64_t) -> i64;
10570 }
10571 unsafe { _sveorv_s64(pg.sve_into(), op) }
10572}
10573#[doc = "Bitwise exclusive OR reduction to scalar"]
10574#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/sveorv[_u8])"]
10575#[inline]
10576#[target_feature(enable = "sve")]
10577#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
10578#[cfg_attr(test, assert_instr(eorv))]
10579pub fn sveorv_u8(pg: svbool_t, op: svuint8_t) -> u8 {
10580 unsafe { sveorv_s8(pg, op.as_signed()).as_unsigned() }
10581}
10582#[doc = "Bitwise exclusive OR reduction to scalar"]
10583#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/sveorv[_u16])"]
10584#[inline]
10585#[target_feature(enable = "sve")]
10586#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
10587#[cfg_attr(test, assert_instr(eorv))]
10588pub fn sveorv_u16(pg: svbool_t, op: svuint16_t) -> u16 {
10589 unsafe { sveorv_s16(pg, op.as_signed()).as_unsigned() }
10590}
10591#[doc = "Bitwise exclusive OR reduction to scalar"]
10592#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/sveorv[_u32])"]
10593#[inline]
10594#[target_feature(enable = "sve")]
10595#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
10596#[cfg_attr(test, assert_instr(eorv))]
10597pub fn sveorv_u32(pg: svbool_t, op: svuint32_t) -> u32 {
10598 unsafe { sveorv_s32(pg, op.as_signed()).as_unsigned() }
10599}
10600#[doc = "Bitwise exclusive OR reduction to scalar"]
10601#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/sveorv[_u64])"]
10602#[inline]
10603#[target_feature(enable = "sve")]
10604#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
10605#[cfg_attr(test, assert_instr(eorv))]
10606pub fn sveorv_u64(pg: svbool_t, op: svuint64_t) -> u64 {
10607 unsafe { sveorv_s64(pg, op.as_signed()).as_unsigned() }
10608}
10609#[doc = "Floating-point exponential accelerator"]
10610#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svexpa[_f32])"]
10611#[inline]
10612#[target_feature(enable = "sve")]
10613#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
10614#[cfg_attr(test, assert_instr(fexpa))]
10615pub fn svexpa_f32(op: svuint32_t) -> svfloat32_t {
10616 unsafe extern "unadjusted" {
10617 #[cfg_attr(
10618 target_arch = "aarch64",
10619 link_name = "llvm.aarch64.sve.fexpa.x.nxv4f32"
10620 )]
10621 fn _svexpa_f32(op: svint32_t) -> svfloat32_t;
10622 }
10623 unsafe { _svexpa_f32(op.as_signed()) }
10624}
10625#[doc = "Floating-point exponential accelerator"]
10626#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svexpa[_f64])"]
10627#[inline]
10628#[target_feature(enable = "sve")]
10629#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
10630#[cfg_attr(test, assert_instr(fexpa))]
10631pub fn svexpa_f64(op: svuint64_t) -> svfloat64_t {
10632 unsafe extern "unadjusted" {
10633 #[cfg_attr(
10634 target_arch = "aarch64",
10635 link_name = "llvm.aarch64.sve.fexpa.x.nxv2f64"
10636 )]
10637 fn _svexpa_f64(op: svint64_t) -> svfloat64_t;
10638 }
10639 unsafe { _svexpa_f64(op.as_signed()) }
10640}
10641#[doc = "Extract vector from pair of vectors"]
10642#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svext[_f32])"]
10643#[inline]
10644#[target_feature(enable = "sve")]
10645#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
10646#[cfg_attr(test, assert_instr(ext, IMM3 = 1))]
10647pub fn svext_f32<const IMM3: i32>(op1: svfloat32_t, op2: svfloat32_t) -> svfloat32_t {
10648 static_assert_range!(IMM3, 0..=63);
10649 unsafe extern "unadjusted" {
10650 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.ext.nxv4f32")]
10651 fn _svext_f32(op1: svfloat32_t, op2: svfloat32_t, imm3: i32) -> svfloat32_t;
10652 }
10653 unsafe { _svext_f32(op1, op2, IMM3) }
10654}
10655#[doc = "Extract vector from pair of vectors"]
10656#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svext[_f64])"]
10657#[inline]
10658#[target_feature(enable = "sve")]
10659#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
10660#[cfg_attr(test, assert_instr(ext, IMM3 = 1))]
10661pub fn svext_f64<const IMM3: i32>(op1: svfloat64_t, op2: svfloat64_t) -> svfloat64_t {
10662 static_assert_range!(IMM3, 0..=31);
10663 unsafe extern "unadjusted" {
10664 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.ext.nxv2f64")]
10665 fn _svext_f64(op1: svfloat64_t, op2: svfloat64_t, imm3: i32) -> svfloat64_t;
10666 }
10667 unsafe { _svext_f64(op1, op2, IMM3) }
10668}
10669#[doc = "Extract vector from pair of vectors"]
10670#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svext[_s8])"]
10671#[inline]
10672#[target_feature(enable = "sve")]
10673#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
10674#[cfg_attr(test, assert_instr(ext, IMM3 = 1))]
10675pub fn svext_s8<const IMM3: i32>(op1: svint8_t, op2: svint8_t) -> svint8_t {
10676 static_assert_range!(IMM3, 0..=255);
10677 unsafe extern "unadjusted" {
10678 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.ext.nxv16i8")]
10679 fn _svext_s8(op1: svint8_t, op2: svint8_t, imm3: i32) -> svint8_t;
10680 }
10681 unsafe { _svext_s8(op1, op2, IMM3) }
10682}
10683#[doc = "Extract vector from pair of vectors"]
10684#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svext[_s16])"]
10685#[inline]
10686#[target_feature(enable = "sve")]
10687#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
10688#[cfg_attr(test, assert_instr(ext, IMM3 = 1))]
10689pub fn svext_s16<const IMM3: i32>(op1: svint16_t, op2: svint16_t) -> svint16_t {
10690 static_assert_range!(IMM3, 0..=127);
10691 unsafe extern "unadjusted" {
10692 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.ext.nxv8i16")]
10693 fn _svext_s16(op1: svint16_t, op2: svint16_t, imm3: i32) -> svint16_t;
10694 }
10695 unsafe { _svext_s16(op1, op2, IMM3) }
10696}
10697#[doc = "Extract vector from pair of vectors"]
10698#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svext[_s32])"]
10699#[inline]
10700#[target_feature(enable = "sve")]
10701#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
10702#[cfg_attr(test, assert_instr(ext, IMM3 = 1))]
10703pub fn svext_s32<const IMM3: i32>(op1: svint32_t, op2: svint32_t) -> svint32_t {
10704 static_assert_range!(IMM3, 0..=63);
10705 unsafe extern "unadjusted" {
10706 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.ext.nxv4i32")]
10707 fn _svext_s32(op1: svint32_t, op2: svint32_t, imm3: i32) -> svint32_t;
10708 }
10709 unsafe { _svext_s32(op1, op2, IMM3) }
10710}
10711#[doc = "Extract vector from pair of vectors"]
10712#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svext[_s64])"]
10713#[inline]
10714#[target_feature(enable = "sve")]
10715#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
10716#[cfg_attr(test, assert_instr(ext, IMM3 = 1))]
10717pub fn svext_s64<const IMM3: i32>(op1: svint64_t, op2: svint64_t) -> svint64_t {
10718 static_assert_range!(IMM3, 0..=31);
10719 unsafe extern "unadjusted" {
10720 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.ext.nxv2i64")]
10721 fn _svext_s64(op1: svint64_t, op2: svint64_t, imm3: i32) -> svint64_t;
10722 }
10723 unsafe { _svext_s64(op1, op2, IMM3) }
10724}
10725#[doc = "Extract vector from pair of vectors"]
10726#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svext[_u8])"]
10727#[inline]
10728#[target_feature(enable = "sve")]
10729#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
10730#[cfg_attr(test, assert_instr(ext, IMM3 = 1))]
10731pub fn svext_u8<const IMM3: i32>(op1: svuint8_t, op2: svuint8_t) -> svuint8_t {
10732 static_assert_range!(IMM3, 0..=255);
10733 unsafe { svext_s8::<IMM3>(op1.as_signed(), op2.as_signed()).as_unsigned() }
10734}
10735#[doc = "Extract vector from pair of vectors"]
10736#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svext[_u16])"]
10737#[inline]
10738#[target_feature(enable = "sve")]
10739#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
10740#[cfg_attr(test, assert_instr(ext, IMM3 = 1))]
10741pub fn svext_u16<const IMM3: i32>(op1: svuint16_t, op2: svuint16_t) -> svuint16_t {
10742 static_assert_range!(IMM3, 0..=127);
10743 unsafe { svext_s16::<IMM3>(op1.as_signed(), op2.as_signed()).as_unsigned() }
10744}
10745#[doc = "Extract vector from pair of vectors"]
10746#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svext[_u32])"]
10747#[inline]
10748#[target_feature(enable = "sve")]
10749#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
10750#[cfg_attr(test, assert_instr(ext, IMM3 = 1))]
10751pub fn svext_u32<const IMM3: i32>(op1: svuint32_t, op2: svuint32_t) -> svuint32_t {
10752 static_assert_range!(IMM3, 0..=63);
10753 unsafe { svext_s32::<IMM3>(op1.as_signed(), op2.as_signed()).as_unsigned() }
10754}
10755#[doc = "Extract vector from pair of vectors"]
10756#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svext[_u64])"]
10757#[inline]
10758#[target_feature(enable = "sve")]
10759#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
10760#[cfg_attr(test, assert_instr(ext, IMM3 = 1))]
10761pub fn svext_u64<const IMM3: i32>(op1: svuint64_t, op2: svuint64_t) -> svuint64_t {
10762 static_assert_range!(IMM3, 0..=31);
10763 unsafe { svext_s64::<IMM3>(op1.as_signed(), op2.as_signed()).as_unsigned() }
10764}
10765#[doc = "Sign-extend the low 8 bits"]
10766#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svextb[_s16]_m)"]
10767#[inline]
10768#[target_feature(enable = "sve")]
10769#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
10770#[cfg_attr(test, assert_instr(sxtb))]
10771pub fn svextb_s16_m(inactive: svint16_t, pg: svbool_t, op: svint16_t) -> svint16_t {
10772 unsafe extern "unadjusted" {
10773 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.sxtb.nxv8i16")]
10774 fn _svextb_s16_m(inactive: svint16_t, pg: svbool8_t, op: svint16_t) -> svint16_t;
10775 }
10776 unsafe { _svextb_s16_m(inactive, pg.sve_into(), op) }
10777}
10778#[doc = "Sign-extend the low 8 bits"]
10779#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svextb[_s16]_x)"]
10780#[inline]
10781#[target_feature(enable = "sve")]
10782#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
10783#[cfg_attr(test, assert_instr(sxtb))]
10784pub fn svextb_s16_x(pg: svbool_t, op: svint16_t) -> svint16_t {
10785 svextb_s16_m(op, pg, op)
10786}
10787#[doc = "Sign-extend the low 8 bits"]
10788#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svextb[_s16]_z)"]
10789#[inline]
10790#[target_feature(enable = "sve")]
10791#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
10792#[cfg_attr(test, assert_instr(sxtb))]
10793pub fn svextb_s16_z(pg: svbool_t, op: svint16_t) -> svint16_t {
10794 svextb_s16_m(svdup_n_s16(0), pg, op)
10795}
10796#[doc = "Sign-extend the low 8 bits"]
10797#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svextb[_s32]_m)"]
10798#[inline]
10799#[target_feature(enable = "sve")]
10800#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
10801#[cfg_attr(test, assert_instr(sxtb))]
10802pub fn svextb_s32_m(inactive: svint32_t, pg: svbool_t, op: svint32_t) -> svint32_t {
10803 unsafe extern "unadjusted" {
10804 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.sxtb.nxv4i32")]
10805 fn _svextb_s32_m(inactive: svint32_t, pg: svbool4_t, op: svint32_t) -> svint32_t;
10806 }
10807 unsafe { _svextb_s32_m(inactive, pg.sve_into(), op) }
10808}
10809#[doc = "Sign-extend the low 8 bits"]
10810#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svextb[_s32]_x)"]
10811#[inline]
10812#[target_feature(enable = "sve")]
10813#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
10814#[cfg_attr(test, assert_instr(sxtb))]
10815pub fn svextb_s32_x(pg: svbool_t, op: svint32_t) -> svint32_t {
10816 svextb_s32_m(op, pg, op)
10817}
10818#[doc = "Sign-extend the low 8 bits"]
10819#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svextb[_s32]_z)"]
10820#[inline]
10821#[target_feature(enable = "sve")]
10822#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
10823#[cfg_attr(test, assert_instr(sxtb))]
10824pub fn svextb_s32_z(pg: svbool_t, op: svint32_t) -> svint32_t {
10825 svextb_s32_m(svdup_n_s32(0), pg, op)
10826}
10827#[doc = "Sign-extend the low 16 bits"]
10828#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svexth[_s32]_m)"]
10829#[inline]
10830#[target_feature(enable = "sve")]
10831#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
10832#[cfg_attr(test, assert_instr(sxth))]
10833pub fn svexth_s32_m(inactive: svint32_t, pg: svbool_t, op: svint32_t) -> svint32_t {
10834 unsafe extern "unadjusted" {
10835 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.sxth.nxv4i32")]
10836 fn _svexth_s32_m(inactive: svint32_t, pg: svbool4_t, op: svint32_t) -> svint32_t;
10837 }
10838 unsafe { _svexth_s32_m(inactive, pg.sve_into(), op) }
10839}
10840#[doc = "Sign-extend the low 16 bits"]
10841#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svexth[_s32]_x)"]
10842#[inline]
10843#[target_feature(enable = "sve")]
10844#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
10845#[cfg_attr(test, assert_instr(sxth))]
10846pub fn svexth_s32_x(pg: svbool_t, op: svint32_t) -> svint32_t {
10847 svexth_s32_m(op, pg, op)
10848}
10849#[doc = "Sign-extend the low 16 bits"]
10850#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svexth[_s32]_z)"]
10851#[inline]
10852#[target_feature(enable = "sve")]
10853#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
10854#[cfg_attr(test, assert_instr(sxth))]
10855pub fn svexth_s32_z(pg: svbool_t, op: svint32_t) -> svint32_t {
10856 svexth_s32_m(svdup_n_s32(0), pg, op)
10857}
10858#[doc = "Sign-extend the low 8 bits"]
10859#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svextb[_s64]_m)"]
10860#[inline]
10861#[target_feature(enable = "sve")]
10862#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
10863#[cfg_attr(test, assert_instr(sxtb))]
10864pub fn svextb_s64_m(inactive: svint64_t, pg: svbool_t, op: svint64_t) -> svint64_t {
10865 unsafe extern "unadjusted" {
10866 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.sxtb.nxv2i64")]
10867 fn _svextb_s64_m(inactive: svint64_t, pg: svbool2_t, op: svint64_t) -> svint64_t;
10868 }
10869 unsafe { _svextb_s64_m(inactive, pg.sve_into(), op) }
10870}
10871#[doc = "Sign-extend the low 8 bits"]
10872#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svextb[_s64]_x)"]
10873#[inline]
10874#[target_feature(enable = "sve")]
10875#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
10876#[cfg_attr(test, assert_instr(sxtb))]
10877pub fn svextb_s64_x(pg: svbool_t, op: svint64_t) -> svint64_t {
10878 svextb_s64_m(op, pg, op)
10879}
10880#[doc = "Sign-extend the low 8 bits"]
10881#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svextb[_s64]_z)"]
10882#[inline]
10883#[target_feature(enable = "sve")]
10884#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
10885#[cfg_attr(test, assert_instr(sxtb))]
10886pub fn svextb_s64_z(pg: svbool_t, op: svint64_t) -> svint64_t {
10887 svextb_s64_m(svdup_n_s64(0), pg, op)
10888}
10889#[doc = "Sign-extend the low 16 bits"]
10890#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svexth[_s64]_m)"]
10891#[inline]
10892#[target_feature(enable = "sve")]
10893#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
10894#[cfg_attr(test, assert_instr(sxth))]
10895pub fn svexth_s64_m(inactive: svint64_t, pg: svbool_t, op: svint64_t) -> svint64_t {
10896 unsafe extern "unadjusted" {
10897 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.sxth.nxv2i64")]
10898 fn _svexth_s64_m(inactive: svint64_t, pg: svbool2_t, op: svint64_t) -> svint64_t;
10899 }
10900 unsafe { _svexth_s64_m(inactive, pg.sve_into(), op) }
10901}
10902#[doc = "Sign-extend the low 16 bits"]
10903#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svexth[_s64]_x)"]
10904#[inline]
10905#[target_feature(enable = "sve")]
10906#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
10907#[cfg_attr(test, assert_instr(sxth))]
10908pub fn svexth_s64_x(pg: svbool_t, op: svint64_t) -> svint64_t {
10909 svexth_s64_m(op, pg, op)
10910}
10911#[doc = "Sign-extend the low 16 bits"]
10912#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svexth[_s64]_z)"]
10913#[inline]
10914#[target_feature(enable = "sve")]
10915#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
10916#[cfg_attr(test, assert_instr(sxth))]
10917pub fn svexth_s64_z(pg: svbool_t, op: svint64_t) -> svint64_t {
10918 svexth_s64_m(svdup_n_s64(0), pg, op)
10919}
10920#[doc = "Sign-extend the low 32 bits"]
10921#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svextw[_s64]_m)"]
10922#[inline]
10923#[target_feature(enable = "sve")]
10924#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
10925#[cfg_attr(test, assert_instr(sxtw))]
10926pub fn svextw_s64_m(inactive: svint64_t, pg: svbool_t, op: svint64_t) -> svint64_t {
10927 unsafe extern "unadjusted" {
10928 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.sxtw.nxv2i64")]
10929 fn _svextw_s64_m(inactive: svint64_t, pg: svbool2_t, op: svint64_t) -> svint64_t;
10930 }
10931 unsafe { _svextw_s64_m(inactive, pg.sve_into(), op) }
10932}
10933#[doc = "Sign-extend the low 32 bits"]
10934#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svextw[_s64]_x)"]
10935#[inline]
10936#[target_feature(enable = "sve")]
10937#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
10938#[cfg_attr(test, assert_instr(sxtw))]
10939pub fn svextw_s64_x(pg: svbool_t, op: svint64_t) -> svint64_t {
10940 svextw_s64_m(op, pg, op)
10941}
10942#[doc = "Sign-extend the low 32 bits"]
10943#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svextw[_s64]_z)"]
10944#[inline]
10945#[target_feature(enable = "sve")]
10946#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
10947#[cfg_attr(test, assert_instr(sxtw))]
10948pub fn svextw_s64_z(pg: svbool_t, op: svint64_t) -> svint64_t {
10949 svextw_s64_m(svdup_n_s64(0), pg, op)
10950}
10951#[doc = "Zero-extend the low 8 bits"]
10952#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svextb[_u16]_m)"]
10953#[inline]
10954#[target_feature(enable = "sve")]
10955#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
10956#[cfg_attr(test, assert_instr(uxtb))]
10957pub fn svextb_u16_m(inactive: svuint16_t, pg: svbool_t, op: svuint16_t) -> svuint16_t {
10958 unsafe extern "unadjusted" {
10959 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.uxtb.nxv8i16")]
10960 fn _svextb_u16_m(inactive: svint16_t, pg: svbool8_t, op: svint16_t) -> svint16_t;
10961 }
10962 unsafe { _svextb_u16_m(inactive.as_signed(), pg.sve_into(), op.as_signed()).as_unsigned() }
10963}
10964#[doc = "Zero-extend the low 8 bits"]
10965#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svextb[_u16]_x)"]
10966#[inline]
10967#[target_feature(enable = "sve")]
10968#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
10969#[cfg_attr(test, assert_instr(uxtb))]
10970pub fn svextb_u16_x(pg: svbool_t, op: svuint16_t) -> svuint16_t {
10971 svextb_u16_m(op, pg, op)
10972}
10973#[doc = "Zero-extend the low 8 bits"]
10974#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svextb[_u16]_z)"]
10975#[inline]
10976#[target_feature(enable = "sve")]
10977#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
10978#[cfg_attr(test, assert_instr(uxtb))]
10979pub fn svextb_u16_z(pg: svbool_t, op: svuint16_t) -> svuint16_t {
10980 svextb_u16_m(svdup_n_u16(0), pg, op)
10981}
10982#[doc = "Zero-extend the low 8 bits"]
10983#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svextb[_u32]_m)"]
10984#[inline]
10985#[target_feature(enable = "sve")]
10986#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
10987#[cfg_attr(test, assert_instr(uxtb))]
10988pub fn svextb_u32_m(inactive: svuint32_t, pg: svbool_t, op: svuint32_t) -> svuint32_t {
10989 unsafe extern "unadjusted" {
10990 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.uxtb.nxv4i32")]
10991 fn _svextb_u32_m(inactive: svint32_t, pg: svbool4_t, op: svint32_t) -> svint32_t;
10992 }
10993 unsafe { _svextb_u32_m(inactive.as_signed(), pg.sve_into(), op.as_signed()).as_unsigned() }
10994}
10995#[doc = "Zero-extend the low 8 bits"]
10996#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svextb[_u32]_x)"]
10997#[inline]
10998#[target_feature(enable = "sve")]
10999#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
11000#[cfg_attr(test, assert_instr(uxtb))]
11001pub fn svextb_u32_x(pg: svbool_t, op: svuint32_t) -> svuint32_t {
11002 svextb_u32_m(op, pg, op)
11003}
11004#[doc = "Zero-extend the low 8 bits"]
11005#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svextb[_u32]_z)"]
11006#[inline]
11007#[target_feature(enable = "sve")]
11008#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
11009#[cfg_attr(test, assert_instr(uxtb))]
11010pub fn svextb_u32_z(pg: svbool_t, op: svuint32_t) -> svuint32_t {
11011 svextb_u32_m(svdup_n_u32(0), pg, op)
11012}
11013#[doc = "Zero-extend the low 16 bits"]
11014#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svexth[_u32]_m)"]
11015#[inline]
11016#[target_feature(enable = "sve")]
11017#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
11018#[cfg_attr(test, assert_instr(uxth))]
11019pub fn svexth_u32_m(inactive: svuint32_t, pg: svbool_t, op: svuint32_t) -> svuint32_t {
11020 unsafe extern "unadjusted" {
11021 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.uxth.nxv4i32")]
11022 fn _svexth_u32_m(inactive: svint32_t, pg: svbool4_t, op: svint32_t) -> svint32_t;
11023 }
11024 unsafe { _svexth_u32_m(inactive.as_signed(), pg.sve_into(), op.as_signed()).as_unsigned() }
11025}
11026#[doc = "Zero-extend the low 16 bits"]
11027#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svexth[_u32]_x)"]
11028#[inline]
11029#[target_feature(enable = "sve")]
11030#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
11031#[cfg_attr(test, assert_instr(uxth))]
11032pub fn svexth_u32_x(pg: svbool_t, op: svuint32_t) -> svuint32_t {
11033 svexth_u32_m(op, pg, op)
11034}
11035#[doc = "Zero-extend the low 16 bits"]
11036#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svexth[_u32]_z)"]
11037#[inline]
11038#[target_feature(enable = "sve")]
11039#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
11040#[cfg_attr(test, assert_instr(uxth))]
11041pub fn svexth_u32_z(pg: svbool_t, op: svuint32_t) -> svuint32_t {
11042 svexth_u32_m(svdup_n_u32(0), pg, op)
11043}
11044#[doc = "Zero-extend the low 8 bits"]
11045#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svextb[_u64]_m)"]
11046#[inline]
11047#[target_feature(enable = "sve")]
11048#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
11049#[cfg_attr(test, assert_instr(uxtb))]
11050pub fn svextb_u64_m(inactive: svuint64_t, pg: svbool_t, op: svuint64_t) -> svuint64_t {
11051 unsafe extern "unadjusted" {
11052 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.uxtb.nxv2i64")]
11053 fn _svextb_u64_m(inactive: svint64_t, pg: svbool2_t, op: svint64_t) -> svint64_t;
11054 }
11055 unsafe { _svextb_u64_m(inactive.as_signed(), pg.sve_into(), op.as_signed()).as_unsigned() }
11056}
11057#[doc = "Zero-extend the low 8 bits"]
11058#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svextb[_u64]_x)"]
11059#[inline]
11060#[target_feature(enable = "sve")]
11061#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
11062#[cfg_attr(test, assert_instr(uxtb))]
11063pub fn svextb_u64_x(pg: svbool_t, op: svuint64_t) -> svuint64_t {
11064 svextb_u64_m(op, pg, op)
11065}
11066#[doc = "Zero-extend the low 8 bits"]
11067#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svextb[_u64]_z)"]
11068#[inline]
11069#[target_feature(enable = "sve")]
11070#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
11071#[cfg_attr(test, assert_instr(uxtb))]
11072pub fn svextb_u64_z(pg: svbool_t, op: svuint64_t) -> svuint64_t {
11073 svextb_u64_m(svdup_n_u64(0), pg, op)
11074}
11075#[doc = "Zero-extend the low 16 bits"]
11076#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svexth[_u64]_m)"]
11077#[inline]
11078#[target_feature(enable = "sve")]
11079#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
11080#[cfg_attr(test, assert_instr(uxth))]
11081pub fn svexth_u64_m(inactive: svuint64_t, pg: svbool_t, op: svuint64_t) -> svuint64_t {
11082 unsafe extern "unadjusted" {
11083 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.uxth.nxv2i64")]
11084 fn _svexth_u64_m(inactive: svint64_t, pg: svbool2_t, op: svint64_t) -> svint64_t;
11085 }
11086 unsafe { _svexth_u64_m(inactive.as_signed(), pg.sve_into(), op.as_signed()).as_unsigned() }
11087}
11088#[doc = "Zero-extend the low 16 bits"]
11089#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svexth[_u64]_x)"]
11090#[inline]
11091#[target_feature(enable = "sve")]
11092#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
11093#[cfg_attr(test, assert_instr(uxth))]
11094pub fn svexth_u64_x(pg: svbool_t, op: svuint64_t) -> svuint64_t {
11095 svexth_u64_m(op, pg, op)
11096}
11097#[doc = "Zero-extend the low 16 bits"]
11098#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svexth[_u64]_z)"]
11099#[inline]
11100#[target_feature(enable = "sve")]
11101#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
11102#[cfg_attr(test, assert_instr(uxth))]
11103pub fn svexth_u64_z(pg: svbool_t, op: svuint64_t) -> svuint64_t {
11104 svexth_u64_m(svdup_n_u64(0), pg, op)
11105}
11106#[doc = "Zero-extend the low 32 bits"]
11107#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svextw[_u64]_m)"]
11108#[inline]
11109#[target_feature(enable = "sve")]
11110#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
11111#[cfg_attr(test, assert_instr(uxtw))]
11112pub fn svextw_u64_m(inactive: svuint64_t, pg: svbool_t, op: svuint64_t) -> svuint64_t {
11113 unsafe extern "unadjusted" {
11114 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.uxtw.nxv2i64")]
11115 fn _svextw_u64_m(inactive: svint64_t, pg: svbool2_t, op: svint64_t) -> svint64_t;
11116 }
11117 unsafe { _svextw_u64_m(inactive.as_signed(), pg.sve_into(), op.as_signed()).as_unsigned() }
11118}
11119#[doc = "Zero-extend the low 32 bits"]
11120#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svextw[_u64]_x)"]
11121#[inline]
11122#[target_feature(enable = "sve")]
11123#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
11124#[cfg_attr(test, assert_instr(uxtw))]
11125pub fn svextw_u64_x(pg: svbool_t, op: svuint64_t) -> svuint64_t {
11126 svextw_u64_m(op, pg, op)
11127}
11128#[doc = "Zero-extend the low 32 bits"]
11129#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svextw[_u64]_z)"]
11130#[inline]
11131#[target_feature(enable = "sve")]
11132#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
11133#[cfg_attr(test, assert_instr(uxtw))]
11134pub fn svextw_u64_z(pg: svbool_t, op: svuint64_t) -> svuint64_t {
11135 svextw_u64_m(svdup_n_u64(0), pg, op)
11136}
11137#[doc = "Extract one vector from a tuple of two vectors"]
11138#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svget2[_f32])"]
11139#[inline]
11140#[target_feature(enable = "sve")]
11141#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
11142pub fn svget2_f32<const IMM_INDEX: i32>(tuple: svfloat32x2_t) -> svfloat32_t {
11143 static_assert_range!(IMM_INDEX, 0..=1);
11144 unsafe { crate::intrinsics::simd::scalable::sve_tuple_get::<_, _, { IMM_INDEX }>(tuple) }
11145}
11146#[doc = "Extract one vector from a tuple of two vectors"]
11147#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svget2[_f64])"]
11148#[inline]
11149#[target_feature(enable = "sve")]
11150#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
11151pub fn svget2_f64<const IMM_INDEX: i32>(tuple: svfloat64x2_t) -> svfloat64_t {
11152 static_assert_range!(IMM_INDEX, 0..=1);
11153 unsafe { crate::intrinsics::simd::scalable::sve_tuple_get::<_, _, { IMM_INDEX }>(tuple) }
11154}
11155#[doc = "Extract one vector from a tuple of two vectors"]
11156#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svget2[_s8])"]
11157#[inline]
11158#[target_feature(enable = "sve")]
11159#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
11160pub fn svget2_s8<const IMM_INDEX: i32>(tuple: svint8x2_t) -> svint8_t {
11161 static_assert_range!(IMM_INDEX, 0..=1);
11162 unsafe { crate::intrinsics::simd::scalable::sve_tuple_get::<_, _, { IMM_INDEX }>(tuple) }
11163}
11164#[doc = "Extract one vector from a tuple of two vectors"]
11165#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svget2[_s16])"]
11166#[inline]
11167#[target_feature(enable = "sve")]
11168#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
11169pub fn svget2_s16<const IMM_INDEX: i32>(tuple: svint16x2_t) -> svint16_t {
11170 static_assert_range!(IMM_INDEX, 0..=1);
11171 unsafe { crate::intrinsics::simd::scalable::sve_tuple_get::<_, _, { IMM_INDEX }>(tuple) }
11172}
11173#[doc = "Extract one vector from a tuple of two vectors"]
11174#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svget2[_s32])"]
11175#[inline]
11176#[target_feature(enable = "sve")]
11177#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
11178pub fn svget2_s32<const IMM_INDEX: i32>(tuple: svint32x2_t) -> svint32_t {
11179 static_assert_range!(IMM_INDEX, 0..=1);
11180 unsafe { crate::intrinsics::simd::scalable::sve_tuple_get::<_, _, { IMM_INDEX }>(tuple) }
11181}
11182#[doc = "Extract one vector from a tuple of two vectors"]
11183#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svget2[_s64])"]
11184#[inline]
11185#[target_feature(enable = "sve")]
11186#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
11187pub fn svget2_s64<const IMM_INDEX: i32>(tuple: svint64x2_t) -> svint64_t {
11188 static_assert_range!(IMM_INDEX, 0..=1);
11189 unsafe { crate::intrinsics::simd::scalable::sve_tuple_get::<_, _, { IMM_INDEX }>(tuple) }
11190}
11191#[doc = "Extract one vector from a tuple of two vectors"]
11192#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svget2[_u8])"]
11193#[inline]
11194#[target_feature(enable = "sve")]
11195#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
11196pub fn svget2_u8<const IMM_INDEX: i32>(tuple: svuint8x2_t) -> svuint8_t {
11197 static_assert_range!(IMM_INDEX, 0..=1);
11198 unsafe { crate::intrinsics::simd::scalable::sve_tuple_get::<_, _, { IMM_INDEX }>(tuple) }
11199}
11200#[doc = "Extract one vector from a tuple of two vectors"]
11201#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svget2[_u16])"]
11202#[inline]
11203#[target_feature(enable = "sve")]
11204#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
11205pub fn svget2_u16<const IMM_INDEX: i32>(tuple: svuint16x2_t) -> svuint16_t {
11206 static_assert_range!(IMM_INDEX, 0..=1);
11207 unsafe { crate::intrinsics::simd::scalable::sve_tuple_get::<_, _, { IMM_INDEX }>(tuple) }
11208}
11209#[doc = "Extract one vector from a tuple of two vectors"]
11210#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svget2[_u32])"]
11211#[inline]
11212#[target_feature(enable = "sve")]
11213#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
11214pub fn svget2_u32<const IMM_INDEX: i32>(tuple: svuint32x2_t) -> svuint32_t {
11215 static_assert_range!(IMM_INDEX, 0..=1);
11216 unsafe { crate::intrinsics::simd::scalable::sve_tuple_get::<_, _, { IMM_INDEX }>(tuple) }
11217}
11218#[doc = "Extract one vector from a tuple of two vectors"]
11219#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svget2[_u64])"]
11220#[inline]
11221#[target_feature(enable = "sve")]
11222#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
11223pub fn svget2_u64<const IMM_INDEX: i32>(tuple: svuint64x2_t) -> svuint64_t {
11224 static_assert_range!(IMM_INDEX, 0..=1);
11225 unsafe { crate::intrinsics::simd::scalable::sve_tuple_get::<_, _, { IMM_INDEX }>(tuple) }
11226}
11227#[doc = "Extract one vector from a tuple of three vectors"]
11228#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svget3[_f32])"]
11229#[inline]
11230#[target_feature(enable = "sve")]
11231#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
11232pub fn svget3_f32<const IMM_INDEX: i32>(tuple: svfloat32x3_t) -> svfloat32_t {
11233 static_assert_range!(IMM_INDEX, 0..=2);
11234 unsafe { crate::intrinsics::simd::scalable::sve_tuple_get::<_, _, { IMM_INDEX }>(tuple) }
11235}
11236#[doc = "Extract one vector from a tuple of three vectors"]
11237#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svget3[_f64])"]
11238#[inline]
11239#[target_feature(enable = "sve")]
11240#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
11241pub fn svget3_f64<const IMM_INDEX: i32>(tuple: svfloat64x3_t) -> svfloat64_t {
11242 static_assert_range!(IMM_INDEX, 0..=2);
11243 unsafe { crate::intrinsics::simd::scalable::sve_tuple_get::<_, _, { IMM_INDEX }>(tuple) }
11244}
11245#[doc = "Extract one vector from a tuple of three vectors"]
11246#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svget3[_s8])"]
11247#[inline]
11248#[target_feature(enable = "sve")]
11249#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
11250pub fn svget3_s8<const IMM_INDEX: i32>(tuple: svint8x3_t) -> svint8_t {
11251 static_assert_range!(IMM_INDEX, 0..=2);
11252 unsafe { crate::intrinsics::simd::scalable::sve_tuple_get::<_, _, { IMM_INDEX }>(tuple) }
11253}
11254#[doc = "Extract one vector from a tuple of three vectors"]
11255#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svget3[_s16])"]
11256#[inline]
11257#[target_feature(enable = "sve")]
11258#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
11259pub fn svget3_s16<const IMM_INDEX: i32>(tuple: svint16x3_t) -> svint16_t {
11260 static_assert_range!(IMM_INDEX, 0..=2);
11261 unsafe { crate::intrinsics::simd::scalable::sve_tuple_get::<_, _, { IMM_INDEX }>(tuple) }
11262}
11263#[doc = "Extract one vector from a tuple of three vectors"]
11264#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svget3[_s32])"]
11265#[inline]
11266#[target_feature(enable = "sve")]
11267#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
11268pub fn svget3_s32<const IMM_INDEX: i32>(tuple: svint32x3_t) -> svint32_t {
11269 static_assert_range!(IMM_INDEX, 0..=2);
11270 unsafe { crate::intrinsics::simd::scalable::sve_tuple_get::<_, _, { IMM_INDEX }>(tuple) }
11271}
11272#[doc = "Extract one vector from a tuple of three vectors"]
11273#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svget3[_s64])"]
11274#[inline]
11275#[target_feature(enable = "sve")]
11276#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
11277pub fn svget3_s64<const IMM_INDEX: i32>(tuple: svint64x3_t) -> svint64_t {
11278 static_assert_range!(IMM_INDEX, 0..=2);
11279 unsafe { crate::intrinsics::simd::scalable::sve_tuple_get::<_, _, { IMM_INDEX }>(tuple) }
11280}
11281#[doc = "Extract one vector from a tuple of three vectors"]
11282#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svget3[_u8])"]
11283#[inline]
11284#[target_feature(enable = "sve")]
11285#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
11286pub fn svget3_u8<const IMM_INDEX: i32>(tuple: svuint8x3_t) -> svuint8_t {
11287 static_assert_range!(IMM_INDEX, 0..=2);
11288 unsafe { crate::intrinsics::simd::scalable::sve_tuple_get::<_, _, { IMM_INDEX }>(tuple) }
11289}
11290#[doc = "Extract one vector from a tuple of three vectors"]
11291#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svget3[_u16])"]
11292#[inline]
11293#[target_feature(enable = "sve")]
11294#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
11295pub fn svget3_u16<const IMM_INDEX: i32>(tuple: svuint16x3_t) -> svuint16_t {
11296 static_assert_range!(IMM_INDEX, 0..=2);
11297 unsafe { crate::intrinsics::simd::scalable::sve_tuple_get::<_, _, { IMM_INDEX }>(tuple) }
11298}
11299#[doc = "Extract one vector from a tuple of three vectors"]
11300#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svget3[_u32])"]
11301#[inline]
11302#[target_feature(enable = "sve")]
11303#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
11304pub fn svget3_u32<const IMM_INDEX: i32>(tuple: svuint32x3_t) -> svuint32_t {
11305 static_assert_range!(IMM_INDEX, 0..=2);
11306 unsafe { crate::intrinsics::simd::scalable::sve_tuple_get::<_, _, { IMM_INDEX }>(tuple) }
11307}
11308#[doc = "Extract one vector from a tuple of three vectors"]
11309#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svget3[_u64])"]
11310#[inline]
11311#[target_feature(enable = "sve")]
11312#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
11313pub fn svget3_u64<const IMM_INDEX: i32>(tuple: svuint64x3_t) -> svuint64_t {
11314 static_assert_range!(IMM_INDEX, 0..=2);
11315 unsafe { crate::intrinsics::simd::scalable::sve_tuple_get::<_, _, { IMM_INDEX }>(tuple) }
11316}
11317#[doc = "Extract one vector from a tuple of four vectors"]
11318#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svget4[_f32])"]
11319#[inline]
11320#[target_feature(enable = "sve")]
11321#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
11322pub fn svget4_f32<const IMM_INDEX: i32>(tuple: svfloat32x4_t) -> svfloat32_t {
11323 static_assert_range!(IMM_INDEX, 0..=3);
11324 unsafe { crate::intrinsics::simd::scalable::sve_tuple_get::<_, _, { IMM_INDEX }>(tuple) }
11325}
11326#[doc = "Extract one vector from a tuple of four vectors"]
11327#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svget4[_f64])"]
11328#[inline]
11329#[target_feature(enable = "sve")]
11330#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
11331pub fn svget4_f64<const IMM_INDEX: i32>(tuple: svfloat64x4_t) -> svfloat64_t {
11332 static_assert_range!(IMM_INDEX, 0..=3);
11333 unsafe { crate::intrinsics::simd::scalable::sve_tuple_get::<_, _, { IMM_INDEX }>(tuple) }
11334}
11335#[doc = "Extract one vector from a tuple of four vectors"]
11336#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svget4[_s8])"]
11337#[inline]
11338#[target_feature(enable = "sve")]
11339#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
11340pub fn svget4_s8<const IMM_INDEX: i32>(tuple: svint8x4_t) -> svint8_t {
11341 static_assert_range!(IMM_INDEX, 0..=3);
11342 unsafe { crate::intrinsics::simd::scalable::sve_tuple_get::<_, _, { IMM_INDEX }>(tuple) }
11343}
11344#[doc = "Extract one vector from a tuple of four vectors"]
11345#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svget4[_s16])"]
11346#[inline]
11347#[target_feature(enable = "sve")]
11348#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
11349pub fn svget4_s16<const IMM_INDEX: i32>(tuple: svint16x4_t) -> svint16_t {
11350 static_assert_range!(IMM_INDEX, 0..=3);
11351 unsafe { crate::intrinsics::simd::scalable::sve_tuple_get::<_, _, { IMM_INDEX }>(tuple) }
11352}
11353#[doc = "Extract one vector from a tuple of four vectors"]
11354#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svget4[_s32])"]
11355#[inline]
11356#[target_feature(enable = "sve")]
11357#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
11358pub fn svget4_s32<const IMM_INDEX: i32>(tuple: svint32x4_t) -> svint32_t {
11359 static_assert_range!(IMM_INDEX, 0..=3);
11360 unsafe { crate::intrinsics::simd::scalable::sve_tuple_get::<_, _, { IMM_INDEX }>(tuple) }
11361}
11362#[doc = "Extract one vector from a tuple of four vectors"]
11363#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svget4[_s64])"]
11364#[inline]
11365#[target_feature(enable = "sve")]
11366#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
11367pub fn svget4_s64<const IMM_INDEX: i32>(tuple: svint64x4_t) -> svint64_t {
11368 static_assert_range!(IMM_INDEX, 0..=3);
11369 unsafe { crate::intrinsics::simd::scalable::sve_tuple_get::<_, _, { IMM_INDEX }>(tuple) }
11370}
11371#[doc = "Extract one vector from a tuple of four vectors"]
11372#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svget4[_u8])"]
11373#[inline]
11374#[target_feature(enable = "sve")]
11375#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
11376pub fn svget4_u8<const IMM_INDEX: i32>(tuple: svuint8x4_t) -> svuint8_t {
11377 static_assert_range!(IMM_INDEX, 0..=3);
11378 unsafe { crate::intrinsics::simd::scalable::sve_tuple_get::<_, _, { IMM_INDEX }>(tuple) }
11379}
11380#[doc = "Extract one vector from a tuple of four vectors"]
11381#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svget4[_u16])"]
11382#[inline]
11383#[target_feature(enable = "sve")]
11384#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
11385pub fn svget4_u16<const IMM_INDEX: i32>(tuple: svuint16x4_t) -> svuint16_t {
11386 static_assert_range!(IMM_INDEX, 0..=3);
11387 unsafe { crate::intrinsics::simd::scalable::sve_tuple_get::<_, _, { IMM_INDEX }>(tuple) }
11388}
11389#[doc = "Extract one vector from a tuple of four vectors"]
11390#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svget4[_u32])"]
11391#[inline]
11392#[target_feature(enable = "sve")]
11393#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
11394pub fn svget4_u32<const IMM_INDEX: i32>(tuple: svuint32x4_t) -> svuint32_t {
11395 static_assert_range!(IMM_INDEX, 0..=3);
11396 unsafe { crate::intrinsics::simd::scalable::sve_tuple_get::<_, _, { IMM_INDEX }>(tuple) }
11397}
11398#[doc = "Extract one vector from a tuple of four vectors"]
11399#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svget4[_u64])"]
11400#[inline]
11401#[target_feature(enable = "sve")]
11402#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
11403pub fn svget4_u64<const IMM_INDEX: i32>(tuple: svuint64x4_t) -> svuint64_t {
11404 static_assert_range!(IMM_INDEX, 0..=3);
11405 unsafe { crate::intrinsics::simd::scalable::sve_tuple_get::<_, _, { IMM_INDEX }>(tuple) }
11406}
11407#[doc = "Create linear series"]
11408#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svindex_s8)"]
11409#[inline]
11410#[target_feature(enable = "sve")]
11411#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
11412#[cfg_attr(test, assert_instr(index))]
11413pub fn svindex_s8(base: i8, step: i8) -> svint8_t {
11414 unsafe extern "unadjusted" {
11415 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.index.nxv16i8")]
11416 fn _svindex_s8(base: i8, step: i8) -> svint8_t;
11417 }
11418 unsafe { _svindex_s8(base, step) }
11419}
11420#[doc = "Create linear series"]
11421#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svindex_s16)"]
11422#[inline]
11423#[target_feature(enable = "sve")]
11424#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
11425#[cfg_attr(test, assert_instr(index))]
11426pub fn svindex_s16(base: i16, step: i16) -> svint16_t {
11427 unsafe extern "unadjusted" {
11428 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.index.nxv8i16")]
11429 fn _svindex_s16(base: i16, step: i16) -> svint16_t;
11430 }
11431 unsafe { _svindex_s16(base, step) }
11432}
11433#[doc = "Create linear series"]
11434#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svindex_s32)"]
11435#[inline]
11436#[target_feature(enable = "sve")]
11437#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
11438#[cfg_attr(test, assert_instr(index))]
11439pub fn svindex_s32(base: i32, step: i32) -> svint32_t {
11440 unsafe extern "unadjusted" {
11441 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.index.nxv4i32")]
11442 fn _svindex_s32(base: i32, step: i32) -> svint32_t;
11443 }
11444 unsafe { _svindex_s32(base, step) }
11445}
11446#[doc = "Create linear series"]
11447#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svindex_s64)"]
11448#[inline]
11449#[target_feature(enable = "sve")]
11450#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
11451#[cfg_attr(test, assert_instr(index))]
11452pub fn svindex_s64(base: i64, step: i64) -> svint64_t {
11453 unsafe extern "unadjusted" {
11454 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.index.nxv2i64")]
11455 fn _svindex_s64(base: i64, step: i64) -> svint64_t;
11456 }
11457 unsafe { _svindex_s64(base, step) }
11458}
11459#[doc = "Create linear series"]
11460#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svindex_u8)"]
11461#[inline]
11462#[target_feature(enable = "sve")]
11463#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
11464#[cfg_attr(test, assert_instr(index))]
11465pub fn svindex_u8(base: u8, step: u8) -> svuint8_t {
11466 unsafe { svindex_s8(base.as_signed(), step.as_signed()).as_unsigned() }
11467}
11468#[doc = "Create linear series"]
11469#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svindex_u16)"]
11470#[inline]
11471#[target_feature(enable = "sve")]
11472#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
11473#[cfg_attr(test, assert_instr(index))]
11474pub fn svindex_u16(base: u16, step: u16) -> svuint16_t {
11475 unsafe { svindex_s16(base.as_signed(), step.as_signed()).as_unsigned() }
11476}
11477#[doc = "Create linear series"]
11478#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svindex_u32)"]
11479#[inline]
11480#[target_feature(enable = "sve")]
11481#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
11482#[cfg_attr(test, assert_instr(index))]
11483pub fn svindex_u32(base: u32, step: u32) -> svuint32_t {
11484 unsafe { svindex_s32(base.as_signed(), step.as_signed()).as_unsigned() }
11485}
11486#[doc = "Create linear series"]
11487#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svindex_u64)"]
11488#[inline]
11489#[target_feature(enable = "sve")]
11490#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
11491#[cfg_attr(test, assert_instr(index))]
11492pub fn svindex_u64(base: u64, step: u64) -> svuint64_t {
11493 unsafe { svindex_s64(base.as_signed(), step.as_signed()).as_unsigned() }
11494}
11495#[doc = "Insert scalar in shifted vector"]
11496#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svinsr[_n_f32])"]
11497#[inline]
11498#[target_feature(enable = "sve")]
11499#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
11500#[cfg_attr(test, assert_instr(insr))]
11501pub fn svinsr_n_f32(op1: svfloat32_t, op2: f32) -> svfloat32_t {
11502 unsafe extern "unadjusted" {
11503 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.insr.nxv4f32")]
11504 fn _svinsr_n_f32(op1: svfloat32_t, op2: f32) -> svfloat32_t;
11505 }
11506 unsafe { _svinsr_n_f32(op1, op2) }
11507}
11508#[doc = "Insert scalar in shifted vector"]
11509#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svinsr[_n_f64])"]
11510#[inline]
11511#[target_feature(enable = "sve")]
11512#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
11513#[cfg_attr(test, assert_instr(insr))]
11514pub fn svinsr_n_f64(op1: svfloat64_t, op2: f64) -> svfloat64_t {
11515 unsafe extern "unadjusted" {
11516 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.insr.nxv2f64")]
11517 fn _svinsr_n_f64(op1: svfloat64_t, op2: f64) -> svfloat64_t;
11518 }
11519 unsafe { _svinsr_n_f64(op1, op2) }
11520}
11521#[doc = "Insert scalar in shifted vector"]
11522#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svinsr[_n_s8])"]
11523#[inline]
11524#[target_feature(enable = "sve")]
11525#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
11526#[cfg_attr(test, assert_instr(insr))]
11527pub fn svinsr_n_s8(op1: svint8_t, op2: i8) -> svint8_t {
11528 unsafe extern "unadjusted" {
11529 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.insr.nxv16i8")]
11530 fn _svinsr_n_s8(op1: svint8_t, op2: i8) -> svint8_t;
11531 }
11532 unsafe { _svinsr_n_s8(op1, op2) }
11533}
11534#[doc = "Insert scalar in shifted vector"]
11535#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svinsr[_n_s16])"]
11536#[inline]
11537#[target_feature(enable = "sve")]
11538#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
11539#[cfg_attr(test, assert_instr(insr))]
11540pub fn svinsr_n_s16(op1: svint16_t, op2: i16) -> svint16_t {
11541 unsafe extern "unadjusted" {
11542 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.insr.nxv8i16")]
11543 fn _svinsr_n_s16(op1: svint16_t, op2: i16) -> svint16_t;
11544 }
11545 unsafe { _svinsr_n_s16(op1, op2) }
11546}
11547#[doc = "Insert scalar in shifted vector"]
11548#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svinsr[_n_s32])"]
11549#[inline]
11550#[target_feature(enable = "sve")]
11551#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
11552#[cfg_attr(test, assert_instr(insr))]
11553pub fn svinsr_n_s32(op1: svint32_t, op2: i32) -> svint32_t {
11554 unsafe extern "unadjusted" {
11555 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.insr.nxv4i32")]
11556 fn _svinsr_n_s32(op1: svint32_t, op2: i32) -> svint32_t;
11557 }
11558 unsafe { _svinsr_n_s32(op1, op2) }
11559}
11560#[doc = "Insert scalar in shifted vector"]
11561#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svinsr[_n_s64])"]
11562#[inline]
11563#[target_feature(enable = "sve")]
11564#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
11565#[cfg_attr(test, assert_instr(insr))]
11566pub fn svinsr_n_s64(op1: svint64_t, op2: i64) -> svint64_t {
11567 unsafe extern "unadjusted" {
11568 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.insr.nxv2i64")]
11569 fn _svinsr_n_s64(op1: svint64_t, op2: i64) -> svint64_t;
11570 }
11571 unsafe { _svinsr_n_s64(op1, op2) }
11572}
11573#[doc = "Insert scalar in shifted vector"]
11574#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svinsr[_n_u8])"]
11575#[inline]
11576#[target_feature(enable = "sve")]
11577#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
11578#[cfg_attr(test, assert_instr(insr))]
11579pub fn svinsr_n_u8(op1: svuint8_t, op2: u8) -> svuint8_t {
11580 unsafe { svinsr_n_s8(op1.as_signed(), op2.as_signed()).as_unsigned() }
11581}
11582#[doc = "Insert scalar in shifted vector"]
11583#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svinsr[_n_u16])"]
11584#[inline]
11585#[target_feature(enable = "sve")]
11586#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
11587#[cfg_attr(test, assert_instr(insr))]
11588pub fn svinsr_n_u16(op1: svuint16_t, op2: u16) -> svuint16_t {
11589 unsafe { svinsr_n_s16(op1.as_signed(), op2.as_signed()).as_unsigned() }
11590}
11591#[doc = "Insert scalar in shifted vector"]
11592#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svinsr[_n_u32])"]
11593#[inline]
11594#[target_feature(enable = "sve")]
11595#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
11596#[cfg_attr(test, assert_instr(insr))]
11597pub fn svinsr_n_u32(op1: svuint32_t, op2: u32) -> svuint32_t {
11598 unsafe { svinsr_n_s32(op1.as_signed(), op2.as_signed()).as_unsigned() }
11599}
11600#[doc = "Insert scalar in shifted vector"]
11601#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svinsr[_n_u64])"]
11602#[inline]
11603#[target_feature(enable = "sve")]
11604#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
11605#[cfg_attr(test, assert_instr(insr))]
11606pub fn svinsr_n_u64(op1: svuint64_t, op2: u64) -> svuint64_t {
11607 unsafe { svinsr_n_s64(op1.as_signed(), op2.as_signed()).as_unsigned() }
11608}
11609#[doc = "Extract element after last"]
11610#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svlasta[_f32])"]
11611#[inline]
11612#[target_feature(enable = "sve")]
11613#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
11614#[cfg_attr(test, assert_instr(lasta))]
11615pub fn svlasta_f32(pg: svbool_t, op: svfloat32_t) -> f32 {
11616 unsafe extern "unadjusted" {
11617 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.lasta.nxv4f32")]
11618 fn _svlasta_f32(pg: svbool4_t, op: svfloat32_t) -> f32;
11619 }
11620 unsafe { _svlasta_f32(pg.sve_into(), op) }
11621}
11622#[doc = "Extract element after last"]
11623#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svlasta[_f64])"]
11624#[inline]
11625#[target_feature(enable = "sve")]
11626#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
11627#[cfg_attr(test, assert_instr(lasta))]
11628pub fn svlasta_f64(pg: svbool_t, op: svfloat64_t) -> f64 {
11629 unsafe extern "unadjusted" {
11630 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.lasta.nxv2f64")]
11631 fn _svlasta_f64(pg: svbool2_t, op: svfloat64_t) -> f64;
11632 }
11633 unsafe { _svlasta_f64(pg.sve_into(), op) }
11634}
11635#[doc = "Extract element after last"]
11636#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svlasta[_s8])"]
11637#[inline]
11638#[target_feature(enable = "sve")]
11639#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
11640#[cfg_attr(test, assert_instr(lasta))]
11641pub fn svlasta_s8(pg: svbool_t, op: svint8_t) -> i8 {
11642 unsafe extern "unadjusted" {
11643 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.lasta.nxv16i8")]
11644 fn _svlasta_s8(pg: svbool_t, op: svint8_t) -> i8;
11645 }
11646 unsafe { _svlasta_s8(pg, op) }
11647}
11648#[doc = "Extract element after last"]
11649#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svlasta[_s16])"]
11650#[inline]
11651#[target_feature(enable = "sve")]
11652#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
11653#[cfg_attr(test, assert_instr(lasta))]
11654pub fn svlasta_s16(pg: svbool_t, op: svint16_t) -> i16 {
11655 unsafe extern "unadjusted" {
11656 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.lasta.nxv8i16")]
11657 fn _svlasta_s16(pg: svbool8_t, op: svint16_t) -> i16;
11658 }
11659 unsafe { _svlasta_s16(pg.sve_into(), op) }
11660}
11661#[doc = "Extract element after last"]
11662#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svlasta[_s32])"]
11663#[inline]
11664#[target_feature(enable = "sve")]
11665#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
11666#[cfg_attr(test, assert_instr(lasta))]
11667pub fn svlasta_s32(pg: svbool_t, op: svint32_t) -> i32 {
11668 unsafe extern "unadjusted" {
11669 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.lasta.nxv4i32")]
11670 fn _svlasta_s32(pg: svbool4_t, op: svint32_t) -> i32;
11671 }
11672 unsafe { _svlasta_s32(pg.sve_into(), op) }
11673}
11674#[doc = "Extract element after last"]
11675#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svlasta[_s64])"]
11676#[inline]
11677#[target_feature(enable = "sve")]
11678#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
11679#[cfg_attr(test, assert_instr(lasta))]
11680pub fn svlasta_s64(pg: svbool_t, op: svint64_t) -> i64 {
11681 unsafe extern "unadjusted" {
11682 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.lasta.nxv2i64")]
11683 fn _svlasta_s64(pg: svbool2_t, op: svint64_t) -> i64;
11684 }
11685 unsafe { _svlasta_s64(pg.sve_into(), op) }
11686}
11687#[doc = "Extract element after last"]
11688#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svlasta[_u8])"]
11689#[inline]
11690#[target_feature(enable = "sve")]
11691#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
11692#[cfg_attr(test, assert_instr(lasta))]
11693pub fn svlasta_u8(pg: svbool_t, op: svuint8_t) -> u8 {
11694 unsafe { svlasta_s8(pg, op.as_signed()).as_unsigned() }
11695}
11696#[doc = "Extract element after last"]
11697#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svlasta[_u16])"]
11698#[inline]
11699#[target_feature(enable = "sve")]
11700#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
11701#[cfg_attr(test, assert_instr(lasta))]
11702pub fn svlasta_u16(pg: svbool_t, op: svuint16_t) -> u16 {
11703 unsafe { svlasta_s16(pg, op.as_signed()).as_unsigned() }
11704}
11705#[doc = "Extract element after last"]
11706#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svlasta[_u32])"]
11707#[inline]
11708#[target_feature(enable = "sve")]
11709#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
11710#[cfg_attr(test, assert_instr(lasta))]
11711pub fn svlasta_u32(pg: svbool_t, op: svuint32_t) -> u32 {
11712 unsafe { svlasta_s32(pg, op.as_signed()).as_unsigned() }
11713}
11714#[doc = "Extract element after last"]
11715#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svlasta[_u64])"]
11716#[inline]
11717#[target_feature(enable = "sve")]
11718#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
11719#[cfg_attr(test, assert_instr(lasta))]
11720pub fn svlasta_u64(pg: svbool_t, op: svuint64_t) -> u64 {
11721 unsafe { svlasta_s64(pg, op.as_signed()).as_unsigned() }
11722}
11723#[doc = "Extract last element"]
11724#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svlastb[_f32])"]
11725#[inline]
11726#[target_feature(enable = "sve")]
11727#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
11728#[cfg_attr(test, assert_instr(lastb))]
11729pub fn svlastb_f32(pg: svbool_t, op: svfloat32_t) -> f32 {
11730 unsafe extern "unadjusted" {
11731 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.lastb.nxv4f32")]
11732 fn _svlastb_f32(pg: svbool4_t, op: svfloat32_t) -> f32;
11733 }
11734 unsafe { _svlastb_f32(pg.sve_into(), op) }
11735}
11736#[doc = "Extract last element"]
11737#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svlastb[_f64])"]
11738#[inline]
11739#[target_feature(enable = "sve")]
11740#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
11741#[cfg_attr(test, assert_instr(lastb))]
11742pub fn svlastb_f64(pg: svbool_t, op: svfloat64_t) -> f64 {
11743 unsafe extern "unadjusted" {
11744 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.lastb.nxv2f64")]
11745 fn _svlastb_f64(pg: svbool2_t, op: svfloat64_t) -> f64;
11746 }
11747 unsafe { _svlastb_f64(pg.sve_into(), op) }
11748}
11749#[doc = "Extract last element"]
11750#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svlastb[_s8])"]
11751#[inline]
11752#[target_feature(enable = "sve")]
11753#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
11754#[cfg_attr(test, assert_instr(lastb))]
11755pub fn svlastb_s8(pg: svbool_t, op: svint8_t) -> i8 {
11756 unsafe extern "unadjusted" {
11757 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.lastb.nxv16i8")]
11758 fn _svlastb_s8(pg: svbool_t, op: svint8_t) -> i8;
11759 }
11760 unsafe { _svlastb_s8(pg, op) }
11761}
11762#[doc = "Extract last element"]
11763#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svlastb[_s16])"]
11764#[inline]
11765#[target_feature(enable = "sve")]
11766#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
11767#[cfg_attr(test, assert_instr(lastb))]
11768pub fn svlastb_s16(pg: svbool_t, op: svint16_t) -> i16 {
11769 unsafe extern "unadjusted" {
11770 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.lastb.nxv8i16")]
11771 fn _svlastb_s16(pg: svbool8_t, op: svint16_t) -> i16;
11772 }
11773 unsafe { _svlastb_s16(pg.sve_into(), op) }
11774}
11775#[doc = "Extract last element"]
11776#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svlastb[_s32])"]
11777#[inline]
11778#[target_feature(enable = "sve")]
11779#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
11780#[cfg_attr(test, assert_instr(lastb))]
11781pub fn svlastb_s32(pg: svbool_t, op: svint32_t) -> i32 {
11782 unsafe extern "unadjusted" {
11783 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.lastb.nxv4i32")]
11784 fn _svlastb_s32(pg: svbool4_t, op: svint32_t) -> i32;
11785 }
11786 unsafe { _svlastb_s32(pg.sve_into(), op) }
11787}
11788#[doc = "Extract last element"]
11789#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svlastb[_s64])"]
11790#[inline]
11791#[target_feature(enable = "sve")]
11792#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
11793#[cfg_attr(test, assert_instr(lastb))]
11794pub fn svlastb_s64(pg: svbool_t, op: svint64_t) -> i64 {
11795 unsafe extern "unadjusted" {
11796 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.lastb.nxv2i64")]
11797 fn _svlastb_s64(pg: svbool2_t, op: svint64_t) -> i64;
11798 }
11799 unsafe { _svlastb_s64(pg.sve_into(), op) }
11800}
11801#[doc = "Extract last element"]
11802#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svlastb[_u8])"]
11803#[inline]
11804#[target_feature(enable = "sve")]
11805#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
11806#[cfg_attr(test, assert_instr(lastb))]
11807pub fn svlastb_u8(pg: svbool_t, op: svuint8_t) -> u8 {
11808 unsafe { svlastb_s8(pg, op.as_signed()).as_unsigned() }
11809}
11810#[doc = "Extract last element"]
11811#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svlastb[_u16])"]
11812#[inline]
11813#[target_feature(enable = "sve")]
11814#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
11815#[cfg_attr(test, assert_instr(lastb))]
11816pub fn svlastb_u16(pg: svbool_t, op: svuint16_t) -> u16 {
11817 unsafe { svlastb_s16(pg, op.as_signed()).as_unsigned() }
11818}
11819#[doc = "Extract last element"]
11820#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svlastb[_u32])"]
11821#[inline]
11822#[target_feature(enable = "sve")]
11823#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
11824#[cfg_attr(test, assert_instr(lastb))]
11825pub fn svlastb_u32(pg: svbool_t, op: svuint32_t) -> u32 {
11826 unsafe { svlastb_s32(pg, op.as_signed()).as_unsigned() }
11827}
11828#[doc = "Extract last element"]
11829#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svlastb[_u64])"]
11830#[inline]
11831#[target_feature(enable = "sve")]
11832#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
11833#[cfg_attr(test, assert_instr(lastb))]
11834pub fn svlastb_u64(pg: svbool_t, op: svuint64_t) -> u64 {
11835 unsafe { svlastb_s64(pg, op.as_signed()).as_unsigned() }
11836}
11837#[doc = "Unextended load"]
11838#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1[_f32])"]
11839#[doc = "## Safety"]
11840#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
11841#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
11842#[inline]
11843#[target_feature(enable = "sve")]
11844#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
11845#[cfg_attr(test, assert_instr(ld1w))]
11846pub unsafe fn svld1_f32(pg: svbool_t, base: *const f32) -> svfloat32_t {
11847 unsafe extern "unadjusted" {
11848 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.ld1.nxv4f32")]
11849 fn _svld1_f32(pg: svbool4_t, base: *const f32) -> svfloat32_t;
11850 }
11851 _svld1_f32(pg.sve_into(), base)
11852}
11853#[doc = "Unextended load"]
11854#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1[_f64])"]
11855#[doc = "## Safety"]
11856#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
11857#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
11858#[inline]
11859#[target_feature(enable = "sve")]
11860#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
11861#[cfg_attr(test, assert_instr(ld1d))]
11862pub unsafe fn svld1_f64(pg: svbool_t, base: *const f64) -> svfloat64_t {
11863 unsafe extern "unadjusted" {
11864 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.ld1.nxv2f64")]
11865 fn _svld1_f64(pg: svbool2_t, base: *const f64) -> svfloat64_t;
11866 }
11867 _svld1_f64(pg.sve_into(), base)
11868}
11869#[doc = "Unextended load"]
11870#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1[_s8])"]
11871#[doc = "## Safety"]
11872#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
11873#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
11874#[inline]
11875#[target_feature(enable = "sve")]
11876#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
11877#[cfg_attr(test, assert_instr(ld1b))]
11878pub unsafe fn svld1_s8(pg: svbool_t, base: *const i8) -> svint8_t {
11879 unsafe extern "unadjusted" {
11880 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.ld1.nxv16i8")]
11881 fn _svld1_s8(pg: svbool_t, base: *const i8) -> svint8_t;
11882 }
11883 _svld1_s8(pg, base)
11884}
11885#[doc = "Unextended load"]
11886#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1[_s16])"]
11887#[doc = "## Safety"]
11888#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
11889#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
11890#[inline]
11891#[target_feature(enable = "sve")]
11892#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
11893#[cfg_attr(test, assert_instr(ld1h))]
11894pub unsafe fn svld1_s16(pg: svbool_t, base: *const i16) -> svint16_t {
11895 unsafe extern "unadjusted" {
11896 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.ld1.nxv8i16")]
11897 fn _svld1_s16(pg: svbool8_t, base: *const i16) -> svint16_t;
11898 }
11899 _svld1_s16(pg.sve_into(), base)
11900}
11901#[doc = "Unextended load"]
11902#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1[_s32])"]
11903#[doc = "## Safety"]
11904#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
11905#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
11906#[inline]
11907#[target_feature(enable = "sve")]
11908#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
11909#[cfg_attr(test, assert_instr(ld1w))]
11910pub unsafe fn svld1_s32(pg: svbool_t, base: *const i32) -> svint32_t {
11911 unsafe extern "unadjusted" {
11912 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.ld1.nxv4i32")]
11913 fn _svld1_s32(pg: svbool4_t, base: *const i32) -> svint32_t;
11914 }
11915 _svld1_s32(pg.sve_into(), base)
11916}
11917#[doc = "Unextended load"]
11918#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1[_s64])"]
11919#[doc = "## Safety"]
11920#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
11921#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
11922#[inline]
11923#[target_feature(enable = "sve")]
11924#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
11925#[cfg_attr(test, assert_instr(ld1d))]
11926pub unsafe fn svld1_s64(pg: svbool_t, base: *const i64) -> svint64_t {
11927 unsafe extern "unadjusted" {
11928 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.ld1.nxv2i64")]
11929 fn _svld1_s64(pg: svbool2_t, base: *const i64) -> svint64_t;
11930 }
11931 _svld1_s64(pg.sve_into(), base)
11932}
11933#[doc = "Unextended load"]
11934#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1[_u8])"]
11935#[doc = "## Safety"]
11936#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
11937#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
11938#[inline]
11939#[target_feature(enable = "sve")]
11940#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
11941#[cfg_attr(test, assert_instr(ld1b))]
11942pub unsafe fn svld1_u8(pg: svbool_t, base: *const u8) -> svuint8_t {
11943 svld1_s8(pg, base.as_signed()).as_unsigned()
11944}
11945#[doc = "Unextended load"]
11946#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1[_u16])"]
11947#[doc = "## Safety"]
11948#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
11949#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
11950#[inline]
11951#[target_feature(enable = "sve")]
11952#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
11953#[cfg_attr(test, assert_instr(ld1h))]
11954pub unsafe fn svld1_u16(pg: svbool_t, base: *const u16) -> svuint16_t {
11955 svld1_s16(pg, base.as_signed()).as_unsigned()
11956}
11957#[doc = "Unextended load"]
11958#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1[_u32])"]
11959#[doc = "## Safety"]
11960#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
11961#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
11962#[inline]
11963#[target_feature(enable = "sve")]
11964#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
11965#[cfg_attr(test, assert_instr(ld1w))]
11966pub unsafe fn svld1_u32(pg: svbool_t, base: *const u32) -> svuint32_t {
11967 svld1_s32(pg, base.as_signed()).as_unsigned()
11968}
11969#[doc = "Unextended load"]
11970#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1[_u64])"]
11971#[doc = "## Safety"]
11972#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
11973#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
11974#[inline]
11975#[target_feature(enable = "sve")]
11976#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
11977#[cfg_attr(test, assert_instr(ld1d))]
11978pub unsafe fn svld1_u64(pg: svbool_t, base: *const u64) -> svuint64_t {
11979 svld1_s64(pg, base.as_signed()).as_unsigned()
11980}
11981#[doc = "Unextended load"]
11982#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1_gather_[s32]index[_f32])"]
11983#[doc = "## Safety"]
11984#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
11985#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
11986#[inline]
11987#[target_feature(enable = "sve")]
11988#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
11989#[cfg_attr(test, assert_instr(ld1w))]
11990pub unsafe fn svld1_gather_s32index_f32(
11991 pg: svbool_t,
11992 base: *const f32,
11993 indices: svint32_t,
11994) -> svfloat32_t {
11995 unsafe extern "unadjusted" {
11996 #[cfg_attr(
11997 target_arch = "aarch64",
11998 link_name = "llvm.aarch64.sve.ld1.gather.sxtw.index.nxv4f32"
11999 )]
12000 fn _svld1_gather_s32index_f32(
12001 pg: svbool4_t,
12002 base: *const f32,
12003 indices: svint32_t,
12004 ) -> svfloat32_t;
12005 }
12006 _svld1_gather_s32index_f32(pg.sve_into(), base, indices)
12007}
12008#[doc = "Unextended load"]
12009#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1_gather_[s32]index[_s32])"]
12010#[doc = "## Safety"]
12011#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
12012#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
12013#[inline]
12014#[target_feature(enable = "sve")]
12015#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
12016#[cfg_attr(test, assert_instr(ld1w))]
12017pub unsafe fn svld1_gather_s32index_s32(
12018 pg: svbool_t,
12019 base: *const i32,
12020 indices: svint32_t,
12021) -> svint32_t {
12022 unsafe extern "unadjusted" {
12023 #[cfg_attr(
12024 target_arch = "aarch64",
12025 link_name = "llvm.aarch64.sve.ld1.gather.sxtw.index.nxv4i32"
12026 )]
12027 fn _svld1_gather_s32index_s32(
12028 pg: svbool4_t,
12029 base: *const i32,
12030 indices: svint32_t,
12031 ) -> svint32_t;
12032 }
12033 _svld1_gather_s32index_s32(pg.sve_into(), base, indices)
12034}
12035#[doc = "Unextended load"]
12036#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1_gather_[s32]index[_u32])"]
12037#[doc = "## Safety"]
12038#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
12039#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
12040#[inline]
12041#[target_feature(enable = "sve")]
12042#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
12043#[cfg_attr(test, assert_instr(ld1w))]
12044pub unsafe fn svld1_gather_s32index_u32(
12045 pg: svbool_t,
12046 base: *const u32,
12047 indices: svint32_t,
12048) -> svuint32_t {
12049 svld1_gather_s32index_s32(pg, base.as_signed(), indices).as_unsigned()
12050}
12051#[doc = "Unextended load"]
12052#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1_gather_[s64]index[_f64])"]
12053#[doc = "## Safety"]
12054#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
12055#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
12056#[inline]
12057#[target_feature(enable = "sve")]
12058#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
12059#[cfg_attr(test, assert_instr(ld1d))]
12060pub unsafe fn svld1_gather_s64index_f64(
12061 pg: svbool_t,
12062 base: *const f64,
12063 indices: svint64_t,
12064) -> svfloat64_t {
12065 unsafe extern "unadjusted" {
12066 #[cfg_attr(
12067 target_arch = "aarch64",
12068 link_name = "llvm.aarch64.sve.ld1.gather.index.nxv2f64"
12069 )]
12070 fn _svld1_gather_s64index_f64(
12071 pg: svbool2_t,
12072 base: *const f64,
12073 indices: svint64_t,
12074 ) -> svfloat64_t;
12075 }
12076 _svld1_gather_s64index_f64(pg.sve_into(), base, indices)
12077}
12078#[doc = "Unextended load"]
12079#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1_gather_[s64]index[_s64])"]
12080#[doc = "## Safety"]
12081#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
12082#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
12083#[inline]
12084#[target_feature(enable = "sve")]
12085#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
12086#[cfg_attr(test, assert_instr(ld1d))]
12087pub unsafe fn svld1_gather_s64index_s64(
12088 pg: svbool_t,
12089 base: *const i64,
12090 indices: svint64_t,
12091) -> svint64_t {
12092 unsafe extern "unadjusted" {
12093 #[cfg_attr(
12094 target_arch = "aarch64",
12095 link_name = "llvm.aarch64.sve.ld1.gather.index.nxv2i64"
12096 )]
12097 fn _svld1_gather_s64index_s64(
12098 pg: svbool2_t,
12099 base: *const i64,
12100 indices: svint64_t,
12101 ) -> svint64_t;
12102 }
12103 _svld1_gather_s64index_s64(pg.sve_into(), base, indices)
12104}
12105#[doc = "Unextended load"]
12106#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1_gather_[s64]index[_u64])"]
12107#[doc = "## Safety"]
12108#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
12109#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
12110#[inline]
12111#[target_feature(enable = "sve")]
12112#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
12113#[cfg_attr(test, assert_instr(ld1d))]
12114pub unsafe fn svld1_gather_s64index_u64(
12115 pg: svbool_t,
12116 base: *const u64,
12117 indices: svint64_t,
12118) -> svuint64_t {
12119 svld1_gather_s64index_s64(pg, base.as_signed(), indices).as_unsigned()
12120}
12121#[doc = "Unextended load"]
12122#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1_gather_[u32]index[_f32])"]
12123#[doc = "## Safety"]
12124#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
12125#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
12126#[inline]
12127#[target_feature(enable = "sve")]
12128#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
12129#[cfg_attr(test, assert_instr(ld1w))]
12130pub unsafe fn svld1_gather_u32index_f32(
12131 pg: svbool_t,
12132 base: *const f32,
12133 indices: svuint32_t,
12134) -> svfloat32_t {
12135 unsafe extern "unadjusted" {
12136 #[cfg_attr(
12137 target_arch = "aarch64",
12138 link_name = "llvm.aarch64.sve.ld1.gather.uxtw.index.nxv4f32"
12139 )]
12140 fn _svld1_gather_u32index_f32(
12141 pg: svbool4_t,
12142 base: *const f32,
12143 indices: svint32_t,
12144 ) -> svfloat32_t;
12145 }
12146 _svld1_gather_u32index_f32(pg.sve_into(), base, indices.as_signed())
12147}
12148#[doc = "Unextended load"]
12149#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1_gather_[u32]index[_s32])"]
12150#[doc = "## Safety"]
12151#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
12152#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
12153#[inline]
12154#[target_feature(enable = "sve")]
12155#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
12156#[cfg_attr(test, assert_instr(ld1w))]
12157pub unsafe fn svld1_gather_u32index_s32(
12158 pg: svbool_t,
12159 base: *const i32,
12160 indices: svuint32_t,
12161) -> svint32_t {
12162 unsafe extern "unadjusted" {
12163 #[cfg_attr(
12164 target_arch = "aarch64",
12165 link_name = "llvm.aarch64.sve.ld1.gather.uxtw.index.nxv4i32"
12166 )]
12167 fn _svld1_gather_u32index_s32(
12168 pg: svbool4_t,
12169 base: *const i32,
12170 indices: svint32_t,
12171 ) -> svint32_t;
12172 }
12173 _svld1_gather_u32index_s32(pg.sve_into(), base, indices.as_signed())
12174}
12175#[doc = "Unextended load"]
12176#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1_gather_[u32]index[_u32])"]
12177#[doc = "## Safety"]
12178#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
12179#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
12180#[inline]
12181#[target_feature(enable = "sve")]
12182#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
12183#[cfg_attr(test, assert_instr(ld1w))]
12184pub unsafe fn svld1_gather_u32index_u32(
12185 pg: svbool_t,
12186 base: *const u32,
12187 indices: svuint32_t,
12188) -> svuint32_t {
12189 svld1_gather_u32index_s32(pg, base.as_signed(), indices).as_unsigned()
12190}
12191#[doc = "Unextended load"]
12192#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1_gather_[u64]index[_f64])"]
12193#[doc = "## Safety"]
12194#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
12195#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
12196#[inline]
12197#[target_feature(enable = "sve")]
12198#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
12199#[cfg_attr(test, assert_instr(ld1d))]
12200pub unsafe fn svld1_gather_u64index_f64(
12201 pg: svbool_t,
12202 base: *const f64,
12203 indices: svuint64_t,
12204) -> svfloat64_t {
12205 svld1_gather_s64index_f64(pg, base, indices.as_signed())
12206}
12207#[doc = "Unextended load"]
12208#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1_gather_[u64]index[_s64])"]
12209#[doc = "## Safety"]
12210#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
12211#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
12212#[inline]
12213#[target_feature(enable = "sve")]
12214#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
12215#[cfg_attr(test, assert_instr(ld1d))]
12216pub unsafe fn svld1_gather_u64index_s64(
12217 pg: svbool_t,
12218 base: *const i64,
12219 indices: svuint64_t,
12220) -> svint64_t {
12221 svld1_gather_s64index_s64(pg, base, indices.as_signed())
12222}
12223#[doc = "Unextended load"]
12224#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1_gather_[u64]index[_u64])"]
12225#[doc = "## Safety"]
12226#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
12227#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
12228#[inline]
12229#[target_feature(enable = "sve")]
12230#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
12231#[cfg_attr(test, assert_instr(ld1d))]
12232pub unsafe fn svld1_gather_u64index_u64(
12233 pg: svbool_t,
12234 base: *const u64,
12235 indices: svuint64_t,
12236) -> svuint64_t {
12237 svld1_gather_s64index_s64(pg, base.as_signed(), indices.as_signed()).as_unsigned()
12238}
12239#[doc = "Unextended load"]
12240#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1_gather_[s32]offset[_f32])"]
12241#[doc = "## Safety"]
12242#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
12243#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
12244#[inline]
12245#[target_feature(enable = "sve")]
12246#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
12247#[cfg_attr(test, assert_instr(ld1w))]
12248pub unsafe fn svld1_gather_s32offset_f32(
12249 pg: svbool_t,
12250 base: *const f32,
12251 offsets: svint32_t,
12252) -> svfloat32_t {
12253 unsafe extern "unadjusted" {
12254 #[cfg_attr(
12255 target_arch = "aarch64",
12256 link_name = "llvm.aarch64.sve.ld1.gather.sxtw.nxv4f32"
12257 )]
12258 fn _svld1_gather_s32offset_f32(
12259 pg: svbool4_t,
12260 base: *const f32,
12261 offsets: svint32_t,
12262 ) -> svfloat32_t;
12263 }
12264 _svld1_gather_s32offset_f32(pg.sve_into(), base, offsets)
12265}
12266#[doc = "Unextended load"]
12267#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1_gather_[s32]offset[_s32])"]
12268#[doc = "## Safety"]
12269#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
12270#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
12271#[inline]
12272#[target_feature(enable = "sve")]
12273#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
12274#[cfg_attr(test, assert_instr(ld1w))]
12275pub unsafe fn svld1_gather_s32offset_s32(
12276 pg: svbool_t,
12277 base: *const i32,
12278 offsets: svint32_t,
12279) -> svint32_t {
12280 unsafe extern "unadjusted" {
12281 #[cfg_attr(
12282 target_arch = "aarch64",
12283 link_name = "llvm.aarch64.sve.ld1.gather.sxtw.nxv4i32"
12284 )]
12285 fn _svld1_gather_s32offset_s32(
12286 pg: svbool4_t,
12287 base: *const i32,
12288 offsets: svint32_t,
12289 ) -> svint32_t;
12290 }
12291 _svld1_gather_s32offset_s32(pg.sve_into(), base, offsets)
12292}
12293#[doc = "Unextended load"]
12294#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1_gather_[s32]offset[_u32])"]
12295#[doc = "## Safety"]
12296#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
12297#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
12298#[inline]
12299#[target_feature(enable = "sve")]
12300#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
12301#[cfg_attr(test, assert_instr(ld1w))]
12302pub unsafe fn svld1_gather_s32offset_u32(
12303 pg: svbool_t,
12304 base: *const u32,
12305 offsets: svint32_t,
12306) -> svuint32_t {
12307 svld1_gather_s32offset_s32(pg, base.as_signed(), offsets).as_unsigned()
12308}
12309#[doc = "Unextended load"]
12310#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1_gather_[s64]offset[_f64])"]
12311#[doc = "## Safety"]
12312#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
12313#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
12314#[inline]
12315#[target_feature(enable = "sve")]
12316#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
12317#[cfg_attr(test, assert_instr(ld1d))]
12318pub unsafe fn svld1_gather_s64offset_f64(
12319 pg: svbool_t,
12320 base: *const f64,
12321 offsets: svint64_t,
12322) -> svfloat64_t {
12323 unsafe extern "unadjusted" {
12324 #[cfg_attr(
12325 target_arch = "aarch64",
12326 link_name = "llvm.aarch64.sve.ld1.gather.nxv2f64"
12327 )]
12328 fn _svld1_gather_s64offset_f64(
12329 pg: svbool2_t,
12330 base: *const f64,
12331 offsets: svint64_t,
12332 ) -> svfloat64_t;
12333 }
12334 _svld1_gather_s64offset_f64(pg.sve_into(), base, offsets)
12335}
12336#[doc = "Unextended load"]
12337#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1_gather_[s64]offset[_s64])"]
12338#[doc = "## Safety"]
12339#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
12340#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
12341#[inline]
12342#[target_feature(enable = "sve")]
12343#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
12344#[cfg_attr(test, assert_instr(ld1d))]
12345pub unsafe fn svld1_gather_s64offset_s64(
12346 pg: svbool_t,
12347 base: *const i64,
12348 offsets: svint64_t,
12349) -> svint64_t {
12350 unsafe extern "unadjusted" {
12351 #[cfg_attr(
12352 target_arch = "aarch64",
12353 link_name = "llvm.aarch64.sve.ld1.gather.nxv2i64"
12354 )]
12355 fn _svld1_gather_s64offset_s64(
12356 pg: svbool2_t,
12357 base: *const i64,
12358 offsets: svint64_t,
12359 ) -> svint64_t;
12360 }
12361 _svld1_gather_s64offset_s64(pg.sve_into(), base, offsets)
12362}
12363#[doc = "Unextended load"]
12364#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1_gather_[s64]offset[_u64])"]
12365#[doc = "## Safety"]
12366#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
12367#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
12368#[inline]
12369#[target_feature(enable = "sve")]
12370#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
12371#[cfg_attr(test, assert_instr(ld1d))]
12372pub unsafe fn svld1_gather_s64offset_u64(
12373 pg: svbool_t,
12374 base: *const u64,
12375 offsets: svint64_t,
12376) -> svuint64_t {
12377 svld1_gather_s64offset_s64(pg, base.as_signed(), offsets).as_unsigned()
12378}
12379#[doc = "Unextended load"]
12380#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1_gather_[u32]offset[_f32])"]
12381#[doc = "## Safety"]
12382#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
12383#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
12384#[inline]
12385#[target_feature(enable = "sve")]
12386#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
12387#[cfg_attr(test, assert_instr(ld1w))]
12388pub unsafe fn svld1_gather_u32offset_f32(
12389 pg: svbool_t,
12390 base: *const f32,
12391 offsets: svuint32_t,
12392) -> svfloat32_t {
12393 unsafe extern "unadjusted" {
12394 #[cfg_attr(
12395 target_arch = "aarch64",
12396 link_name = "llvm.aarch64.sve.ld1.gather.uxtw.nxv4f32"
12397 )]
12398 fn _svld1_gather_u32offset_f32(
12399 pg: svbool4_t,
12400 base: *const f32,
12401 offsets: svint32_t,
12402 ) -> svfloat32_t;
12403 }
12404 _svld1_gather_u32offset_f32(pg.sve_into(), base, offsets.as_signed())
12405}
12406#[doc = "Unextended load"]
12407#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1_gather_[u32]offset[_s32])"]
12408#[doc = "## Safety"]
12409#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
12410#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
12411#[inline]
12412#[target_feature(enable = "sve")]
12413#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
12414#[cfg_attr(test, assert_instr(ld1w))]
12415pub unsafe fn svld1_gather_u32offset_s32(
12416 pg: svbool_t,
12417 base: *const i32,
12418 offsets: svuint32_t,
12419) -> svint32_t {
12420 unsafe extern "unadjusted" {
12421 #[cfg_attr(
12422 target_arch = "aarch64",
12423 link_name = "llvm.aarch64.sve.ld1.gather.uxtw.nxv4i32"
12424 )]
12425 fn _svld1_gather_u32offset_s32(
12426 pg: svbool4_t,
12427 base: *const i32,
12428 offsets: svint32_t,
12429 ) -> svint32_t;
12430 }
12431 _svld1_gather_u32offset_s32(pg.sve_into(), base, offsets.as_signed())
12432}
12433#[doc = "Unextended load"]
12434#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1_gather_[u32]offset[_u32])"]
12435#[doc = "## Safety"]
12436#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
12437#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
12438#[inline]
12439#[target_feature(enable = "sve")]
12440#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
12441#[cfg_attr(test, assert_instr(ld1w))]
12442pub unsafe fn svld1_gather_u32offset_u32(
12443 pg: svbool_t,
12444 base: *const u32,
12445 offsets: svuint32_t,
12446) -> svuint32_t {
12447 svld1_gather_u32offset_s32(pg, base.as_signed(), offsets).as_unsigned()
12448}
12449#[doc = "Unextended load"]
12450#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1_gather_[u64]offset[_f64])"]
12451#[doc = "## Safety"]
12452#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
12453#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
12454#[inline]
12455#[target_feature(enable = "sve")]
12456#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
12457#[cfg_attr(test, assert_instr(ld1d))]
12458pub unsafe fn svld1_gather_u64offset_f64(
12459 pg: svbool_t,
12460 base: *const f64,
12461 offsets: svuint64_t,
12462) -> svfloat64_t {
12463 svld1_gather_s64offset_f64(pg, base, offsets.as_signed())
12464}
12465#[doc = "Unextended load"]
12466#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1_gather_[u64]offset[_s64])"]
12467#[doc = "## Safety"]
12468#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
12469#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
12470#[inline]
12471#[target_feature(enable = "sve")]
12472#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
12473#[cfg_attr(test, assert_instr(ld1d))]
12474pub unsafe fn svld1_gather_u64offset_s64(
12475 pg: svbool_t,
12476 base: *const i64,
12477 offsets: svuint64_t,
12478) -> svint64_t {
12479 svld1_gather_s64offset_s64(pg, base, offsets.as_signed())
12480}
12481#[doc = "Unextended load"]
12482#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1_gather_[u64]offset[_u64])"]
12483#[doc = "## Safety"]
12484#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
12485#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
12486#[inline]
12487#[target_feature(enable = "sve")]
12488#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
12489#[cfg_attr(test, assert_instr(ld1d))]
12490pub unsafe fn svld1_gather_u64offset_u64(
12491 pg: svbool_t,
12492 base: *const u64,
12493 offsets: svuint64_t,
12494) -> svuint64_t {
12495 svld1_gather_s64offset_s64(pg, base.as_signed(), offsets.as_signed()).as_unsigned()
12496}
12497#[doc = "Unextended load"]
12498#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1_gather[_u32base]_f32)"]
12499#[doc = "## Safety"]
12500#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
12501#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
12502#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
12503#[inline]
12504#[target_feature(enable = "sve")]
12505#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
12506#[cfg_attr(test, assert_instr(ld1w))]
12507pub unsafe fn svld1_gather_u32base_f32(pg: svbool_t, bases: svuint32_t) -> svfloat32_t {
12508 svld1_gather_u32base_offset_f32(pg, bases, 0)
12509}
12510#[doc = "Unextended load"]
12511#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1_gather[_u32base]_s32)"]
12512#[doc = "## Safety"]
12513#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
12514#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
12515#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
12516#[inline]
12517#[target_feature(enable = "sve")]
12518#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
12519#[cfg_attr(test, assert_instr(ld1w))]
12520pub unsafe fn svld1_gather_u32base_s32(pg: svbool_t, bases: svuint32_t) -> svint32_t {
12521 svld1_gather_u32base_offset_s32(pg, bases, 0)
12522}
12523#[doc = "Unextended load"]
12524#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1_gather[_u32base]_u32)"]
12525#[doc = "## Safety"]
12526#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
12527#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
12528#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
12529#[inline]
12530#[target_feature(enable = "sve")]
12531#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
12532#[cfg_attr(test, assert_instr(ld1w))]
12533pub unsafe fn svld1_gather_u32base_u32(pg: svbool_t, bases: svuint32_t) -> svuint32_t {
12534 svld1_gather_u32base_offset_u32(pg, bases, 0)
12535}
12536#[doc = "Unextended load"]
12537#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1_gather[_u64base]_f64)"]
12538#[doc = "## Safety"]
12539#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
12540#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
12541#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
12542#[inline]
12543#[target_feature(enable = "sve")]
12544#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
12545#[cfg_attr(test, assert_instr(ld1d))]
12546pub unsafe fn svld1_gather_u64base_f64(pg: svbool_t, bases: svuint64_t) -> svfloat64_t {
12547 svld1_gather_u64base_offset_f64(pg, bases, 0)
12548}
12549#[doc = "Unextended load"]
12550#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1_gather[_u64base]_s64)"]
12551#[doc = "## Safety"]
12552#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
12553#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
12554#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
12555#[inline]
12556#[target_feature(enable = "sve")]
12557#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
12558#[cfg_attr(test, assert_instr(ld1d))]
12559pub unsafe fn svld1_gather_u64base_s64(pg: svbool_t, bases: svuint64_t) -> svint64_t {
12560 svld1_gather_u64base_offset_s64(pg, bases, 0)
12561}
12562#[doc = "Unextended load"]
12563#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1_gather[_u64base]_u64)"]
12564#[doc = "## Safety"]
12565#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
12566#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
12567#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
12568#[inline]
12569#[target_feature(enable = "sve")]
12570#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
12571#[cfg_attr(test, assert_instr(ld1d))]
12572pub unsafe fn svld1_gather_u64base_u64(pg: svbool_t, bases: svuint64_t) -> svuint64_t {
12573 svld1_gather_u64base_offset_u64(pg, bases, 0)
12574}
12575#[doc = "Unextended load"]
12576#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1_gather[_u32base]_index_f32)"]
12577#[doc = "## Safety"]
12578#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
12579#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
12580#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
12581#[inline]
12582#[target_feature(enable = "sve")]
12583#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
12584#[cfg_attr(test, assert_instr(ld1w))]
12585pub unsafe fn svld1_gather_u32base_index_f32(
12586 pg: svbool_t,
12587 bases: svuint32_t,
12588 index: i64,
12589) -> svfloat32_t {
12590 svld1_gather_u32base_offset_f32(pg, bases, index.unchecked_shl(2))
12591}
12592#[doc = "Unextended load"]
12593#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1_gather[_u32base]_index_s32)"]
12594#[doc = "## Safety"]
12595#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
12596#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
12597#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
12598#[inline]
12599#[target_feature(enable = "sve")]
12600#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
12601#[cfg_attr(test, assert_instr(ld1w))]
12602pub unsafe fn svld1_gather_u32base_index_s32(
12603 pg: svbool_t,
12604 bases: svuint32_t,
12605 index: i64,
12606) -> svint32_t {
12607 svld1_gather_u32base_offset_s32(pg, bases, index.unchecked_shl(2))
12608}
12609#[doc = "Unextended load"]
12610#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1_gather[_u32base]_index_u32)"]
12611#[doc = "## Safety"]
12612#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
12613#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
12614#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
12615#[inline]
12616#[target_feature(enable = "sve")]
12617#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
12618#[cfg_attr(test, assert_instr(ld1w))]
12619pub unsafe fn svld1_gather_u32base_index_u32(
12620 pg: svbool_t,
12621 bases: svuint32_t,
12622 index: i64,
12623) -> svuint32_t {
12624 svld1_gather_u32base_offset_u32(pg, bases, index.unchecked_shl(2))
12625}
12626#[doc = "Unextended load"]
12627#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1_gather[_u64base]_index_f64)"]
12628#[doc = "## Safety"]
12629#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
12630#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
12631#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
12632#[inline]
12633#[target_feature(enable = "sve")]
12634#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
12635#[cfg_attr(test, assert_instr(ld1d))]
12636pub unsafe fn svld1_gather_u64base_index_f64(
12637 pg: svbool_t,
12638 bases: svuint64_t,
12639 index: i64,
12640) -> svfloat64_t {
12641 svld1_gather_u64base_offset_f64(pg, bases, index.unchecked_shl(3))
12642}
12643#[doc = "Unextended load"]
12644#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1_gather[_u64base]_index_s64)"]
12645#[doc = "## Safety"]
12646#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
12647#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
12648#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
12649#[inline]
12650#[target_feature(enable = "sve")]
12651#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
12652#[cfg_attr(test, assert_instr(ld1d))]
12653pub unsafe fn svld1_gather_u64base_index_s64(
12654 pg: svbool_t,
12655 bases: svuint64_t,
12656 index: i64,
12657) -> svint64_t {
12658 svld1_gather_u64base_offset_s64(pg, bases, index.unchecked_shl(3))
12659}
12660#[doc = "Unextended load"]
12661#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1_gather[_u64base]_index_u64)"]
12662#[doc = "## Safety"]
12663#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
12664#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
12665#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
12666#[inline]
12667#[target_feature(enable = "sve")]
12668#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
12669#[cfg_attr(test, assert_instr(ld1d))]
12670pub unsafe fn svld1_gather_u64base_index_u64(
12671 pg: svbool_t,
12672 bases: svuint64_t,
12673 index: i64,
12674) -> svuint64_t {
12675 svld1_gather_u64base_offset_u64(pg, bases, index.unchecked_shl(3))
12676}
12677#[doc = "Unextended load"]
12678#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1_gather[_u32base]_offset_f32)"]
12679#[doc = "## Safety"]
12680#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
12681#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
12682#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
12683#[inline]
12684#[target_feature(enable = "sve")]
12685#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
12686#[cfg_attr(test, assert_instr(ld1w))]
12687pub unsafe fn svld1_gather_u32base_offset_f32(
12688 pg: svbool_t,
12689 bases: svuint32_t,
12690 offset: i64,
12691) -> svfloat32_t {
12692 unsafe extern "unadjusted" {
12693 #[cfg_attr(
12694 target_arch = "aarch64",
12695 link_name = "llvm.aarch64.sve.ld1.gather.scalar.offset.nxv4f32.nxv4i32"
12696 )]
12697 fn _svld1_gather_u32base_offset_f32(
12698 pg: svbool4_t,
12699 bases: svint32_t,
12700 offset: i64,
12701 ) -> svfloat32_t;
12702 }
12703 _svld1_gather_u32base_offset_f32(pg.sve_into(), bases.as_signed(), offset)
12704}
12705#[doc = "Unextended load"]
12706#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1_gather[_u32base]_offset_s32)"]
12707#[doc = "## Safety"]
12708#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
12709#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
12710#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
12711#[inline]
12712#[target_feature(enable = "sve")]
12713#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
12714#[cfg_attr(test, assert_instr(ld1w))]
12715pub unsafe fn svld1_gather_u32base_offset_s32(
12716 pg: svbool_t,
12717 bases: svuint32_t,
12718 offset: i64,
12719) -> svint32_t {
12720 unsafe extern "unadjusted" {
12721 #[cfg_attr(
12722 target_arch = "aarch64",
12723 link_name = "llvm.aarch64.sve.ld1.gather.scalar.offset.nxv4i32.nxv4i32"
12724 )]
12725 fn _svld1_gather_u32base_offset_s32(
12726 pg: svbool4_t,
12727 bases: svint32_t,
12728 offset: i64,
12729 ) -> svint32_t;
12730 }
12731 _svld1_gather_u32base_offset_s32(pg.sve_into(), bases.as_signed(), offset)
12732}
12733#[doc = "Unextended load"]
12734#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1_gather[_u32base]_offset_u32)"]
12735#[doc = "## Safety"]
12736#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
12737#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
12738#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
12739#[inline]
12740#[target_feature(enable = "sve")]
12741#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
12742#[cfg_attr(test, assert_instr(ld1w))]
12743pub unsafe fn svld1_gather_u32base_offset_u32(
12744 pg: svbool_t,
12745 bases: svuint32_t,
12746 offset: i64,
12747) -> svuint32_t {
12748 svld1_gather_u32base_offset_s32(pg, bases, offset).as_unsigned()
12749}
12750#[doc = "Unextended load"]
12751#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1_gather[_u64base]_offset_f64)"]
12752#[doc = "## Safety"]
12753#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
12754#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
12755#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
12756#[inline]
12757#[target_feature(enable = "sve")]
12758#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
12759#[cfg_attr(test, assert_instr(ld1d))]
12760pub unsafe fn svld1_gather_u64base_offset_f64(
12761 pg: svbool_t,
12762 bases: svuint64_t,
12763 offset: i64,
12764) -> svfloat64_t {
12765 unsafe extern "unadjusted" {
12766 #[cfg_attr(
12767 target_arch = "aarch64",
12768 link_name = "llvm.aarch64.sve.ld1.gather.scalar.offset.nxv2f64.nxv2i64"
12769 )]
12770 fn _svld1_gather_u64base_offset_f64(
12771 pg: svbool2_t,
12772 bases: svint64_t,
12773 offset: i64,
12774 ) -> svfloat64_t;
12775 }
12776 _svld1_gather_u64base_offset_f64(pg.sve_into(), bases.as_signed(), offset)
12777}
12778#[doc = "Unextended load"]
12779#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1_gather[_u64base]_offset_s64)"]
12780#[doc = "## Safety"]
12781#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
12782#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
12783#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
12784#[inline]
12785#[target_feature(enable = "sve")]
12786#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
12787#[cfg_attr(test, assert_instr(ld1d))]
12788pub unsafe fn svld1_gather_u64base_offset_s64(
12789 pg: svbool_t,
12790 bases: svuint64_t,
12791 offset: i64,
12792) -> svint64_t {
12793 unsafe extern "unadjusted" {
12794 #[cfg_attr(
12795 target_arch = "aarch64",
12796 link_name = "llvm.aarch64.sve.ld1.gather.scalar.offset.nxv2i64.nxv2i64"
12797 )]
12798 fn _svld1_gather_u64base_offset_s64(
12799 pg: svbool2_t,
12800 bases: svint64_t,
12801 offset: i64,
12802 ) -> svint64_t;
12803 }
12804 _svld1_gather_u64base_offset_s64(pg.sve_into(), bases.as_signed(), offset)
12805}
12806#[doc = "Unextended load"]
12807#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1_gather[_u64base]_offset_u64)"]
12808#[doc = "## Safety"]
12809#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
12810#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
12811#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
12812#[inline]
12813#[target_feature(enable = "sve")]
12814#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
12815#[cfg_attr(test, assert_instr(ld1d))]
12816pub unsafe fn svld1_gather_u64base_offset_u64(
12817 pg: svbool_t,
12818 bases: svuint64_t,
12819 offset: i64,
12820) -> svuint64_t {
12821 svld1_gather_u64base_offset_s64(pg, bases, offset).as_unsigned()
12822}
12823#[doc = "Unextended load"]
12824#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1_vnum[_f32])"]
12825#[doc = "## Safety"]
12826#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`). In particular, note that `vnum` is scaled by the vector length, `VL`, which is not known at compile time."]
12827#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
12828#[inline]
12829#[target_feature(enable = "sve")]
12830#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
12831#[cfg_attr(test, assert_instr(ld1w))]
12832pub unsafe fn svld1_vnum_f32(pg: svbool_t, base: *const f32, vnum: i64) -> svfloat32_t {
12833 svld1_f32(pg, base.offset(svcntw() as isize * vnum as isize))
12834}
12835#[doc = "Unextended load"]
12836#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1_vnum[_f64])"]
12837#[doc = "## Safety"]
12838#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`). In particular, note that `vnum` is scaled by the vector length, `VL`, which is not known at compile time."]
12839#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
12840#[inline]
12841#[target_feature(enable = "sve")]
12842#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
12843#[cfg_attr(test, assert_instr(ld1d))]
12844pub unsafe fn svld1_vnum_f64(pg: svbool_t, base: *const f64, vnum: i64) -> svfloat64_t {
12845 svld1_f64(pg, base.offset(svcntd() as isize * vnum as isize))
12846}
12847#[doc = "Unextended load"]
12848#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1_vnum[_s8])"]
12849#[doc = "## Safety"]
12850#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`). In particular, note that `vnum` is scaled by the vector length, `VL`, which is not known at compile time."]
12851#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
12852#[inline]
12853#[target_feature(enable = "sve")]
12854#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
12855#[cfg_attr(test, assert_instr(ld1b))]
12856pub unsafe fn svld1_vnum_s8(pg: svbool_t, base: *const i8, vnum: i64) -> svint8_t {
12857 svld1_s8(pg, base.offset(svcntb() as isize * vnum as isize))
12858}
12859#[doc = "Unextended load"]
12860#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1_vnum[_s16])"]
12861#[doc = "## Safety"]
12862#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`). In particular, note that `vnum` is scaled by the vector length, `VL`, which is not known at compile time."]
12863#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
12864#[inline]
12865#[target_feature(enable = "sve")]
12866#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
12867#[cfg_attr(test, assert_instr(ld1h))]
12868pub unsafe fn svld1_vnum_s16(pg: svbool_t, base: *const i16, vnum: i64) -> svint16_t {
12869 svld1_s16(pg, base.offset(svcnth() as isize * vnum as isize))
12870}
12871#[doc = "Unextended load"]
12872#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1_vnum[_s32])"]
12873#[doc = "## Safety"]
12874#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`). In particular, note that `vnum` is scaled by the vector length, `VL`, which is not known at compile time."]
12875#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
12876#[inline]
12877#[target_feature(enable = "sve")]
12878#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
12879#[cfg_attr(test, assert_instr(ld1w))]
12880pub unsafe fn svld1_vnum_s32(pg: svbool_t, base: *const i32, vnum: i64) -> svint32_t {
12881 svld1_s32(pg, base.offset(svcntw() as isize * vnum as isize))
12882}
12883#[doc = "Unextended load"]
12884#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1_vnum[_s64])"]
12885#[doc = "## Safety"]
12886#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`). In particular, note that `vnum` is scaled by the vector length, `VL`, which is not known at compile time."]
12887#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
12888#[inline]
12889#[target_feature(enable = "sve")]
12890#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
12891#[cfg_attr(test, assert_instr(ld1d))]
12892pub unsafe fn svld1_vnum_s64(pg: svbool_t, base: *const i64, vnum: i64) -> svint64_t {
12893 svld1_s64(pg, base.offset(svcntd() as isize * vnum as isize))
12894}
12895#[doc = "Unextended load"]
12896#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1_vnum[_u8])"]
12897#[doc = "## Safety"]
12898#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`). In particular, note that `vnum` is scaled by the vector length, `VL`, which is not known at compile time."]
12899#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
12900#[inline]
12901#[target_feature(enable = "sve")]
12902#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
12903#[cfg_attr(test, assert_instr(ld1b))]
12904pub unsafe fn svld1_vnum_u8(pg: svbool_t, base: *const u8, vnum: i64) -> svuint8_t {
12905 svld1_u8(pg, base.offset(svcntb() as isize * vnum as isize))
12906}
12907#[doc = "Unextended load"]
12908#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1_vnum[_u16])"]
12909#[doc = "## Safety"]
12910#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`). In particular, note that `vnum` is scaled by the vector length, `VL`, which is not known at compile time."]
12911#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
12912#[inline]
12913#[target_feature(enable = "sve")]
12914#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
12915#[cfg_attr(test, assert_instr(ld1h))]
12916pub unsafe fn svld1_vnum_u16(pg: svbool_t, base: *const u16, vnum: i64) -> svuint16_t {
12917 svld1_u16(pg, base.offset(svcnth() as isize * vnum as isize))
12918}
12919#[doc = "Unextended load"]
12920#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1_vnum[_u32])"]
12921#[doc = "## Safety"]
12922#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`). In particular, note that `vnum` is scaled by the vector length, `VL`, which is not known at compile time."]
12923#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
12924#[inline]
12925#[target_feature(enable = "sve")]
12926#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
12927#[cfg_attr(test, assert_instr(ld1w))]
12928pub unsafe fn svld1_vnum_u32(pg: svbool_t, base: *const u32, vnum: i64) -> svuint32_t {
12929 svld1_u32(pg, base.offset(svcntw() as isize * vnum as isize))
12930}
12931#[doc = "Unextended load"]
12932#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1_vnum[_u64])"]
12933#[doc = "## Safety"]
12934#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`). In particular, note that `vnum` is scaled by the vector length, `VL`, which is not known at compile time."]
12935#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
12936#[inline]
12937#[target_feature(enable = "sve")]
12938#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
12939#[cfg_attr(test, assert_instr(ld1d))]
12940pub unsafe fn svld1_vnum_u64(pg: svbool_t, base: *const u64, vnum: i64) -> svuint64_t {
12941 svld1_u64(pg, base.offset(svcntd() as isize * vnum as isize))
12942}
12943#[doc = "Load and replicate 256 bits of data"]
12944#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1ro[_f32])"]
12945#[doc = "## Safety"]
12946#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
12947#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
12948#[inline]
12949#[target_feature(enable = "sve,f64mm")]
12950#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
12951#[cfg_attr(test, assert_instr(ld1row))]
12952pub unsafe fn svld1ro_f32(pg: svbool_t, base: *const f32) -> svfloat32_t {
12953 unsafe extern "unadjusted" {
12954 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.ld1ro.nxv4f32")]
12955 fn _svld1ro_f32(pg: svbool4_t, base: *const f32) -> svfloat32_t;
12956 }
12957 _svld1ro_f32(pg.sve_into(), base)
12958}
12959#[doc = "Load and replicate 256 bits of data"]
12960#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1ro[_f64])"]
12961#[doc = "## Safety"]
12962#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
12963#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
12964#[inline]
12965#[target_feature(enable = "sve,f64mm")]
12966#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
12967#[cfg_attr(test, assert_instr(ld1rod))]
12968pub unsafe fn svld1ro_f64(pg: svbool_t, base: *const f64) -> svfloat64_t {
12969 unsafe extern "unadjusted" {
12970 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.ld1ro.nxv2f64")]
12971 fn _svld1ro_f64(pg: svbool2_t, base: *const f64) -> svfloat64_t;
12972 }
12973 _svld1ro_f64(pg.sve_into(), base)
12974}
12975#[doc = "Load and replicate 256 bits of data"]
12976#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1ro[_s8])"]
12977#[doc = "## Safety"]
12978#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
12979#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
12980#[inline]
12981#[target_feature(enable = "sve,f64mm")]
12982#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
12983#[cfg_attr(test, assert_instr(ld1rob))]
12984pub unsafe fn svld1ro_s8(pg: svbool_t, base: *const i8) -> svint8_t {
12985 unsafe extern "unadjusted" {
12986 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.ld1ro.nxv16i8")]
12987 fn _svld1ro_s8(pg: svbool_t, base: *const i8) -> svint8_t;
12988 }
12989 _svld1ro_s8(pg, base)
12990}
12991#[doc = "Load and replicate 256 bits of data"]
12992#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1ro[_s16])"]
12993#[doc = "## Safety"]
12994#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
12995#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
12996#[inline]
12997#[target_feature(enable = "sve,f64mm")]
12998#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
12999#[cfg_attr(test, assert_instr(ld1roh))]
13000pub unsafe fn svld1ro_s16(pg: svbool_t, base: *const i16) -> svint16_t {
13001 unsafe extern "unadjusted" {
13002 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.ld1ro.nxv8i16")]
13003 fn _svld1ro_s16(pg: svbool8_t, base: *const i16) -> svint16_t;
13004 }
13005 _svld1ro_s16(pg.sve_into(), base)
13006}
13007#[doc = "Load and replicate 256 bits of data"]
13008#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1ro[_s32])"]
13009#[doc = "## Safety"]
13010#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
13011#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
13012#[inline]
13013#[target_feature(enable = "sve,f64mm")]
13014#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
13015#[cfg_attr(test, assert_instr(ld1row))]
13016pub unsafe fn svld1ro_s32(pg: svbool_t, base: *const i32) -> svint32_t {
13017 unsafe extern "unadjusted" {
13018 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.ld1ro.nxv4i32")]
13019 fn _svld1ro_s32(pg: svbool4_t, base: *const i32) -> svint32_t;
13020 }
13021 _svld1ro_s32(pg.sve_into(), base)
13022}
13023#[doc = "Load and replicate 256 bits of data"]
13024#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1ro[_s64])"]
13025#[doc = "## Safety"]
13026#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
13027#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
13028#[inline]
13029#[target_feature(enable = "sve,f64mm")]
13030#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
13031#[cfg_attr(test, assert_instr(ld1rod))]
13032pub unsafe fn svld1ro_s64(pg: svbool_t, base: *const i64) -> svint64_t {
13033 unsafe extern "unadjusted" {
13034 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.ld1ro.nxv2i64")]
13035 fn _svld1ro_s64(pg: svbool2_t, base: *const i64) -> svint64_t;
13036 }
13037 _svld1ro_s64(pg.sve_into(), base)
13038}
13039#[doc = "Load and replicate 256 bits of data"]
13040#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1ro[_u8])"]
13041#[doc = "## Safety"]
13042#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
13043#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
13044#[inline]
13045#[target_feature(enable = "sve,f64mm")]
13046#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
13047#[cfg_attr(test, assert_instr(ld1rob))]
13048pub unsafe fn svld1ro_u8(pg: svbool_t, base: *const u8) -> svuint8_t {
13049 svld1ro_s8(pg, base.as_signed()).as_unsigned()
13050}
13051#[doc = "Load and replicate 256 bits of data"]
13052#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1ro[_u16])"]
13053#[doc = "## Safety"]
13054#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
13055#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
13056#[inline]
13057#[target_feature(enable = "sve,f64mm")]
13058#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
13059#[cfg_attr(test, assert_instr(ld1roh))]
13060pub unsafe fn svld1ro_u16(pg: svbool_t, base: *const u16) -> svuint16_t {
13061 svld1ro_s16(pg, base.as_signed()).as_unsigned()
13062}
13063#[doc = "Load and replicate 256 bits of data"]
13064#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1ro[_u32])"]
13065#[doc = "## Safety"]
13066#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
13067#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
13068#[inline]
13069#[target_feature(enable = "sve,f64mm")]
13070#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
13071#[cfg_attr(test, assert_instr(ld1row))]
13072pub unsafe fn svld1ro_u32(pg: svbool_t, base: *const u32) -> svuint32_t {
13073 svld1ro_s32(pg, base.as_signed()).as_unsigned()
13074}
13075#[doc = "Load and replicate 256 bits of data"]
13076#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1ro[_u64])"]
13077#[doc = "## Safety"]
13078#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
13079#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
13080#[inline]
13081#[target_feature(enable = "sve,f64mm")]
13082#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
13083#[cfg_attr(test, assert_instr(ld1rod))]
13084pub unsafe fn svld1ro_u64(pg: svbool_t, base: *const u64) -> svuint64_t {
13085 svld1ro_s64(pg, base.as_signed()).as_unsigned()
13086}
13087#[doc = "Load and replicate 128 bits of data"]
13088#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1rq[_f32])"]
13089#[doc = "## Safety"]
13090#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
13091#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
13092#[inline]
13093#[target_feature(enable = "sve")]
13094#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
13095#[cfg_attr(test, assert_instr(ld1rqw))]
13096pub unsafe fn svld1rq_f32(pg: svbool_t, base: *const f32) -> svfloat32_t {
13097 unsafe extern "unadjusted" {
13098 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.ld1rq.nxv4f32")]
13099 fn _svld1rq_f32(pg: svbool4_t, base: *const f32) -> svfloat32_t;
13100 }
13101 _svld1rq_f32(pg.sve_into(), base)
13102}
13103#[doc = "Load and replicate 128 bits of data"]
13104#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1rq[_f64])"]
13105#[doc = "## Safety"]
13106#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
13107#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
13108#[inline]
13109#[target_feature(enable = "sve")]
13110#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
13111#[cfg_attr(test, assert_instr(ld1rqd))]
13112pub unsafe fn svld1rq_f64(pg: svbool_t, base: *const f64) -> svfloat64_t {
13113 unsafe extern "unadjusted" {
13114 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.ld1rq.nxv2f64")]
13115 fn _svld1rq_f64(pg: svbool2_t, base: *const f64) -> svfloat64_t;
13116 }
13117 _svld1rq_f64(pg.sve_into(), base)
13118}
13119#[doc = "Load and replicate 128 bits of data"]
13120#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1rq[_s8])"]
13121#[doc = "## Safety"]
13122#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
13123#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
13124#[inline]
13125#[target_feature(enable = "sve")]
13126#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
13127#[cfg_attr(test, assert_instr(ld1rqb))]
13128pub unsafe fn svld1rq_s8(pg: svbool_t, base: *const i8) -> svint8_t {
13129 unsafe extern "unadjusted" {
13130 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.ld1rq.nxv16i8")]
13131 fn _svld1rq_s8(pg: svbool_t, base: *const i8) -> svint8_t;
13132 }
13133 _svld1rq_s8(pg, base)
13134}
13135#[doc = "Load and replicate 128 bits of data"]
13136#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1rq[_s16])"]
13137#[doc = "## Safety"]
13138#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
13139#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
13140#[inline]
13141#[target_feature(enable = "sve")]
13142#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
13143#[cfg_attr(test, assert_instr(ld1rqh))]
13144pub unsafe fn svld1rq_s16(pg: svbool_t, base: *const i16) -> svint16_t {
13145 unsafe extern "unadjusted" {
13146 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.ld1rq.nxv8i16")]
13147 fn _svld1rq_s16(pg: svbool8_t, base: *const i16) -> svint16_t;
13148 }
13149 _svld1rq_s16(pg.sve_into(), base)
13150}
13151#[doc = "Load and replicate 128 bits of data"]
13152#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1rq[_s32])"]
13153#[doc = "## Safety"]
13154#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
13155#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
13156#[inline]
13157#[target_feature(enable = "sve")]
13158#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
13159#[cfg_attr(test, assert_instr(ld1rqw))]
13160pub unsafe fn svld1rq_s32(pg: svbool_t, base: *const i32) -> svint32_t {
13161 unsafe extern "unadjusted" {
13162 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.ld1rq.nxv4i32")]
13163 fn _svld1rq_s32(pg: svbool4_t, base: *const i32) -> svint32_t;
13164 }
13165 _svld1rq_s32(pg.sve_into(), base)
13166}
13167#[doc = "Load and replicate 128 bits of data"]
13168#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1rq[_s64])"]
13169#[doc = "## Safety"]
13170#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
13171#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
13172#[inline]
13173#[target_feature(enable = "sve")]
13174#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
13175#[cfg_attr(test, assert_instr(ld1rqd))]
13176pub unsafe fn svld1rq_s64(pg: svbool_t, base: *const i64) -> svint64_t {
13177 unsafe extern "unadjusted" {
13178 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.ld1rq.nxv2i64")]
13179 fn _svld1rq_s64(pg: svbool2_t, base: *const i64) -> svint64_t;
13180 }
13181 _svld1rq_s64(pg.sve_into(), base)
13182}
13183#[doc = "Load and replicate 128 bits of data"]
13184#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1rq[_u8])"]
13185#[doc = "## Safety"]
13186#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
13187#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
13188#[inline]
13189#[target_feature(enable = "sve")]
13190#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
13191#[cfg_attr(test, assert_instr(ld1rqb))]
13192pub unsafe fn svld1rq_u8(pg: svbool_t, base: *const u8) -> svuint8_t {
13193 svld1rq_s8(pg, base.as_signed()).as_unsigned()
13194}
13195#[doc = "Load and replicate 128 bits of data"]
13196#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1rq[_u16])"]
13197#[doc = "## Safety"]
13198#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
13199#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
13200#[inline]
13201#[target_feature(enable = "sve")]
13202#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
13203#[cfg_attr(test, assert_instr(ld1rqh))]
13204pub unsafe fn svld1rq_u16(pg: svbool_t, base: *const u16) -> svuint16_t {
13205 svld1rq_s16(pg, base.as_signed()).as_unsigned()
13206}
13207#[doc = "Load and replicate 128 bits of data"]
13208#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1rq[_u32])"]
13209#[doc = "## Safety"]
13210#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
13211#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
13212#[inline]
13213#[target_feature(enable = "sve")]
13214#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
13215#[cfg_attr(test, assert_instr(ld1rqw))]
13216pub unsafe fn svld1rq_u32(pg: svbool_t, base: *const u32) -> svuint32_t {
13217 svld1rq_s32(pg, base.as_signed()).as_unsigned()
13218}
13219#[doc = "Load and replicate 128 bits of data"]
13220#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1rq[_u64])"]
13221#[doc = "## Safety"]
13222#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
13223#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
13224#[inline]
13225#[target_feature(enable = "sve")]
13226#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
13227#[cfg_attr(test, assert_instr(ld1rqd))]
13228pub unsafe fn svld1rq_u64(pg: svbool_t, base: *const u64) -> svuint64_t {
13229 svld1rq_s64(pg, base.as_signed()).as_unsigned()
13230}
13231#[doc = "Load 8-bit data and sign-extend"]
13232#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1sb_gather_[s32]offset_s32)"]
13233#[doc = "## Safety"]
13234#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
13235#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
13236#[inline]
13237#[target_feature(enable = "sve")]
13238#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
13239#[cfg_attr(test, assert_instr(ld1sb))]
13240pub unsafe fn svld1sb_gather_s32offset_s32(
13241 pg: svbool_t,
13242 base: *const i8,
13243 offsets: svint32_t,
13244) -> svint32_t {
13245 unsafe extern "unadjusted" {
13246 #[cfg_attr(
13247 target_arch = "aarch64",
13248 link_name = "llvm.aarch64.sve.ld1.gather.sxtw.nxv4i8"
13249 )]
13250 fn _svld1sb_gather_s32offset_s32(
13251 pg: svbool4_t,
13252 base: *const i8,
13253 offsets: svint32_t,
13254 ) -> nxv4i8;
13255 }
13256 crate::intrinsics::simd::simd_cast(_svld1sb_gather_s32offset_s32(pg.sve_into(), base, offsets))
13257}
13258#[doc = "Load 16-bit data and sign-extend"]
13259#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1sh_gather_[s32]offset_s32)"]
13260#[doc = "## Safety"]
13261#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
13262#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
13263#[inline]
13264#[target_feature(enable = "sve")]
13265#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
13266#[cfg_attr(test, assert_instr(ld1sh))]
13267pub unsafe fn svld1sh_gather_s32offset_s32(
13268 pg: svbool_t,
13269 base: *const i16,
13270 offsets: svint32_t,
13271) -> svint32_t {
13272 unsafe extern "unadjusted" {
13273 #[cfg_attr(
13274 target_arch = "aarch64",
13275 link_name = "llvm.aarch64.sve.ld1.gather.sxtw.nxv4i16"
13276 )]
13277 fn _svld1sh_gather_s32offset_s32(
13278 pg: svbool4_t,
13279 base: *const i16,
13280 offsets: svint32_t,
13281 ) -> nxv4i16;
13282 }
13283 crate::intrinsics::simd::simd_cast(_svld1sh_gather_s32offset_s32(pg.sve_into(), base, offsets))
13284}
13285#[doc = "Load 8-bit data and sign-extend"]
13286#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1sb_gather_[s32]offset_u32)"]
13287#[doc = "## Safety"]
13288#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
13289#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
13290#[inline]
13291#[target_feature(enable = "sve")]
13292#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
13293#[cfg_attr(test, assert_instr(ld1sb))]
13294pub unsafe fn svld1sb_gather_s32offset_u32(
13295 pg: svbool_t,
13296 base: *const i8,
13297 offsets: svint32_t,
13298) -> svuint32_t {
13299 svld1sb_gather_s32offset_s32(pg, base, offsets).as_unsigned()
13300}
13301#[doc = "Load 16-bit data and sign-extend"]
13302#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1sh_gather_[s32]offset_u32)"]
13303#[doc = "## Safety"]
13304#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
13305#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
13306#[inline]
13307#[target_feature(enable = "sve")]
13308#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
13309#[cfg_attr(test, assert_instr(ld1sh))]
13310pub unsafe fn svld1sh_gather_s32offset_u32(
13311 pg: svbool_t,
13312 base: *const i16,
13313 offsets: svint32_t,
13314) -> svuint32_t {
13315 svld1sh_gather_s32offset_s32(pg, base, offsets).as_unsigned()
13316}
13317#[doc = "Load 8-bit data and sign-extend"]
13318#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1sb_gather_[s64]offset_s64)"]
13319#[doc = "## Safety"]
13320#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
13321#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
13322#[inline]
13323#[target_feature(enable = "sve")]
13324#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
13325#[cfg_attr(test, assert_instr(ld1sb))]
13326pub unsafe fn svld1sb_gather_s64offset_s64(
13327 pg: svbool_t,
13328 base: *const i8,
13329 offsets: svint64_t,
13330) -> svint64_t {
13331 unsafe extern "unadjusted" {
13332 #[cfg_attr(
13333 target_arch = "aarch64",
13334 link_name = "llvm.aarch64.sve.ld1.gather.nxv2i8"
13335 )]
13336 fn _svld1sb_gather_s64offset_s64(
13337 pg: svbool2_t,
13338 base: *const i8,
13339 offsets: svint64_t,
13340 ) -> nxv2i8;
13341 }
13342 crate::intrinsics::simd::simd_cast(_svld1sb_gather_s64offset_s64(pg.sve_into(), base, offsets))
13343}
13344#[doc = "Load 16-bit data and sign-extend"]
13345#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1sh_gather_[s64]offset_s64)"]
13346#[doc = "## Safety"]
13347#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
13348#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
13349#[inline]
13350#[target_feature(enable = "sve")]
13351#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
13352#[cfg_attr(test, assert_instr(ld1sh))]
13353pub unsafe fn svld1sh_gather_s64offset_s64(
13354 pg: svbool_t,
13355 base: *const i16,
13356 offsets: svint64_t,
13357) -> svint64_t {
13358 unsafe extern "unadjusted" {
13359 #[cfg_attr(
13360 target_arch = "aarch64",
13361 link_name = "llvm.aarch64.sve.ld1.gather.nxv2i16"
13362 )]
13363 fn _svld1sh_gather_s64offset_s64(
13364 pg: svbool2_t,
13365 base: *const i16,
13366 offsets: svint64_t,
13367 ) -> nxv2i16;
13368 }
13369 crate::intrinsics::simd::simd_cast(_svld1sh_gather_s64offset_s64(pg.sve_into(), base, offsets))
13370}
13371#[doc = "Load 32-bit data and sign-extend"]
13372#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1sw_gather_[s64]offset_s64)"]
13373#[doc = "## Safety"]
13374#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
13375#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
13376#[inline]
13377#[target_feature(enable = "sve")]
13378#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
13379#[cfg_attr(test, assert_instr(ld1sw))]
13380pub unsafe fn svld1sw_gather_s64offset_s64(
13381 pg: svbool_t,
13382 base: *const i32,
13383 offsets: svint64_t,
13384) -> svint64_t {
13385 unsafe extern "unadjusted" {
13386 #[cfg_attr(
13387 target_arch = "aarch64",
13388 link_name = "llvm.aarch64.sve.ld1.gather.nxv2i32"
13389 )]
13390 fn _svld1sw_gather_s64offset_s64(
13391 pg: svbool2_t,
13392 base: *const i32,
13393 offsets: svint64_t,
13394 ) -> nxv2i32;
13395 }
13396 crate::intrinsics::simd::simd_cast(_svld1sw_gather_s64offset_s64(pg.sve_into(), base, offsets))
13397}
13398#[doc = "Load 8-bit data and sign-extend"]
13399#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1sb_gather_[s64]offset_u64)"]
13400#[doc = "## Safety"]
13401#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
13402#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
13403#[inline]
13404#[target_feature(enable = "sve")]
13405#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
13406#[cfg_attr(test, assert_instr(ld1sb))]
13407pub unsafe fn svld1sb_gather_s64offset_u64(
13408 pg: svbool_t,
13409 base: *const i8,
13410 offsets: svint64_t,
13411) -> svuint64_t {
13412 svld1sb_gather_s64offset_s64(pg, base, offsets).as_unsigned()
13413}
13414#[doc = "Load 16-bit data and sign-extend"]
13415#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1sh_gather_[s64]offset_u64)"]
13416#[doc = "## Safety"]
13417#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
13418#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
13419#[inline]
13420#[target_feature(enable = "sve")]
13421#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
13422#[cfg_attr(test, assert_instr(ld1sh))]
13423pub unsafe fn svld1sh_gather_s64offset_u64(
13424 pg: svbool_t,
13425 base: *const i16,
13426 offsets: svint64_t,
13427) -> svuint64_t {
13428 svld1sh_gather_s64offset_s64(pg, base, offsets).as_unsigned()
13429}
13430#[doc = "Load 32-bit data and sign-extend"]
13431#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1sw_gather_[s64]offset_u64)"]
13432#[doc = "## Safety"]
13433#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
13434#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
13435#[inline]
13436#[target_feature(enable = "sve")]
13437#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
13438#[cfg_attr(test, assert_instr(ld1sw))]
13439pub unsafe fn svld1sw_gather_s64offset_u64(
13440 pg: svbool_t,
13441 base: *const i32,
13442 offsets: svint64_t,
13443) -> svuint64_t {
13444 svld1sw_gather_s64offset_s64(pg, base, offsets).as_unsigned()
13445}
13446#[doc = "Load 8-bit data and sign-extend"]
13447#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1sb_gather_[u32]offset_s32)"]
13448#[doc = "## Safety"]
13449#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
13450#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
13451#[inline]
13452#[target_feature(enable = "sve")]
13453#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
13454#[cfg_attr(test, assert_instr(ld1sb))]
13455pub unsafe fn svld1sb_gather_u32offset_s32(
13456 pg: svbool_t,
13457 base: *const i8,
13458 offsets: svuint32_t,
13459) -> svint32_t {
13460 unsafe extern "unadjusted" {
13461 #[cfg_attr(
13462 target_arch = "aarch64",
13463 link_name = "llvm.aarch64.sve.ld1.gather.uxtw.nxv4i8"
13464 )]
13465 fn _svld1sb_gather_u32offset_s32(
13466 pg: svbool4_t,
13467 base: *const i8,
13468 offsets: svint32_t,
13469 ) -> nxv4i8;
13470 }
13471 crate::intrinsics::simd::simd_cast(_svld1sb_gather_u32offset_s32(
13472 pg.sve_into(),
13473 base,
13474 offsets.as_signed(),
13475 ))
13476}
13477#[doc = "Load 16-bit data and sign-extend"]
13478#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1sh_gather_[u32]offset_s32)"]
13479#[doc = "## Safety"]
13480#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
13481#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
13482#[inline]
13483#[target_feature(enable = "sve")]
13484#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
13485#[cfg_attr(test, assert_instr(ld1sh))]
13486pub unsafe fn svld1sh_gather_u32offset_s32(
13487 pg: svbool_t,
13488 base: *const i16,
13489 offsets: svuint32_t,
13490) -> svint32_t {
13491 unsafe extern "unadjusted" {
13492 #[cfg_attr(
13493 target_arch = "aarch64",
13494 link_name = "llvm.aarch64.sve.ld1.gather.uxtw.nxv4i16"
13495 )]
13496 fn _svld1sh_gather_u32offset_s32(
13497 pg: svbool4_t,
13498 base: *const i16,
13499 offsets: svint32_t,
13500 ) -> nxv4i16;
13501 }
13502 crate::intrinsics::simd::simd_cast(_svld1sh_gather_u32offset_s32(
13503 pg.sve_into(),
13504 base,
13505 offsets.as_signed(),
13506 ))
13507}
13508#[doc = "Load 8-bit data and sign-extend"]
13509#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1sb_gather_[u32]offset_u32)"]
13510#[doc = "## Safety"]
13511#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
13512#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
13513#[inline]
13514#[target_feature(enable = "sve")]
13515#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
13516#[cfg_attr(test, assert_instr(ld1sb))]
13517pub unsafe fn svld1sb_gather_u32offset_u32(
13518 pg: svbool_t,
13519 base: *const i8,
13520 offsets: svuint32_t,
13521) -> svuint32_t {
13522 svld1sb_gather_u32offset_s32(pg, base, offsets).as_unsigned()
13523}
13524#[doc = "Load 16-bit data and sign-extend"]
13525#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1sh_gather_[u32]offset_u32)"]
13526#[doc = "## Safety"]
13527#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
13528#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
13529#[inline]
13530#[target_feature(enable = "sve")]
13531#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
13532#[cfg_attr(test, assert_instr(ld1sh))]
13533pub unsafe fn svld1sh_gather_u32offset_u32(
13534 pg: svbool_t,
13535 base: *const i16,
13536 offsets: svuint32_t,
13537) -> svuint32_t {
13538 svld1sh_gather_u32offset_s32(pg, base, offsets).as_unsigned()
13539}
13540#[doc = "Load 8-bit data and sign-extend"]
13541#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1sb_gather_[u64]offset_s64)"]
13542#[doc = "## Safety"]
13543#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
13544#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
13545#[inline]
13546#[target_feature(enable = "sve")]
13547#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
13548#[cfg_attr(test, assert_instr(ld1sb))]
13549pub unsafe fn svld1sb_gather_u64offset_s64(
13550 pg: svbool_t,
13551 base: *const i8,
13552 offsets: svuint64_t,
13553) -> svint64_t {
13554 svld1sb_gather_s64offset_s64(pg, base, offsets.as_signed())
13555}
13556#[doc = "Load 16-bit data and sign-extend"]
13557#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1sh_gather_[u64]offset_s64)"]
13558#[doc = "## Safety"]
13559#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
13560#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
13561#[inline]
13562#[target_feature(enable = "sve")]
13563#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
13564#[cfg_attr(test, assert_instr(ld1sh))]
13565pub unsafe fn svld1sh_gather_u64offset_s64(
13566 pg: svbool_t,
13567 base: *const i16,
13568 offsets: svuint64_t,
13569) -> svint64_t {
13570 svld1sh_gather_s64offset_s64(pg, base, offsets.as_signed())
13571}
13572#[doc = "Load 32-bit data and sign-extend"]
13573#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1sw_gather_[u64]offset_s64)"]
13574#[doc = "## Safety"]
13575#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
13576#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
13577#[inline]
13578#[target_feature(enable = "sve")]
13579#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
13580#[cfg_attr(test, assert_instr(ld1sw))]
13581pub unsafe fn svld1sw_gather_u64offset_s64(
13582 pg: svbool_t,
13583 base: *const i32,
13584 offsets: svuint64_t,
13585) -> svint64_t {
13586 svld1sw_gather_s64offset_s64(pg, base, offsets.as_signed())
13587}
13588#[doc = "Load 8-bit data and sign-extend"]
13589#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1sb_gather_[u64]offset_u64)"]
13590#[doc = "## Safety"]
13591#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
13592#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
13593#[inline]
13594#[target_feature(enable = "sve")]
13595#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
13596#[cfg_attr(test, assert_instr(ld1sb))]
13597pub unsafe fn svld1sb_gather_u64offset_u64(
13598 pg: svbool_t,
13599 base: *const i8,
13600 offsets: svuint64_t,
13601) -> svuint64_t {
13602 svld1sb_gather_s64offset_s64(pg, base, offsets.as_signed()).as_unsigned()
13603}
13604#[doc = "Load 16-bit data and sign-extend"]
13605#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1sh_gather_[u64]offset_u64)"]
13606#[doc = "## Safety"]
13607#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
13608#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
13609#[inline]
13610#[target_feature(enable = "sve")]
13611#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
13612#[cfg_attr(test, assert_instr(ld1sh))]
13613pub unsafe fn svld1sh_gather_u64offset_u64(
13614 pg: svbool_t,
13615 base: *const i16,
13616 offsets: svuint64_t,
13617) -> svuint64_t {
13618 svld1sh_gather_s64offset_s64(pg, base, offsets.as_signed()).as_unsigned()
13619}
13620#[doc = "Load 32-bit data and sign-extend"]
13621#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1sw_gather_[u64]offset_u64)"]
13622#[doc = "## Safety"]
13623#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
13624#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
13625#[inline]
13626#[target_feature(enable = "sve")]
13627#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
13628#[cfg_attr(test, assert_instr(ld1sw))]
13629pub unsafe fn svld1sw_gather_u64offset_u64(
13630 pg: svbool_t,
13631 base: *const i32,
13632 offsets: svuint64_t,
13633) -> svuint64_t {
13634 svld1sw_gather_s64offset_s64(pg, base, offsets.as_signed()).as_unsigned()
13635}
13636#[doc = "Load 8-bit data and sign-extend"]
13637#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1sb_gather[_u32base]_offset_s32)"]
13638#[doc = "## Safety"]
13639#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
13640#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
13641#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
13642#[inline]
13643#[target_feature(enable = "sve")]
13644#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
13645#[cfg_attr(test, assert_instr(ld1sb))]
13646pub unsafe fn svld1sb_gather_u32base_offset_s32(
13647 pg: svbool_t,
13648 bases: svuint32_t,
13649 offset: i64,
13650) -> svint32_t {
13651 unsafe extern "unadjusted" {
13652 #[cfg_attr(
13653 target_arch = "aarch64",
13654 link_name = "llvm.aarch64.sve.ld1.gather.scalar.offset.nxv4i8.nxv4i32"
13655 )]
13656 fn _svld1sb_gather_u32base_offset_s32(
13657 pg: svbool4_t,
13658 bases: svint32_t,
13659 offset: i64,
13660 ) -> nxv4i8;
13661 }
13662 crate::intrinsics::simd::simd_cast(_svld1sb_gather_u32base_offset_s32(
13663 pg.sve_into(),
13664 bases.as_signed(),
13665 offset,
13666 ))
13667}
13668#[doc = "Load 16-bit data and sign-extend"]
13669#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1sh_gather[_u32base]_offset_s32)"]
13670#[doc = "## Safety"]
13671#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
13672#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
13673#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
13674#[inline]
13675#[target_feature(enable = "sve")]
13676#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
13677#[cfg_attr(test, assert_instr(ld1sh))]
13678pub unsafe fn svld1sh_gather_u32base_offset_s32(
13679 pg: svbool_t,
13680 bases: svuint32_t,
13681 offset: i64,
13682) -> svint32_t {
13683 unsafe extern "unadjusted" {
13684 #[cfg_attr(
13685 target_arch = "aarch64",
13686 link_name = "llvm.aarch64.sve.ld1.gather.scalar.offset.nxv4i16.nxv4i32"
13687 )]
13688 fn _svld1sh_gather_u32base_offset_s32(
13689 pg: svbool4_t,
13690 bases: svint32_t,
13691 offset: i64,
13692 ) -> nxv4i16;
13693 }
13694 crate::intrinsics::simd::simd_cast(_svld1sh_gather_u32base_offset_s32(
13695 pg.sve_into(),
13696 bases.as_signed(),
13697 offset,
13698 ))
13699}
13700#[doc = "Load 8-bit data and sign-extend"]
13701#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1sb_gather[_u32base]_offset_u32)"]
13702#[doc = "## Safety"]
13703#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
13704#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
13705#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
13706#[inline]
13707#[target_feature(enable = "sve")]
13708#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
13709#[cfg_attr(test, assert_instr(ld1sb))]
13710pub unsafe fn svld1sb_gather_u32base_offset_u32(
13711 pg: svbool_t,
13712 bases: svuint32_t,
13713 offset: i64,
13714) -> svuint32_t {
13715 svld1sb_gather_u32base_offset_s32(pg, bases, offset).as_unsigned()
13716}
13717#[doc = "Load 16-bit data and sign-extend"]
13718#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1sh_gather[_u32base]_offset_u32)"]
13719#[doc = "## Safety"]
13720#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
13721#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
13722#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
13723#[inline]
13724#[target_feature(enable = "sve")]
13725#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
13726#[cfg_attr(test, assert_instr(ld1sh))]
13727pub unsafe fn svld1sh_gather_u32base_offset_u32(
13728 pg: svbool_t,
13729 bases: svuint32_t,
13730 offset: i64,
13731) -> svuint32_t {
13732 svld1sh_gather_u32base_offset_s32(pg, bases, offset).as_unsigned()
13733}
13734#[doc = "Load 8-bit data and sign-extend"]
13735#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1sb_gather[_u64base]_offset_s64)"]
13736#[doc = "## Safety"]
13737#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
13738#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
13739#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
13740#[inline]
13741#[target_feature(enable = "sve")]
13742#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
13743#[cfg_attr(test, assert_instr(ld1sb))]
13744pub unsafe fn svld1sb_gather_u64base_offset_s64(
13745 pg: svbool_t,
13746 bases: svuint64_t,
13747 offset: i64,
13748) -> svint64_t {
13749 unsafe extern "unadjusted" {
13750 #[cfg_attr(
13751 target_arch = "aarch64",
13752 link_name = "llvm.aarch64.sve.ld1.gather.scalar.offset.nxv2i8.nxv2i64"
13753 )]
13754 fn _svld1sb_gather_u64base_offset_s64(
13755 pg: svbool2_t,
13756 bases: svint64_t,
13757 offset: i64,
13758 ) -> nxv2i8;
13759 }
13760 crate::intrinsics::simd::simd_cast(_svld1sb_gather_u64base_offset_s64(
13761 pg.sve_into(),
13762 bases.as_signed(),
13763 offset,
13764 ))
13765}
13766#[doc = "Load 16-bit data and sign-extend"]
13767#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1sh_gather[_u64base]_offset_s64)"]
13768#[doc = "## Safety"]
13769#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
13770#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
13771#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
13772#[inline]
13773#[target_feature(enable = "sve")]
13774#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
13775#[cfg_attr(test, assert_instr(ld1sh))]
13776pub unsafe fn svld1sh_gather_u64base_offset_s64(
13777 pg: svbool_t,
13778 bases: svuint64_t,
13779 offset: i64,
13780) -> svint64_t {
13781 unsafe extern "unadjusted" {
13782 #[cfg_attr(
13783 target_arch = "aarch64",
13784 link_name = "llvm.aarch64.sve.ld1.gather.scalar.offset.nxv2i16.nxv2i64"
13785 )]
13786 fn _svld1sh_gather_u64base_offset_s64(
13787 pg: svbool2_t,
13788 bases: svint64_t,
13789 offset: i64,
13790 ) -> nxv2i16;
13791 }
13792 crate::intrinsics::simd::simd_cast(_svld1sh_gather_u64base_offset_s64(
13793 pg.sve_into(),
13794 bases.as_signed(),
13795 offset,
13796 ))
13797}
13798#[doc = "Load 32-bit data and sign-extend"]
13799#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1sw_gather[_u64base]_offset_s64)"]
13800#[doc = "## Safety"]
13801#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
13802#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
13803#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
13804#[inline]
13805#[target_feature(enable = "sve")]
13806#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
13807#[cfg_attr(test, assert_instr(ld1sw))]
13808pub unsafe fn svld1sw_gather_u64base_offset_s64(
13809 pg: svbool_t,
13810 bases: svuint64_t,
13811 offset: i64,
13812) -> svint64_t {
13813 unsafe extern "unadjusted" {
13814 #[cfg_attr(
13815 target_arch = "aarch64",
13816 link_name = "llvm.aarch64.sve.ld1.gather.scalar.offset.nxv2i32.nxv2i64"
13817 )]
13818 fn _svld1sw_gather_u64base_offset_s64(
13819 pg: svbool2_t,
13820 bases: svint64_t,
13821 offset: i64,
13822 ) -> nxv2i32;
13823 }
13824 crate::intrinsics::simd::simd_cast(_svld1sw_gather_u64base_offset_s64(
13825 pg.sve_into(),
13826 bases.as_signed(),
13827 offset,
13828 ))
13829}
13830#[doc = "Load 8-bit data and sign-extend"]
13831#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1sb_gather[_u64base]_offset_u64)"]
13832#[doc = "## Safety"]
13833#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
13834#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
13835#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
13836#[inline]
13837#[target_feature(enable = "sve")]
13838#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
13839#[cfg_attr(test, assert_instr(ld1sb))]
13840pub unsafe fn svld1sb_gather_u64base_offset_u64(
13841 pg: svbool_t,
13842 bases: svuint64_t,
13843 offset: i64,
13844) -> svuint64_t {
13845 svld1sb_gather_u64base_offset_s64(pg, bases, offset).as_unsigned()
13846}
13847#[doc = "Load 16-bit data and sign-extend"]
13848#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1sh_gather[_u64base]_offset_u64)"]
13849#[doc = "## Safety"]
13850#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
13851#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
13852#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
13853#[inline]
13854#[target_feature(enable = "sve")]
13855#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
13856#[cfg_attr(test, assert_instr(ld1sh))]
13857pub unsafe fn svld1sh_gather_u64base_offset_u64(
13858 pg: svbool_t,
13859 bases: svuint64_t,
13860 offset: i64,
13861) -> svuint64_t {
13862 svld1sh_gather_u64base_offset_s64(pg, bases, offset).as_unsigned()
13863}
13864#[doc = "Load 32-bit data and sign-extend"]
13865#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1sw_gather[_u64base]_offset_u64)"]
13866#[doc = "## Safety"]
13867#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
13868#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
13869#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
13870#[inline]
13871#[target_feature(enable = "sve")]
13872#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
13873#[cfg_attr(test, assert_instr(ld1sw))]
13874pub unsafe fn svld1sw_gather_u64base_offset_u64(
13875 pg: svbool_t,
13876 bases: svuint64_t,
13877 offset: i64,
13878) -> svuint64_t {
13879 svld1sw_gather_u64base_offset_s64(pg, bases, offset).as_unsigned()
13880}
13881#[doc = "Load 8-bit data and sign-extend"]
13882#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1sb_gather[_u32base]_s32)"]
13883#[doc = "## Safety"]
13884#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
13885#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
13886#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
13887#[inline]
13888#[target_feature(enable = "sve")]
13889#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
13890#[cfg_attr(test, assert_instr(ld1sb))]
13891pub unsafe fn svld1sb_gather_u32base_s32(pg: svbool_t, bases: svuint32_t) -> svint32_t {
13892 svld1sb_gather_u32base_offset_s32(pg, bases, 0)
13893}
13894#[doc = "Load 16-bit data and sign-extend"]
13895#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1sh_gather[_u32base]_s32)"]
13896#[doc = "## Safety"]
13897#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
13898#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
13899#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
13900#[inline]
13901#[target_feature(enable = "sve")]
13902#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
13903#[cfg_attr(test, assert_instr(ld1sh))]
13904pub unsafe fn svld1sh_gather_u32base_s32(pg: svbool_t, bases: svuint32_t) -> svint32_t {
13905 svld1sh_gather_u32base_offset_s32(pg, bases, 0)
13906}
13907#[doc = "Load 8-bit data and sign-extend"]
13908#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1sb_gather[_u32base]_u32)"]
13909#[doc = "## Safety"]
13910#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
13911#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
13912#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
13913#[inline]
13914#[target_feature(enable = "sve")]
13915#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
13916#[cfg_attr(test, assert_instr(ld1sb))]
13917pub unsafe fn svld1sb_gather_u32base_u32(pg: svbool_t, bases: svuint32_t) -> svuint32_t {
13918 svld1sb_gather_u32base_offset_u32(pg, bases, 0)
13919}
13920#[doc = "Load 16-bit data and sign-extend"]
13921#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1sh_gather[_u32base]_u32)"]
13922#[doc = "## Safety"]
13923#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
13924#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
13925#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
13926#[inline]
13927#[target_feature(enable = "sve")]
13928#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
13929#[cfg_attr(test, assert_instr(ld1sh))]
13930pub unsafe fn svld1sh_gather_u32base_u32(pg: svbool_t, bases: svuint32_t) -> svuint32_t {
13931 svld1sh_gather_u32base_offset_u32(pg, bases, 0)
13932}
13933#[doc = "Load 8-bit data and sign-extend"]
13934#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1sb_gather[_u64base]_s64)"]
13935#[doc = "## Safety"]
13936#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
13937#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
13938#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
13939#[inline]
13940#[target_feature(enable = "sve")]
13941#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
13942#[cfg_attr(test, assert_instr(ld1sb))]
13943pub unsafe fn svld1sb_gather_u64base_s64(pg: svbool_t, bases: svuint64_t) -> svint64_t {
13944 svld1sb_gather_u64base_offset_s64(pg, bases, 0)
13945}
13946#[doc = "Load 16-bit data and sign-extend"]
13947#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1sh_gather[_u64base]_s64)"]
13948#[doc = "## Safety"]
13949#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
13950#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
13951#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
13952#[inline]
13953#[target_feature(enable = "sve")]
13954#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
13955#[cfg_attr(test, assert_instr(ld1sh))]
13956pub unsafe fn svld1sh_gather_u64base_s64(pg: svbool_t, bases: svuint64_t) -> svint64_t {
13957 svld1sh_gather_u64base_offset_s64(pg, bases, 0)
13958}
13959#[doc = "Load 32-bit data and sign-extend"]
13960#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1sw_gather[_u64base]_s64)"]
13961#[doc = "## Safety"]
13962#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
13963#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
13964#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
13965#[inline]
13966#[target_feature(enable = "sve")]
13967#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
13968#[cfg_attr(test, assert_instr(ld1sw))]
13969pub unsafe fn svld1sw_gather_u64base_s64(pg: svbool_t, bases: svuint64_t) -> svint64_t {
13970 svld1sw_gather_u64base_offset_s64(pg, bases, 0)
13971}
13972#[doc = "Load 8-bit data and sign-extend"]
13973#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1sb_gather[_u64base]_u64)"]
13974#[doc = "## Safety"]
13975#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
13976#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
13977#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
13978#[inline]
13979#[target_feature(enable = "sve")]
13980#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
13981#[cfg_attr(test, assert_instr(ld1sb))]
13982pub unsafe fn svld1sb_gather_u64base_u64(pg: svbool_t, bases: svuint64_t) -> svuint64_t {
13983 svld1sb_gather_u64base_offset_u64(pg, bases, 0)
13984}
13985#[doc = "Load 16-bit data and sign-extend"]
13986#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1sh_gather[_u64base]_u64)"]
13987#[doc = "## Safety"]
13988#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
13989#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
13990#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
13991#[inline]
13992#[target_feature(enable = "sve")]
13993#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
13994#[cfg_attr(test, assert_instr(ld1sh))]
13995pub unsafe fn svld1sh_gather_u64base_u64(pg: svbool_t, bases: svuint64_t) -> svuint64_t {
13996 svld1sh_gather_u64base_offset_u64(pg, bases, 0)
13997}
13998#[doc = "Load 32-bit data and sign-extend"]
13999#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1sw_gather[_u64base]_u64)"]
14000#[doc = "## Safety"]
14001#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
14002#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
14003#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
14004#[inline]
14005#[target_feature(enable = "sve")]
14006#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
14007#[cfg_attr(test, assert_instr(ld1sw))]
14008pub unsafe fn svld1sw_gather_u64base_u64(pg: svbool_t, bases: svuint64_t) -> svuint64_t {
14009 svld1sw_gather_u64base_offset_u64(pg, bases, 0)
14010}
14011#[doc = "Load 8-bit data and sign-extend"]
14012#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1sb_s16)"]
14013#[doc = "## Safety"]
14014#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
14015#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
14016#[inline]
14017#[target_feature(enable = "sve")]
14018#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
14019#[cfg_attr(test, assert_instr(ld1sb))]
14020pub unsafe fn svld1sb_s16(pg: svbool_t, base: *const i8) -> svint16_t {
14021 unsafe extern "unadjusted" {
14022 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.ld1.nxv8i8")]
14023 fn _svld1sb_s16(pg: svbool8_t, base: *const i8) -> nxv8i8;
14024 }
14025 crate::intrinsics::simd::simd_cast(_svld1sb_s16(pg.sve_into(), base))
14026}
14027#[doc = "Load 8-bit data and sign-extend"]
14028#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1sb_s32)"]
14029#[doc = "## Safety"]
14030#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
14031#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
14032#[inline]
14033#[target_feature(enable = "sve")]
14034#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
14035#[cfg_attr(test, assert_instr(ld1sb))]
14036pub unsafe fn svld1sb_s32(pg: svbool_t, base: *const i8) -> svint32_t {
14037 unsafe extern "unadjusted" {
14038 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.ld1.nxv4i8")]
14039 fn _svld1sb_s32(pg: svbool4_t, base: *const i8) -> nxv4i8;
14040 }
14041 crate::intrinsics::simd::simd_cast(_svld1sb_s32(pg.sve_into(), base))
14042}
14043#[doc = "Load 16-bit data and sign-extend"]
14044#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1sh_s32)"]
14045#[doc = "## Safety"]
14046#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
14047#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
14048#[inline]
14049#[target_feature(enable = "sve")]
14050#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
14051#[cfg_attr(test, assert_instr(ld1sh))]
14052pub unsafe fn svld1sh_s32(pg: svbool_t, base: *const i16) -> svint32_t {
14053 unsafe extern "unadjusted" {
14054 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.ld1.nxv4i16")]
14055 fn _svld1sh_s32(pg: svbool4_t, base: *const i16) -> nxv4i16;
14056 }
14057 crate::intrinsics::simd::simd_cast(_svld1sh_s32(pg.sve_into(), base))
14058}
14059#[doc = "Load 8-bit data and sign-extend"]
14060#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1sb_s64)"]
14061#[doc = "## Safety"]
14062#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
14063#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
14064#[inline]
14065#[target_feature(enable = "sve")]
14066#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
14067#[cfg_attr(test, assert_instr(ld1sb))]
14068pub unsafe fn svld1sb_s64(pg: svbool_t, base: *const i8) -> svint64_t {
14069 unsafe extern "unadjusted" {
14070 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.ld1.nxv2i8")]
14071 fn _svld1sb_s64(pg: svbool2_t, base: *const i8) -> nxv2i8;
14072 }
14073 crate::intrinsics::simd::simd_cast(_svld1sb_s64(pg.sve_into(), base))
14074}
14075#[doc = "Load 16-bit data and sign-extend"]
14076#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1sh_s64)"]
14077#[doc = "## Safety"]
14078#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
14079#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
14080#[inline]
14081#[target_feature(enable = "sve")]
14082#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
14083#[cfg_attr(test, assert_instr(ld1sh))]
14084pub unsafe fn svld1sh_s64(pg: svbool_t, base: *const i16) -> svint64_t {
14085 unsafe extern "unadjusted" {
14086 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.ld1.nxv2i16")]
14087 fn _svld1sh_s64(pg: svbool2_t, base: *const i16) -> nxv2i16;
14088 }
14089 crate::intrinsics::simd::simd_cast(_svld1sh_s64(pg.sve_into(), base))
14090}
14091#[doc = "Load 32-bit data and sign-extend"]
14092#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1sw_s64)"]
14093#[doc = "## Safety"]
14094#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
14095#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
14096#[inline]
14097#[target_feature(enable = "sve")]
14098#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
14099#[cfg_attr(test, assert_instr(ld1sw))]
14100pub unsafe fn svld1sw_s64(pg: svbool_t, base: *const i32) -> svint64_t {
14101 unsafe extern "unadjusted" {
14102 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.ld1.nxv2i32")]
14103 fn _svld1sw_s64(pg: svbool2_t, base: *const i32) -> nxv2i32;
14104 }
14105 crate::intrinsics::simd::simd_cast(_svld1sw_s64(pg.sve_into(), base))
14106}
14107#[doc = "Load 8-bit data and sign-extend"]
14108#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1sb_u16)"]
14109#[doc = "## Safety"]
14110#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
14111#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
14112#[inline]
14113#[target_feature(enable = "sve")]
14114#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
14115#[cfg_attr(test, assert_instr(ld1sb))]
14116pub unsafe fn svld1sb_u16(pg: svbool_t, base: *const i8) -> svuint16_t {
14117 svld1sb_s16(pg, base).as_unsigned()
14118}
14119#[doc = "Load 8-bit data and sign-extend"]
14120#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1sb_u32)"]
14121#[doc = "## Safety"]
14122#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
14123#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
14124#[inline]
14125#[target_feature(enable = "sve")]
14126#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
14127#[cfg_attr(test, assert_instr(ld1sb))]
14128pub unsafe fn svld1sb_u32(pg: svbool_t, base: *const i8) -> svuint32_t {
14129 svld1sb_s32(pg, base).as_unsigned()
14130}
14131#[doc = "Load 16-bit data and sign-extend"]
14132#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1sh_u32)"]
14133#[doc = "## Safety"]
14134#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
14135#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
14136#[inline]
14137#[target_feature(enable = "sve")]
14138#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
14139#[cfg_attr(test, assert_instr(ld1sh))]
14140pub unsafe fn svld1sh_u32(pg: svbool_t, base: *const i16) -> svuint32_t {
14141 svld1sh_s32(pg, base).as_unsigned()
14142}
14143#[doc = "Load 8-bit data and sign-extend"]
14144#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1sb_u64)"]
14145#[doc = "## Safety"]
14146#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
14147#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
14148#[inline]
14149#[target_feature(enable = "sve")]
14150#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
14151#[cfg_attr(test, assert_instr(ld1sb))]
14152pub unsafe fn svld1sb_u64(pg: svbool_t, base: *const i8) -> svuint64_t {
14153 svld1sb_s64(pg, base).as_unsigned()
14154}
14155#[doc = "Load 16-bit data and sign-extend"]
14156#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1sh_u64)"]
14157#[doc = "## Safety"]
14158#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
14159#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
14160#[inline]
14161#[target_feature(enable = "sve")]
14162#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
14163#[cfg_attr(test, assert_instr(ld1sh))]
14164pub unsafe fn svld1sh_u64(pg: svbool_t, base: *const i16) -> svuint64_t {
14165 svld1sh_s64(pg, base).as_unsigned()
14166}
14167#[doc = "Load 32-bit data and sign-extend"]
14168#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1sw_u64)"]
14169#[doc = "## Safety"]
14170#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
14171#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
14172#[inline]
14173#[target_feature(enable = "sve")]
14174#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
14175#[cfg_attr(test, assert_instr(ld1sw))]
14176pub unsafe fn svld1sw_u64(pg: svbool_t, base: *const i32) -> svuint64_t {
14177 svld1sw_s64(pg, base).as_unsigned()
14178}
14179#[doc = "Load 8-bit data and sign-extend"]
14180#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1sb_vnum_s16)"]
14181#[doc = "## Safety"]
14182#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`). In particular, note that `vnum` is scaled by the vector length, `VL`, which is not known at compile time."]
14183#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
14184#[inline]
14185#[target_feature(enable = "sve")]
14186#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
14187#[cfg_attr(test, assert_instr(ld1sb))]
14188pub unsafe fn svld1sb_vnum_s16(pg: svbool_t, base: *const i8, vnum: i64) -> svint16_t {
14189 svld1sb_s16(pg, base.offset(svcnth() as isize * vnum as isize))
14190}
14191#[doc = "Load 8-bit data and sign-extend"]
14192#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1sb_vnum_s32)"]
14193#[doc = "## Safety"]
14194#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`). In particular, note that `vnum` is scaled by the vector length, `VL`, which is not known at compile time."]
14195#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
14196#[inline]
14197#[target_feature(enable = "sve")]
14198#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
14199#[cfg_attr(test, assert_instr(ld1sb))]
14200pub unsafe fn svld1sb_vnum_s32(pg: svbool_t, base: *const i8, vnum: i64) -> svint32_t {
14201 svld1sb_s32(pg, base.offset(svcntw() as isize * vnum as isize))
14202}
14203#[doc = "Load 16-bit data and sign-extend"]
14204#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1sh_vnum_s32)"]
14205#[doc = "## Safety"]
14206#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`). In particular, note that `vnum` is scaled by the vector length, `VL`, which is not known at compile time."]
14207#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
14208#[inline]
14209#[target_feature(enable = "sve")]
14210#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
14211#[cfg_attr(test, assert_instr(ld1sh))]
14212pub unsafe fn svld1sh_vnum_s32(pg: svbool_t, base: *const i16, vnum: i64) -> svint32_t {
14213 svld1sh_s32(pg, base.offset(svcntw() as isize * vnum as isize))
14214}
14215#[doc = "Load 8-bit data and sign-extend"]
14216#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1sb_vnum_s64)"]
14217#[doc = "## Safety"]
14218#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`). In particular, note that `vnum` is scaled by the vector length, `VL`, which is not known at compile time."]
14219#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
14220#[inline]
14221#[target_feature(enable = "sve")]
14222#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
14223#[cfg_attr(test, assert_instr(ld1sb))]
14224pub unsafe fn svld1sb_vnum_s64(pg: svbool_t, base: *const i8, vnum: i64) -> svint64_t {
14225 svld1sb_s64(pg, base.offset(svcntd() as isize * vnum as isize))
14226}
14227#[doc = "Load 16-bit data and sign-extend"]
14228#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1sh_vnum_s64)"]
14229#[doc = "## Safety"]
14230#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`). In particular, note that `vnum` is scaled by the vector length, `VL`, which is not known at compile time."]
14231#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
14232#[inline]
14233#[target_feature(enable = "sve")]
14234#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
14235#[cfg_attr(test, assert_instr(ld1sh))]
14236pub unsafe fn svld1sh_vnum_s64(pg: svbool_t, base: *const i16, vnum: i64) -> svint64_t {
14237 svld1sh_s64(pg, base.offset(svcntd() as isize * vnum as isize))
14238}
14239#[doc = "Load 32-bit data and sign-extend"]
14240#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1sw_vnum_s64)"]
14241#[doc = "## Safety"]
14242#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`). In particular, note that `vnum` is scaled by the vector length, `VL`, which is not known at compile time."]
14243#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
14244#[inline]
14245#[target_feature(enable = "sve")]
14246#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
14247#[cfg_attr(test, assert_instr(ld1sw))]
14248pub unsafe fn svld1sw_vnum_s64(pg: svbool_t, base: *const i32, vnum: i64) -> svint64_t {
14249 svld1sw_s64(pg, base.offset(svcntd() as isize * vnum as isize))
14250}
14251#[doc = "Load 8-bit data and sign-extend"]
14252#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1sb_vnum_u16)"]
14253#[doc = "## Safety"]
14254#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`). In particular, note that `vnum` is scaled by the vector length, `VL`, which is not known at compile time."]
14255#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
14256#[inline]
14257#[target_feature(enable = "sve")]
14258#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
14259#[cfg_attr(test, assert_instr(ld1sb))]
14260pub unsafe fn svld1sb_vnum_u16(pg: svbool_t, base: *const i8, vnum: i64) -> svuint16_t {
14261 svld1sb_u16(pg, base.offset(svcnth() as isize * vnum as isize))
14262}
14263#[doc = "Load 8-bit data and sign-extend"]
14264#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1sb_vnum_u32)"]
14265#[doc = "## Safety"]
14266#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`). In particular, note that `vnum` is scaled by the vector length, `VL`, which is not known at compile time."]
14267#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
14268#[inline]
14269#[target_feature(enable = "sve")]
14270#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
14271#[cfg_attr(test, assert_instr(ld1sb))]
14272pub unsafe fn svld1sb_vnum_u32(pg: svbool_t, base: *const i8, vnum: i64) -> svuint32_t {
14273 svld1sb_u32(pg, base.offset(svcntw() as isize * vnum as isize))
14274}
14275#[doc = "Load 16-bit data and sign-extend"]
14276#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1sh_vnum_u32)"]
14277#[doc = "## Safety"]
14278#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`). In particular, note that `vnum` is scaled by the vector length, `VL`, which is not known at compile time."]
14279#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
14280#[inline]
14281#[target_feature(enable = "sve")]
14282#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
14283#[cfg_attr(test, assert_instr(ld1sh))]
14284pub unsafe fn svld1sh_vnum_u32(pg: svbool_t, base: *const i16, vnum: i64) -> svuint32_t {
14285 svld1sh_u32(pg, base.offset(svcntw() as isize * vnum as isize))
14286}
14287#[doc = "Load 8-bit data and sign-extend"]
14288#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1sb_vnum_u64)"]
14289#[doc = "## Safety"]
14290#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`). In particular, note that `vnum` is scaled by the vector length, `VL`, which is not known at compile time."]
14291#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
14292#[inline]
14293#[target_feature(enable = "sve")]
14294#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
14295#[cfg_attr(test, assert_instr(ld1sb))]
14296pub unsafe fn svld1sb_vnum_u64(pg: svbool_t, base: *const i8, vnum: i64) -> svuint64_t {
14297 svld1sb_u64(pg, base.offset(svcntd() as isize * vnum as isize))
14298}
14299#[doc = "Load 16-bit data and sign-extend"]
14300#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1sh_vnum_u64)"]
14301#[doc = "## Safety"]
14302#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`). In particular, note that `vnum` is scaled by the vector length, `VL`, which is not known at compile time."]
14303#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
14304#[inline]
14305#[target_feature(enable = "sve")]
14306#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
14307#[cfg_attr(test, assert_instr(ld1sh))]
14308pub unsafe fn svld1sh_vnum_u64(pg: svbool_t, base: *const i16, vnum: i64) -> svuint64_t {
14309 svld1sh_u64(pg, base.offset(svcntd() as isize * vnum as isize))
14310}
14311#[doc = "Load 32-bit data and sign-extend"]
14312#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1sw_vnum_u64)"]
14313#[doc = "## Safety"]
14314#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`). In particular, note that `vnum` is scaled by the vector length, `VL`, which is not known at compile time."]
14315#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
14316#[inline]
14317#[target_feature(enable = "sve")]
14318#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
14319#[cfg_attr(test, assert_instr(ld1sw))]
14320pub unsafe fn svld1sw_vnum_u64(pg: svbool_t, base: *const i32, vnum: i64) -> svuint64_t {
14321 svld1sw_u64(pg, base.offset(svcntd() as isize * vnum as isize))
14322}
14323#[doc = "Load 16-bit data and sign-extend"]
14324#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1sh_gather_[s32]index_s32)"]
14325#[doc = "## Safety"]
14326#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
14327#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
14328#[inline]
14329#[target_feature(enable = "sve")]
14330#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
14331#[cfg_attr(test, assert_instr(ld1sh))]
14332pub unsafe fn svld1sh_gather_s32index_s32(
14333 pg: svbool_t,
14334 base: *const i16,
14335 indices: svint32_t,
14336) -> svint32_t {
14337 unsafe extern "unadjusted" {
14338 #[cfg_attr(
14339 target_arch = "aarch64",
14340 link_name = "llvm.aarch64.sve.ld1.gather.sxtw.index.nxv4i16"
14341 )]
14342 fn _svld1sh_gather_s32index_s32(
14343 pg: svbool4_t,
14344 base: *const i16,
14345 indices: svint32_t,
14346 ) -> nxv4i16;
14347 }
14348 crate::intrinsics::simd::simd_cast(_svld1sh_gather_s32index_s32(pg.sve_into(), base, indices))
14349}
14350#[doc = "Load 16-bit data and sign-extend"]
14351#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1sh_gather_[s32]index_u32)"]
14352#[doc = "## Safety"]
14353#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
14354#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
14355#[inline]
14356#[target_feature(enable = "sve")]
14357#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
14358#[cfg_attr(test, assert_instr(ld1sh))]
14359pub unsafe fn svld1sh_gather_s32index_u32(
14360 pg: svbool_t,
14361 base: *const i16,
14362 indices: svint32_t,
14363) -> svuint32_t {
14364 svld1sh_gather_s32index_s32(pg, base, indices).as_unsigned()
14365}
14366#[doc = "Load 16-bit data and sign-extend"]
14367#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1sh_gather_[s64]index_s64)"]
14368#[doc = "## Safety"]
14369#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
14370#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
14371#[inline]
14372#[target_feature(enable = "sve")]
14373#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
14374#[cfg_attr(test, assert_instr(ld1sh))]
14375pub unsafe fn svld1sh_gather_s64index_s64(
14376 pg: svbool_t,
14377 base: *const i16,
14378 indices: svint64_t,
14379) -> svint64_t {
14380 unsafe extern "unadjusted" {
14381 #[cfg_attr(
14382 target_arch = "aarch64",
14383 link_name = "llvm.aarch64.sve.ld1.gather.index.nxv2i16"
14384 )]
14385 fn _svld1sh_gather_s64index_s64(
14386 pg: svbool2_t,
14387 base: *const i16,
14388 indices: svint64_t,
14389 ) -> nxv2i16;
14390 }
14391 crate::intrinsics::simd::simd_cast(_svld1sh_gather_s64index_s64(pg.sve_into(), base, indices))
14392}
14393#[doc = "Load 32-bit data and sign-extend"]
14394#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1sw_gather_[s64]index_s64)"]
14395#[doc = "## Safety"]
14396#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
14397#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
14398#[inline]
14399#[target_feature(enable = "sve")]
14400#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
14401#[cfg_attr(test, assert_instr(ld1sw))]
14402pub unsafe fn svld1sw_gather_s64index_s64(
14403 pg: svbool_t,
14404 base: *const i32,
14405 indices: svint64_t,
14406) -> svint64_t {
14407 unsafe extern "unadjusted" {
14408 #[cfg_attr(
14409 target_arch = "aarch64",
14410 link_name = "llvm.aarch64.sve.ld1.gather.index.nxv2i32"
14411 )]
14412 fn _svld1sw_gather_s64index_s64(
14413 pg: svbool2_t,
14414 base: *const i32,
14415 indices: svint64_t,
14416 ) -> nxv2i32;
14417 }
14418 crate::intrinsics::simd::simd_cast(_svld1sw_gather_s64index_s64(pg.sve_into(), base, indices))
14419}
14420#[doc = "Load 16-bit data and sign-extend"]
14421#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1sh_gather_[s64]index_u64)"]
14422#[doc = "## Safety"]
14423#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
14424#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
14425#[inline]
14426#[target_feature(enable = "sve")]
14427#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
14428#[cfg_attr(test, assert_instr(ld1sh))]
14429pub unsafe fn svld1sh_gather_s64index_u64(
14430 pg: svbool_t,
14431 base: *const i16,
14432 indices: svint64_t,
14433) -> svuint64_t {
14434 svld1sh_gather_s64index_s64(pg, base, indices).as_unsigned()
14435}
14436#[doc = "Load 32-bit data and sign-extend"]
14437#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1sw_gather_[s64]index_u64)"]
14438#[doc = "## Safety"]
14439#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
14440#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
14441#[inline]
14442#[target_feature(enable = "sve")]
14443#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
14444#[cfg_attr(test, assert_instr(ld1sw))]
14445pub unsafe fn svld1sw_gather_s64index_u64(
14446 pg: svbool_t,
14447 base: *const i32,
14448 indices: svint64_t,
14449) -> svuint64_t {
14450 svld1sw_gather_s64index_s64(pg, base, indices).as_unsigned()
14451}
14452#[doc = "Load 16-bit data and sign-extend"]
14453#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1sh_gather_[u32]index_s32)"]
14454#[doc = "## Safety"]
14455#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
14456#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
14457#[inline]
14458#[target_feature(enable = "sve")]
14459#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
14460#[cfg_attr(test, assert_instr(ld1sh))]
14461pub unsafe fn svld1sh_gather_u32index_s32(
14462 pg: svbool_t,
14463 base: *const i16,
14464 indices: svuint32_t,
14465) -> svint32_t {
14466 unsafe extern "unadjusted" {
14467 #[cfg_attr(
14468 target_arch = "aarch64",
14469 link_name = "llvm.aarch64.sve.ld1.gather.uxtw.index.nxv4i16"
14470 )]
14471 fn _svld1sh_gather_u32index_s32(
14472 pg: svbool4_t,
14473 base: *const i16,
14474 indices: svint32_t,
14475 ) -> nxv4i16;
14476 }
14477 crate::intrinsics::simd::simd_cast(_svld1sh_gather_u32index_s32(
14478 pg.sve_into(),
14479 base,
14480 indices.as_signed(),
14481 ))
14482}
14483#[doc = "Load 16-bit data and sign-extend"]
14484#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1sh_gather_[u32]index_u32)"]
14485#[doc = "## Safety"]
14486#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
14487#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
14488#[inline]
14489#[target_feature(enable = "sve")]
14490#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
14491#[cfg_attr(test, assert_instr(ld1sh))]
14492pub unsafe fn svld1sh_gather_u32index_u32(
14493 pg: svbool_t,
14494 base: *const i16,
14495 indices: svuint32_t,
14496) -> svuint32_t {
14497 svld1sh_gather_u32index_s32(pg, base, indices).as_unsigned()
14498}
14499#[doc = "Load 16-bit data and sign-extend"]
14500#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1sh_gather_[u64]index_s64)"]
14501#[doc = "## Safety"]
14502#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
14503#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
14504#[inline]
14505#[target_feature(enable = "sve")]
14506#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
14507#[cfg_attr(test, assert_instr(ld1sh))]
14508pub unsafe fn svld1sh_gather_u64index_s64(
14509 pg: svbool_t,
14510 base: *const i16,
14511 indices: svuint64_t,
14512) -> svint64_t {
14513 svld1sh_gather_s64index_s64(pg, base, indices.as_signed())
14514}
14515#[doc = "Load 32-bit data and sign-extend"]
14516#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1sw_gather_[u64]index_s64)"]
14517#[doc = "## Safety"]
14518#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
14519#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
14520#[inline]
14521#[target_feature(enable = "sve")]
14522#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
14523#[cfg_attr(test, assert_instr(ld1sw))]
14524pub unsafe fn svld1sw_gather_u64index_s64(
14525 pg: svbool_t,
14526 base: *const i32,
14527 indices: svuint64_t,
14528) -> svint64_t {
14529 svld1sw_gather_s64index_s64(pg, base, indices.as_signed())
14530}
14531#[doc = "Load 16-bit data and sign-extend"]
14532#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1sh_gather_[u64]index_u64)"]
14533#[doc = "## Safety"]
14534#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
14535#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
14536#[inline]
14537#[target_feature(enable = "sve")]
14538#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
14539#[cfg_attr(test, assert_instr(ld1sh))]
14540pub unsafe fn svld1sh_gather_u64index_u64(
14541 pg: svbool_t,
14542 base: *const i16,
14543 indices: svuint64_t,
14544) -> svuint64_t {
14545 svld1sh_gather_s64index_s64(pg, base, indices.as_signed()).as_unsigned()
14546}
14547#[doc = "Load 32-bit data and sign-extend"]
14548#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1sw_gather_[u64]index_u64)"]
14549#[doc = "## Safety"]
14550#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
14551#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
14552#[inline]
14553#[target_feature(enable = "sve")]
14554#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
14555#[cfg_attr(test, assert_instr(ld1sw))]
14556pub unsafe fn svld1sw_gather_u64index_u64(
14557 pg: svbool_t,
14558 base: *const i32,
14559 indices: svuint64_t,
14560) -> svuint64_t {
14561 svld1sw_gather_s64index_s64(pg, base, indices.as_signed()).as_unsigned()
14562}
14563#[doc = "Load 16-bit data and sign-extend"]
14564#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1sh_gather[_u32base]_index_s32)"]
14565#[doc = "## Safety"]
14566#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
14567#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
14568#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
14569#[inline]
14570#[target_feature(enable = "sve")]
14571#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
14572#[cfg_attr(test, assert_instr(ld1sh))]
14573pub unsafe fn svld1sh_gather_u32base_index_s32(
14574 pg: svbool_t,
14575 bases: svuint32_t,
14576 index: i64,
14577) -> svint32_t {
14578 svld1sh_gather_u32base_offset_s32(pg, bases, index.unchecked_shl(1))
14579}
14580#[doc = "Load 16-bit data and sign-extend"]
14581#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1sh_gather[_u32base]_index_u32)"]
14582#[doc = "## Safety"]
14583#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
14584#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
14585#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
14586#[inline]
14587#[target_feature(enable = "sve")]
14588#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
14589#[cfg_attr(test, assert_instr(ld1sh))]
14590pub unsafe fn svld1sh_gather_u32base_index_u32(
14591 pg: svbool_t,
14592 bases: svuint32_t,
14593 index: i64,
14594) -> svuint32_t {
14595 svld1sh_gather_u32base_offset_u32(pg, bases, index.unchecked_shl(1))
14596}
14597#[doc = "Load 16-bit data and sign-extend"]
14598#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1sh_gather[_u64base]_index_s64)"]
14599#[doc = "## Safety"]
14600#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
14601#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
14602#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
14603#[inline]
14604#[target_feature(enable = "sve")]
14605#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
14606#[cfg_attr(test, assert_instr(ld1sh))]
14607pub unsafe fn svld1sh_gather_u64base_index_s64(
14608 pg: svbool_t,
14609 bases: svuint64_t,
14610 index: i64,
14611) -> svint64_t {
14612 svld1sh_gather_u64base_offset_s64(pg, bases, index.unchecked_shl(1))
14613}
14614#[doc = "Load 32-bit data and sign-extend"]
14615#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1sw_gather[_u64base]_index_s64)"]
14616#[doc = "## Safety"]
14617#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
14618#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
14619#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
14620#[inline]
14621#[target_feature(enable = "sve")]
14622#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
14623#[cfg_attr(test, assert_instr(ld1sw))]
14624pub unsafe fn svld1sw_gather_u64base_index_s64(
14625 pg: svbool_t,
14626 bases: svuint64_t,
14627 index: i64,
14628) -> svint64_t {
14629 svld1sw_gather_u64base_offset_s64(pg, bases, index.unchecked_shl(2))
14630}
14631#[doc = "Load 16-bit data and sign-extend"]
14632#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1sh_gather[_u64base]_index_u64)"]
14633#[doc = "## Safety"]
14634#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
14635#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
14636#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
14637#[inline]
14638#[target_feature(enable = "sve")]
14639#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
14640#[cfg_attr(test, assert_instr(ld1sh))]
14641pub unsafe fn svld1sh_gather_u64base_index_u64(
14642 pg: svbool_t,
14643 bases: svuint64_t,
14644 index: i64,
14645) -> svuint64_t {
14646 svld1sh_gather_u64base_offset_u64(pg, bases, index.unchecked_shl(1))
14647}
14648#[doc = "Load 32-bit data and sign-extend"]
14649#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1sw_gather[_u64base]_index_u64)"]
14650#[doc = "## Safety"]
14651#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
14652#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
14653#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
14654#[inline]
14655#[target_feature(enable = "sve")]
14656#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
14657#[cfg_attr(test, assert_instr(ld1sw))]
14658pub unsafe fn svld1sw_gather_u64base_index_u64(
14659 pg: svbool_t,
14660 bases: svuint64_t,
14661 index: i64,
14662) -> svuint64_t {
14663 svld1sw_gather_u64base_offset_u64(pg, bases, index.unchecked_shl(2))
14664}
14665#[doc = "Load 8-bit data and zero-extend"]
14666#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1ub_gather_[s32]offset_s32)"]
14667#[doc = "## Safety"]
14668#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
14669#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
14670#[inline]
14671#[target_feature(enable = "sve")]
14672#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
14673#[cfg_attr(test, assert_instr(ld1b))]
14674pub unsafe fn svld1ub_gather_s32offset_s32(
14675 pg: svbool_t,
14676 base: *const u8,
14677 offsets: svint32_t,
14678) -> svint32_t {
14679 svld1ub_gather_s32offset_u32(pg, base, offsets).as_signed()
14680}
14681#[doc = "Load 16-bit data and zero-extend"]
14682#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1uh_gather_[s32]offset_s32)"]
14683#[doc = "## Safety"]
14684#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
14685#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
14686#[inline]
14687#[target_feature(enable = "sve")]
14688#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
14689#[cfg_attr(test, assert_instr(ld1h))]
14690pub unsafe fn svld1uh_gather_s32offset_s32(
14691 pg: svbool_t,
14692 base: *const u16,
14693 offsets: svint32_t,
14694) -> svint32_t {
14695 svld1uh_gather_s32offset_u32(pg, base, offsets).as_signed()
14696}
14697#[doc = "Load 8-bit data and zero-extend"]
14698#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1ub_gather_[s32]offset_u32)"]
14699#[doc = "## Safety"]
14700#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
14701#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
14702#[inline]
14703#[target_feature(enable = "sve")]
14704#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
14705#[cfg_attr(test, assert_instr(ld1b))]
14706pub unsafe fn svld1ub_gather_s32offset_u32(
14707 pg: svbool_t,
14708 base: *const u8,
14709 offsets: svint32_t,
14710) -> svuint32_t {
14711 unsafe extern "unadjusted" {
14712 #[cfg_attr(
14713 target_arch = "aarch64",
14714 link_name = "llvm.aarch64.sve.ld1.gather.sxtw.nxv4i8"
14715 )]
14716 fn _svld1ub_gather_s32offset_u32(
14717 pg: svbool4_t,
14718 base: *const i8,
14719 offsets: svint32_t,
14720 ) -> nxv4i8;
14721 }
14722 crate::intrinsics::simd::simd_cast::<nxv4u8, _>(
14723 _svld1ub_gather_s32offset_u32(pg.sve_into(), base.as_signed(), offsets).as_unsigned(),
14724 )
14725}
14726#[doc = "Load 16-bit data and zero-extend"]
14727#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1uh_gather_[s32]offset_u32)"]
14728#[doc = "## Safety"]
14729#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
14730#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
14731#[inline]
14732#[target_feature(enable = "sve")]
14733#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
14734#[cfg_attr(test, assert_instr(ld1h))]
14735pub unsafe fn svld1uh_gather_s32offset_u32(
14736 pg: svbool_t,
14737 base: *const u16,
14738 offsets: svint32_t,
14739) -> svuint32_t {
14740 unsafe extern "unadjusted" {
14741 #[cfg_attr(
14742 target_arch = "aarch64",
14743 link_name = "llvm.aarch64.sve.ld1.gather.sxtw.nxv4i16"
14744 )]
14745 fn _svld1uh_gather_s32offset_u32(
14746 pg: svbool4_t,
14747 base: *const i16,
14748 offsets: svint32_t,
14749 ) -> nxv4i16;
14750 }
14751 crate::intrinsics::simd::simd_cast::<nxv4u16, _>(
14752 _svld1uh_gather_s32offset_u32(pg.sve_into(), base.as_signed(), offsets).as_unsigned(),
14753 )
14754}
14755#[doc = "Load 8-bit data and zero-extend"]
14756#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1ub_gather_[s64]offset_s64)"]
14757#[doc = "## Safety"]
14758#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
14759#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
14760#[inline]
14761#[target_feature(enable = "sve")]
14762#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
14763#[cfg_attr(test, assert_instr(ld1b))]
14764pub unsafe fn svld1ub_gather_s64offset_s64(
14765 pg: svbool_t,
14766 base: *const u8,
14767 offsets: svint64_t,
14768) -> svint64_t {
14769 svld1ub_gather_s64offset_u64(pg, base, offsets).as_signed()
14770}
14771#[doc = "Load 16-bit data and zero-extend"]
14772#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1uh_gather_[s64]offset_s64)"]
14773#[doc = "## Safety"]
14774#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
14775#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
14776#[inline]
14777#[target_feature(enable = "sve")]
14778#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
14779#[cfg_attr(test, assert_instr(ld1h))]
14780pub unsafe fn svld1uh_gather_s64offset_s64(
14781 pg: svbool_t,
14782 base: *const u16,
14783 offsets: svint64_t,
14784) -> svint64_t {
14785 svld1uh_gather_s64offset_u64(pg, base, offsets).as_signed()
14786}
14787#[doc = "Load 32-bit data and zero-extend"]
14788#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1uw_gather_[s64]offset_s64)"]
14789#[doc = "## Safety"]
14790#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
14791#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
14792#[inline]
14793#[target_feature(enable = "sve")]
14794#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
14795#[cfg_attr(test, assert_instr(ld1w))]
14796pub unsafe fn svld1uw_gather_s64offset_s64(
14797 pg: svbool_t,
14798 base: *const u32,
14799 offsets: svint64_t,
14800) -> svint64_t {
14801 svld1uw_gather_s64offset_u64(pg, base, offsets).as_signed()
14802}
14803#[doc = "Load 8-bit data and zero-extend"]
14804#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1ub_gather_[s64]offset_u64)"]
14805#[doc = "## Safety"]
14806#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
14807#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
14808#[inline]
14809#[target_feature(enable = "sve")]
14810#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
14811#[cfg_attr(test, assert_instr(ld1b))]
14812pub unsafe fn svld1ub_gather_s64offset_u64(
14813 pg: svbool_t,
14814 base: *const u8,
14815 offsets: svint64_t,
14816) -> svuint64_t {
14817 unsafe extern "unadjusted" {
14818 #[cfg_attr(
14819 target_arch = "aarch64",
14820 link_name = "llvm.aarch64.sve.ld1.gather.nxv2i8"
14821 )]
14822 fn _svld1ub_gather_s64offset_u64(
14823 pg: svbool2_t,
14824 base: *const i8,
14825 offsets: svint64_t,
14826 ) -> nxv2i8;
14827 }
14828 crate::intrinsics::simd::simd_cast::<nxv2u8, _>(
14829 _svld1ub_gather_s64offset_u64(pg.sve_into(), base.as_signed(), offsets).as_unsigned(),
14830 )
14831}
14832#[doc = "Load 16-bit data and zero-extend"]
14833#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1uh_gather_[s64]offset_u64)"]
14834#[doc = "## Safety"]
14835#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
14836#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
14837#[inline]
14838#[target_feature(enable = "sve")]
14839#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
14840#[cfg_attr(test, assert_instr(ld1h))]
14841pub unsafe fn svld1uh_gather_s64offset_u64(
14842 pg: svbool_t,
14843 base: *const u16,
14844 offsets: svint64_t,
14845) -> svuint64_t {
14846 unsafe extern "unadjusted" {
14847 #[cfg_attr(
14848 target_arch = "aarch64",
14849 link_name = "llvm.aarch64.sve.ld1.gather.nxv2i16"
14850 )]
14851 fn _svld1uh_gather_s64offset_u64(
14852 pg: svbool2_t,
14853 base: *const i16,
14854 offsets: svint64_t,
14855 ) -> nxv2i16;
14856 }
14857 crate::intrinsics::simd::simd_cast::<nxv2u16, _>(
14858 _svld1uh_gather_s64offset_u64(pg.sve_into(), base.as_signed(), offsets).as_unsigned(),
14859 )
14860}
14861#[doc = "Load 32-bit data and zero-extend"]
14862#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1uw_gather_[s64]offset_u64)"]
14863#[doc = "## Safety"]
14864#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
14865#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
14866#[inline]
14867#[target_feature(enable = "sve")]
14868#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
14869#[cfg_attr(test, assert_instr(ld1w))]
14870pub unsafe fn svld1uw_gather_s64offset_u64(
14871 pg: svbool_t,
14872 base: *const u32,
14873 offsets: svint64_t,
14874) -> svuint64_t {
14875 unsafe extern "unadjusted" {
14876 #[cfg_attr(
14877 target_arch = "aarch64",
14878 link_name = "llvm.aarch64.sve.ld1.gather.nxv2i32"
14879 )]
14880 fn _svld1uw_gather_s64offset_u64(
14881 pg: svbool2_t,
14882 base: *const i32,
14883 offsets: svint64_t,
14884 ) -> nxv2i32;
14885 }
14886 crate::intrinsics::simd::simd_cast::<nxv2u32, _>(
14887 _svld1uw_gather_s64offset_u64(pg.sve_into(), base.as_signed(), offsets).as_unsigned(),
14888 )
14889}
14890#[doc = "Load 8-bit data and zero-extend"]
14891#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1ub_gather_[u32]offset_s32)"]
14892#[doc = "## Safety"]
14893#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
14894#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
14895#[inline]
14896#[target_feature(enable = "sve")]
14897#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
14898#[cfg_attr(test, assert_instr(ld1b))]
14899pub unsafe fn svld1ub_gather_u32offset_s32(
14900 pg: svbool_t,
14901 base: *const u8,
14902 offsets: svuint32_t,
14903) -> svint32_t {
14904 svld1ub_gather_u32offset_u32(pg, base, offsets).as_signed()
14905}
14906#[doc = "Load 16-bit data and zero-extend"]
14907#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1uh_gather_[u32]offset_s32)"]
14908#[doc = "## Safety"]
14909#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
14910#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
14911#[inline]
14912#[target_feature(enable = "sve")]
14913#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
14914#[cfg_attr(test, assert_instr(ld1h))]
14915pub unsafe fn svld1uh_gather_u32offset_s32(
14916 pg: svbool_t,
14917 base: *const u16,
14918 offsets: svuint32_t,
14919) -> svint32_t {
14920 svld1uh_gather_u32offset_u32(pg, base, offsets).as_signed()
14921}
14922#[doc = "Load 8-bit data and zero-extend"]
14923#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1ub_gather_[u32]offset_u32)"]
14924#[doc = "## Safety"]
14925#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
14926#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
14927#[inline]
14928#[target_feature(enable = "sve")]
14929#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
14930#[cfg_attr(test, assert_instr(ld1b))]
14931pub unsafe fn svld1ub_gather_u32offset_u32(
14932 pg: svbool_t,
14933 base: *const u8,
14934 offsets: svuint32_t,
14935) -> svuint32_t {
14936 unsafe extern "unadjusted" {
14937 #[cfg_attr(
14938 target_arch = "aarch64",
14939 link_name = "llvm.aarch64.sve.ld1.gather.uxtw.nxv4i8"
14940 )]
14941 fn _svld1ub_gather_u32offset_u32(
14942 pg: svbool4_t,
14943 base: *const i8,
14944 offsets: svint32_t,
14945 ) -> nxv4i8;
14946 }
14947 crate::intrinsics::simd::simd_cast::<nxv4u8, _>(
14948 _svld1ub_gather_u32offset_u32(pg.sve_into(), base.as_signed(), offsets.as_signed())
14949 .as_unsigned(),
14950 )
14951}
14952#[doc = "Load 16-bit data and zero-extend"]
14953#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1uh_gather_[u32]offset_u32)"]
14954#[doc = "## Safety"]
14955#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
14956#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
14957#[inline]
14958#[target_feature(enable = "sve")]
14959#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
14960#[cfg_attr(test, assert_instr(ld1h))]
14961pub unsafe fn svld1uh_gather_u32offset_u32(
14962 pg: svbool_t,
14963 base: *const u16,
14964 offsets: svuint32_t,
14965) -> svuint32_t {
14966 unsafe extern "unadjusted" {
14967 #[cfg_attr(
14968 target_arch = "aarch64",
14969 link_name = "llvm.aarch64.sve.ld1.gather.uxtw.nxv4i16"
14970 )]
14971 fn _svld1uh_gather_u32offset_u32(
14972 pg: svbool4_t,
14973 base: *const i16,
14974 offsets: svint32_t,
14975 ) -> nxv4i16;
14976 }
14977 crate::intrinsics::simd::simd_cast::<nxv4u16, _>(
14978 _svld1uh_gather_u32offset_u32(pg.sve_into(), base.as_signed(), offsets.as_signed())
14979 .as_unsigned(),
14980 )
14981}
14982#[doc = "Load 8-bit data and zero-extend"]
14983#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1ub_gather_[u64]offset_s64)"]
14984#[doc = "## Safety"]
14985#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
14986#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
14987#[inline]
14988#[target_feature(enable = "sve")]
14989#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
14990#[cfg_attr(test, assert_instr(ld1b))]
14991pub unsafe fn svld1ub_gather_u64offset_s64(
14992 pg: svbool_t,
14993 base: *const u8,
14994 offsets: svuint64_t,
14995) -> svint64_t {
14996 svld1ub_gather_s64offset_u64(pg, base, offsets.as_signed()).as_signed()
14997}
14998#[doc = "Load 16-bit data and zero-extend"]
14999#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1uh_gather_[u64]offset_s64)"]
15000#[doc = "## Safety"]
15001#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
15002#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
15003#[inline]
15004#[target_feature(enable = "sve")]
15005#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
15006#[cfg_attr(test, assert_instr(ld1h))]
15007pub unsafe fn svld1uh_gather_u64offset_s64(
15008 pg: svbool_t,
15009 base: *const u16,
15010 offsets: svuint64_t,
15011) -> svint64_t {
15012 svld1uh_gather_s64offset_u64(pg, base, offsets.as_signed()).as_signed()
15013}
15014#[doc = "Load 32-bit data and zero-extend"]
15015#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1uw_gather_[u64]offset_s64)"]
15016#[doc = "## Safety"]
15017#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
15018#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
15019#[inline]
15020#[target_feature(enable = "sve")]
15021#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
15022#[cfg_attr(test, assert_instr(ld1w))]
15023pub unsafe fn svld1uw_gather_u64offset_s64(
15024 pg: svbool_t,
15025 base: *const u32,
15026 offsets: svuint64_t,
15027) -> svint64_t {
15028 svld1uw_gather_s64offset_u64(pg, base, offsets.as_signed()).as_signed()
15029}
15030#[doc = "Load 8-bit data and zero-extend"]
15031#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1ub_gather_[u64]offset_u64)"]
15032#[doc = "## Safety"]
15033#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
15034#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
15035#[inline]
15036#[target_feature(enable = "sve")]
15037#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
15038#[cfg_attr(test, assert_instr(ld1b))]
15039pub unsafe fn svld1ub_gather_u64offset_u64(
15040 pg: svbool_t,
15041 base: *const u8,
15042 offsets: svuint64_t,
15043) -> svuint64_t {
15044 svld1ub_gather_s64offset_u64(pg, base, offsets.as_signed())
15045}
15046#[doc = "Load 16-bit data and zero-extend"]
15047#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1uh_gather_[u64]offset_u64)"]
15048#[doc = "## Safety"]
15049#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
15050#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
15051#[inline]
15052#[target_feature(enable = "sve")]
15053#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
15054#[cfg_attr(test, assert_instr(ld1h))]
15055pub unsafe fn svld1uh_gather_u64offset_u64(
15056 pg: svbool_t,
15057 base: *const u16,
15058 offsets: svuint64_t,
15059) -> svuint64_t {
15060 svld1uh_gather_s64offset_u64(pg, base, offsets.as_signed())
15061}
15062#[doc = "Load 32-bit data and zero-extend"]
15063#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1uw_gather_[u64]offset_u64)"]
15064#[doc = "## Safety"]
15065#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
15066#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
15067#[inline]
15068#[target_feature(enable = "sve")]
15069#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
15070#[cfg_attr(test, assert_instr(ld1w))]
15071pub unsafe fn svld1uw_gather_u64offset_u64(
15072 pg: svbool_t,
15073 base: *const u32,
15074 offsets: svuint64_t,
15075) -> svuint64_t {
15076 svld1uw_gather_s64offset_u64(pg, base, offsets.as_signed())
15077}
15078#[doc = "Load 8-bit data and zero-extend"]
15079#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1ub_gather[_u32base]_offset_s32)"]
15080#[doc = "## Safety"]
15081#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
15082#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
15083#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
15084#[inline]
15085#[target_feature(enable = "sve")]
15086#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
15087#[cfg_attr(test, assert_instr(ld1b))]
15088pub unsafe fn svld1ub_gather_u32base_offset_s32(
15089 pg: svbool_t,
15090 bases: svuint32_t,
15091 offset: i64,
15092) -> svint32_t {
15093 svld1ub_gather_u32base_offset_u32(pg, bases, offset).as_signed()
15094}
15095#[doc = "Load 16-bit data and zero-extend"]
15096#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1uh_gather[_u32base]_offset_s32)"]
15097#[doc = "## Safety"]
15098#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
15099#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
15100#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
15101#[inline]
15102#[target_feature(enable = "sve")]
15103#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
15104#[cfg_attr(test, assert_instr(ld1h))]
15105pub unsafe fn svld1uh_gather_u32base_offset_s32(
15106 pg: svbool_t,
15107 bases: svuint32_t,
15108 offset: i64,
15109) -> svint32_t {
15110 svld1uh_gather_u32base_offset_u32(pg, bases, offset).as_signed()
15111}
15112#[doc = "Load 8-bit data and zero-extend"]
15113#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1ub_gather[_u32base]_offset_u32)"]
15114#[doc = "## Safety"]
15115#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
15116#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
15117#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
15118#[inline]
15119#[target_feature(enable = "sve")]
15120#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
15121#[cfg_attr(test, assert_instr(ld1b))]
15122pub unsafe fn svld1ub_gather_u32base_offset_u32(
15123 pg: svbool_t,
15124 bases: svuint32_t,
15125 offset: i64,
15126) -> svuint32_t {
15127 unsafe extern "unadjusted" {
15128 #[cfg_attr(
15129 target_arch = "aarch64",
15130 link_name = "llvm.aarch64.sve.ld1.gather.scalar.offset.nxv4i8.nxv4i32"
15131 )]
15132 fn _svld1ub_gather_u32base_offset_u32(
15133 pg: svbool4_t,
15134 bases: svint32_t,
15135 offset: i64,
15136 ) -> nxv4i8;
15137 }
15138 crate::intrinsics::simd::simd_cast::<nxv4u8, _>(
15139 _svld1ub_gather_u32base_offset_u32(pg.sve_into(), bases.as_signed(), offset).as_unsigned(),
15140 )
15141}
15142#[doc = "Load 16-bit data and zero-extend"]
15143#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1uh_gather[_u32base]_offset_u32)"]
15144#[doc = "## Safety"]
15145#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
15146#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
15147#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
15148#[inline]
15149#[target_feature(enable = "sve")]
15150#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
15151#[cfg_attr(test, assert_instr(ld1h))]
15152pub unsafe fn svld1uh_gather_u32base_offset_u32(
15153 pg: svbool_t,
15154 bases: svuint32_t,
15155 offset: i64,
15156) -> svuint32_t {
15157 unsafe extern "unadjusted" {
15158 #[cfg_attr(
15159 target_arch = "aarch64",
15160 link_name = "llvm.aarch64.sve.ld1.gather.scalar.offset.nxv4i16.nxv4i32"
15161 )]
15162 fn _svld1uh_gather_u32base_offset_u32(
15163 pg: svbool4_t,
15164 bases: svint32_t,
15165 offset: i64,
15166 ) -> nxv4i16;
15167 }
15168 crate::intrinsics::simd::simd_cast::<nxv4u16, _>(
15169 _svld1uh_gather_u32base_offset_u32(pg.sve_into(), bases.as_signed(), offset).as_unsigned(),
15170 )
15171}
15172#[doc = "Load 8-bit data and zero-extend"]
15173#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1ub_gather[_u64base]_offset_s64)"]
15174#[doc = "## Safety"]
15175#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
15176#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
15177#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
15178#[inline]
15179#[target_feature(enable = "sve")]
15180#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
15181#[cfg_attr(test, assert_instr(ld1b))]
15182pub unsafe fn svld1ub_gather_u64base_offset_s64(
15183 pg: svbool_t,
15184 bases: svuint64_t,
15185 offset: i64,
15186) -> svint64_t {
15187 svld1ub_gather_u64base_offset_u64(pg, bases, offset).as_signed()
15188}
15189#[doc = "Load 16-bit data and zero-extend"]
15190#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1uh_gather[_u64base]_offset_s64)"]
15191#[doc = "## Safety"]
15192#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
15193#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
15194#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
15195#[inline]
15196#[target_feature(enable = "sve")]
15197#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
15198#[cfg_attr(test, assert_instr(ld1h))]
15199pub unsafe fn svld1uh_gather_u64base_offset_s64(
15200 pg: svbool_t,
15201 bases: svuint64_t,
15202 offset: i64,
15203) -> svint64_t {
15204 svld1uh_gather_u64base_offset_u64(pg, bases, offset).as_signed()
15205}
15206#[doc = "Load 32-bit data and zero-extend"]
15207#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1uw_gather[_u64base]_offset_s64)"]
15208#[doc = "## Safety"]
15209#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
15210#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
15211#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
15212#[inline]
15213#[target_feature(enable = "sve")]
15214#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
15215#[cfg_attr(test, assert_instr(ld1w))]
15216pub unsafe fn svld1uw_gather_u64base_offset_s64(
15217 pg: svbool_t,
15218 bases: svuint64_t,
15219 offset: i64,
15220) -> svint64_t {
15221 svld1uw_gather_u64base_offset_u64(pg, bases, offset).as_signed()
15222}
15223#[doc = "Load 8-bit data and zero-extend"]
15224#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1ub_gather[_u64base]_offset_u64)"]
15225#[doc = "## Safety"]
15226#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
15227#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
15228#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
15229#[inline]
15230#[target_feature(enable = "sve")]
15231#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
15232#[cfg_attr(test, assert_instr(ld1b))]
15233pub unsafe fn svld1ub_gather_u64base_offset_u64(
15234 pg: svbool_t,
15235 bases: svuint64_t,
15236 offset: i64,
15237) -> svuint64_t {
15238 unsafe extern "unadjusted" {
15239 #[cfg_attr(
15240 target_arch = "aarch64",
15241 link_name = "llvm.aarch64.sve.ld1.gather.scalar.offset.nxv2i8.nxv2i64"
15242 )]
15243 fn _svld1ub_gather_u64base_offset_u64(
15244 pg: svbool2_t,
15245 bases: svint64_t,
15246 offset: i64,
15247 ) -> nxv2i8;
15248 }
15249 crate::intrinsics::simd::simd_cast::<nxv2u8, _>(
15250 _svld1ub_gather_u64base_offset_u64(pg.sve_into(), bases.as_signed(), offset).as_unsigned(),
15251 )
15252}
15253#[doc = "Load 16-bit data and zero-extend"]
15254#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1uh_gather[_u64base]_offset_u64)"]
15255#[doc = "## Safety"]
15256#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
15257#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
15258#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
15259#[inline]
15260#[target_feature(enable = "sve")]
15261#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
15262#[cfg_attr(test, assert_instr(ld1h))]
15263pub unsafe fn svld1uh_gather_u64base_offset_u64(
15264 pg: svbool_t,
15265 bases: svuint64_t,
15266 offset: i64,
15267) -> svuint64_t {
15268 unsafe extern "unadjusted" {
15269 #[cfg_attr(
15270 target_arch = "aarch64",
15271 link_name = "llvm.aarch64.sve.ld1.gather.scalar.offset.nxv2i16.nxv2i64"
15272 )]
15273 fn _svld1uh_gather_u64base_offset_u64(
15274 pg: svbool2_t,
15275 bases: svint64_t,
15276 offset: i64,
15277 ) -> nxv2i16;
15278 }
15279 crate::intrinsics::simd::simd_cast::<nxv2u16, _>(
15280 _svld1uh_gather_u64base_offset_u64(pg.sve_into(), bases.as_signed(), offset).as_unsigned(),
15281 )
15282}
15283#[doc = "Load 32-bit data and zero-extend"]
15284#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1uw_gather[_u64base]_offset_u64)"]
15285#[doc = "## Safety"]
15286#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
15287#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
15288#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
15289#[inline]
15290#[target_feature(enable = "sve")]
15291#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
15292#[cfg_attr(test, assert_instr(ld1w))]
15293pub unsafe fn svld1uw_gather_u64base_offset_u64(
15294 pg: svbool_t,
15295 bases: svuint64_t,
15296 offset: i64,
15297) -> svuint64_t {
15298 unsafe extern "unadjusted" {
15299 #[cfg_attr(
15300 target_arch = "aarch64",
15301 link_name = "llvm.aarch64.sve.ld1.gather.scalar.offset.nxv2i32.nxv2i64"
15302 )]
15303 fn _svld1uw_gather_u64base_offset_u64(
15304 pg: svbool2_t,
15305 bases: svint64_t,
15306 offset: i64,
15307 ) -> nxv2i32;
15308 }
15309 crate::intrinsics::simd::simd_cast::<nxv2u32, _>(
15310 _svld1uw_gather_u64base_offset_u64(pg.sve_into(), bases.as_signed(), offset).as_unsigned(),
15311 )
15312}
15313#[doc = "Load 8-bit data and zero-extend"]
15314#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1ub_gather[_u32base]_s32)"]
15315#[doc = "## Safety"]
15316#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
15317#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
15318#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
15319#[inline]
15320#[target_feature(enable = "sve")]
15321#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
15322#[cfg_attr(test, assert_instr(ld1b))]
15323pub unsafe fn svld1ub_gather_u32base_s32(pg: svbool_t, bases: svuint32_t) -> svint32_t {
15324 svld1ub_gather_u32base_offset_s32(pg, bases, 0)
15325}
15326#[doc = "Load 16-bit data and zero-extend"]
15327#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1uh_gather[_u32base]_s32)"]
15328#[doc = "## Safety"]
15329#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
15330#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
15331#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
15332#[inline]
15333#[target_feature(enable = "sve")]
15334#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
15335#[cfg_attr(test, assert_instr(ld1h))]
15336pub unsafe fn svld1uh_gather_u32base_s32(pg: svbool_t, bases: svuint32_t) -> svint32_t {
15337 svld1uh_gather_u32base_offset_s32(pg, bases, 0)
15338}
15339#[doc = "Load 8-bit data and zero-extend"]
15340#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1ub_gather[_u32base]_u32)"]
15341#[doc = "## Safety"]
15342#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
15343#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
15344#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
15345#[inline]
15346#[target_feature(enable = "sve")]
15347#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
15348#[cfg_attr(test, assert_instr(ld1b))]
15349pub unsafe fn svld1ub_gather_u32base_u32(pg: svbool_t, bases: svuint32_t) -> svuint32_t {
15350 svld1ub_gather_u32base_offset_u32(pg, bases, 0)
15351}
15352#[doc = "Load 16-bit data and zero-extend"]
15353#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1uh_gather[_u32base]_u32)"]
15354#[doc = "## Safety"]
15355#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
15356#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
15357#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
15358#[inline]
15359#[target_feature(enable = "sve")]
15360#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
15361#[cfg_attr(test, assert_instr(ld1h))]
15362pub unsafe fn svld1uh_gather_u32base_u32(pg: svbool_t, bases: svuint32_t) -> svuint32_t {
15363 svld1uh_gather_u32base_offset_u32(pg, bases, 0)
15364}
15365#[doc = "Load 8-bit data and zero-extend"]
15366#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1ub_gather[_u64base]_s64)"]
15367#[doc = "## Safety"]
15368#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
15369#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
15370#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
15371#[inline]
15372#[target_feature(enable = "sve")]
15373#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
15374#[cfg_attr(test, assert_instr(ld1b))]
15375pub unsafe fn svld1ub_gather_u64base_s64(pg: svbool_t, bases: svuint64_t) -> svint64_t {
15376 svld1ub_gather_u64base_offset_s64(pg, bases, 0)
15377}
15378#[doc = "Load 16-bit data and zero-extend"]
15379#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1uh_gather[_u64base]_s64)"]
15380#[doc = "## Safety"]
15381#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
15382#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
15383#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
15384#[inline]
15385#[target_feature(enable = "sve")]
15386#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
15387#[cfg_attr(test, assert_instr(ld1h))]
15388pub unsafe fn svld1uh_gather_u64base_s64(pg: svbool_t, bases: svuint64_t) -> svint64_t {
15389 svld1uh_gather_u64base_offset_s64(pg, bases, 0)
15390}
15391#[doc = "Load 32-bit data and zero-extend"]
15392#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1uw_gather[_u64base]_s64)"]
15393#[doc = "## Safety"]
15394#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
15395#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
15396#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
15397#[inline]
15398#[target_feature(enable = "sve")]
15399#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
15400#[cfg_attr(test, assert_instr(ld1w))]
15401pub unsafe fn svld1uw_gather_u64base_s64(pg: svbool_t, bases: svuint64_t) -> svint64_t {
15402 svld1uw_gather_u64base_offset_s64(pg, bases, 0)
15403}
15404#[doc = "Load 8-bit data and zero-extend"]
15405#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1ub_gather[_u64base]_u64)"]
15406#[doc = "## Safety"]
15407#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
15408#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
15409#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
15410#[inline]
15411#[target_feature(enable = "sve")]
15412#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
15413#[cfg_attr(test, assert_instr(ld1b))]
15414pub unsafe fn svld1ub_gather_u64base_u64(pg: svbool_t, bases: svuint64_t) -> svuint64_t {
15415 svld1ub_gather_u64base_offset_u64(pg, bases, 0)
15416}
15417#[doc = "Load 16-bit data and zero-extend"]
15418#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1uh_gather[_u64base]_u64)"]
15419#[doc = "## Safety"]
15420#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
15421#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
15422#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
15423#[inline]
15424#[target_feature(enable = "sve")]
15425#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
15426#[cfg_attr(test, assert_instr(ld1h))]
15427pub unsafe fn svld1uh_gather_u64base_u64(pg: svbool_t, bases: svuint64_t) -> svuint64_t {
15428 svld1uh_gather_u64base_offset_u64(pg, bases, 0)
15429}
15430#[doc = "Load 32-bit data and zero-extend"]
15431#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1uw_gather[_u64base]_u64)"]
15432#[doc = "## Safety"]
15433#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
15434#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
15435#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
15436#[inline]
15437#[target_feature(enable = "sve")]
15438#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
15439#[cfg_attr(test, assert_instr(ld1w))]
15440pub unsafe fn svld1uw_gather_u64base_u64(pg: svbool_t, bases: svuint64_t) -> svuint64_t {
15441 svld1uw_gather_u64base_offset_u64(pg, bases, 0)
15442}
15443#[doc = "Load 8-bit data and zero-extend"]
15444#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1ub_s16)"]
15445#[doc = "## Safety"]
15446#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
15447#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
15448#[inline]
15449#[target_feature(enable = "sve")]
15450#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
15451#[cfg_attr(test, assert_instr(ld1b))]
15452pub unsafe fn svld1ub_s16(pg: svbool_t, base: *const u8) -> svint16_t {
15453 unsafe extern "unadjusted" {
15454 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.ld1.nxv8i8")]
15455 fn _svld1ub_s16(pg: svbool8_t, base: *const i8) -> nxv8i8;
15456 }
15457 crate::intrinsics::simd::simd_cast::<nxv8u8, _>(
15458 _svld1ub_s16(pg.sve_into(), base.as_signed()).as_unsigned(),
15459 )
15460}
15461#[doc = "Load 8-bit data and zero-extend"]
15462#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1ub_s32)"]
15463#[doc = "## Safety"]
15464#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
15465#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
15466#[inline]
15467#[target_feature(enable = "sve")]
15468#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
15469#[cfg_attr(test, assert_instr(ld1b))]
15470pub unsafe fn svld1ub_s32(pg: svbool_t, base: *const u8) -> svint32_t {
15471 unsafe extern "unadjusted" {
15472 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.ld1.nxv4i8")]
15473 fn _svld1ub_s32(pg: svbool4_t, base: *const i8) -> nxv4i8;
15474 }
15475 crate::intrinsics::simd::simd_cast::<nxv4u8, _>(
15476 _svld1ub_s32(pg.sve_into(), base.as_signed()).as_unsigned(),
15477 )
15478}
15479#[doc = "Load 16-bit data and zero-extend"]
15480#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1uh_s32)"]
15481#[doc = "## Safety"]
15482#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
15483#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
15484#[inline]
15485#[target_feature(enable = "sve")]
15486#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
15487#[cfg_attr(test, assert_instr(ld1h))]
15488pub unsafe fn svld1uh_s32(pg: svbool_t, base: *const u16) -> svint32_t {
15489 unsafe extern "unadjusted" {
15490 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.ld1.nxv4i16")]
15491 fn _svld1uh_s32(pg: svbool4_t, base: *const i16) -> nxv4i16;
15492 }
15493 crate::intrinsics::simd::simd_cast::<nxv4u16, _>(
15494 _svld1uh_s32(pg.sve_into(), base.as_signed()).as_unsigned(),
15495 )
15496}
15497#[doc = "Load 8-bit data and zero-extend"]
15498#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1ub_s64)"]
15499#[doc = "## Safety"]
15500#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
15501#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
15502#[inline]
15503#[target_feature(enable = "sve")]
15504#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
15505#[cfg_attr(test, assert_instr(ld1b))]
15506pub unsafe fn svld1ub_s64(pg: svbool_t, base: *const u8) -> svint64_t {
15507 unsafe extern "unadjusted" {
15508 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.ld1.nxv2i8")]
15509 fn _svld1ub_s64(pg: svbool2_t, base: *const i8) -> nxv2i8;
15510 }
15511 crate::intrinsics::simd::simd_cast::<nxv2u8, _>(
15512 _svld1ub_s64(pg.sve_into(), base.as_signed()).as_unsigned(),
15513 )
15514}
15515#[doc = "Load 16-bit data and zero-extend"]
15516#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1uh_s64)"]
15517#[doc = "## Safety"]
15518#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
15519#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
15520#[inline]
15521#[target_feature(enable = "sve")]
15522#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
15523#[cfg_attr(test, assert_instr(ld1h))]
15524pub unsafe fn svld1uh_s64(pg: svbool_t, base: *const u16) -> svint64_t {
15525 unsafe extern "unadjusted" {
15526 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.ld1.nxv2i16")]
15527 fn _svld1uh_s64(pg: svbool2_t, base: *const i16) -> nxv2i16;
15528 }
15529 crate::intrinsics::simd::simd_cast::<nxv2u16, _>(
15530 _svld1uh_s64(pg.sve_into(), base.as_signed()).as_unsigned(),
15531 )
15532}
15533#[doc = "Load 32-bit data and zero-extend"]
15534#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1uw_s64)"]
15535#[doc = "## Safety"]
15536#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
15537#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
15538#[inline]
15539#[target_feature(enable = "sve")]
15540#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
15541#[cfg_attr(test, assert_instr(ld1w))]
15542pub unsafe fn svld1uw_s64(pg: svbool_t, base: *const u32) -> svint64_t {
15543 unsafe extern "unadjusted" {
15544 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.ld1.nxv2i32")]
15545 fn _svld1uw_s64(pg: svbool2_t, base: *const i32) -> nxv2i32;
15546 }
15547 crate::intrinsics::simd::simd_cast::<nxv2u32, _>(
15548 _svld1uw_s64(pg.sve_into(), base.as_signed()).as_unsigned(),
15549 )
15550}
15551#[doc = "Load 8-bit data and zero-extend"]
15552#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1ub_u16)"]
15553#[doc = "## Safety"]
15554#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
15555#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
15556#[inline]
15557#[target_feature(enable = "sve")]
15558#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
15559#[cfg_attr(test, assert_instr(ld1b))]
15560pub unsafe fn svld1ub_u16(pg: svbool_t, base: *const u8) -> svuint16_t {
15561 svld1ub_s16(pg, base).as_unsigned()
15562}
15563#[doc = "Load 8-bit data and zero-extend"]
15564#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1ub_u32)"]
15565#[doc = "## Safety"]
15566#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
15567#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
15568#[inline]
15569#[target_feature(enable = "sve")]
15570#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
15571#[cfg_attr(test, assert_instr(ld1b))]
15572pub unsafe fn svld1ub_u32(pg: svbool_t, base: *const u8) -> svuint32_t {
15573 svld1ub_s32(pg, base).as_unsigned()
15574}
15575#[doc = "Load 16-bit data and zero-extend"]
15576#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1uh_u32)"]
15577#[doc = "## Safety"]
15578#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
15579#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
15580#[inline]
15581#[target_feature(enable = "sve")]
15582#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
15583#[cfg_attr(test, assert_instr(ld1h))]
15584pub unsafe fn svld1uh_u32(pg: svbool_t, base: *const u16) -> svuint32_t {
15585 svld1uh_s32(pg, base).as_unsigned()
15586}
15587#[doc = "Load 8-bit data and zero-extend"]
15588#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1ub_u64)"]
15589#[doc = "## Safety"]
15590#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
15591#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
15592#[inline]
15593#[target_feature(enable = "sve")]
15594#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
15595#[cfg_attr(test, assert_instr(ld1b))]
15596pub unsafe fn svld1ub_u64(pg: svbool_t, base: *const u8) -> svuint64_t {
15597 svld1ub_s64(pg, base).as_unsigned()
15598}
15599#[doc = "Load 16-bit data and zero-extend"]
15600#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1uh_u64)"]
15601#[doc = "## Safety"]
15602#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
15603#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
15604#[inline]
15605#[target_feature(enable = "sve")]
15606#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
15607#[cfg_attr(test, assert_instr(ld1h))]
15608pub unsafe fn svld1uh_u64(pg: svbool_t, base: *const u16) -> svuint64_t {
15609 svld1uh_s64(pg, base).as_unsigned()
15610}
15611#[doc = "Load 32-bit data and zero-extend"]
15612#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1uw_u64)"]
15613#[doc = "## Safety"]
15614#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
15615#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
15616#[inline]
15617#[target_feature(enable = "sve")]
15618#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
15619#[cfg_attr(test, assert_instr(ld1w))]
15620pub unsafe fn svld1uw_u64(pg: svbool_t, base: *const u32) -> svuint64_t {
15621 svld1uw_s64(pg, base).as_unsigned()
15622}
15623#[doc = "Load 8-bit data and zero-extend"]
15624#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1ub_vnum_s16)"]
15625#[doc = "## Safety"]
15626#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`). In particular, note that `vnum` is scaled by the vector length, `VL`, which is not known at compile time."]
15627#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
15628#[inline]
15629#[target_feature(enable = "sve")]
15630#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
15631#[cfg_attr(test, assert_instr(ld1b))]
15632pub unsafe fn svld1ub_vnum_s16(pg: svbool_t, base: *const u8, vnum: i64) -> svint16_t {
15633 svld1ub_s16(pg, base.offset(svcnth() as isize * vnum as isize))
15634}
15635#[doc = "Load 8-bit data and zero-extend"]
15636#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1ub_vnum_s32)"]
15637#[doc = "## Safety"]
15638#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`). In particular, note that `vnum` is scaled by the vector length, `VL`, which is not known at compile time."]
15639#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
15640#[inline]
15641#[target_feature(enable = "sve")]
15642#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
15643#[cfg_attr(test, assert_instr(ld1b))]
15644pub unsafe fn svld1ub_vnum_s32(pg: svbool_t, base: *const u8, vnum: i64) -> svint32_t {
15645 svld1ub_s32(pg, base.offset(svcntw() as isize * vnum as isize))
15646}
15647#[doc = "Load 16-bit data and zero-extend"]
15648#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1uh_vnum_s32)"]
15649#[doc = "## Safety"]
15650#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`). In particular, note that `vnum` is scaled by the vector length, `VL`, which is not known at compile time."]
15651#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
15652#[inline]
15653#[target_feature(enable = "sve")]
15654#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
15655#[cfg_attr(test, assert_instr(ld1h))]
15656pub unsafe fn svld1uh_vnum_s32(pg: svbool_t, base: *const u16, vnum: i64) -> svint32_t {
15657 svld1uh_s32(pg, base.offset(svcntw() as isize * vnum as isize))
15658}
15659#[doc = "Load 8-bit data and zero-extend"]
15660#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1ub_vnum_s64)"]
15661#[doc = "## Safety"]
15662#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`). In particular, note that `vnum` is scaled by the vector length, `VL`, which is not known at compile time."]
15663#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
15664#[inline]
15665#[target_feature(enable = "sve")]
15666#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
15667#[cfg_attr(test, assert_instr(ld1b))]
15668pub unsafe fn svld1ub_vnum_s64(pg: svbool_t, base: *const u8, vnum: i64) -> svint64_t {
15669 svld1ub_s64(pg, base.offset(svcntd() as isize * vnum as isize))
15670}
15671#[doc = "Load 16-bit data and zero-extend"]
15672#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1uh_vnum_s64)"]
15673#[doc = "## Safety"]
15674#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`). In particular, note that `vnum` is scaled by the vector length, `VL`, which is not known at compile time."]
15675#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
15676#[inline]
15677#[target_feature(enable = "sve")]
15678#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
15679#[cfg_attr(test, assert_instr(ld1h))]
15680pub unsafe fn svld1uh_vnum_s64(pg: svbool_t, base: *const u16, vnum: i64) -> svint64_t {
15681 svld1uh_s64(pg, base.offset(svcntd() as isize * vnum as isize))
15682}
15683#[doc = "Load 32-bit data and zero-extend"]
15684#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1uw_vnum_s64)"]
15685#[doc = "## Safety"]
15686#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`). In particular, note that `vnum` is scaled by the vector length, `VL`, which is not known at compile time."]
15687#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
15688#[inline]
15689#[target_feature(enable = "sve")]
15690#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
15691#[cfg_attr(test, assert_instr(ld1w))]
15692pub unsafe fn svld1uw_vnum_s64(pg: svbool_t, base: *const u32, vnum: i64) -> svint64_t {
15693 svld1uw_s64(pg, base.offset(svcntd() as isize * vnum as isize))
15694}
15695#[doc = "Load 8-bit data and zero-extend"]
15696#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1ub_vnum_u16)"]
15697#[doc = "## Safety"]
15698#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`). In particular, note that `vnum` is scaled by the vector length, `VL`, which is not known at compile time."]
15699#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
15700#[inline]
15701#[target_feature(enable = "sve")]
15702#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
15703#[cfg_attr(test, assert_instr(ld1b))]
15704pub unsafe fn svld1ub_vnum_u16(pg: svbool_t, base: *const u8, vnum: i64) -> svuint16_t {
15705 svld1ub_u16(pg, base.offset(svcnth() as isize * vnum as isize))
15706}
15707#[doc = "Load 8-bit data and zero-extend"]
15708#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1ub_vnum_u32)"]
15709#[doc = "## Safety"]
15710#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`). In particular, note that `vnum` is scaled by the vector length, `VL`, which is not known at compile time."]
15711#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
15712#[inline]
15713#[target_feature(enable = "sve")]
15714#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
15715#[cfg_attr(test, assert_instr(ld1b))]
15716pub unsafe fn svld1ub_vnum_u32(pg: svbool_t, base: *const u8, vnum: i64) -> svuint32_t {
15717 svld1ub_u32(pg, base.offset(svcntw() as isize * vnum as isize))
15718}
15719#[doc = "Load 16-bit data and zero-extend"]
15720#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1uh_vnum_u32)"]
15721#[doc = "## Safety"]
15722#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`). In particular, note that `vnum` is scaled by the vector length, `VL`, which is not known at compile time."]
15723#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
15724#[inline]
15725#[target_feature(enable = "sve")]
15726#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
15727#[cfg_attr(test, assert_instr(ld1h))]
15728pub unsafe fn svld1uh_vnum_u32(pg: svbool_t, base: *const u16, vnum: i64) -> svuint32_t {
15729 svld1uh_u32(pg, base.offset(svcntw() as isize * vnum as isize))
15730}
15731#[doc = "Load 8-bit data and zero-extend"]
15732#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1ub_vnum_u64)"]
15733#[doc = "## Safety"]
15734#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`). In particular, note that `vnum` is scaled by the vector length, `VL`, which is not known at compile time."]
15735#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
15736#[inline]
15737#[target_feature(enable = "sve")]
15738#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
15739#[cfg_attr(test, assert_instr(ld1b))]
15740pub unsafe fn svld1ub_vnum_u64(pg: svbool_t, base: *const u8, vnum: i64) -> svuint64_t {
15741 svld1ub_u64(pg, base.offset(svcntd() as isize * vnum as isize))
15742}
15743#[doc = "Load 16-bit data and zero-extend"]
15744#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1uh_vnum_u64)"]
15745#[doc = "## Safety"]
15746#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`). In particular, note that `vnum` is scaled by the vector length, `VL`, which is not known at compile time."]
15747#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
15748#[inline]
15749#[target_feature(enable = "sve")]
15750#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
15751#[cfg_attr(test, assert_instr(ld1h))]
15752pub unsafe fn svld1uh_vnum_u64(pg: svbool_t, base: *const u16, vnum: i64) -> svuint64_t {
15753 svld1uh_u64(pg, base.offset(svcntd() as isize * vnum as isize))
15754}
15755#[doc = "Load 32-bit data and zero-extend"]
15756#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1uw_vnum_u64)"]
15757#[doc = "## Safety"]
15758#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`). In particular, note that `vnum` is scaled by the vector length, `VL`, which is not known at compile time."]
15759#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
15760#[inline]
15761#[target_feature(enable = "sve")]
15762#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
15763#[cfg_attr(test, assert_instr(ld1w))]
15764pub unsafe fn svld1uw_vnum_u64(pg: svbool_t, base: *const u32, vnum: i64) -> svuint64_t {
15765 svld1uw_u64(pg, base.offset(svcntd() as isize * vnum as isize))
15766}
15767#[doc = "Load 16-bit data and zero-extend"]
15768#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1uh_gather_[s32]index_s32)"]
15769#[doc = "## Safety"]
15770#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
15771#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
15772#[inline]
15773#[target_feature(enable = "sve")]
15774#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
15775#[cfg_attr(test, assert_instr(ld1h))]
15776pub unsafe fn svld1uh_gather_s32index_s32(
15777 pg: svbool_t,
15778 base: *const u16,
15779 indices: svint32_t,
15780) -> svint32_t {
15781 svld1uh_gather_s32index_u32(pg, base, indices).as_signed()
15782}
15783#[doc = "Load 16-bit data and zero-extend"]
15784#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1uh_gather_[s32]index_u32)"]
15785#[doc = "## Safety"]
15786#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
15787#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
15788#[inline]
15789#[target_feature(enable = "sve")]
15790#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
15791#[cfg_attr(test, assert_instr(ld1h))]
15792pub unsafe fn svld1uh_gather_s32index_u32(
15793 pg: svbool_t,
15794 base: *const u16,
15795 indices: svint32_t,
15796) -> svuint32_t {
15797 unsafe extern "unadjusted" {
15798 #[cfg_attr(
15799 target_arch = "aarch64",
15800 link_name = "llvm.aarch64.sve.ld1.gather.sxtw.index.nxv4i16"
15801 )]
15802 fn _svld1uh_gather_s32index_u32(
15803 pg: svbool4_t,
15804 base: *const i16,
15805 indices: svint32_t,
15806 ) -> nxv4i16;
15807 }
15808 crate::intrinsics::simd::simd_cast::<nxv4u16, _>(
15809 _svld1uh_gather_s32index_u32(pg.sve_into(), base.as_signed(), indices).as_unsigned(),
15810 )
15811}
15812#[doc = "Load 16-bit data and zero-extend"]
15813#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1uh_gather_[s64]index_s64)"]
15814#[doc = "## Safety"]
15815#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
15816#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
15817#[inline]
15818#[target_feature(enable = "sve")]
15819#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
15820#[cfg_attr(test, assert_instr(ld1h))]
15821pub unsafe fn svld1uh_gather_s64index_s64(
15822 pg: svbool_t,
15823 base: *const u16,
15824 indices: svint64_t,
15825) -> svint64_t {
15826 svld1uh_gather_s64index_u64(pg, base, indices).as_signed()
15827}
15828#[doc = "Load 32-bit data and zero-extend"]
15829#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1uw_gather_[s64]index_s64)"]
15830#[doc = "## Safety"]
15831#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
15832#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
15833#[inline]
15834#[target_feature(enable = "sve")]
15835#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
15836#[cfg_attr(test, assert_instr(ld1w))]
15837pub unsafe fn svld1uw_gather_s64index_s64(
15838 pg: svbool_t,
15839 base: *const u32,
15840 indices: svint64_t,
15841) -> svint64_t {
15842 svld1uw_gather_s64index_u64(pg, base, indices).as_signed()
15843}
15844#[doc = "Load 16-bit data and zero-extend"]
15845#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1uh_gather_[s64]index_u64)"]
15846#[doc = "## Safety"]
15847#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
15848#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
15849#[inline]
15850#[target_feature(enable = "sve")]
15851#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
15852#[cfg_attr(test, assert_instr(ld1h))]
15853pub unsafe fn svld1uh_gather_s64index_u64(
15854 pg: svbool_t,
15855 base: *const u16,
15856 indices: svint64_t,
15857) -> svuint64_t {
15858 unsafe extern "unadjusted" {
15859 #[cfg_attr(
15860 target_arch = "aarch64",
15861 link_name = "llvm.aarch64.sve.ld1.gather.index.nxv2i16"
15862 )]
15863 fn _svld1uh_gather_s64index_u64(
15864 pg: svbool2_t,
15865 base: *const i16,
15866 indices: svint64_t,
15867 ) -> nxv2i16;
15868 }
15869 crate::intrinsics::simd::simd_cast::<nxv2u16, _>(
15870 _svld1uh_gather_s64index_u64(pg.sve_into(), base.as_signed(), indices).as_unsigned(),
15871 )
15872}
15873#[doc = "Load 32-bit data and zero-extend"]
15874#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1uw_gather_[s64]index_u64)"]
15875#[doc = "## Safety"]
15876#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
15877#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
15878#[inline]
15879#[target_feature(enable = "sve")]
15880#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
15881#[cfg_attr(test, assert_instr(ld1w))]
15882pub unsafe fn svld1uw_gather_s64index_u64(
15883 pg: svbool_t,
15884 base: *const u32,
15885 indices: svint64_t,
15886) -> svuint64_t {
15887 unsafe extern "unadjusted" {
15888 #[cfg_attr(
15889 target_arch = "aarch64",
15890 link_name = "llvm.aarch64.sve.ld1.gather.index.nxv2i32"
15891 )]
15892 fn _svld1uw_gather_s64index_u64(
15893 pg: svbool2_t,
15894 base: *const i32,
15895 indices: svint64_t,
15896 ) -> nxv2i32;
15897 }
15898 crate::intrinsics::simd::simd_cast::<nxv2u32, _>(
15899 _svld1uw_gather_s64index_u64(pg.sve_into(), base.as_signed(), indices).as_unsigned(),
15900 )
15901}
15902#[doc = "Load 16-bit data and zero-extend"]
15903#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1uh_gather_[u32]index_s32)"]
15904#[doc = "## Safety"]
15905#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
15906#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
15907#[inline]
15908#[target_feature(enable = "sve")]
15909#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
15910#[cfg_attr(test, assert_instr(ld1h))]
15911pub unsafe fn svld1uh_gather_u32index_s32(
15912 pg: svbool_t,
15913 base: *const u16,
15914 indices: svuint32_t,
15915) -> svint32_t {
15916 svld1uh_gather_u32index_u32(pg, base, indices).as_signed()
15917}
15918#[doc = "Load 16-bit data and zero-extend"]
15919#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1uh_gather_[u32]index_u32)"]
15920#[doc = "## Safety"]
15921#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
15922#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
15923#[inline]
15924#[target_feature(enable = "sve")]
15925#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
15926#[cfg_attr(test, assert_instr(ld1h))]
15927pub unsafe fn svld1uh_gather_u32index_u32(
15928 pg: svbool_t,
15929 base: *const u16,
15930 indices: svuint32_t,
15931) -> svuint32_t {
15932 unsafe extern "unadjusted" {
15933 #[cfg_attr(
15934 target_arch = "aarch64",
15935 link_name = "llvm.aarch64.sve.ld1.gather.uxtw.index.nxv4i16"
15936 )]
15937 fn _svld1uh_gather_u32index_u32(
15938 pg: svbool4_t,
15939 base: *const i16,
15940 indices: svint32_t,
15941 ) -> nxv4i16;
15942 }
15943 crate::intrinsics::simd::simd_cast::<nxv4u16, _>(
15944 _svld1uh_gather_u32index_u32(pg.sve_into(), base.as_signed(), indices.as_signed())
15945 .as_unsigned(),
15946 )
15947}
15948#[doc = "Load 16-bit data and zero-extend"]
15949#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1uh_gather_[u64]index_s64)"]
15950#[doc = "## Safety"]
15951#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
15952#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
15953#[inline]
15954#[target_feature(enable = "sve")]
15955#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
15956#[cfg_attr(test, assert_instr(ld1h))]
15957pub unsafe fn svld1uh_gather_u64index_s64(
15958 pg: svbool_t,
15959 base: *const u16,
15960 indices: svuint64_t,
15961) -> svint64_t {
15962 svld1uh_gather_s64index_u64(pg, base, indices.as_signed()).as_signed()
15963}
15964#[doc = "Load 32-bit data and zero-extend"]
15965#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1uw_gather_[u64]index_s64)"]
15966#[doc = "## Safety"]
15967#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
15968#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
15969#[inline]
15970#[target_feature(enable = "sve")]
15971#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
15972#[cfg_attr(test, assert_instr(ld1w))]
15973pub unsafe fn svld1uw_gather_u64index_s64(
15974 pg: svbool_t,
15975 base: *const u32,
15976 indices: svuint64_t,
15977) -> svint64_t {
15978 svld1uw_gather_s64index_u64(pg, base, indices.as_signed()).as_signed()
15979}
15980#[doc = "Load 16-bit data and zero-extend"]
15981#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1uh_gather_[u64]index_u64)"]
15982#[doc = "## Safety"]
15983#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
15984#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
15985#[inline]
15986#[target_feature(enable = "sve")]
15987#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
15988#[cfg_attr(test, assert_instr(ld1h))]
15989pub unsafe fn svld1uh_gather_u64index_u64(
15990 pg: svbool_t,
15991 base: *const u16,
15992 indices: svuint64_t,
15993) -> svuint64_t {
15994 svld1uh_gather_s64index_u64(pg, base, indices.as_signed())
15995}
15996#[doc = "Load 32-bit data and zero-extend"]
15997#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1uw_gather_[u64]index_u64)"]
15998#[doc = "## Safety"]
15999#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
16000#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
16001#[inline]
16002#[target_feature(enable = "sve")]
16003#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
16004#[cfg_attr(test, assert_instr(ld1w))]
16005pub unsafe fn svld1uw_gather_u64index_u64(
16006 pg: svbool_t,
16007 base: *const u32,
16008 indices: svuint64_t,
16009) -> svuint64_t {
16010 svld1uw_gather_s64index_u64(pg, base, indices.as_signed())
16011}
16012#[doc = "Load 16-bit data and zero-extend"]
16013#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1uh_gather[_u32base]_index_s32)"]
16014#[doc = "## Safety"]
16015#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
16016#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
16017#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
16018#[inline]
16019#[target_feature(enable = "sve")]
16020#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
16021#[cfg_attr(test, assert_instr(ld1h))]
16022pub unsafe fn svld1uh_gather_u32base_index_s32(
16023 pg: svbool_t,
16024 bases: svuint32_t,
16025 index: i64,
16026) -> svint32_t {
16027 svld1uh_gather_u32base_offset_s32(pg, bases, index.unchecked_shl(1))
16028}
16029#[doc = "Load 16-bit data and zero-extend"]
16030#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1uh_gather[_u32base]_index_u32)"]
16031#[doc = "## Safety"]
16032#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
16033#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
16034#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
16035#[inline]
16036#[target_feature(enable = "sve")]
16037#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
16038#[cfg_attr(test, assert_instr(ld1h))]
16039pub unsafe fn svld1uh_gather_u32base_index_u32(
16040 pg: svbool_t,
16041 bases: svuint32_t,
16042 index: i64,
16043) -> svuint32_t {
16044 svld1uh_gather_u32base_offset_u32(pg, bases, index.unchecked_shl(1))
16045}
16046#[doc = "Load 16-bit data and zero-extend"]
16047#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1uh_gather[_u64base]_index_s64)"]
16048#[doc = "## Safety"]
16049#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
16050#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
16051#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
16052#[inline]
16053#[target_feature(enable = "sve")]
16054#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
16055#[cfg_attr(test, assert_instr(ld1h))]
16056pub unsafe fn svld1uh_gather_u64base_index_s64(
16057 pg: svbool_t,
16058 bases: svuint64_t,
16059 index: i64,
16060) -> svint64_t {
16061 svld1uh_gather_u64base_offset_s64(pg, bases, index.unchecked_shl(1))
16062}
16063#[doc = "Load 32-bit data and zero-extend"]
16064#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1uw_gather[_u64base]_index_s64)"]
16065#[doc = "## Safety"]
16066#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
16067#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
16068#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
16069#[inline]
16070#[target_feature(enable = "sve")]
16071#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
16072#[cfg_attr(test, assert_instr(ld1w))]
16073pub unsafe fn svld1uw_gather_u64base_index_s64(
16074 pg: svbool_t,
16075 bases: svuint64_t,
16076 index: i64,
16077) -> svint64_t {
16078 svld1uw_gather_u64base_offset_s64(pg, bases, index.unchecked_shl(2))
16079}
16080#[doc = "Load 16-bit data and zero-extend"]
16081#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1uh_gather[_u64base]_index_u64)"]
16082#[doc = "## Safety"]
16083#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
16084#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
16085#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
16086#[inline]
16087#[target_feature(enable = "sve")]
16088#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
16089#[cfg_attr(test, assert_instr(ld1h))]
16090pub unsafe fn svld1uh_gather_u64base_index_u64(
16091 pg: svbool_t,
16092 bases: svuint64_t,
16093 index: i64,
16094) -> svuint64_t {
16095 svld1uh_gather_u64base_offset_u64(pg, bases, index.unchecked_shl(1))
16096}
16097#[doc = "Load 32-bit data and zero-extend"]
16098#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld1uw_gather[_u64base]_index_u64)"]
16099#[doc = "## Safety"]
16100#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
16101#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
16102#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
16103#[inline]
16104#[target_feature(enable = "sve")]
16105#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
16106#[cfg_attr(test, assert_instr(ld1w))]
16107pub unsafe fn svld1uw_gather_u64base_index_u64(
16108 pg: svbool_t,
16109 bases: svuint64_t,
16110 index: i64,
16111) -> svuint64_t {
16112 svld1uw_gather_u64base_offset_u64(pg, bases, index.unchecked_shl(2))
16113}
16114#[doc = "Load two-element tuples into two vectors"]
16115#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld2[_f32])"]
16116#[doc = "## Safety"]
16117#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
16118#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
16119#[inline]
16120#[target_feature(enable = "sve")]
16121#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
16122#[cfg_attr(test, assert_instr(ld2w))]
16123pub unsafe fn svld2_f32(pg: svbool_t, base: *const f32) -> svfloat32x2_t {
16124 unsafe extern "unadjusted" {
16125 #[cfg_attr(
16126 target_arch = "aarch64",
16127 link_name = "llvm.aarch64.sve.ld2.sret.nxv4f32"
16128 )]
16129 fn _svld2_f32(pg: svbool4_t, base: *const f32) -> svfloat32x2_t;
16130 }
16131 _svld2_f32(pg.sve_into(), base)
16132}
16133#[doc = "Load two-element tuples into two vectors"]
16134#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld2[_f64])"]
16135#[doc = "## Safety"]
16136#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
16137#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
16138#[inline]
16139#[target_feature(enable = "sve")]
16140#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
16141#[cfg_attr(test, assert_instr(ld2d))]
16142pub unsafe fn svld2_f64(pg: svbool_t, base: *const f64) -> svfloat64x2_t {
16143 unsafe extern "unadjusted" {
16144 #[cfg_attr(
16145 target_arch = "aarch64",
16146 link_name = "llvm.aarch64.sve.ld2.sret.nxv2f64"
16147 )]
16148 fn _svld2_f64(pg: svbool2_t, base: *const f64) -> svfloat64x2_t;
16149 }
16150 _svld2_f64(pg.sve_into(), base)
16151}
16152#[doc = "Load two-element tuples into two vectors"]
16153#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld2[_s8])"]
16154#[doc = "## Safety"]
16155#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
16156#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
16157#[inline]
16158#[target_feature(enable = "sve")]
16159#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
16160#[cfg_attr(test, assert_instr(ld2b))]
16161pub unsafe fn svld2_s8(pg: svbool_t, base: *const i8) -> svint8x2_t {
16162 unsafe extern "unadjusted" {
16163 #[cfg_attr(
16164 target_arch = "aarch64",
16165 link_name = "llvm.aarch64.sve.ld2.sret.nxv16i8"
16166 )]
16167 fn _svld2_s8(pg: svbool_t, base: *const i8) -> svint8x2_t;
16168 }
16169 _svld2_s8(pg, base)
16170}
16171#[doc = "Load two-element tuples into two vectors"]
16172#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld2[_s16])"]
16173#[doc = "## Safety"]
16174#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
16175#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
16176#[inline]
16177#[target_feature(enable = "sve")]
16178#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
16179#[cfg_attr(test, assert_instr(ld2h))]
16180pub unsafe fn svld2_s16(pg: svbool_t, base: *const i16) -> svint16x2_t {
16181 unsafe extern "unadjusted" {
16182 #[cfg_attr(
16183 target_arch = "aarch64",
16184 link_name = "llvm.aarch64.sve.ld2.sret.nxv8i16"
16185 )]
16186 fn _svld2_s16(pg: svbool8_t, base: *const i16) -> svint16x2_t;
16187 }
16188 _svld2_s16(pg.sve_into(), base)
16189}
16190#[doc = "Load two-element tuples into two vectors"]
16191#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld2[_s32])"]
16192#[doc = "## Safety"]
16193#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
16194#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
16195#[inline]
16196#[target_feature(enable = "sve")]
16197#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
16198#[cfg_attr(test, assert_instr(ld2w))]
16199pub unsafe fn svld2_s32(pg: svbool_t, base: *const i32) -> svint32x2_t {
16200 unsafe extern "unadjusted" {
16201 #[cfg_attr(
16202 target_arch = "aarch64",
16203 link_name = "llvm.aarch64.sve.ld2.sret.nxv4i32"
16204 )]
16205 fn _svld2_s32(pg: svbool4_t, base: *const i32) -> svint32x2_t;
16206 }
16207 _svld2_s32(pg.sve_into(), base)
16208}
16209#[doc = "Load two-element tuples into two vectors"]
16210#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld2[_s64])"]
16211#[doc = "## Safety"]
16212#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
16213#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
16214#[inline]
16215#[target_feature(enable = "sve")]
16216#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
16217#[cfg_attr(test, assert_instr(ld2d))]
16218pub unsafe fn svld2_s64(pg: svbool_t, base: *const i64) -> svint64x2_t {
16219 unsafe extern "unadjusted" {
16220 #[cfg_attr(
16221 target_arch = "aarch64",
16222 link_name = "llvm.aarch64.sve.ld2.sret.nxv2i64"
16223 )]
16224 fn _svld2_s64(pg: svbool2_t, base: *const i64) -> svint64x2_t;
16225 }
16226 _svld2_s64(pg.sve_into(), base)
16227}
16228#[doc = "Load two-element tuples into two vectors"]
16229#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld2[_u8])"]
16230#[doc = "## Safety"]
16231#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
16232#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
16233#[inline]
16234#[target_feature(enable = "sve")]
16235#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
16236#[cfg_attr(test, assert_instr(ld2b))]
16237pub unsafe fn svld2_u8(pg: svbool_t, base: *const u8) -> svuint8x2_t {
16238 svld2_s8(pg, base.as_signed()).as_unsigned()
16239}
16240#[doc = "Load two-element tuples into two vectors"]
16241#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld2[_u16])"]
16242#[doc = "## Safety"]
16243#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
16244#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
16245#[inline]
16246#[target_feature(enable = "sve")]
16247#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
16248#[cfg_attr(test, assert_instr(ld2h))]
16249pub unsafe fn svld2_u16(pg: svbool_t, base: *const u16) -> svuint16x2_t {
16250 svld2_s16(pg, base.as_signed()).as_unsigned()
16251}
16252#[doc = "Load two-element tuples into two vectors"]
16253#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld2[_u32])"]
16254#[doc = "## Safety"]
16255#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
16256#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
16257#[inline]
16258#[target_feature(enable = "sve")]
16259#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
16260#[cfg_attr(test, assert_instr(ld2w))]
16261pub unsafe fn svld2_u32(pg: svbool_t, base: *const u32) -> svuint32x2_t {
16262 svld2_s32(pg, base.as_signed()).as_unsigned()
16263}
16264#[doc = "Load two-element tuples into two vectors"]
16265#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld2[_u64])"]
16266#[doc = "## Safety"]
16267#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
16268#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
16269#[inline]
16270#[target_feature(enable = "sve")]
16271#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
16272#[cfg_attr(test, assert_instr(ld2d))]
16273pub unsafe fn svld2_u64(pg: svbool_t, base: *const u64) -> svuint64x2_t {
16274 svld2_s64(pg, base.as_signed()).as_unsigned()
16275}
16276#[doc = "Load two-element tuples into two vectors"]
16277#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld2_vnum[_f32])"]
16278#[doc = "## Safety"]
16279#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
16280#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
16281#[inline]
16282#[target_feature(enable = "sve")]
16283#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
16284#[cfg_attr(test, assert_instr(ld2w))]
16285pub unsafe fn svld2_vnum_f32(pg: svbool_t, base: *const f32, vnum: i64) -> svfloat32x2_t {
16286 svld2_f32(pg, base.offset(svcntw() as isize * vnum as isize))
16287}
16288#[doc = "Load two-element tuples into two vectors"]
16289#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld2_vnum[_f64])"]
16290#[doc = "## Safety"]
16291#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
16292#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
16293#[inline]
16294#[target_feature(enable = "sve")]
16295#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
16296#[cfg_attr(test, assert_instr(ld2d))]
16297pub unsafe fn svld2_vnum_f64(pg: svbool_t, base: *const f64, vnum: i64) -> svfloat64x2_t {
16298 svld2_f64(pg, base.offset(svcntd() as isize * vnum as isize))
16299}
16300#[doc = "Load two-element tuples into two vectors"]
16301#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld2_vnum[_s8])"]
16302#[doc = "## Safety"]
16303#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
16304#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
16305#[inline]
16306#[target_feature(enable = "sve")]
16307#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
16308#[cfg_attr(test, assert_instr(ld2b))]
16309pub unsafe fn svld2_vnum_s8(pg: svbool_t, base: *const i8, vnum: i64) -> svint8x2_t {
16310 svld2_s8(pg, base.offset(svcntb() as isize * vnum as isize))
16311}
16312#[doc = "Load two-element tuples into two vectors"]
16313#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld2_vnum[_s16])"]
16314#[doc = "## Safety"]
16315#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
16316#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
16317#[inline]
16318#[target_feature(enable = "sve")]
16319#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
16320#[cfg_attr(test, assert_instr(ld2h))]
16321pub unsafe fn svld2_vnum_s16(pg: svbool_t, base: *const i16, vnum: i64) -> svint16x2_t {
16322 svld2_s16(pg, base.offset(svcnth() as isize * vnum as isize))
16323}
16324#[doc = "Load two-element tuples into two vectors"]
16325#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld2_vnum[_s32])"]
16326#[doc = "## Safety"]
16327#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
16328#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
16329#[inline]
16330#[target_feature(enable = "sve")]
16331#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
16332#[cfg_attr(test, assert_instr(ld2w))]
16333pub unsafe fn svld2_vnum_s32(pg: svbool_t, base: *const i32, vnum: i64) -> svint32x2_t {
16334 svld2_s32(pg, base.offset(svcntw() as isize * vnum as isize))
16335}
16336#[doc = "Load two-element tuples into two vectors"]
16337#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld2_vnum[_s64])"]
16338#[doc = "## Safety"]
16339#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
16340#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
16341#[inline]
16342#[target_feature(enable = "sve")]
16343#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
16344#[cfg_attr(test, assert_instr(ld2d))]
16345pub unsafe fn svld2_vnum_s64(pg: svbool_t, base: *const i64, vnum: i64) -> svint64x2_t {
16346 svld2_s64(pg, base.offset(svcntd() as isize * vnum as isize))
16347}
16348#[doc = "Load two-element tuples into two vectors"]
16349#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld2_vnum[_u8])"]
16350#[doc = "## Safety"]
16351#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
16352#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
16353#[inline]
16354#[target_feature(enable = "sve")]
16355#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
16356#[cfg_attr(test, assert_instr(ld2b))]
16357pub unsafe fn svld2_vnum_u8(pg: svbool_t, base: *const u8, vnum: i64) -> svuint8x2_t {
16358 svld2_u8(pg, base.offset(svcntb() as isize * vnum as isize))
16359}
16360#[doc = "Load two-element tuples into two vectors"]
16361#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld2_vnum[_u16])"]
16362#[doc = "## Safety"]
16363#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
16364#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
16365#[inline]
16366#[target_feature(enable = "sve")]
16367#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
16368#[cfg_attr(test, assert_instr(ld2h))]
16369pub unsafe fn svld2_vnum_u16(pg: svbool_t, base: *const u16, vnum: i64) -> svuint16x2_t {
16370 svld2_u16(pg, base.offset(svcnth() as isize * vnum as isize))
16371}
16372#[doc = "Load two-element tuples into two vectors"]
16373#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld2_vnum[_u32])"]
16374#[doc = "## Safety"]
16375#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
16376#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
16377#[inline]
16378#[target_feature(enable = "sve")]
16379#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
16380#[cfg_attr(test, assert_instr(ld2w))]
16381pub unsafe fn svld2_vnum_u32(pg: svbool_t, base: *const u32, vnum: i64) -> svuint32x2_t {
16382 svld2_u32(pg, base.offset(svcntw() as isize * vnum as isize))
16383}
16384#[doc = "Load two-element tuples into two vectors"]
16385#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld2_vnum[_u64])"]
16386#[doc = "## Safety"]
16387#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
16388#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
16389#[inline]
16390#[target_feature(enable = "sve")]
16391#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
16392#[cfg_attr(test, assert_instr(ld2d))]
16393pub unsafe fn svld2_vnum_u64(pg: svbool_t, base: *const u64, vnum: i64) -> svuint64x2_t {
16394 svld2_u64(pg, base.offset(svcntd() as isize * vnum as isize))
16395}
16396#[doc = "Load three-element tuples into three vectors"]
16397#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld3[_f32])"]
16398#[doc = "## Safety"]
16399#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
16400#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
16401#[inline]
16402#[target_feature(enable = "sve")]
16403#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
16404#[cfg_attr(test, assert_instr(ld3w))]
16405pub unsafe fn svld3_f32(pg: svbool_t, base: *const f32) -> svfloat32x3_t {
16406 unsafe extern "unadjusted" {
16407 #[cfg_attr(
16408 target_arch = "aarch64",
16409 link_name = "llvm.aarch64.sve.ld3.sret.nxv4f32"
16410 )]
16411 fn _svld3_f32(pg: svbool4_t, base: *const f32) -> svfloat32x3_t;
16412 }
16413 _svld3_f32(pg.sve_into(), base)
16414}
16415#[doc = "Load three-element tuples into three vectors"]
16416#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld3[_f64])"]
16417#[doc = "## Safety"]
16418#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
16419#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
16420#[inline]
16421#[target_feature(enable = "sve")]
16422#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
16423#[cfg_attr(test, assert_instr(ld3d))]
16424pub unsafe fn svld3_f64(pg: svbool_t, base: *const f64) -> svfloat64x3_t {
16425 unsafe extern "unadjusted" {
16426 #[cfg_attr(
16427 target_arch = "aarch64",
16428 link_name = "llvm.aarch64.sve.ld3.sret.nxv2f64"
16429 )]
16430 fn _svld3_f64(pg: svbool2_t, base: *const f64) -> svfloat64x3_t;
16431 }
16432 _svld3_f64(pg.sve_into(), base)
16433}
16434#[doc = "Load three-element tuples into three vectors"]
16435#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld3[_s8])"]
16436#[doc = "## Safety"]
16437#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
16438#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
16439#[inline]
16440#[target_feature(enable = "sve")]
16441#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
16442#[cfg_attr(test, assert_instr(ld3b))]
16443pub unsafe fn svld3_s8(pg: svbool_t, base: *const i8) -> svint8x3_t {
16444 unsafe extern "unadjusted" {
16445 #[cfg_attr(
16446 target_arch = "aarch64",
16447 link_name = "llvm.aarch64.sve.ld3.sret.nxv16i8"
16448 )]
16449 fn _svld3_s8(pg: svbool_t, base: *const i8) -> svint8x3_t;
16450 }
16451 _svld3_s8(pg, base)
16452}
16453#[doc = "Load three-element tuples into three vectors"]
16454#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld3[_s16])"]
16455#[doc = "## Safety"]
16456#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
16457#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
16458#[inline]
16459#[target_feature(enable = "sve")]
16460#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
16461#[cfg_attr(test, assert_instr(ld3h))]
16462pub unsafe fn svld3_s16(pg: svbool_t, base: *const i16) -> svint16x3_t {
16463 unsafe extern "unadjusted" {
16464 #[cfg_attr(
16465 target_arch = "aarch64",
16466 link_name = "llvm.aarch64.sve.ld3.sret.nxv8i16"
16467 )]
16468 fn _svld3_s16(pg: svbool8_t, base: *const i16) -> svint16x3_t;
16469 }
16470 _svld3_s16(pg.sve_into(), base)
16471}
16472#[doc = "Load three-element tuples into three vectors"]
16473#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld3[_s32])"]
16474#[doc = "## Safety"]
16475#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
16476#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
16477#[inline]
16478#[target_feature(enable = "sve")]
16479#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
16480#[cfg_attr(test, assert_instr(ld3w))]
16481pub unsafe fn svld3_s32(pg: svbool_t, base: *const i32) -> svint32x3_t {
16482 unsafe extern "unadjusted" {
16483 #[cfg_attr(
16484 target_arch = "aarch64",
16485 link_name = "llvm.aarch64.sve.ld3.sret.nxv4i32"
16486 )]
16487 fn _svld3_s32(pg: svbool4_t, base: *const i32) -> svint32x3_t;
16488 }
16489 _svld3_s32(pg.sve_into(), base)
16490}
16491#[doc = "Load three-element tuples into three vectors"]
16492#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld3[_s64])"]
16493#[doc = "## Safety"]
16494#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
16495#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
16496#[inline]
16497#[target_feature(enable = "sve")]
16498#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
16499#[cfg_attr(test, assert_instr(ld3d))]
16500pub unsafe fn svld3_s64(pg: svbool_t, base: *const i64) -> svint64x3_t {
16501 unsafe extern "unadjusted" {
16502 #[cfg_attr(
16503 target_arch = "aarch64",
16504 link_name = "llvm.aarch64.sve.ld3.sret.nxv2i64"
16505 )]
16506 fn _svld3_s64(pg: svbool2_t, base: *const i64) -> svint64x3_t;
16507 }
16508 _svld3_s64(pg.sve_into(), base)
16509}
16510#[doc = "Load three-element tuples into three vectors"]
16511#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld3[_u8])"]
16512#[doc = "## Safety"]
16513#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
16514#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
16515#[inline]
16516#[target_feature(enable = "sve")]
16517#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
16518#[cfg_attr(test, assert_instr(ld3b))]
16519pub unsafe fn svld3_u8(pg: svbool_t, base: *const u8) -> svuint8x3_t {
16520 svld3_s8(pg, base.as_signed()).as_unsigned()
16521}
16522#[doc = "Load three-element tuples into three vectors"]
16523#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld3[_u16])"]
16524#[doc = "## Safety"]
16525#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
16526#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
16527#[inline]
16528#[target_feature(enable = "sve")]
16529#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
16530#[cfg_attr(test, assert_instr(ld3h))]
16531pub unsafe fn svld3_u16(pg: svbool_t, base: *const u16) -> svuint16x3_t {
16532 svld3_s16(pg, base.as_signed()).as_unsigned()
16533}
16534#[doc = "Load three-element tuples into three vectors"]
16535#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld3[_u32])"]
16536#[doc = "## Safety"]
16537#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
16538#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
16539#[inline]
16540#[target_feature(enable = "sve")]
16541#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
16542#[cfg_attr(test, assert_instr(ld3w))]
16543pub unsafe fn svld3_u32(pg: svbool_t, base: *const u32) -> svuint32x3_t {
16544 svld3_s32(pg, base.as_signed()).as_unsigned()
16545}
16546#[doc = "Load three-element tuples into three vectors"]
16547#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld3[_u64])"]
16548#[doc = "## Safety"]
16549#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
16550#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
16551#[inline]
16552#[target_feature(enable = "sve")]
16553#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
16554#[cfg_attr(test, assert_instr(ld3d))]
16555pub unsafe fn svld3_u64(pg: svbool_t, base: *const u64) -> svuint64x3_t {
16556 svld3_s64(pg, base.as_signed()).as_unsigned()
16557}
16558#[doc = "Load three-element tuples into three vectors"]
16559#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld3_vnum[_f32])"]
16560#[doc = "## Safety"]
16561#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
16562#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
16563#[inline]
16564#[target_feature(enable = "sve")]
16565#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
16566#[cfg_attr(test, assert_instr(ld3w))]
16567pub unsafe fn svld3_vnum_f32(pg: svbool_t, base: *const f32, vnum: i64) -> svfloat32x3_t {
16568 svld3_f32(pg, base.offset(svcntw() as isize * vnum as isize))
16569}
16570#[doc = "Load three-element tuples into three vectors"]
16571#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld3_vnum[_f64])"]
16572#[doc = "## Safety"]
16573#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
16574#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
16575#[inline]
16576#[target_feature(enable = "sve")]
16577#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
16578#[cfg_attr(test, assert_instr(ld3d))]
16579pub unsafe fn svld3_vnum_f64(pg: svbool_t, base: *const f64, vnum: i64) -> svfloat64x3_t {
16580 svld3_f64(pg, base.offset(svcntd() as isize * vnum as isize))
16581}
16582#[doc = "Load three-element tuples into three vectors"]
16583#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld3_vnum[_s8])"]
16584#[doc = "## Safety"]
16585#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
16586#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
16587#[inline]
16588#[target_feature(enable = "sve")]
16589#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
16590#[cfg_attr(test, assert_instr(ld3b))]
16591pub unsafe fn svld3_vnum_s8(pg: svbool_t, base: *const i8, vnum: i64) -> svint8x3_t {
16592 svld3_s8(pg, base.offset(svcntb() as isize * vnum as isize))
16593}
16594#[doc = "Load three-element tuples into three vectors"]
16595#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld3_vnum[_s16])"]
16596#[doc = "## Safety"]
16597#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
16598#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
16599#[inline]
16600#[target_feature(enable = "sve")]
16601#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
16602#[cfg_attr(test, assert_instr(ld3h))]
16603pub unsafe fn svld3_vnum_s16(pg: svbool_t, base: *const i16, vnum: i64) -> svint16x3_t {
16604 svld3_s16(pg, base.offset(svcnth() as isize * vnum as isize))
16605}
16606#[doc = "Load three-element tuples into three vectors"]
16607#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld3_vnum[_s32])"]
16608#[doc = "## Safety"]
16609#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
16610#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
16611#[inline]
16612#[target_feature(enable = "sve")]
16613#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
16614#[cfg_attr(test, assert_instr(ld3w))]
16615pub unsafe fn svld3_vnum_s32(pg: svbool_t, base: *const i32, vnum: i64) -> svint32x3_t {
16616 svld3_s32(pg, base.offset(svcntw() as isize * vnum as isize))
16617}
16618#[doc = "Load three-element tuples into three vectors"]
16619#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld3_vnum[_s64])"]
16620#[doc = "## Safety"]
16621#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
16622#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
16623#[inline]
16624#[target_feature(enable = "sve")]
16625#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
16626#[cfg_attr(test, assert_instr(ld3d))]
16627pub unsafe fn svld3_vnum_s64(pg: svbool_t, base: *const i64, vnum: i64) -> svint64x3_t {
16628 svld3_s64(pg, base.offset(svcntd() as isize * vnum as isize))
16629}
16630#[doc = "Load three-element tuples into three vectors"]
16631#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld3_vnum[_u8])"]
16632#[doc = "## Safety"]
16633#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
16634#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
16635#[inline]
16636#[target_feature(enable = "sve")]
16637#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
16638#[cfg_attr(test, assert_instr(ld3b))]
16639pub unsafe fn svld3_vnum_u8(pg: svbool_t, base: *const u8, vnum: i64) -> svuint8x3_t {
16640 svld3_u8(pg, base.offset(svcntb() as isize * vnum as isize))
16641}
16642#[doc = "Load three-element tuples into three vectors"]
16643#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld3_vnum[_u16])"]
16644#[doc = "## Safety"]
16645#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
16646#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
16647#[inline]
16648#[target_feature(enable = "sve")]
16649#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
16650#[cfg_attr(test, assert_instr(ld3h))]
16651pub unsafe fn svld3_vnum_u16(pg: svbool_t, base: *const u16, vnum: i64) -> svuint16x3_t {
16652 svld3_u16(pg, base.offset(svcnth() as isize * vnum as isize))
16653}
16654#[doc = "Load three-element tuples into three vectors"]
16655#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld3_vnum[_u32])"]
16656#[doc = "## Safety"]
16657#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
16658#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
16659#[inline]
16660#[target_feature(enable = "sve")]
16661#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
16662#[cfg_attr(test, assert_instr(ld3w))]
16663pub unsafe fn svld3_vnum_u32(pg: svbool_t, base: *const u32, vnum: i64) -> svuint32x3_t {
16664 svld3_u32(pg, base.offset(svcntw() as isize * vnum as isize))
16665}
16666#[doc = "Load three-element tuples into three vectors"]
16667#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld3_vnum[_u64])"]
16668#[doc = "## Safety"]
16669#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
16670#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
16671#[inline]
16672#[target_feature(enable = "sve")]
16673#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
16674#[cfg_attr(test, assert_instr(ld3d))]
16675pub unsafe fn svld3_vnum_u64(pg: svbool_t, base: *const u64, vnum: i64) -> svuint64x3_t {
16676 svld3_u64(pg, base.offset(svcntd() as isize * vnum as isize))
16677}
16678#[doc = "Load four-element tuples into four vectors"]
16679#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld4[_f32])"]
16680#[doc = "## Safety"]
16681#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
16682#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
16683#[inline]
16684#[target_feature(enable = "sve")]
16685#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
16686#[cfg_attr(test, assert_instr(ld4w))]
16687pub unsafe fn svld4_f32(pg: svbool_t, base: *const f32) -> svfloat32x4_t {
16688 unsafe extern "unadjusted" {
16689 #[cfg_attr(
16690 target_arch = "aarch64",
16691 link_name = "llvm.aarch64.sve.ld4.sret.nxv4f32"
16692 )]
16693 fn _svld4_f32(pg: svbool4_t, base: *const f32) -> svfloat32x4_t;
16694 }
16695 _svld4_f32(pg.sve_into(), base)
16696}
16697#[doc = "Load four-element tuples into four vectors"]
16698#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld4[_f64])"]
16699#[doc = "## Safety"]
16700#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
16701#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
16702#[inline]
16703#[target_feature(enable = "sve")]
16704#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
16705#[cfg_attr(test, assert_instr(ld4d))]
16706pub unsafe fn svld4_f64(pg: svbool_t, base: *const f64) -> svfloat64x4_t {
16707 unsafe extern "unadjusted" {
16708 #[cfg_attr(
16709 target_arch = "aarch64",
16710 link_name = "llvm.aarch64.sve.ld4.sret.nxv2f64"
16711 )]
16712 fn _svld4_f64(pg: svbool2_t, base: *const f64) -> svfloat64x4_t;
16713 }
16714 _svld4_f64(pg.sve_into(), base)
16715}
16716#[doc = "Load four-element tuples into four vectors"]
16717#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld4[_s8])"]
16718#[doc = "## Safety"]
16719#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
16720#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
16721#[inline]
16722#[target_feature(enable = "sve")]
16723#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
16724#[cfg_attr(test, assert_instr(ld4b))]
16725pub unsafe fn svld4_s8(pg: svbool_t, base: *const i8) -> svint8x4_t {
16726 unsafe extern "unadjusted" {
16727 #[cfg_attr(
16728 target_arch = "aarch64",
16729 link_name = "llvm.aarch64.sve.ld4.sret.nxv16i8"
16730 )]
16731 fn _svld4_s8(pg: svbool_t, base: *const i8) -> svint8x4_t;
16732 }
16733 _svld4_s8(pg, base)
16734}
16735#[doc = "Load four-element tuples into four vectors"]
16736#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld4[_s16])"]
16737#[doc = "## Safety"]
16738#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
16739#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
16740#[inline]
16741#[target_feature(enable = "sve")]
16742#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
16743#[cfg_attr(test, assert_instr(ld4h))]
16744pub unsafe fn svld4_s16(pg: svbool_t, base: *const i16) -> svint16x4_t {
16745 unsafe extern "unadjusted" {
16746 #[cfg_attr(
16747 target_arch = "aarch64",
16748 link_name = "llvm.aarch64.sve.ld4.sret.nxv8i16"
16749 )]
16750 fn _svld4_s16(pg: svbool8_t, base: *const i16) -> svint16x4_t;
16751 }
16752 _svld4_s16(pg.sve_into(), base)
16753}
16754#[doc = "Load four-element tuples into four vectors"]
16755#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld4[_s32])"]
16756#[doc = "## Safety"]
16757#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
16758#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
16759#[inline]
16760#[target_feature(enable = "sve")]
16761#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
16762#[cfg_attr(test, assert_instr(ld4w))]
16763pub unsafe fn svld4_s32(pg: svbool_t, base: *const i32) -> svint32x4_t {
16764 unsafe extern "unadjusted" {
16765 #[cfg_attr(
16766 target_arch = "aarch64",
16767 link_name = "llvm.aarch64.sve.ld4.sret.nxv4i32"
16768 )]
16769 fn _svld4_s32(pg: svbool4_t, base: *const i32) -> svint32x4_t;
16770 }
16771 _svld4_s32(pg.sve_into(), base)
16772}
16773#[doc = "Load four-element tuples into four vectors"]
16774#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld4[_s64])"]
16775#[doc = "## Safety"]
16776#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
16777#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
16778#[inline]
16779#[target_feature(enable = "sve")]
16780#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
16781#[cfg_attr(test, assert_instr(ld4d))]
16782pub unsafe fn svld4_s64(pg: svbool_t, base: *const i64) -> svint64x4_t {
16783 unsafe extern "unadjusted" {
16784 #[cfg_attr(
16785 target_arch = "aarch64",
16786 link_name = "llvm.aarch64.sve.ld4.sret.nxv2i64"
16787 )]
16788 fn _svld4_s64(pg: svbool2_t, base: *const i64) -> svint64x4_t;
16789 }
16790 _svld4_s64(pg.sve_into(), base)
16791}
16792#[doc = "Load four-element tuples into four vectors"]
16793#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld4[_u8])"]
16794#[doc = "## Safety"]
16795#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
16796#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
16797#[inline]
16798#[target_feature(enable = "sve")]
16799#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
16800#[cfg_attr(test, assert_instr(ld4b))]
16801pub unsafe fn svld4_u8(pg: svbool_t, base: *const u8) -> svuint8x4_t {
16802 svld4_s8(pg, base.as_signed()).as_unsigned()
16803}
16804#[doc = "Load four-element tuples into four vectors"]
16805#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld4[_u16])"]
16806#[doc = "## Safety"]
16807#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
16808#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
16809#[inline]
16810#[target_feature(enable = "sve")]
16811#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
16812#[cfg_attr(test, assert_instr(ld4h))]
16813pub unsafe fn svld4_u16(pg: svbool_t, base: *const u16) -> svuint16x4_t {
16814 svld4_s16(pg, base.as_signed()).as_unsigned()
16815}
16816#[doc = "Load four-element tuples into four vectors"]
16817#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld4[_u32])"]
16818#[doc = "## Safety"]
16819#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
16820#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
16821#[inline]
16822#[target_feature(enable = "sve")]
16823#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
16824#[cfg_attr(test, assert_instr(ld4w))]
16825pub unsafe fn svld4_u32(pg: svbool_t, base: *const u32) -> svuint32x4_t {
16826 svld4_s32(pg, base.as_signed()).as_unsigned()
16827}
16828#[doc = "Load four-element tuples into four vectors"]
16829#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld4[_u64])"]
16830#[doc = "## Safety"]
16831#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`)."]
16832#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
16833#[inline]
16834#[target_feature(enable = "sve")]
16835#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
16836#[cfg_attr(test, assert_instr(ld4d))]
16837pub unsafe fn svld4_u64(pg: svbool_t, base: *const u64) -> svuint64x4_t {
16838 svld4_s64(pg, base.as_signed()).as_unsigned()
16839}
16840#[doc = "Load four-element tuples into four vectors"]
16841#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld4_vnum[_f32])"]
16842#[doc = "## Safety"]
16843#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`). In particular, note that `vnum` is scaled by the vector length, `VL`, which is not known at compile time."]
16844#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
16845#[inline]
16846#[target_feature(enable = "sve")]
16847#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
16848#[cfg_attr(test, assert_instr(ld4w))]
16849pub unsafe fn svld4_vnum_f32(pg: svbool_t, base: *const f32, vnum: i64) -> svfloat32x4_t {
16850 svld4_f32(pg, base.offset(svcntw() as isize * vnum as isize))
16851}
16852#[doc = "Load four-element tuples into four vectors"]
16853#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld4_vnum[_f64])"]
16854#[doc = "## Safety"]
16855#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`). In particular, note that `vnum` is scaled by the vector length, `VL`, which is not known at compile time."]
16856#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
16857#[inline]
16858#[target_feature(enable = "sve")]
16859#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
16860#[cfg_attr(test, assert_instr(ld4d))]
16861pub unsafe fn svld4_vnum_f64(pg: svbool_t, base: *const f64, vnum: i64) -> svfloat64x4_t {
16862 svld4_f64(pg, base.offset(svcntd() as isize * vnum as isize))
16863}
16864#[doc = "Load four-element tuples into four vectors"]
16865#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld4_vnum[_s8])"]
16866#[doc = "## Safety"]
16867#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`). In particular, note that `vnum` is scaled by the vector length, `VL`, which is not known at compile time."]
16868#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
16869#[inline]
16870#[target_feature(enable = "sve")]
16871#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
16872#[cfg_attr(test, assert_instr(ld4b))]
16873pub unsafe fn svld4_vnum_s8(pg: svbool_t, base: *const i8, vnum: i64) -> svint8x4_t {
16874 svld4_s8(pg, base.offset(svcntb() as isize * vnum as isize))
16875}
16876#[doc = "Load four-element tuples into four vectors"]
16877#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld4_vnum[_s16])"]
16878#[doc = "## Safety"]
16879#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`). In particular, note that `vnum` is scaled by the vector length, `VL`, which is not known at compile time."]
16880#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
16881#[inline]
16882#[target_feature(enable = "sve")]
16883#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
16884#[cfg_attr(test, assert_instr(ld4h))]
16885pub unsafe fn svld4_vnum_s16(pg: svbool_t, base: *const i16, vnum: i64) -> svint16x4_t {
16886 svld4_s16(pg, base.offset(svcnth() as isize * vnum as isize))
16887}
16888#[doc = "Load four-element tuples into four vectors"]
16889#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld4_vnum[_s32])"]
16890#[doc = "## Safety"]
16891#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`). In particular, note that `vnum` is scaled by the vector length, `VL`, which is not known at compile time."]
16892#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
16893#[inline]
16894#[target_feature(enable = "sve")]
16895#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
16896#[cfg_attr(test, assert_instr(ld4w))]
16897pub unsafe fn svld4_vnum_s32(pg: svbool_t, base: *const i32, vnum: i64) -> svint32x4_t {
16898 svld4_s32(pg, base.offset(svcntw() as isize * vnum as isize))
16899}
16900#[doc = "Load four-element tuples into four vectors"]
16901#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld4_vnum[_s64])"]
16902#[doc = "## Safety"]
16903#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`). In particular, note that `vnum` is scaled by the vector length, `VL`, which is not known at compile time."]
16904#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
16905#[inline]
16906#[target_feature(enable = "sve")]
16907#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
16908#[cfg_attr(test, assert_instr(ld4d))]
16909pub unsafe fn svld4_vnum_s64(pg: svbool_t, base: *const i64, vnum: i64) -> svint64x4_t {
16910 svld4_s64(pg, base.offset(svcntd() as isize * vnum as isize))
16911}
16912#[doc = "Load four-element tuples into four vectors"]
16913#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld4_vnum[_u8])"]
16914#[doc = "## Safety"]
16915#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`). In particular, note that `vnum` is scaled by the vector length, `VL`, which is not known at compile time."]
16916#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
16917#[inline]
16918#[target_feature(enable = "sve")]
16919#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
16920#[cfg_attr(test, assert_instr(ld4b))]
16921pub unsafe fn svld4_vnum_u8(pg: svbool_t, base: *const u8, vnum: i64) -> svuint8x4_t {
16922 svld4_u8(pg, base.offset(svcntb() as isize * vnum as isize))
16923}
16924#[doc = "Load four-element tuples into four vectors"]
16925#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld4_vnum[_u16])"]
16926#[doc = "## Safety"]
16927#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`). In particular, note that `vnum` is scaled by the vector length, `VL`, which is not known at compile time."]
16928#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
16929#[inline]
16930#[target_feature(enable = "sve")]
16931#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
16932#[cfg_attr(test, assert_instr(ld4h))]
16933pub unsafe fn svld4_vnum_u16(pg: svbool_t, base: *const u16, vnum: i64) -> svuint16x4_t {
16934 svld4_u16(pg, base.offset(svcnth() as isize * vnum as isize))
16935}
16936#[doc = "Load four-element tuples into four vectors"]
16937#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld4_vnum[_u32])"]
16938#[doc = "## Safety"]
16939#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`). In particular, note that `vnum` is scaled by the vector length, `VL`, which is not known at compile time."]
16940#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
16941#[inline]
16942#[target_feature(enable = "sve")]
16943#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
16944#[cfg_attr(test, assert_instr(ld4w))]
16945pub unsafe fn svld4_vnum_u32(pg: svbool_t, base: *const u32, vnum: i64) -> svuint32x4_t {
16946 svld4_u32(pg, base.offset(svcntw() as isize * vnum as isize))
16947}
16948#[doc = "Load four-element tuples into four vectors"]
16949#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svld4_vnum[_u64])"]
16950#[doc = "## Safety"]
16951#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`). In particular, note that `vnum` is scaled by the vector length, `VL`, which is not known at compile time."]
16952#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`)."]
16953#[inline]
16954#[target_feature(enable = "sve")]
16955#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
16956#[cfg_attr(test, assert_instr(ld4d))]
16957pub unsafe fn svld4_vnum_u64(pg: svbool_t, base: *const u64, vnum: i64) -> svuint64x4_t {
16958 svld4_u64(pg, base.offset(svcntd() as isize * vnum as isize))
16959}
16960#[doc = "Unextended load, first-faulting"]
16961#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1[_f32])"]
16962#[doc = "## Safety"]
16963#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
16964#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
16965#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
16966#[inline]
16967#[target_feature(enable = "sve")]
16968#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
16969#[cfg_attr(test, assert_instr(ldff1w))]
16970pub unsafe fn svldff1_f32(pg: svbool_t, base: *const f32) -> svfloat32_t {
16971 unsafe extern "unadjusted" {
16972 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.ldff1.nxv4f32")]
16973 fn _svldff1_f32(pg: svbool4_t, base: *const f32) -> svfloat32_t;
16974 }
16975 _svldff1_f32(pg.sve_into(), base)
16976}
16977#[doc = "Unextended load, first-faulting"]
16978#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1[_f64])"]
16979#[doc = "## Safety"]
16980#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
16981#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
16982#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
16983#[inline]
16984#[target_feature(enable = "sve")]
16985#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
16986#[cfg_attr(test, assert_instr(ldff1d))]
16987pub unsafe fn svldff1_f64(pg: svbool_t, base: *const f64) -> svfloat64_t {
16988 unsafe extern "unadjusted" {
16989 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.ldff1.nxv2f64")]
16990 fn _svldff1_f64(pg: svbool2_t, base: *const f64) -> svfloat64_t;
16991 }
16992 _svldff1_f64(pg.sve_into(), base)
16993}
16994#[doc = "Unextended load, first-faulting"]
16995#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1[_s8])"]
16996#[doc = "## Safety"]
16997#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
16998#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
16999#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
17000#[inline]
17001#[target_feature(enable = "sve")]
17002#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
17003#[cfg_attr(test, assert_instr(ldff1b))]
17004pub unsafe fn svldff1_s8(pg: svbool_t, base: *const i8) -> svint8_t {
17005 unsafe extern "unadjusted" {
17006 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.ldff1.nxv16i8")]
17007 fn _svldff1_s8(pg: svbool_t, base: *const i8) -> svint8_t;
17008 }
17009 _svldff1_s8(pg, base)
17010}
17011#[doc = "Unextended load, first-faulting"]
17012#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1[_s16])"]
17013#[doc = "## Safety"]
17014#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
17015#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
17016#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
17017#[inline]
17018#[target_feature(enable = "sve")]
17019#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
17020#[cfg_attr(test, assert_instr(ldff1h))]
17021pub unsafe fn svldff1_s16(pg: svbool_t, base: *const i16) -> svint16_t {
17022 unsafe extern "unadjusted" {
17023 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.ldff1.nxv8i16")]
17024 fn _svldff1_s16(pg: svbool8_t, base: *const i16) -> svint16_t;
17025 }
17026 _svldff1_s16(pg.sve_into(), base)
17027}
17028#[doc = "Unextended load, first-faulting"]
17029#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1[_s32])"]
17030#[doc = "## Safety"]
17031#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
17032#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
17033#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
17034#[inline]
17035#[target_feature(enable = "sve")]
17036#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
17037#[cfg_attr(test, assert_instr(ldff1w))]
17038pub unsafe fn svldff1_s32(pg: svbool_t, base: *const i32) -> svint32_t {
17039 unsafe extern "unadjusted" {
17040 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.ldff1.nxv4i32")]
17041 fn _svldff1_s32(pg: svbool4_t, base: *const i32) -> svint32_t;
17042 }
17043 _svldff1_s32(pg.sve_into(), base)
17044}
17045#[doc = "Unextended load, first-faulting"]
17046#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1[_s64])"]
17047#[doc = "## Safety"]
17048#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
17049#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
17050#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
17051#[inline]
17052#[target_feature(enable = "sve")]
17053#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
17054#[cfg_attr(test, assert_instr(ldff1d))]
17055pub unsafe fn svldff1_s64(pg: svbool_t, base: *const i64) -> svint64_t {
17056 unsafe extern "unadjusted" {
17057 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.ldff1.nxv2i64")]
17058 fn _svldff1_s64(pg: svbool2_t, base: *const i64) -> svint64_t;
17059 }
17060 _svldff1_s64(pg.sve_into(), base)
17061}
17062#[doc = "Unextended load, first-faulting"]
17063#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1[_u8])"]
17064#[doc = "## Safety"]
17065#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
17066#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
17067#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
17068#[inline]
17069#[target_feature(enable = "sve")]
17070#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
17071#[cfg_attr(test, assert_instr(ldff1b))]
17072pub unsafe fn svldff1_u8(pg: svbool_t, base: *const u8) -> svuint8_t {
17073 svldff1_s8(pg, base.as_signed()).as_unsigned()
17074}
17075#[doc = "Unextended load, first-faulting"]
17076#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1[_u16])"]
17077#[doc = "## Safety"]
17078#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
17079#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
17080#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
17081#[inline]
17082#[target_feature(enable = "sve")]
17083#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
17084#[cfg_attr(test, assert_instr(ldff1h))]
17085pub unsafe fn svldff1_u16(pg: svbool_t, base: *const u16) -> svuint16_t {
17086 svldff1_s16(pg, base.as_signed()).as_unsigned()
17087}
17088#[doc = "Unextended load, first-faulting"]
17089#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1[_u32])"]
17090#[doc = "## Safety"]
17091#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
17092#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
17093#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
17094#[inline]
17095#[target_feature(enable = "sve")]
17096#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
17097#[cfg_attr(test, assert_instr(ldff1w))]
17098pub unsafe fn svldff1_u32(pg: svbool_t, base: *const u32) -> svuint32_t {
17099 svldff1_s32(pg, base.as_signed()).as_unsigned()
17100}
17101#[doc = "Unextended load, first-faulting"]
17102#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1[_u64])"]
17103#[doc = "## Safety"]
17104#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
17105#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
17106#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
17107#[inline]
17108#[target_feature(enable = "sve")]
17109#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
17110#[cfg_attr(test, assert_instr(ldff1d))]
17111pub unsafe fn svldff1_u64(pg: svbool_t, base: *const u64) -> svuint64_t {
17112 svldff1_s64(pg, base.as_signed()).as_unsigned()
17113}
17114#[doc = "Unextended load, first-faulting"]
17115#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1_gather_[s32]index[_f32])"]
17116#[doc = "## Safety"]
17117#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
17118#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
17119#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
17120#[inline]
17121#[target_feature(enable = "sve")]
17122#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
17123#[cfg_attr(test, assert_instr(ldff1w))]
17124pub unsafe fn svldff1_gather_s32index_f32(
17125 pg: svbool_t,
17126 base: *const f32,
17127 indices: svint32_t,
17128) -> svfloat32_t {
17129 unsafe extern "unadjusted" {
17130 #[cfg_attr(
17131 target_arch = "aarch64",
17132 link_name = "llvm.aarch64.sve.ldff1.gather.sxtw.index.nxv4f32"
17133 )]
17134 fn _svldff1_gather_s32index_f32(
17135 pg: svbool4_t,
17136 base: *const f32,
17137 indices: svint32_t,
17138 ) -> svfloat32_t;
17139 }
17140 _svldff1_gather_s32index_f32(pg.sve_into(), base, indices)
17141}
17142#[doc = "Unextended load, first-faulting"]
17143#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1_gather_[s32]index[_s32])"]
17144#[doc = "## Safety"]
17145#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
17146#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
17147#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
17148#[inline]
17149#[target_feature(enable = "sve")]
17150#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
17151#[cfg_attr(test, assert_instr(ldff1w))]
17152pub unsafe fn svldff1_gather_s32index_s32(
17153 pg: svbool_t,
17154 base: *const i32,
17155 indices: svint32_t,
17156) -> svint32_t {
17157 unsafe extern "unadjusted" {
17158 #[cfg_attr(
17159 target_arch = "aarch64",
17160 link_name = "llvm.aarch64.sve.ldff1.gather.sxtw.index.nxv4i32"
17161 )]
17162 fn _svldff1_gather_s32index_s32(
17163 pg: svbool4_t,
17164 base: *const i32,
17165 indices: svint32_t,
17166 ) -> svint32_t;
17167 }
17168 _svldff1_gather_s32index_s32(pg.sve_into(), base, indices)
17169}
17170#[doc = "Unextended load, first-faulting"]
17171#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1_gather_[s32]index[_u32])"]
17172#[doc = "## Safety"]
17173#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
17174#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
17175#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
17176#[inline]
17177#[target_feature(enable = "sve")]
17178#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
17179#[cfg_attr(test, assert_instr(ldff1w))]
17180pub unsafe fn svldff1_gather_s32index_u32(
17181 pg: svbool_t,
17182 base: *const u32,
17183 indices: svint32_t,
17184) -> svuint32_t {
17185 svldff1_gather_s32index_s32(pg, base.as_signed(), indices).as_unsigned()
17186}
17187#[doc = "Unextended load, first-faulting"]
17188#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1_gather_[s64]index[_f64])"]
17189#[doc = "## Safety"]
17190#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
17191#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
17192#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
17193#[inline]
17194#[target_feature(enable = "sve")]
17195#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
17196#[cfg_attr(test, assert_instr(ldff1d))]
17197pub unsafe fn svldff1_gather_s64index_f64(
17198 pg: svbool_t,
17199 base: *const f64,
17200 indices: svint64_t,
17201) -> svfloat64_t {
17202 unsafe extern "unadjusted" {
17203 #[cfg_attr(
17204 target_arch = "aarch64",
17205 link_name = "llvm.aarch64.sve.ldff1.gather.index.nxv2f64"
17206 )]
17207 fn _svldff1_gather_s64index_f64(
17208 pg: svbool2_t,
17209 base: *const f64,
17210 indices: svint64_t,
17211 ) -> svfloat64_t;
17212 }
17213 _svldff1_gather_s64index_f64(pg.sve_into(), base, indices)
17214}
17215#[doc = "Unextended load, first-faulting"]
17216#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1_gather_[s64]index[_s64])"]
17217#[doc = "## Safety"]
17218#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
17219#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
17220#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
17221#[inline]
17222#[target_feature(enable = "sve")]
17223#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
17224#[cfg_attr(test, assert_instr(ldff1d))]
17225pub unsafe fn svldff1_gather_s64index_s64(
17226 pg: svbool_t,
17227 base: *const i64,
17228 indices: svint64_t,
17229) -> svint64_t {
17230 unsafe extern "unadjusted" {
17231 #[cfg_attr(
17232 target_arch = "aarch64",
17233 link_name = "llvm.aarch64.sve.ldff1.gather.index.nxv2i64"
17234 )]
17235 fn _svldff1_gather_s64index_s64(
17236 pg: svbool2_t,
17237 base: *const i64,
17238 indices: svint64_t,
17239 ) -> svint64_t;
17240 }
17241 _svldff1_gather_s64index_s64(pg.sve_into(), base, indices)
17242}
17243#[doc = "Unextended load, first-faulting"]
17244#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1_gather_[s64]index[_u64])"]
17245#[doc = "## Safety"]
17246#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
17247#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
17248#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
17249#[inline]
17250#[target_feature(enable = "sve")]
17251#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
17252#[cfg_attr(test, assert_instr(ldff1d))]
17253pub unsafe fn svldff1_gather_s64index_u64(
17254 pg: svbool_t,
17255 base: *const u64,
17256 indices: svint64_t,
17257) -> svuint64_t {
17258 svldff1_gather_s64index_s64(pg, base.as_signed(), indices).as_unsigned()
17259}
17260#[doc = "Unextended load, first-faulting"]
17261#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1_gather_[u32]index[_f32])"]
17262#[doc = "## Safety"]
17263#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
17264#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
17265#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
17266#[inline]
17267#[target_feature(enable = "sve")]
17268#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
17269#[cfg_attr(test, assert_instr(ldff1w))]
17270pub unsafe fn svldff1_gather_u32index_f32(
17271 pg: svbool_t,
17272 base: *const f32,
17273 indices: svuint32_t,
17274) -> svfloat32_t {
17275 unsafe extern "unadjusted" {
17276 #[cfg_attr(
17277 target_arch = "aarch64",
17278 link_name = "llvm.aarch64.sve.ldff1.gather.uxtw.index.nxv4f32"
17279 )]
17280 fn _svldff1_gather_u32index_f32(
17281 pg: svbool4_t,
17282 base: *const f32,
17283 indices: svint32_t,
17284 ) -> svfloat32_t;
17285 }
17286 _svldff1_gather_u32index_f32(pg.sve_into(), base, indices.as_signed())
17287}
17288#[doc = "Unextended load, first-faulting"]
17289#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1_gather_[u32]index[_s32])"]
17290#[doc = "## Safety"]
17291#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
17292#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
17293#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
17294#[inline]
17295#[target_feature(enable = "sve")]
17296#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
17297#[cfg_attr(test, assert_instr(ldff1w))]
17298pub unsafe fn svldff1_gather_u32index_s32(
17299 pg: svbool_t,
17300 base: *const i32,
17301 indices: svuint32_t,
17302) -> svint32_t {
17303 unsafe extern "unadjusted" {
17304 #[cfg_attr(
17305 target_arch = "aarch64",
17306 link_name = "llvm.aarch64.sve.ldff1.gather.uxtw.index.nxv4i32"
17307 )]
17308 fn _svldff1_gather_u32index_s32(
17309 pg: svbool4_t,
17310 base: *const i32,
17311 indices: svint32_t,
17312 ) -> svint32_t;
17313 }
17314 _svldff1_gather_u32index_s32(pg.sve_into(), base, indices.as_signed())
17315}
17316#[doc = "Unextended load, first-faulting"]
17317#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1_gather_[u32]index[_u32])"]
17318#[doc = "## Safety"]
17319#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
17320#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
17321#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
17322#[inline]
17323#[target_feature(enable = "sve")]
17324#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
17325#[cfg_attr(test, assert_instr(ldff1w))]
17326pub unsafe fn svldff1_gather_u32index_u32(
17327 pg: svbool_t,
17328 base: *const u32,
17329 indices: svuint32_t,
17330) -> svuint32_t {
17331 svldff1_gather_u32index_s32(pg, base.as_signed(), indices).as_unsigned()
17332}
17333#[doc = "Unextended load, first-faulting"]
17334#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1_gather_[u64]index[_f64])"]
17335#[doc = "## Safety"]
17336#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
17337#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
17338#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
17339#[inline]
17340#[target_feature(enable = "sve")]
17341#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
17342#[cfg_attr(test, assert_instr(ldff1d))]
17343pub unsafe fn svldff1_gather_u64index_f64(
17344 pg: svbool_t,
17345 base: *const f64,
17346 indices: svuint64_t,
17347) -> svfloat64_t {
17348 svldff1_gather_s64index_f64(pg, base, indices.as_signed())
17349}
17350#[doc = "Unextended load, first-faulting"]
17351#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1_gather_[u64]index[_s64])"]
17352#[doc = "## Safety"]
17353#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
17354#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
17355#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
17356#[inline]
17357#[target_feature(enable = "sve")]
17358#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
17359#[cfg_attr(test, assert_instr(ldff1d))]
17360pub unsafe fn svldff1_gather_u64index_s64(
17361 pg: svbool_t,
17362 base: *const i64,
17363 indices: svuint64_t,
17364) -> svint64_t {
17365 svldff1_gather_s64index_s64(pg, base, indices.as_signed())
17366}
17367#[doc = "Unextended load, first-faulting"]
17368#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1_gather_[u64]index[_u64])"]
17369#[doc = "## Safety"]
17370#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
17371#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
17372#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
17373#[inline]
17374#[target_feature(enable = "sve")]
17375#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
17376#[cfg_attr(test, assert_instr(ldff1d))]
17377pub unsafe fn svldff1_gather_u64index_u64(
17378 pg: svbool_t,
17379 base: *const u64,
17380 indices: svuint64_t,
17381) -> svuint64_t {
17382 svldff1_gather_s64index_s64(pg, base.as_signed(), indices.as_signed()).as_unsigned()
17383}
17384#[doc = "Unextended load, first-faulting"]
17385#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1_gather_[s32]offset[_f32])"]
17386#[doc = "## Safety"]
17387#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
17388#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
17389#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
17390#[inline]
17391#[target_feature(enable = "sve")]
17392#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
17393#[cfg_attr(test, assert_instr(ldff1w))]
17394pub unsafe fn svldff1_gather_s32offset_f32(
17395 pg: svbool_t,
17396 base: *const f32,
17397 offsets: svint32_t,
17398) -> svfloat32_t {
17399 unsafe extern "unadjusted" {
17400 #[cfg_attr(
17401 target_arch = "aarch64",
17402 link_name = "llvm.aarch64.sve.ldff1.gather.sxtw.nxv4f32"
17403 )]
17404 fn _svldff1_gather_s32offset_f32(
17405 pg: svbool4_t,
17406 base: *const f32,
17407 offsets: svint32_t,
17408 ) -> svfloat32_t;
17409 }
17410 _svldff1_gather_s32offset_f32(pg.sve_into(), base, offsets)
17411}
17412#[doc = "Unextended load, first-faulting"]
17413#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1_gather_[s32]offset[_s32])"]
17414#[doc = "## Safety"]
17415#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
17416#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
17417#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
17418#[inline]
17419#[target_feature(enable = "sve")]
17420#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
17421#[cfg_attr(test, assert_instr(ldff1w))]
17422pub unsafe fn svldff1_gather_s32offset_s32(
17423 pg: svbool_t,
17424 base: *const i32,
17425 offsets: svint32_t,
17426) -> svint32_t {
17427 unsafe extern "unadjusted" {
17428 #[cfg_attr(
17429 target_arch = "aarch64",
17430 link_name = "llvm.aarch64.sve.ldff1.gather.sxtw.nxv4i32"
17431 )]
17432 fn _svldff1_gather_s32offset_s32(
17433 pg: svbool4_t,
17434 base: *const i32,
17435 offsets: svint32_t,
17436 ) -> svint32_t;
17437 }
17438 _svldff1_gather_s32offset_s32(pg.sve_into(), base, offsets)
17439}
17440#[doc = "Unextended load, first-faulting"]
17441#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1_gather_[s32]offset[_u32])"]
17442#[doc = "## Safety"]
17443#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
17444#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
17445#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
17446#[inline]
17447#[target_feature(enable = "sve")]
17448#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
17449#[cfg_attr(test, assert_instr(ldff1w))]
17450pub unsafe fn svldff1_gather_s32offset_u32(
17451 pg: svbool_t,
17452 base: *const u32,
17453 offsets: svint32_t,
17454) -> svuint32_t {
17455 svldff1_gather_s32offset_s32(pg, base.as_signed(), offsets).as_unsigned()
17456}
17457#[doc = "Unextended load, first-faulting"]
17458#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1_gather_[s64]offset[_f64])"]
17459#[doc = "## Safety"]
17460#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
17461#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
17462#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
17463#[inline]
17464#[target_feature(enable = "sve")]
17465#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
17466#[cfg_attr(test, assert_instr(ldff1d))]
17467pub unsafe fn svldff1_gather_s64offset_f64(
17468 pg: svbool_t,
17469 base: *const f64,
17470 offsets: svint64_t,
17471) -> svfloat64_t {
17472 unsafe extern "unadjusted" {
17473 #[cfg_attr(
17474 target_arch = "aarch64",
17475 link_name = "llvm.aarch64.sve.ldff1.gather.nxv2f64"
17476 )]
17477 fn _svldff1_gather_s64offset_f64(
17478 pg: svbool2_t,
17479 base: *const f64,
17480 offsets: svint64_t,
17481 ) -> svfloat64_t;
17482 }
17483 _svldff1_gather_s64offset_f64(pg.sve_into(), base, offsets)
17484}
17485#[doc = "Unextended load, first-faulting"]
17486#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1_gather_[s64]offset[_s64])"]
17487#[doc = "## Safety"]
17488#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
17489#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
17490#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
17491#[inline]
17492#[target_feature(enable = "sve")]
17493#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
17494#[cfg_attr(test, assert_instr(ldff1d))]
17495pub unsafe fn svldff1_gather_s64offset_s64(
17496 pg: svbool_t,
17497 base: *const i64,
17498 offsets: svint64_t,
17499) -> svint64_t {
17500 unsafe extern "unadjusted" {
17501 #[cfg_attr(
17502 target_arch = "aarch64",
17503 link_name = "llvm.aarch64.sve.ldff1.gather.nxv2i64"
17504 )]
17505 fn _svldff1_gather_s64offset_s64(
17506 pg: svbool2_t,
17507 base: *const i64,
17508 offsets: svint64_t,
17509 ) -> svint64_t;
17510 }
17511 _svldff1_gather_s64offset_s64(pg.sve_into(), base, offsets)
17512}
17513#[doc = "Unextended load, first-faulting"]
17514#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1_gather_[s64]offset[_u64])"]
17515#[doc = "## Safety"]
17516#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
17517#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
17518#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
17519#[inline]
17520#[target_feature(enable = "sve")]
17521#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
17522#[cfg_attr(test, assert_instr(ldff1d))]
17523pub unsafe fn svldff1_gather_s64offset_u64(
17524 pg: svbool_t,
17525 base: *const u64,
17526 offsets: svint64_t,
17527) -> svuint64_t {
17528 svldff1_gather_s64offset_s64(pg, base.as_signed(), offsets).as_unsigned()
17529}
17530#[doc = "Unextended load, first-faulting"]
17531#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1_gather_[u32]offset[_f32])"]
17532#[doc = "## Safety"]
17533#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
17534#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
17535#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
17536#[inline]
17537#[target_feature(enable = "sve")]
17538#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
17539#[cfg_attr(test, assert_instr(ldff1w))]
17540pub unsafe fn svldff1_gather_u32offset_f32(
17541 pg: svbool_t,
17542 base: *const f32,
17543 offsets: svuint32_t,
17544) -> svfloat32_t {
17545 unsafe extern "unadjusted" {
17546 #[cfg_attr(
17547 target_arch = "aarch64",
17548 link_name = "llvm.aarch64.sve.ldff1.gather.uxtw.nxv4f32"
17549 )]
17550 fn _svldff1_gather_u32offset_f32(
17551 pg: svbool4_t,
17552 base: *const f32,
17553 offsets: svint32_t,
17554 ) -> svfloat32_t;
17555 }
17556 _svldff1_gather_u32offset_f32(pg.sve_into(), base, offsets.as_signed())
17557}
17558#[doc = "Unextended load, first-faulting"]
17559#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1_gather_[u32]offset[_s32])"]
17560#[doc = "## Safety"]
17561#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
17562#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
17563#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
17564#[inline]
17565#[target_feature(enable = "sve")]
17566#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
17567#[cfg_attr(test, assert_instr(ldff1w))]
17568pub unsafe fn svldff1_gather_u32offset_s32(
17569 pg: svbool_t,
17570 base: *const i32,
17571 offsets: svuint32_t,
17572) -> svint32_t {
17573 unsafe extern "unadjusted" {
17574 #[cfg_attr(
17575 target_arch = "aarch64",
17576 link_name = "llvm.aarch64.sve.ldff1.gather.uxtw.nxv4i32"
17577 )]
17578 fn _svldff1_gather_u32offset_s32(
17579 pg: svbool4_t,
17580 base: *const i32,
17581 offsets: svint32_t,
17582 ) -> svint32_t;
17583 }
17584 _svldff1_gather_u32offset_s32(pg.sve_into(), base, offsets.as_signed())
17585}
17586#[doc = "Unextended load, first-faulting"]
17587#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1_gather_[u32]offset[_u32])"]
17588#[doc = "## Safety"]
17589#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
17590#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
17591#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
17592#[inline]
17593#[target_feature(enable = "sve")]
17594#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
17595#[cfg_attr(test, assert_instr(ldff1w))]
17596pub unsafe fn svldff1_gather_u32offset_u32(
17597 pg: svbool_t,
17598 base: *const u32,
17599 offsets: svuint32_t,
17600) -> svuint32_t {
17601 svldff1_gather_u32offset_s32(pg, base.as_signed(), offsets).as_unsigned()
17602}
17603#[doc = "Unextended load, first-faulting"]
17604#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1_gather_[u64]offset[_f64])"]
17605#[doc = "## Safety"]
17606#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
17607#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
17608#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
17609#[inline]
17610#[target_feature(enable = "sve")]
17611#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
17612#[cfg_attr(test, assert_instr(ldff1d))]
17613pub unsafe fn svldff1_gather_u64offset_f64(
17614 pg: svbool_t,
17615 base: *const f64,
17616 offsets: svuint64_t,
17617) -> svfloat64_t {
17618 svldff1_gather_s64offset_f64(pg, base, offsets.as_signed())
17619}
17620#[doc = "Unextended load, first-faulting"]
17621#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1_gather_[u64]offset[_s64])"]
17622#[doc = "## Safety"]
17623#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
17624#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
17625#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
17626#[inline]
17627#[target_feature(enable = "sve")]
17628#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
17629#[cfg_attr(test, assert_instr(ldff1d))]
17630pub unsafe fn svldff1_gather_u64offset_s64(
17631 pg: svbool_t,
17632 base: *const i64,
17633 offsets: svuint64_t,
17634) -> svint64_t {
17635 svldff1_gather_s64offset_s64(pg, base, offsets.as_signed())
17636}
17637#[doc = "Unextended load, first-faulting"]
17638#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1_gather_[u64]offset[_u64])"]
17639#[doc = "## Safety"]
17640#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
17641#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
17642#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
17643#[inline]
17644#[target_feature(enable = "sve")]
17645#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
17646#[cfg_attr(test, assert_instr(ldff1d))]
17647pub unsafe fn svldff1_gather_u64offset_u64(
17648 pg: svbool_t,
17649 base: *const u64,
17650 offsets: svuint64_t,
17651) -> svuint64_t {
17652 svldff1_gather_s64offset_s64(pg, base.as_signed(), offsets.as_signed()).as_unsigned()
17653}
17654#[doc = "Unextended load, first-faulting"]
17655#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1_gather[_u32base]_f32)"]
17656#[doc = "## Safety"]
17657#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
17658#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
17659#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
17660#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
17661#[inline]
17662#[target_feature(enable = "sve")]
17663#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
17664#[cfg_attr(test, assert_instr(ldff1w))]
17665pub unsafe fn svldff1_gather_u32base_f32(pg: svbool_t, bases: svuint32_t) -> svfloat32_t {
17666 svldff1_gather_u32base_offset_f32(pg, bases, 0)
17667}
17668#[doc = "Unextended load, first-faulting"]
17669#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1_gather[_u32base]_s32)"]
17670#[doc = "## Safety"]
17671#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
17672#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
17673#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
17674#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
17675#[inline]
17676#[target_feature(enable = "sve")]
17677#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
17678#[cfg_attr(test, assert_instr(ldff1w))]
17679pub unsafe fn svldff1_gather_u32base_s32(pg: svbool_t, bases: svuint32_t) -> svint32_t {
17680 svldff1_gather_u32base_offset_s32(pg, bases, 0)
17681}
17682#[doc = "Unextended load, first-faulting"]
17683#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1_gather[_u32base]_u32)"]
17684#[doc = "## Safety"]
17685#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
17686#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
17687#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
17688#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
17689#[inline]
17690#[target_feature(enable = "sve")]
17691#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
17692#[cfg_attr(test, assert_instr(ldff1w))]
17693pub unsafe fn svldff1_gather_u32base_u32(pg: svbool_t, bases: svuint32_t) -> svuint32_t {
17694 svldff1_gather_u32base_offset_u32(pg, bases, 0)
17695}
17696#[doc = "Unextended load, first-faulting"]
17697#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1_gather[_u64base]_f64)"]
17698#[doc = "## Safety"]
17699#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
17700#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
17701#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
17702#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
17703#[inline]
17704#[target_feature(enable = "sve")]
17705#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
17706#[cfg_attr(test, assert_instr(ldff1d))]
17707pub unsafe fn svldff1_gather_u64base_f64(pg: svbool_t, bases: svuint64_t) -> svfloat64_t {
17708 svldff1_gather_u64base_offset_f64(pg, bases, 0)
17709}
17710#[doc = "Unextended load, first-faulting"]
17711#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1_gather[_u64base]_s64)"]
17712#[doc = "## Safety"]
17713#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
17714#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
17715#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
17716#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
17717#[inline]
17718#[target_feature(enable = "sve")]
17719#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
17720#[cfg_attr(test, assert_instr(ldff1d))]
17721pub unsafe fn svldff1_gather_u64base_s64(pg: svbool_t, bases: svuint64_t) -> svint64_t {
17722 svldff1_gather_u64base_offset_s64(pg, bases, 0)
17723}
17724#[doc = "Unextended load, first-faulting"]
17725#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1_gather[_u64base]_u64)"]
17726#[doc = "## Safety"]
17727#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
17728#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
17729#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
17730#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
17731#[inline]
17732#[target_feature(enable = "sve")]
17733#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
17734#[cfg_attr(test, assert_instr(ldff1d))]
17735pub unsafe fn svldff1_gather_u64base_u64(pg: svbool_t, bases: svuint64_t) -> svuint64_t {
17736 svldff1_gather_u64base_offset_u64(pg, bases, 0)
17737}
17738#[doc = "Unextended load, first-faulting"]
17739#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1_gather[_u32base]_index_f32)"]
17740#[doc = "## Safety"]
17741#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
17742#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
17743#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
17744#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
17745#[inline]
17746#[target_feature(enable = "sve")]
17747#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
17748#[cfg_attr(test, assert_instr(ldff1w))]
17749pub unsafe fn svldff1_gather_u32base_index_f32(
17750 pg: svbool_t,
17751 bases: svuint32_t,
17752 index: i64,
17753) -> svfloat32_t {
17754 svldff1_gather_u32base_offset_f32(pg, bases, index.unchecked_shl(2))
17755}
17756#[doc = "Unextended load, first-faulting"]
17757#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1_gather[_u32base]_index_s32)"]
17758#[doc = "## Safety"]
17759#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
17760#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
17761#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
17762#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
17763#[inline]
17764#[target_feature(enable = "sve")]
17765#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
17766#[cfg_attr(test, assert_instr(ldff1w))]
17767pub unsafe fn svldff1_gather_u32base_index_s32(
17768 pg: svbool_t,
17769 bases: svuint32_t,
17770 index: i64,
17771) -> svint32_t {
17772 svldff1_gather_u32base_offset_s32(pg, bases, index.unchecked_shl(2))
17773}
17774#[doc = "Unextended load, first-faulting"]
17775#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1_gather[_u32base]_index_u32)"]
17776#[doc = "## Safety"]
17777#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
17778#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
17779#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
17780#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
17781#[inline]
17782#[target_feature(enable = "sve")]
17783#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
17784#[cfg_attr(test, assert_instr(ldff1w))]
17785pub unsafe fn svldff1_gather_u32base_index_u32(
17786 pg: svbool_t,
17787 bases: svuint32_t,
17788 index: i64,
17789) -> svuint32_t {
17790 svldff1_gather_u32base_offset_u32(pg, bases, index.unchecked_shl(2))
17791}
17792#[doc = "Unextended load, first-faulting"]
17793#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1_gather[_u64base]_index_f64)"]
17794#[doc = "## Safety"]
17795#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
17796#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
17797#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
17798#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
17799#[inline]
17800#[target_feature(enable = "sve")]
17801#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
17802#[cfg_attr(test, assert_instr(ldff1d))]
17803pub unsafe fn svldff1_gather_u64base_index_f64(
17804 pg: svbool_t,
17805 bases: svuint64_t,
17806 index: i64,
17807) -> svfloat64_t {
17808 svldff1_gather_u64base_offset_f64(pg, bases, index.unchecked_shl(3))
17809}
17810#[doc = "Unextended load, first-faulting"]
17811#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1_gather[_u64base]_index_s64)"]
17812#[doc = "## Safety"]
17813#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
17814#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
17815#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
17816#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
17817#[inline]
17818#[target_feature(enable = "sve")]
17819#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
17820#[cfg_attr(test, assert_instr(ldff1d))]
17821pub unsafe fn svldff1_gather_u64base_index_s64(
17822 pg: svbool_t,
17823 bases: svuint64_t,
17824 index: i64,
17825) -> svint64_t {
17826 svldff1_gather_u64base_offset_s64(pg, bases, index.unchecked_shl(3))
17827}
17828#[doc = "Unextended load, first-faulting"]
17829#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1_gather[_u64base]_index_u64)"]
17830#[doc = "## Safety"]
17831#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
17832#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
17833#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
17834#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
17835#[inline]
17836#[target_feature(enable = "sve")]
17837#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
17838#[cfg_attr(test, assert_instr(ldff1d))]
17839pub unsafe fn svldff1_gather_u64base_index_u64(
17840 pg: svbool_t,
17841 bases: svuint64_t,
17842 index: i64,
17843) -> svuint64_t {
17844 svldff1_gather_u64base_offset_u64(pg, bases, index.unchecked_shl(3))
17845}
17846#[doc = "Unextended load, first-faulting"]
17847#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1_gather[_u32base]_offset_f32)"]
17848#[doc = "## Safety"]
17849#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
17850#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
17851#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
17852#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
17853#[inline]
17854#[target_feature(enable = "sve")]
17855#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
17856#[cfg_attr(test, assert_instr(ldff1w))]
17857pub unsafe fn svldff1_gather_u32base_offset_f32(
17858 pg: svbool_t,
17859 bases: svuint32_t,
17860 offset: i64,
17861) -> svfloat32_t {
17862 unsafe extern "unadjusted" {
17863 #[cfg_attr(
17864 target_arch = "aarch64",
17865 link_name = "llvm.aarch64.sve.ldff1.gather.scalar.offset.nxv4f32.nxv4i32"
17866 )]
17867 fn _svldff1_gather_u32base_offset_f32(
17868 pg: svbool4_t,
17869 bases: svint32_t,
17870 offset: i64,
17871 ) -> svfloat32_t;
17872 }
17873 _svldff1_gather_u32base_offset_f32(pg.sve_into(), bases.as_signed(), offset)
17874}
17875#[doc = "Unextended load, first-faulting"]
17876#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1_gather[_u32base]_offset_s32)"]
17877#[doc = "## Safety"]
17878#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
17879#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
17880#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
17881#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
17882#[inline]
17883#[target_feature(enable = "sve")]
17884#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
17885#[cfg_attr(test, assert_instr(ldff1w))]
17886pub unsafe fn svldff1_gather_u32base_offset_s32(
17887 pg: svbool_t,
17888 bases: svuint32_t,
17889 offset: i64,
17890) -> svint32_t {
17891 unsafe extern "unadjusted" {
17892 #[cfg_attr(
17893 target_arch = "aarch64",
17894 link_name = "llvm.aarch64.sve.ldff1.gather.scalar.offset.nxv4i32.nxv4i32"
17895 )]
17896 fn _svldff1_gather_u32base_offset_s32(
17897 pg: svbool4_t,
17898 bases: svint32_t,
17899 offset: i64,
17900 ) -> svint32_t;
17901 }
17902 _svldff1_gather_u32base_offset_s32(pg.sve_into(), bases.as_signed(), offset)
17903}
17904#[doc = "Unextended load, first-faulting"]
17905#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1_gather[_u32base]_offset_u32)"]
17906#[doc = "## Safety"]
17907#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
17908#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
17909#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
17910#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
17911#[inline]
17912#[target_feature(enable = "sve")]
17913#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
17914#[cfg_attr(test, assert_instr(ldff1w))]
17915pub unsafe fn svldff1_gather_u32base_offset_u32(
17916 pg: svbool_t,
17917 bases: svuint32_t,
17918 offset: i64,
17919) -> svuint32_t {
17920 svldff1_gather_u32base_offset_s32(pg, bases, offset).as_unsigned()
17921}
17922#[doc = "Unextended load, first-faulting"]
17923#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1_gather[_u64base]_offset_f64)"]
17924#[doc = "## Safety"]
17925#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
17926#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
17927#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
17928#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
17929#[inline]
17930#[target_feature(enable = "sve")]
17931#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
17932#[cfg_attr(test, assert_instr(ldff1d))]
17933pub unsafe fn svldff1_gather_u64base_offset_f64(
17934 pg: svbool_t,
17935 bases: svuint64_t,
17936 offset: i64,
17937) -> svfloat64_t {
17938 unsafe extern "unadjusted" {
17939 #[cfg_attr(
17940 target_arch = "aarch64",
17941 link_name = "llvm.aarch64.sve.ldff1.gather.scalar.offset.nxv2f64.nxv2i64"
17942 )]
17943 fn _svldff1_gather_u64base_offset_f64(
17944 pg: svbool2_t,
17945 bases: svint64_t,
17946 offset: i64,
17947 ) -> svfloat64_t;
17948 }
17949 _svldff1_gather_u64base_offset_f64(pg.sve_into(), bases.as_signed(), offset)
17950}
17951#[doc = "Unextended load, first-faulting"]
17952#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1_gather[_u64base]_offset_s64)"]
17953#[doc = "## Safety"]
17954#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
17955#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
17956#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
17957#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
17958#[inline]
17959#[target_feature(enable = "sve")]
17960#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
17961#[cfg_attr(test, assert_instr(ldff1d))]
17962pub unsafe fn svldff1_gather_u64base_offset_s64(
17963 pg: svbool_t,
17964 bases: svuint64_t,
17965 offset: i64,
17966) -> svint64_t {
17967 unsafe extern "unadjusted" {
17968 #[cfg_attr(
17969 target_arch = "aarch64",
17970 link_name = "llvm.aarch64.sve.ldff1.gather.scalar.offset.nxv2i64.nxv2i64"
17971 )]
17972 fn _svldff1_gather_u64base_offset_s64(
17973 pg: svbool2_t,
17974 bases: svint64_t,
17975 offset: i64,
17976 ) -> svint64_t;
17977 }
17978 _svldff1_gather_u64base_offset_s64(pg.sve_into(), bases.as_signed(), offset)
17979}
17980#[doc = "Unextended load, first-faulting"]
17981#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1_gather[_u64base]_offset_u64)"]
17982#[doc = "## Safety"]
17983#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
17984#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
17985#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
17986#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
17987#[inline]
17988#[target_feature(enable = "sve")]
17989#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
17990#[cfg_attr(test, assert_instr(ldff1d))]
17991pub unsafe fn svldff1_gather_u64base_offset_u64(
17992 pg: svbool_t,
17993 bases: svuint64_t,
17994 offset: i64,
17995) -> svuint64_t {
17996 svldff1_gather_u64base_offset_s64(pg, bases, offset).as_unsigned()
17997}
17998#[doc = "Unextended load, first-faulting"]
17999#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1_vnum[_f32])"]
18000#[doc = "## Safety"]
18001#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour). In particular, note that `vnum` is scaled by the vector length, `VL`, which is not known at compile time."]
18002#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
18003#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
18004#[inline]
18005#[target_feature(enable = "sve")]
18006#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
18007#[cfg_attr(test, assert_instr(ldff1w))]
18008pub unsafe fn svldff1_vnum_f32(pg: svbool_t, base: *const f32, vnum: i64) -> svfloat32_t {
18009 svldff1_f32(pg, base.offset(svcntw() as isize * vnum as isize))
18010}
18011#[doc = "Unextended load, first-faulting"]
18012#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1_vnum[_f64])"]
18013#[doc = "## Safety"]
18014#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour). In particular, note that `vnum` is scaled by the vector length, `VL`, which is not known at compile time."]
18015#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
18016#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
18017#[inline]
18018#[target_feature(enable = "sve")]
18019#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
18020#[cfg_attr(test, assert_instr(ldff1d))]
18021pub unsafe fn svldff1_vnum_f64(pg: svbool_t, base: *const f64, vnum: i64) -> svfloat64_t {
18022 svldff1_f64(pg, base.offset(svcntd() as isize * vnum as isize))
18023}
18024#[doc = "Unextended load, first-faulting"]
18025#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1_vnum[_s8])"]
18026#[doc = "## Safety"]
18027#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour). In particular, note that `vnum` is scaled by the vector length, `VL`, which is not known at compile time."]
18028#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
18029#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
18030#[inline]
18031#[target_feature(enable = "sve")]
18032#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
18033#[cfg_attr(test, assert_instr(ldff1b))]
18034pub unsafe fn svldff1_vnum_s8(pg: svbool_t, base: *const i8, vnum: i64) -> svint8_t {
18035 svldff1_s8(pg, base.offset(svcntb() as isize * vnum as isize))
18036}
18037#[doc = "Unextended load, first-faulting"]
18038#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1_vnum[_s16])"]
18039#[doc = "## Safety"]
18040#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour). In particular, note that `vnum` is scaled by the vector length, `VL`, which is not known at compile time."]
18041#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
18042#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
18043#[inline]
18044#[target_feature(enable = "sve")]
18045#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
18046#[cfg_attr(test, assert_instr(ldff1h))]
18047pub unsafe fn svldff1_vnum_s16(pg: svbool_t, base: *const i16, vnum: i64) -> svint16_t {
18048 svldff1_s16(pg, base.offset(svcnth() as isize * vnum as isize))
18049}
18050#[doc = "Unextended load, first-faulting"]
18051#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1_vnum[_s32])"]
18052#[doc = "## Safety"]
18053#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour). In particular, note that `vnum` is scaled by the vector length, `VL`, which is not known at compile time."]
18054#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
18055#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
18056#[inline]
18057#[target_feature(enable = "sve")]
18058#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
18059#[cfg_attr(test, assert_instr(ldff1w))]
18060pub unsafe fn svldff1_vnum_s32(pg: svbool_t, base: *const i32, vnum: i64) -> svint32_t {
18061 svldff1_s32(pg, base.offset(svcntw() as isize * vnum as isize))
18062}
18063#[doc = "Unextended load, first-faulting"]
18064#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1_vnum[_s64])"]
18065#[doc = "## Safety"]
18066#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour). In particular, note that `vnum` is scaled by the vector length, `VL`, which is not known at compile time."]
18067#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
18068#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
18069#[inline]
18070#[target_feature(enable = "sve")]
18071#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
18072#[cfg_attr(test, assert_instr(ldff1d))]
18073pub unsafe fn svldff1_vnum_s64(pg: svbool_t, base: *const i64, vnum: i64) -> svint64_t {
18074 svldff1_s64(pg, base.offset(svcntd() as isize * vnum as isize))
18075}
18076#[doc = "Unextended load, first-faulting"]
18077#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1_vnum[_u8])"]
18078#[doc = "## Safety"]
18079#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour). In particular, note that `vnum` is scaled by the vector length, `VL`, which is not known at compile time."]
18080#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
18081#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
18082#[inline]
18083#[target_feature(enable = "sve")]
18084#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
18085#[cfg_attr(test, assert_instr(ldff1b))]
18086pub unsafe fn svldff1_vnum_u8(pg: svbool_t, base: *const u8, vnum: i64) -> svuint8_t {
18087 svldff1_u8(pg, base.offset(svcntb() as isize * vnum as isize))
18088}
18089#[doc = "Unextended load, first-faulting"]
18090#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1_vnum[_u16])"]
18091#[doc = "## Safety"]
18092#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour). In particular, note that `vnum` is scaled by the vector length, `VL`, which is not known at compile time."]
18093#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
18094#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
18095#[inline]
18096#[target_feature(enable = "sve")]
18097#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
18098#[cfg_attr(test, assert_instr(ldff1h))]
18099pub unsafe fn svldff1_vnum_u16(pg: svbool_t, base: *const u16, vnum: i64) -> svuint16_t {
18100 svldff1_u16(pg, base.offset(svcnth() as isize * vnum as isize))
18101}
18102#[doc = "Unextended load, first-faulting"]
18103#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1_vnum[_u32])"]
18104#[doc = "## Safety"]
18105#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour). In particular, note that `vnum` is scaled by the vector length, `VL`, which is not known at compile time."]
18106#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
18107#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
18108#[inline]
18109#[target_feature(enable = "sve")]
18110#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
18111#[cfg_attr(test, assert_instr(ldff1w))]
18112pub unsafe fn svldff1_vnum_u32(pg: svbool_t, base: *const u32, vnum: i64) -> svuint32_t {
18113 svldff1_u32(pg, base.offset(svcntw() as isize * vnum as isize))
18114}
18115#[doc = "Unextended load, first-faulting"]
18116#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1_vnum[_u64])"]
18117#[doc = "## Safety"]
18118#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour). In particular, note that `vnum` is scaled by the vector length, `VL`, which is not known at compile time."]
18119#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
18120#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
18121#[inline]
18122#[target_feature(enable = "sve")]
18123#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
18124#[cfg_attr(test, assert_instr(ldff1d))]
18125pub unsafe fn svldff1_vnum_u64(pg: svbool_t, base: *const u64, vnum: i64) -> svuint64_t {
18126 svldff1_u64(pg, base.offset(svcntd() as isize * vnum as isize))
18127}
18128#[doc = "Load 8-bit data and sign-extend, first-faulting"]
18129#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1sb_gather_[s32]offset_s32)"]
18130#[doc = "## Safety"]
18131#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
18132#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
18133#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
18134#[inline]
18135#[target_feature(enable = "sve")]
18136#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
18137#[cfg_attr(test, assert_instr(ldff1sb))]
18138pub unsafe fn svldff1sb_gather_s32offset_s32(
18139 pg: svbool_t,
18140 base: *const i8,
18141 offsets: svint32_t,
18142) -> svint32_t {
18143 unsafe extern "unadjusted" {
18144 #[cfg_attr(
18145 target_arch = "aarch64",
18146 link_name = "llvm.aarch64.sve.ldff1.gather.sxtw.nxv4i8"
18147 )]
18148 fn _svldff1sb_gather_s32offset_s32(
18149 pg: svbool4_t,
18150 base: *const i8,
18151 offsets: svint32_t,
18152 ) -> nxv4i8;
18153 }
18154 crate::intrinsics::simd::simd_cast(_svldff1sb_gather_s32offset_s32(
18155 pg.sve_into(),
18156 base,
18157 offsets,
18158 ))
18159}
18160#[doc = "Load 16-bit data and sign-extend, first-faulting"]
18161#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1sh_gather_[s32]offset_s32)"]
18162#[doc = "## Safety"]
18163#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
18164#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
18165#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
18166#[inline]
18167#[target_feature(enable = "sve")]
18168#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
18169#[cfg_attr(test, assert_instr(ldff1sh))]
18170pub unsafe fn svldff1sh_gather_s32offset_s32(
18171 pg: svbool_t,
18172 base: *const i16,
18173 offsets: svint32_t,
18174) -> svint32_t {
18175 unsafe extern "unadjusted" {
18176 #[cfg_attr(
18177 target_arch = "aarch64",
18178 link_name = "llvm.aarch64.sve.ldff1.gather.sxtw.nxv4i16"
18179 )]
18180 fn _svldff1sh_gather_s32offset_s32(
18181 pg: svbool4_t,
18182 base: *const i16,
18183 offsets: svint32_t,
18184 ) -> nxv4i16;
18185 }
18186 crate::intrinsics::simd::simd_cast(_svldff1sh_gather_s32offset_s32(
18187 pg.sve_into(),
18188 base,
18189 offsets,
18190 ))
18191}
18192#[doc = "Load 8-bit data and sign-extend, first-faulting"]
18193#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1sb_gather_[s32]offset_u32)"]
18194#[doc = "## Safety"]
18195#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
18196#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
18197#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
18198#[inline]
18199#[target_feature(enable = "sve")]
18200#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
18201#[cfg_attr(test, assert_instr(ldff1sb))]
18202pub unsafe fn svldff1sb_gather_s32offset_u32(
18203 pg: svbool_t,
18204 base: *const i8,
18205 offsets: svint32_t,
18206) -> svuint32_t {
18207 svldff1sb_gather_s32offset_s32(pg, base, offsets).as_unsigned()
18208}
18209#[doc = "Load 16-bit data and sign-extend, first-faulting"]
18210#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1sh_gather_[s32]offset_u32)"]
18211#[doc = "## Safety"]
18212#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
18213#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
18214#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
18215#[inline]
18216#[target_feature(enable = "sve")]
18217#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
18218#[cfg_attr(test, assert_instr(ldff1sh))]
18219pub unsafe fn svldff1sh_gather_s32offset_u32(
18220 pg: svbool_t,
18221 base: *const i16,
18222 offsets: svint32_t,
18223) -> svuint32_t {
18224 svldff1sh_gather_s32offset_s32(pg, base, offsets).as_unsigned()
18225}
18226#[doc = "Load 8-bit data and sign-extend, first-faulting"]
18227#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1sb_gather_[s64]offset_s64)"]
18228#[doc = "## Safety"]
18229#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
18230#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
18231#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
18232#[inline]
18233#[target_feature(enable = "sve")]
18234#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
18235#[cfg_attr(test, assert_instr(ldff1sb))]
18236pub unsafe fn svldff1sb_gather_s64offset_s64(
18237 pg: svbool_t,
18238 base: *const i8,
18239 offsets: svint64_t,
18240) -> svint64_t {
18241 unsafe extern "unadjusted" {
18242 #[cfg_attr(
18243 target_arch = "aarch64",
18244 link_name = "llvm.aarch64.sve.ldff1.gather.nxv2i8"
18245 )]
18246 fn _svldff1sb_gather_s64offset_s64(
18247 pg: svbool2_t,
18248 base: *const i8,
18249 offsets: svint64_t,
18250 ) -> nxv2i8;
18251 }
18252 crate::intrinsics::simd::simd_cast(_svldff1sb_gather_s64offset_s64(
18253 pg.sve_into(),
18254 base,
18255 offsets,
18256 ))
18257}
18258#[doc = "Load 16-bit data and sign-extend, first-faulting"]
18259#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1sh_gather_[s64]offset_s64)"]
18260#[doc = "## Safety"]
18261#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
18262#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
18263#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
18264#[inline]
18265#[target_feature(enable = "sve")]
18266#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
18267#[cfg_attr(test, assert_instr(ldff1sh))]
18268pub unsafe fn svldff1sh_gather_s64offset_s64(
18269 pg: svbool_t,
18270 base: *const i16,
18271 offsets: svint64_t,
18272) -> svint64_t {
18273 unsafe extern "unadjusted" {
18274 #[cfg_attr(
18275 target_arch = "aarch64",
18276 link_name = "llvm.aarch64.sve.ldff1.gather.nxv2i16"
18277 )]
18278 fn _svldff1sh_gather_s64offset_s64(
18279 pg: svbool2_t,
18280 base: *const i16,
18281 offsets: svint64_t,
18282 ) -> nxv2i16;
18283 }
18284 crate::intrinsics::simd::simd_cast(_svldff1sh_gather_s64offset_s64(
18285 pg.sve_into(),
18286 base,
18287 offsets,
18288 ))
18289}
18290#[doc = "Load 32-bit data and sign-extend, first-faulting"]
18291#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1sw_gather_[s64]offset_s64)"]
18292#[doc = "## Safety"]
18293#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
18294#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
18295#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
18296#[inline]
18297#[target_feature(enable = "sve")]
18298#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
18299#[cfg_attr(test, assert_instr(ldff1sw))]
18300pub unsafe fn svldff1sw_gather_s64offset_s64(
18301 pg: svbool_t,
18302 base: *const i32,
18303 offsets: svint64_t,
18304) -> svint64_t {
18305 unsafe extern "unadjusted" {
18306 #[cfg_attr(
18307 target_arch = "aarch64",
18308 link_name = "llvm.aarch64.sve.ldff1.gather.nxv2i32"
18309 )]
18310 fn _svldff1sw_gather_s64offset_s64(
18311 pg: svbool2_t,
18312 base: *const i32,
18313 offsets: svint64_t,
18314 ) -> nxv2i32;
18315 }
18316 crate::intrinsics::simd::simd_cast(_svldff1sw_gather_s64offset_s64(
18317 pg.sve_into(),
18318 base,
18319 offsets,
18320 ))
18321}
18322#[doc = "Load 8-bit data and sign-extend, first-faulting"]
18323#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1sb_gather_[s64]offset_u64)"]
18324#[doc = "## Safety"]
18325#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
18326#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
18327#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
18328#[inline]
18329#[target_feature(enable = "sve")]
18330#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
18331#[cfg_attr(test, assert_instr(ldff1sb))]
18332pub unsafe fn svldff1sb_gather_s64offset_u64(
18333 pg: svbool_t,
18334 base: *const i8,
18335 offsets: svint64_t,
18336) -> svuint64_t {
18337 svldff1sb_gather_s64offset_s64(pg, base, offsets).as_unsigned()
18338}
18339#[doc = "Load 16-bit data and sign-extend, first-faulting"]
18340#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1sh_gather_[s64]offset_u64)"]
18341#[doc = "## Safety"]
18342#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
18343#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
18344#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
18345#[inline]
18346#[target_feature(enable = "sve")]
18347#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
18348#[cfg_attr(test, assert_instr(ldff1sh))]
18349pub unsafe fn svldff1sh_gather_s64offset_u64(
18350 pg: svbool_t,
18351 base: *const i16,
18352 offsets: svint64_t,
18353) -> svuint64_t {
18354 svldff1sh_gather_s64offset_s64(pg, base, offsets).as_unsigned()
18355}
18356#[doc = "Load 32-bit data and sign-extend, first-faulting"]
18357#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1sw_gather_[s64]offset_u64)"]
18358#[doc = "## Safety"]
18359#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
18360#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
18361#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
18362#[inline]
18363#[target_feature(enable = "sve")]
18364#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
18365#[cfg_attr(test, assert_instr(ldff1sw))]
18366pub unsafe fn svldff1sw_gather_s64offset_u64(
18367 pg: svbool_t,
18368 base: *const i32,
18369 offsets: svint64_t,
18370) -> svuint64_t {
18371 svldff1sw_gather_s64offset_s64(pg, base, offsets).as_unsigned()
18372}
18373#[doc = "Load 8-bit data and sign-extend, first-faulting"]
18374#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1sb_gather_[u32]offset_s32)"]
18375#[doc = "## Safety"]
18376#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
18377#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
18378#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
18379#[inline]
18380#[target_feature(enable = "sve")]
18381#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
18382#[cfg_attr(test, assert_instr(ldff1sb))]
18383pub unsafe fn svldff1sb_gather_u32offset_s32(
18384 pg: svbool_t,
18385 base: *const i8,
18386 offsets: svuint32_t,
18387) -> svint32_t {
18388 unsafe extern "unadjusted" {
18389 #[cfg_attr(
18390 target_arch = "aarch64",
18391 link_name = "llvm.aarch64.sve.ldff1.gather.uxtw.nxv4i8"
18392 )]
18393 fn _svldff1sb_gather_u32offset_s32(
18394 pg: svbool4_t,
18395 base: *const i8,
18396 offsets: svint32_t,
18397 ) -> nxv4i8;
18398 }
18399 crate::intrinsics::simd::simd_cast(_svldff1sb_gather_u32offset_s32(
18400 pg.sve_into(),
18401 base,
18402 offsets.as_signed(),
18403 ))
18404}
18405#[doc = "Load 16-bit data and sign-extend, first-faulting"]
18406#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1sh_gather_[u32]offset_s32)"]
18407#[doc = "## Safety"]
18408#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
18409#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
18410#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
18411#[inline]
18412#[target_feature(enable = "sve")]
18413#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
18414#[cfg_attr(test, assert_instr(ldff1sh))]
18415pub unsafe fn svldff1sh_gather_u32offset_s32(
18416 pg: svbool_t,
18417 base: *const i16,
18418 offsets: svuint32_t,
18419) -> svint32_t {
18420 unsafe extern "unadjusted" {
18421 #[cfg_attr(
18422 target_arch = "aarch64",
18423 link_name = "llvm.aarch64.sve.ldff1.gather.uxtw.nxv4i16"
18424 )]
18425 fn _svldff1sh_gather_u32offset_s32(
18426 pg: svbool4_t,
18427 base: *const i16,
18428 offsets: svint32_t,
18429 ) -> nxv4i16;
18430 }
18431 crate::intrinsics::simd::simd_cast(_svldff1sh_gather_u32offset_s32(
18432 pg.sve_into(),
18433 base,
18434 offsets.as_signed(),
18435 ))
18436}
18437#[doc = "Load 8-bit data and sign-extend, first-faulting"]
18438#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1sb_gather_[u32]offset_u32)"]
18439#[doc = "## Safety"]
18440#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
18441#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
18442#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
18443#[inline]
18444#[target_feature(enable = "sve")]
18445#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
18446#[cfg_attr(test, assert_instr(ldff1sb))]
18447pub unsafe fn svldff1sb_gather_u32offset_u32(
18448 pg: svbool_t,
18449 base: *const i8,
18450 offsets: svuint32_t,
18451) -> svuint32_t {
18452 svldff1sb_gather_u32offset_s32(pg, base, offsets).as_unsigned()
18453}
18454#[doc = "Load 16-bit data and sign-extend, first-faulting"]
18455#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1sh_gather_[u32]offset_u32)"]
18456#[doc = "## Safety"]
18457#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
18458#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
18459#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
18460#[inline]
18461#[target_feature(enable = "sve")]
18462#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
18463#[cfg_attr(test, assert_instr(ldff1sh))]
18464pub unsafe fn svldff1sh_gather_u32offset_u32(
18465 pg: svbool_t,
18466 base: *const i16,
18467 offsets: svuint32_t,
18468) -> svuint32_t {
18469 svldff1sh_gather_u32offset_s32(pg, base, offsets).as_unsigned()
18470}
18471#[doc = "Load 8-bit data and sign-extend, first-faulting"]
18472#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1sb_gather_[u64]offset_s64)"]
18473#[doc = "## Safety"]
18474#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
18475#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
18476#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
18477#[inline]
18478#[target_feature(enable = "sve")]
18479#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
18480#[cfg_attr(test, assert_instr(ldff1sb))]
18481pub unsafe fn svldff1sb_gather_u64offset_s64(
18482 pg: svbool_t,
18483 base: *const i8,
18484 offsets: svuint64_t,
18485) -> svint64_t {
18486 svldff1sb_gather_s64offset_s64(pg, base, offsets.as_signed())
18487}
18488#[doc = "Load 16-bit data and sign-extend, first-faulting"]
18489#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1sh_gather_[u64]offset_s64)"]
18490#[doc = "## Safety"]
18491#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
18492#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
18493#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
18494#[inline]
18495#[target_feature(enable = "sve")]
18496#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
18497#[cfg_attr(test, assert_instr(ldff1sh))]
18498pub unsafe fn svldff1sh_gather_u64offset_s64(
18499 pg: svbool_t,
18500 base: *const i16,
18501 offsets: svuint64_t,
18502) -> svint64_t {
18503 svldff1sh_gather_s64offset_s64(pg, base, offsets.as_signed())
18504}
18505#[doc = "Load 32-bit data and sign-extend, first-faulting"]
18506#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1sw_gather_[u64]offset_s64)"]
18507#[doc = "## Safety"]
18508#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
18509#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
18510#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
18511#[inline]
18512#[target_feature(enable = "sve")]
18513#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
18514#[cfg_attr(test, assert_instr(ldff1sw))]
18515pub unsafe fn svldff1sw_gather_u64offset_s64(
18516 pg: svbool_t,
18517 base: *const i32,
18518 offsets: svuint64_t,
18519) -> svint64_t {
18520 svldff1sw_gather_s64offset_s64(pg, base, offsets.as_signed())
18521}
18522#[doc = "Load 8-bit data and sign-extend, first-faulting"]
18523#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1sb_gather_[u64]offset_u64)"]
18524#[doc = "## Safety"]
18525#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
18526#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
18527#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
18528#[inline]
18529#[target_feature(enable = "sve")]
18530#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
18531#[cfg_attr(test, assert_instr(ldff1sb))]
18532pub unsafe fn svldff1sb_gather_u64offset_u64(
18533 pg: svbool_t,
18534 base: *const i8,
18535 offsets: svuint64_t,
18536) -> svuint64_t {
18537 svldff1sb_gather_s64offset_s64(pg, base, offsets.as_signed()).as_unsigned()
18538}
18539#[doc = "Load 16-bit data and sign-extend, first-faulting"]
18540#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1sh_gather_[u64]offset_u64)"]
18541#[doc = "## Safety"]
18542#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
18543#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
18544#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
18545#[inline]
18546#[target_feature(enable = "sve")]
18547#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
18548#[cfg_attr(test, assert_instr(ldff1sh))]
18549pub unsafe fn svldff1sh_gather_u64offset_u64(
18550 pg: svbool_t,
18551 base: *const i16,
18552 offsets: svuint64_t,
18553) -> svuint64_t {
18554 svldff1sh_gather_s64offset_s64(pg, base, offsets.as_signed()).as_unsigned()
18555}
18556#[doc = "Load 32-bit data and sign-extend, first-faulting"]
18557#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1sw_gather_[u64]offset_u64)"]
18558#[doc = "## Safety"]
18559#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
18560#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
18561#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
18562#[inline]
18563#[target_feature(enable = "sve")]
18564#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
18565#[cfg_attr(test, assert_instr(ldff1sw))]
18566pub unsafe fn svldff1sw_gather_u64offset_u64(
18567 pg: svbool_t,
18568 base: *const i32,
18569 offsets: svuint64_t,
18570) -> svuint64_t {
18571 svldff1sw_gather_s64offset_s64(pg, base, offsets.as_signed()).as_unsigned()
18572}
18573#[doc = "Load 8-bit data and sign-extend, first-faulting"]
18574#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1sb_gather[_u32base]_offset_s32)"]
18575#[doc = "## Safety"]
18576#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
18577#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
18578#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
18579#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
18580#[inline]
18581#[target_feature(enable = "sve")]
18582#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
18583#[cfg_attr(test, assert_instr(ldff1sb))]
18584pub unsafe fn svldff1sb_gather_u32base_offset_s32(
18585 pg: svbool_t,
18586 bases: svuint32_t,
18587 offset: i64,
18588) -> svint32_t {
18589 unsafe extern "unadjusted" {
18590 #[cfg_attr(
18591 target_arch = "aarch64",
18592 link_name = "llvm.aarch64.sve.ldff1.gather.scalar.offset.nxv4i8.nxv4i32"
18593 )]
18594 fn _svldff1sb_gather_u32base_offset_s32(
18595 pg: svbool4_t,
18596 bases: svint32_t,
18597 offset: i64,
18598 ) -> nxv4i8;
18599 }
18600 crate::intrinsics::simd::simd_cast(_svldff1sb_gather_u32base_offset_s32(
18601 pg.sve_into(),
18602 bases.as_signed(),
18603 offset,
18604 ))
18605}
18606#[doc = "Load 16-bit data and sign-extend, first-faulting"]
18607#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1sh_gather[_u32base]_offset_s32)"]
18608#[doc = "## Safety"]
18609#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
18610#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
18611#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
18612#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
18613#[inline]
18614#[target_feature(enable = "sve")]
18615#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
18616#[cfg_attr(test, assert_instr(ldff1sh))]
18617pub unsafe fn svldff1sh_gather_u32base_offset_s32(
18618 pg: svbool_t,
18619 bases: svuint32_t,
18620 offset: i64,
18621) -> svint32_t {
18622 unsafe extern "unadjusted" {
18623 #[cfg_attr(
18624 target_arch = "aarch64",
18625 link_name = "llvm.aarch64.sve.ldff1.gather.scalar.offset.nxv4i16.nxv4i32"
18626 )]
18627 fn _svldff1sh_gather_u32base_offset_s32(
18628 pg: svbool4_t,
18629 bases: svint32_t,
18630 offset: i64,
18631 ) -> nxv4i16;
18632 }
18633 crate::intrinsics::simd::simd_cast(_svldff1sh_gather_u32base_offset_s32(
18634 pg.sve_into(),
18635 bases.as_signed(),
18636 offset,
18637 ))
18638}
18639#[doc = "Load 8-bit data and sign-extend, first-faulting"]
18640#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1sb_gather[_u32base]_offset_u32)"]
18641#[doc = "## Safety"]
18642#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
18643#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
18644#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
18645#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
18646#[inline]
18647#[target_feature(enable = "sve")]
18648#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
18649#[cfg_attr(test, assert_instr(ldff1sb))]
18650pub unsafe fn svldff1sb_gather_u32base_offset_u32(
18651 pg: svbool_t,
18652 bases: svuint32_t,
18653 offset: i64,
18654) -> svuint32_t {
18655 svldff1sb_gather_u32base_offset_s32(pg, bases, offset).as_unsigned()
18656}
18657#[doc = "Load 16-bit data and sign-extend, first-faulting"]
18658#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1sh_gather[_u32base]_offset_u32)"]
18659#[doc = "## Safety"]
18660#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
18661#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
18662#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
18663#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
18664#[inline]
18665#[target_feature(enable = "sve")]
18666#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
18667#[cfg_attr(test, assert_instr(ldff1sh))]
18668pub unsafe fn svldff1sh_gather_u32base_offset_u32(
18669 pg: svbool_t,
18670 bases: svuint32_t,
18671 offset: i64,
18672) -> svuint32_t {
18673 svldff1sh_gather_u32base_offset_s32(pg, bases, offset).as_unsigned()
18674}
18675#[doc = "Load 8-bit data and sign-extend, first-faulting"]
18676#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1sb_gather[_u64base]_offset_s64)"]
18677#[doc = "## Safety"]
18678#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
18679#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
18680#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
18681#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
18682#[inline]
18683#[target_feature(enable = "sve")]
18684#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
18685#[cfg_attr(test, assert_instr(ldff1sb))]
18686pub unsafe fn svldff1sb_gather_u64base_offset_s64(
18687 pg: svbool_t,
18688 bases: svuint64_t,
18689 offset: i64,
18690) -> svint64_t {
18691 unsafe extern "unadjusted" {
18692 #[cfg_attr(
18693 target_arch = "aarch64",
18694 link_name = "llvm.aarch64.sve.ldff1.gather.scalar.offset.nxv2i8.nxv2i64"
18695 )]
18696 fn _svldff1sb_gather_u64base_offset_s64(
18697 pg: svbool2_t,
18698 bases: svint64_t,
18699 offset: i64,
18700 ) -> nxv2i8;
18701 }
18702 crate::intrinsics::simd::simd_cast(_svldff1sb_gather_u64base_offset_s64(
18703 pg.sve_into(),
18704 bases.as_signed(),
18705 offset,
18706 ))
18707}
18708#[doc = "Load 16-bit data and sign-extend, first-faulting"]
18709#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1sh_gather[_u64base]_offset_s64)"]
18710#[doc = "## Safety"]
18711#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
18712#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
18713#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
18714#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
18715#[inline]
18716#[target_feature(enable = "sve")]
18717#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
18718#[cfg_attr(test, assert_instr(ldff1sh))]
18719pub unsafe fn svldff1sh_gather_u64base_offset_s64(
18720 pg: svbool_t,
18721 bases: svuint64_t,
18722 offset: i64,
18723) -> svint64_t {
18724 unsafe extern "unadjusted" {
18725 #[cfg_attr(
18726 target_arch = "aarch64",
18727 link_name = "llvm.aarch64.sve.ldff1.gather.scalar.offset.nxv2i16.nxv2i64"
18728 )]
18729 fn _svldff1sh_gather_u64base_offset_s64(
18730 pg: svbool2_t,
18731 bases: svint64_t,
18732 offset: i64,
18733 ) -> nxv2i16;
18734 }
18735 crate::intrinsics::simd::simd_cast(_svldff1sh_gather_u64base_offset_s64(
18736 pg.sve_into(),
18737 bases.as_signed(),
18738 offset,
18739 ))
18740}
18741#[doc = "Load 32-bit data and sign-extend, first-faulting"]
18742#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1sw_gather[_u64base]_offset_s64)"]
18743#[doc = "## Safety"]
18744#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
18745#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
18746#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
18747#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
18748#[inline]
18749#[target_feature(enable = "sve")]
18750#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
18751#[cfg_attr(test, assert_instr(ldff1sw))]
18752pub unsafe fn svldff1sw_gather_u64base_offset_s64(
18753 pg: svbool_t,
18754 bases: svuint64_t,
18755 offset: i64,
18756) -> svint64_t {
18757 unsafe extern "unadjusted" {
18758 #[cfg_attr(
18759 target_arch = "aarch64",
18760 link_name = "llvm.aarch64.sve.ldff1.gather.scalar.offset.nxv2i32.nxv2i64"
18761 )]
18762 fn _svldff1sw_gather_u64base_offset_s64(
18763 pg: svbool2_t,
18764 bases: svint64_t,
18765 offset: i64,
18766 ) -> nxv2i32;
18767 }
18768 crate::intrinsics::simd::simd_cast(_svldff1sw_gather_u64base_offset_s64(
18769 pg.sve_into(),
18770 bases.as_signed(),
18771 offset,
18772 ))
18773}
18774#[doc = "Load 8-bit data and sign-extend, first-faulting"]
18775#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1sb_gather[_u64base]_offset_u64)"]
18776#[doc = "## Safety"]
18777#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
18778#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
18779#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
18780#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
18781#[inline]
18782#[target_feature(enable = "sve")]
18783#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
18784#[cfg_attr(test, assert_instr(ldff1sb))]
18785pub unsafe fn svldff1sb_gather_u64base_offset_u64(
18786 pg: svbool_t,
18787 bases: svuint64_t,
18788 offset: i64,
18789) -> svuint64_t {
18790 svldff1sb_gather_u64base_offset_s64(pg, bases, offset).as_unsigned()
18791}
18792#[doc = "Load 16-bit data and sign-extend, first-faulting"]
18793#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1sh_gather[_u64base]_offset_u64)"]
18794#[doc = "## Safety"]
18795#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
18796#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
18797#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
18798#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
18799#[inline]
18800#[target_feature(enable = "sve")]
18801#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
18802#[cfg_attr(test, assert_instr(ldff1sh))]
18803pub unsafe fn svldff1sh_gather_u64base_offset_u64(
18804 pg: svbool_t,
18805 bases: svuint64_t,
18806 offset: i64,
18807) -> svuint64_t {
18808 svldff1sh_gather_u64base_offset_s64(pg, bases, offset).as_unsigned()
18809}
18810#[doc = "Load 32-bit data and sign-extend, first-faulting"]
18811#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1sw_gather[_u64base]_offset_u64)"]
18812#[doc = "## Safety"]
18813#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
18814#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
18815#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
18816#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
18817#[inline]
18818#[target_feature(enable = "sve")]
18819#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
18820#[cfg_attr(test, assert_instr(ldff1sw))]
18821pub unsafe fn svldff1sw_gather_u64base_offset_u64(
18822 pg: svbool_t,
18823 bases: svuint64_t,
18824 offset: i64,
18825) -> svuint64_t {
18826 svldff1sw_gather_u64base_offset_s64(pg, bases, offset).as_unsigned()
18827}
18828#[doc = "Load 8-bit data and sign-extend, first-faulting"]
18829#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1sb_gather[_u32base]_s32)"]
18830#[doc = "## Safety"]
18831#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
18832#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
18833#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
18834#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
18835#[inline]
18836#[target_feature(enable = "sve")]
18837#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
18838#[cfg_attr(test, assert_instr(ldff1sb))]
18839pub unsafe fn svldff1sb_gather_u32base_s32(pg: svbool_t, bases: svuint32_t) -> svint32_t {
18840 svldff1sb_gather_u32base_offset_s32(pg, bases, 0)
18841}
18842#[doc = "Load 16-bit data and sign-extend, first-faulting"]
18843#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1sh_gather[_u32base]_s32)"]
18844#[doc = "## Safety"]
18845#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
18846#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
18847#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
18848#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
18849#[inline]
18850#[target_feature(enable = "sve")]
18851#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
18852#[cfg_attr(test, assert_instr(ldff1sh))]
18853pub unsafe fn svldff1sh_gather_u32base_s32(pg: svbool_t, bases: svuint32_t) -> svint32_t {
18854 svldff1sh_gather_u32base_offset_s32(pg, bases, 0)
18855}
18856#[doc = "Load 8-bit data and sign-extend, first-faulting"]
18857#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1sb_gather[_u32base]_u32)"]
18858#[doc = "## Safety"]
18859#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
18860#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
18861#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
18862#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
18863#[inline]
18864#[target_feature(enable = "sve")]
18865#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
18866#[cfg_attr(test, assert_instr(ldff1sb))]
18867pub unsafe fn svldff1sb_gather_u32base_u32(pg: svbool_t, bases: svuint32_t) -> svuint32_t {
18868 svldff1sb_gather_u32base_offset_u32(pg, bases, 0)
18869}
18870#[doc = "Load 16-bit data and sign-extend, first-faulting"]
18871#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1sh_gather[_u32base]_u32)"]
18872#[doc = "## Safety"]
18873#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
18874#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
18875#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
18876#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
18877#[inline]
18878#[target_feature(enable = "sve")]
18879#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
18880#[cfg_attr(test, assert_instr(ldff1sh))]
18881pub unsafe fn svldff1sh_gather_u32base_u32(pg: svbool_t, bases: svuint32_t) -> svuint32_t {
18882 svldff1sh_gather_u32base_offset_u32(pg, bases, 0)
18883}
18884#[doc = "Load 8-bit data and sign-extend, first-faulting"]
18885#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1sb_gather[_u64base]_s64)"]
18886#[doc = "## Safety"]
18887#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
18888#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
18889#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
18890#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
18891#[inline]
18892#[target_feature(enable = "sve")]
18893#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
18894#[cfg_attr(test, assert_instr(ldff1sb))]
18895pub unsafe fn svldff1sb_gather_u64base_s64(pg: svbool_t, bases: svuint64_t) -> svint64_t {
18896 svldff1sb_gather_u64base_offset_s64(pg, bases, 0)
18897}
18898#[doc = "Load 16-bit data and sign-extend, first-faulting"]
18899#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1sh_gather[_u64base]_s64)"]
18900#[doc = "## Safety"]
18901#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
18902#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
18903#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
18904#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
18905#[inline]
18906#[target_feature(enable = "sve")]
18907#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
18908#[cfg_attr(test, assert_instr(ldff1sh))]
18909pub unsafe fn svldff1sh_gather_u64base_s64(pg: svbool_t, bases: svuint64_t) -> svint64_t {
18910 svldff1sh_gather_u64base_offset_s64(pg, bases, 0)
18911}
18912#[doc = "Load 32-bit data and sign-extend, first-faulting"]
18913#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1sw_gather[_u64base]_s64)"]
18914#[doc = "## Safety"]
18915#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
18916#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
18917#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
18918#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
18919#[inline]
18920#[target_feature(enable = "sve")]
18921#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
18922#[cfg_attr(test, assert_instr(ldff1sw))]
18923pub unsafe fn svldff1sw_gather_u64base_s64(pg: svbool_t, bases: svuint64_t) -> svint64_t {
18924 svldff1sw_gather_u64base_offset_s64(pg, bases, 0)
18925}
18926#[doc = "Load 8-bit data and sign-extend, first-faulting"]
18927#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1sb_gather[_u64base]_u64)"]
18928#[doc = "## Safety"]
18929#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
18930#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
18931#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
18932#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
18933#[inline]
18934#[target_feature(enable = "sve")]
18935#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
18936#[cfg_attr(test, assert_instr(ldff1sb))]
18937pub unsafe fn svldff1sb_gather_u64base_u64(pg: svbool_t, bases: svuint64_t) -> svuint64_t {
18938 svldff1sb_gather_u64base_offset_u64(pg, bases, 0)
18939}
18940#[doc = "Load 16-bit data and sign-extend, first-faulting"]
18941#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1sh_gather[_u64base]_u64)"]
18942#[doc = "## Safety"]
18943#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
18944#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
18945#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
18946#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
18947#[inline]
18948#[target_feature(enable = "sve")]
18949#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
18950#[cfg_attr(test, assert_instr(ldff1sh))]
18951pub unsafe fn svldff1sh_gather_u64base_u64(pg: svbool_t, bases: svuint64_t) -> svuint64_t {
18952 svldff1sh_gather_u64base_offset_u64(pg, bases, 0)
18953}
18954#[doc = "Load 32-bit data and sign-extend, first-faulting"]
18955#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1sw_gather[_u64base]_u64)"]
18956#[doc = "## Safety"]
18957#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
18958#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
18959#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
18960#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
18961#[inline]
18962#[target_feature(enable = "sve")]
18963#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
18964#[cfg_attr(test, assert_instr(ldff1sw))]
18965pub unsafe fn svldff1sw_gather_u64base_u64(pg: svbool_t, bases: svuint64_t) -> svuint64_t {
18966 svldff1sw_gather_u64base_offset_u64(pg, bases, 0)
18967}
18968#[doc = "Load 8-bit data and sign-extend, first-faulting"]
18969#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1sb_s16)"]
18970#[doc = "## Safety"]
18971#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
18972#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
18973#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
18974#[inline]
18975#[target_feature(enable = "sve")]
18976#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
18977#[cfg_attr(test, assert_instr(ldff1sb))]
18978pub unsafe fn svldff1sb_s16(pg: svbool_t, base: *const i8) -> svint16_t {
18979 unsafe extern "unadjusted" {
18980 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.ldff1.nxv8i8")]
18981 fn _svldff1sb_s16(pg: svbool8_t, base: *const i8) -> nxv8i8;
18982 }
18983 crate::intrinsics::simd::simd_cast(_svldff1sb_s16(pg.sve_into(), base))
18984}
18985#[doc = "Load 8-bit data and sign-extend, first-faulting"]
18986#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1sb_s32)"]
18987#[doc = "## Safety"]
18988#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
18989#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
18990#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
18991#[inline]
18992#[target_feature(enable = "sve")]
18993#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
18994#[cfg_attr(test, assert_instr(ldff1sb))]
18995pub unsafe fn svldff1sb_s32(pg: svbool_t, base: *const i8) -> svint32_t {
18996 unsafe extern "unadjusted" {
18997 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.ldff1.nxv4i8")]
18998 fn _svldff1sb_s32(pg: svbool4_t, base: *const i8) -> nxv4i8;
18999 }
19000 crate::intrinsics::simd::simd_cast(_svldff1sb_s32(pg.sve_into(), base))
19001}
19002#[doc = "Load 16-bit data and sign-extend, first-faulting"]
19003#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1sh_s32)"]
19004#[doc = "## Safety"]
19005#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
19006#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
19007#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
19008#[inline]
19009#[target_feature(enable = "sve")]
19010#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
19011#[cfg_attr(test, assert_instr(ldff1sh))]
19012pub unsafe fn svldff1sh_s32(pg: svbool_t, base: *const i16) -> svint32_t {
19013 unsafe extern "unadjusted" {
19014 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.ldff1.nxv4i16")]
19015 fn _svldff1sh_s32(pg: svbool4_t, base: *const i16) -> nxv4i16;
19016 }
19017 crate::intrinsics::simd::simd_cast(_svldff1sh_s32(pg.sve_into(), base))
19018}
19019#[doc = "Load 8-bit data and sign-extend, first-faulting"]
19020#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1sb_s64)"]
19021#[doc = "## Safety"]
19022#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
19023#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
19024#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
19025#[inline]
19026#[target_feature(enable = "sve")]
19027#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
19028#[cfg_attr(test, assert_instr(ldff1sb))]
19029pub unsafe fn svldff1sb_s64(pg: svbool_t, base: *const i8) -> svint64_t {
19030 unsafe extern "unadjusted" {
19031 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.ldff1.nxv2i8")]
19032 fn _svldff1sb_s64(pg: svbool2_t, base: *const i8) -> nxv2i8;
19033 }
19034 crate::intrinsics::simd::simd_cast(_svldff1sb_s64(pg.sve_into(), base))
19035}
19036#[doc = "Load 16-bit data and sign-extend, first-faulting"]
19037#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1sh_s64)"]
19038#[doc = "## Safety"]
19039#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
19040#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
19041#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
19042#[inline]
19043#[target_feature(enable = "sve")]
19044#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
19045#[cfg_attr(test, assert_instr(ldff1sh))]
19046pub unsafe fn svldff1sh_s64(pg: svbool_t, base: *const i16) -> svint64_t {
19047 unsafe extern "unadjusted" {
19048 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.ldff1.nxv2i16")]
19049 fn _svldff1sh_s64(pg: svbool2_t, base: *const i16) -> nxv2i16;
19050 }
19051 crate::intrinsics::simd::simd_cast(_svldff1sh_s64(pg.sve_into(), base))
19052}
19053#[doc = "Load 32-bit data and sign-extend, first-faulting"]
19054#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1sw_s64)"]
19055#[doc = "## Safety"]
19056#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
19057#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
19058#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
19059#[inline]
19060#[target_feature(enable = "sve")]
19061#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
19062#[cfg_attr(test, assert_instr(ldff1sw))]
19063pub unsafe fn svldff1sw_s64(pg: svbool_t, base: *const i32) -> svint64_t {
19064 unsafe extern "unadjusted" {
19065 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.ldff1.nxv2i32")]
19066 fn _svldff1sw_s64(pg: svbool2_t, base: *const i32) -> nxv2i32;
19067 }
19068 crate::intrinsics::simd::simd_cast(_svldff1sw_s64(pg.sve_into(), base))
19069}
19070#[doc = "Load 8-bit data and sign-extend, first-faulting"]
19071#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1sb_u16)"]
19072#[doc = "## Safety"]
19073#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
19074#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
19075#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
19076#[inline]
19077#[target_feature(enable = "sve")]
19078#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
19079#[cfg_attr(test, assert_instr(ldff1sb))]
19080pub unsafe fn svldff1sb_u16(pg: svbool_t, base: *const i8) -> svuint16_t {
19081 svldff1sb_s16(pg, base).as_unsigned()
19082}
19083#[doc = "Load 8-bit data and sign-extend, first-faulting"]
19084#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1sb_u32)"]
19085#[doc = "## Safety"]
19086#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
19087#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
19088#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
19089#[inline]
19090#[target_feature(enable = "sve")]
19091#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
19092#[cfg_attr(test, assert_instr(ldff1sb))]
19093pub unsafe fn svldff1sb_u32(pg: svbool_t, base: *const i8) -> svuint32_t {
19094 svldff1sb_s32(pg, base).as_unsigned()
19095}
19096#[doc = "Load 16-bit data and sign-extend, first-faulting"]
19097#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1sh_u32)"]
19098#[doc = "## Safety"]
19099#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
19100#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
19101#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
19102#[inline]
19103#[target_feature(enable = "sve")]
19104#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
19105#[cfg_attr(test, assert_instr(ldff1sh))]
19106pub unsafe fn svldff1sh_u32(pg: svbool_t, base: *const i16) -> svuint32_t {
19107 svldff1sh_s32(pg, base).as_unsigned()
19108}
19109#[doc = "Load 8-bit data and sign-extend, first-faulting"]
19110#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1sb_u64)"]
19111#[doc = "## Safety"]
19112#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
19113#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
19114#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
19115#[inline]
19116#[target_feature(enable = "sve")]
19117#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
19118#[cfg_attr(test, assert_instr(ldff1sb))]
19119pub unsafe fn svldff1sb_u64(pg: svbool_t, base: *const i8) -> svuint64_t {
19120 svldff1sb_s64(pg, base).as_unsigned()
19121}
19122#[doc = "Load 16-bit data and sign-extend, first-faulting"]
19123#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1sh_u64)"]
19124#[doc = "## Safety"]
19125#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
19126#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
19127#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
19128#[inline]
19129#[target_feature(enable = "sve")]
19130#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
19131#[cfg_attr(test, assert_instr(ldff1sh))]
19132pub unsafe fn svldff1sh_u64(pg: svbool_t, base: *const i16) -> svuint64_t {
19133 svldff1sh_s64(pg, base).as_unsigned()
19134}
19135#[doc = "Load 32-bit data and sign-extend, first-faulting"]
19136#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1sw_u64)"]
19137#[doc = "## Safety"]
19138#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
19139#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
19140#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
19141#[inline]
19142#[target_feature(enable = "sve")]
19143#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
19144#[cfg_attr(test, assert_instr(ldff1sw))]
19145pub unsafe fn svldff1sw_u64(pg: svbool_t, base: *const i32) -> svuint64_t {
19146 svldff1sw_s64(pg, base).as_unsigned()
19147}
19148#[doc = "Load 8-bit data and sign-extend, first-faulting"]
19149#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1sb_vnum_s16)"]
19150#[doc = "## Safety"]
19151#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour). In particular, note that `vnum` is scaled by the vector length, `VL`, which is not known at compile time."]
19152#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
19153#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
19154#[inline]
19155#[target_feature(enable = "sve")]
19156#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
19157#[cfg_attr(test, assert_instr(ldff1sb))]
19158pub unsafe fn svldff1sb_vnum_s16(pg: svbool_t, base: *const i8, vnum: i64) -> svint16_t {
19159 svldff1sb_s16(pg, base.offset(svcnth() as isize * vnum as isize))
19160}
19161#[doc = "Load 8-bit data and sign-extend, first-faulting"]
19162#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1sb_vnum_s32)"]
19163#[doc = "## Safety"]
19164#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour). In particular, note that `vnum` is scaled by the vector length, `VL`, which is not known at compile time."]
19165#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
19166#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
19167#[inline]
19168#[target_feature(enable = "sve")]
19169#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
19170#[cfg_attr(test, assert_instr(ldff1sb))]
19171pub unsafe fn svldff1sb_vnum_s32(pg: svbool_t, base: *const i8, vnum: i64) -> svint32_t {
19172 svldff1sb_s32(pg, base.offset(svcntw() as isize * vnum as isize))
19173}
19174#[doc = "Load 16-bit data and sign-extend, first-faulting"]
19175#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1sh_vnum_s32)"]
19176#[doc = "## Safety"]
19177#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour). In particular, note that `vnum` is scaled by the vector length, `VL`, which is not known at compile time."]
19178#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
19179#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
19180#[inline]
19181#[target_feature(enable = "sve")]
19182#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
19183#[cfg_attr(test, assert_instr(ldff1sh))]
19184pub unsafe fn svldff1sh_vnum_s32(pg: svbool_t, base: *const i16, vnum: i64) -> svint32_t {
19185 svldff1sh_s32(pg, base.offset(svcntw() as isize * vnum as isize))
19186}
19187#[doc = "Load 8-bit data and sign-extend, first-faulting"]
19188#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1sb_vnum_s64)"]
19189#[doc = "## Safety"]
19190#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour). In particular, note that `vnum` is scaled by the vector length, `VL`, which is not known at compile time."]
19191#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
19192#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
19193#[inline]
19194#[target_feature(enable = "sve")]
19195#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
19196#[cfg_attr(test, assert_instr(ldff1sb))]
19197pub unsafe fn svldff1sb_vnum_s64(pg: svbool_t, base: *const i8, vnum: i64) -> svint64_t {
19198 svldff1sb_s64(pg, base.offset(svcntd() as isize * vnum as isize))
19199}
19200#[doc = "Load 16-bit data and sign-extend, first-faulting"]
19201#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1sh_vnum_s64)"]
19202#[doc = "## Safety"]
19203#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour). In particular, note that `vnum` is scaled by the vector length, `VL`, which is not known at compile time."]
19204#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
19205#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
19206#[inline]
19207#[target_feature(enable = "sve")]
19208#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
19209#[cfg_attr(test, assert_instr(ldff1sh))]
19210pub unsafe fn svldff1sh_vnum_s64(pg: svbool_t, base: *const i16, vnum: i64) -> svint64_t {
19211 svldff1sh_s64(pg, base.offset(svcntd() as isize * vnum as isize))
19212}
19213#[doc = "Load 32-bit data and sign-extend, first-faulting"]
19214#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1sw_vnum_s64)"]
19215#[doc = "## Safety"]
19216#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour). In particular, note that `vnum` is scaled by the vector length, `VL`, which is not known at compile time."]
19217#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
19218#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
19219#[inline]
19220#[target_feature(enable = "sve")]
19221#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
19222#[cfg_attr(test, assert_instr(ldff1sw))]
19223pub unsafe fn svldff1sw_vnum_s64(pg: svbool_t, base: *const i32, vnum: i64) -> svint64_t {
19224 svldff1sw_s64(pg, base.offset(svcntd() as isize * vnum as isize))
19225}
19226#[doc = "Load 8-bit data and sign-extend, first-faulting"]
19227#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1sb_vnum_u16)"]
19228#[doc = "## Safety"]
19229#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour). In particular, note that `vnum` is scaled by the vector length, `VL`, which is not known at compile time."]
19230#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
19231#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
19232#[inline]
19233#[target_feature(enable = "sve")]
19234#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
19235#[cfg_attr(test, assert_instr(ldff1sb))]
19236pub unsafe fn svldff1sb_vnum_u16(pg: svbool_t, base: *const i8, vnum: i64) -> svuint16_t {
19237 svldff1sb_u16(pg, base.offset(svcnth() as isize * vnum as isize))
19238}
19239#[doc = "Load 8-bit data and sign-extend, first-faulting"]
19240#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1sb_vnum_u32)"]
19241#[doc = "## Safety"]
19242#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour). In particular, note that `vnum` is scaled by the vector length, `VL`, which is not known at compile time."]
19243#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
19244#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
19245#[inline]
19246#[target_feature(enable = "sve")]
19247#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
19248#[cfg_attr(test, assert_instr(ldff1sb))]
19249pub unsafe fn svldff1sb_vnum_u32(pg: svbool_t, base: *const i8, vnum: i64) -> svuint32_t {
19250 svldff1sb_u32(pg, base.offset(svcntw() as isize * vnum as isize))
19251}
19252#[doc = "Load 16-bit data and sign-extend, first-faulting"]
19253#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1sh_vnum_u32)"]
19254#[doc = "## Safety"]
19255#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour). In particular, note that `vnum` is scaled by the vector length, `VL`, which is not known at compile time."]
19256#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
19257#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
19258#[inline]
19259#[target_feature(enable = "sve")]
19260#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
19261#[cfg_attr(test, assert_instr(ldff1sh))]
19262pub unsafe fn svldff1sh_vnum_u32(pg: svbool_t, base: *const i16, vnum: i64) -> svuint32_t {
19263 svldff1sh_u32(pg, base.offset(svcntw() as isize * vnum as isize))
19264}
19265#[doc = "Load 8-bit data and sign-extend, first-faulting"]
19266#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1sb_vnum_u64)"]
19267#[doc = "## Safety"]
19268#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour). In particular, note that `vnum` is scaled by the vector length, `VL`, which is not known at compile time."]
19269#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
19270#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
19271#[inline]
19272#[target_feature(enable = "sve")]
19273#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
19274#[cfg_attr(test, assert_instr(ldff1sb))]
19275pub unsafe fn svldff1sb_vnum_u64(pg: svbool_t, base: *const i8, vnum: i64) -> svuint64_t {
19276 svldff1sb_u64(pg, base.offset(svcntd() as isize * vnum as isize))
19277}
19278#[doc = "Load 16-bit data and sign-extend, first-faulting"]
19279#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1sh_vnum_u64)"]
19280#[doc = "## Safety"]
19281#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour). In particular, note that `vnum` is scaled by the vector length, `VL`, which is not known at compile time."]
19282#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
19283#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
19284#[inline]
19285#[target_feature(enable = "sve")]
19286#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
19287#[cfg_attr(test, assert_instr(ldff1sh))]
19288pub unsafe fn svldff1sh_vnum_u64(pg: svbool_t, base: *const i16, vnum: i64) -> svuint64_t {
19289 svldff1sh_u64(pg, base.offset(svcntd() as isize * vnum as isize))
19290}
19291#[doc = "Load 32-bit data and sign-extend, first-faulting"]
19292#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1sw_vnum_u64)"]
19293#[doc = "## Safety"]
19294#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour). In particular, note that `vnum` is scaled by the vector length, `VL`, which is not known at compile time."]
19295#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
19296#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
19297#[inline]
19298#[target_feature(enable = "sve")]
19299#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
19300#[cfg_attr(test, assert_instr(ldff1sw))]
19301pub unsafe fn svldff1sw_vnum_u64(pg: svbool_t, base: *const i32, vnum: i64) -> svuint64_t {
19302 svldff1sw_u64(pg, base.offset(svcntd() as isize * vnum as isize))
19303}
19304#[doc = "Load 16-bit data and sign-extend, first-faulting"]
19305#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1sh_gather_[s32]index_s32)"]
19306#[doc = "## Safety"]
19307#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
19308#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
19309#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
19310#[inline]
19311#[target_feature(enable = "sve")]
19312#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
19313#[cfg_attr(test, assert_instr(ldff1sh))]
19314pub unsafe fn svldff1sh_gather_s32index_s32(
19315 pg: svbool_t,
19316 base: *const i16,
19317 indices: svint32_t,
19318) -> svint32_t {
19319 unsafe extern "unadjusted" {
19320 #[cfg_attr(
19321 target_arch = "aarch64",
19322 link_name = "llvm.aarch64.sve.ldff1.gather.sxtw.index.nxv4i16"
19323 )]
19324 fn _svldff1sh_gather_s32index_s32(
19325 pg: svbool4_t,
19326 base: *const i16,
19327 indices: svint32_t,
19328 ) -> nxv4i16;
19329 }
19330 crate::intrinsics::simd::simd_cast(_svldff1sh_gather_s32index_s32(pg.sve_into(), base, indices))
19331}
19332#[doc = "Load 16-bit data and sign-extend, first-faulting"]
19333#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1sh_gather_[s32]index_u32)"]
19334#[doc = "## Safety"]
19335#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
19336#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
19337#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
19338#[inline]
19339#[target_feature(enable = "sve")]
19340#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
19341#[cfg_attr(test, assert_instr(ldff1sh))]
19342pub unsafe fn svldff1sh_gather_s32index_u32(
19343 pg: svbool_t,
19344 base: *const i16,
19345 indices: svint32_t,
19346) -> svuint32_t {
19347 svldff1sh_gather_s32index_s32(pg, base, indices).as_unsigned()
19348}
19349#[doc = "Load 16-bit data and sign-extend, first-faulting"]
19350#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1sh_gather_[s64]index_s64)"]
19351#[doc = "## Safety"]
19352#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
19353#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
19354#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
19355#[inline]
19356#[target_feature(enable = "sve")]
19357#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
19358#[cfg_attr(test, assert_instr(ldff1sh))]
19359pub unsafe fn svldff1sh_gather_s64index_s64(
19360 pg: svbool_t,
19361 base: *const i16,
19362 indices: svint64_t,
19363) -> svint64_t {
19364 unsafe extern "unadjusted" {
19365 #[cfg_attr(
19366 target_arch = "aarch64",
19367 link_name = "llvm.aarch64.sve.ldff1.gather.index.nxv2i16"
19368 )]
19369 fn _svldff1sh_gather_s64index_s64(
19370 pg: svbool2_t,
19371 base: *const i16,
19372 indices: svint64_t,
19373 ) -> nxv2i16;
19374 }
19375 crate::intrinsics::simd::simd_cast(_svldff1sh_gather_s64index_s64(pg.sve_into(), base, indices))
19376}
19377#[doc = "Load 32-bit data and sign-extend, first-faulting"]
19378#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1sw_gather_[s64]index_s64)"]
19379#[doc = "## Safety"]
19380#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
19381#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
19382#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
19383#[inline]
19384#[target_feature(enable = "sve")]
19385#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
19386#[cfg_attr(test, assert_instr(ldff1sw))]
19387pub unsafe fn svldff1sw_gather_s64index_s64(
19388 pg: svbool_t,
19389 base: *const i32,
19390 indices: svint64_t,
19391) -> svint64_t {
19392 unsafe extern "unadjusted" {
19393 #[cfg_attr(
19394 target_arch = "aarch64",
19395 link_name = "llvm.aarch64.sve.ldff1.gather.index.nxv2i32"
19396 )]
19397 fn _svldff1sw_gather_s64index_s64(
19398 pg: svbool2_t,
19399 base: *const i32,
19400 indices: svint64_t,
19401 ) -> nxv2i32;
19402 }
19403 crate::intrinsics::simd::simd_cast(_svldff1sw_gather_s64index_s64(pg.sve_into(), base, indices))
19404}
19405#[doc = "Load 16-bit data and sign-extend, first-faulting"]
19406#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1sh_gather_[s64]index_u64)"]
19407#[doc = "## Safety"]
19408#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
19409#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
19410#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
19411#[inline]
19412#[target_feature(enable = "sve")]
19413#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
19414#[cfg_attr(test, assert_instr(ldff1sh))]
19415pub unsafe fn svldff1sh_gather_s64index_u64(
19416 pg: svbool_t,
19417 base: *const i16,
19418 indices: svint64_t,
19419) -> svuint64_t {
19420 svldff1sh_gather_s64index_s64(pg, base, indices).as_unsigned()
19421}
19422#[doc = "Load 32-bit data and sign-extend, first-faulting"]
19423#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1sw_gather_[s64]index_u64)"]
19424#[doc = "## Safety"]
19425#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
19426#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
19427#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
19428#[inline]
19429#[target_feature(enable = "sve")]
19430#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
19431#[cfg_attr(test, assert_instr(ldff1sw))]
19432pub unsafe fn svldff1sw_gather_s64index_u64(
19433 pg: svbool_t,
19434 base: *const i32,
19435 indices: svint64_t,
19436) -> svuint64_t {
19437 svldff1sw_gather_s64index_s64(pg, base, indices).as_unsigned()
19438}
19439#[doc = "Load 16-bit data and sign-extend, first-faulting"]
19440#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1sh_gather_[u32]index_s32)"]
19441#[doc = "## Safety"]
19442#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
19443#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
19444#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
19445#[inline]
19446#[target_feature(enable = "sve")]
19447#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
19448#[cfg_attr(test, assert_instr(ldff1sh))]
19449pub unsafe fn svldff1sh_gather_u32index_s32(
19450 pg: svbool_t,
19451 base: *const i16,
19452 indices: svuint32_t,
19453) -> svint32_t {
19454 unsafe extern "unadjusted" {
19455 #[cfg_attr(
19456 target_arch = "aarch64",
19457 link_name = "llvm.aarch64.sve.ldff1.gather.uxtw.index.nxv4i16"
19458 )]
19459 fn _svldff1sh_gather_u32index_s32(
19460 pg: svbool4_t,
19461 base: *const i16,
19462 indices: svint32_t,
19463 ) -> nxv4i16;
19464 }
19465 crate::intrinsics::simd::simd_cast(_svldff1sh_gather_u32index_s32(
19466 pg.sve_into(),
19467 base,
19468 indices.as_signed(),
19469 ))
19470}
19471#[doc = "Load 16-bit data and sign-extend, first-faulting"]
19472#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1sh_gather_[u32]index_u32)"]
19473#[doc = "## Safety"]
19474#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
19475#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
19476#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
19477#[inline]
19478#[target_feature(enable = "sve")]
19479#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
19480#[cfg_attr(test, assert_instr(ldff1sh))]
19481pub unsafe fn svldff1sh_gather_u32index_u32(
19482 pg: svbool_t,
19483 base: *const i16,
19484 indices: svuint32_t,
19485) -> svuint32_t {
19486 svldff1sh_gather_u32index_s32(pg, base, indices).as_unsigned()
19487}
19488#[doc = "Load 16-bit data and sign-extend, first-faulting"]
19489#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1sh_gather_[u64]index_s64)"]
19490#[doc = "## Safety"]
19491#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
19492#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
19493#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
19494#[inline]
19495#[target_feature(enable = "sve")]
19496#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
19497#[cfg_attr(test, assert_instr(ldff1sh))]
19498pub unsafe fn svldff1sh_gather_u64index_s64(
19499 pg: svbool_t,
19500 base: *const i16,
19501 indices: svuint64_t,
19502) -> svint64_t {
19503 svldff1sh_gather_s64index_s64(pg, base, indices.as_signed())
19504}
19505#[doc = "Load 32-bit data and sign-extend, first-faulting"]
19506#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1sw_gather_[u64]index_s64)"]
19507#[doc = "## Safety"]
19508#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
19509#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
19510#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
19511#[inline]
19512#[target_feature(enable = "sve")]
19513#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
19514#[cfg_attr(test, assert_instr(ldff1sw))]
19515pub unsafe fn svldff1sw_gather_u64index_s64(
19516 pg: svbool_t,
19517 base: *const i32,
19518 indices: svuint64_t,
19519) -> svint64_t {
19520 svldff1sw_gather_s64index_s64(pg, base, indices.as_signed())
19521}
19522#[doc = "Load 16-bit data and sign-extend, first-faulting"]
19523#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1sh_gather_[u64]index_u64)"]
19524#[doc = "## Safety"]
19525#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
19526#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
19527#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
19528#[inline]
19529#[target_feature(enable = "sve")]
19530#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
19531#[cfg_attr(test, assert_instr(ldff1sh))]
19532pub unsafe fn svldff1sh_gather_u64index_u64(
19533 pg: svbool_t,
19534 base: *const i16,
19535 indices: svuint64_t,
19536) -> svuint64_t {
19537 svldff1sh_gather_s64index_s64(pg, base, indices.as_signed()).as_unsigned()
19538}
19539#[doc = "Load 32-bit data and sign-extend, first-faulting"]
19540#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1sw_gather_[u64]index_u64)"]
19541#[doc = "## Safety"]
19542#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
19543#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
19544#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
19545#[inline]
19546#[target_feature(enable = "sve")]
19547#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
19548#[cfg_attr(test, assert_instr(ldff1sw))]
19549pub unsafe fn svldff1sw_gather_u64index_u64(
19550 pg: svbool_t,
19551 base: *const i32,
19552 indices: svuint64_t,
19553) -> svuint64_t {
19554 svldff1sw_gather_s64index_s64(pg, base, indices.as_signed()).as_unsigned()
19555}
19556#[doc = "Load 16-bit data and sign-extend, first-faulting"]
19557#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1sh_gather[_u32base]_index_s32)"]
19558#[doc = "## Safety"]
19559#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
19560#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
19561#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
19562#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
19563#[inline]
19564#[target_feature(enable = "sve")]
19565#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
19566#[cfg_attr(test, assert_instr(ldff1sh))]
19567pub unsafe fn svldff1sh_gather_u32base_index_s32(
19568 pg: svbool_t,
19569 bases: svuint32_t,
19570 index: i64,
19571) -> svint32_t {
19572 svldff1sh_gather_u32base_offset_s32(pg, bases, index.unchecked_shl(1))
19573}
19574#[doc = "Load 16-bit data and sign-extend, first-faulting"]
19575#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1sh_gather[_u32base]_index_u32)"]
19576#[doc = "## Safety"]
19577#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
19578#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
19579#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
19580#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
19581#[inline]
19582#[target_feature(enable = "sve")]
19583#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
19584#[cfg_attr(test, assert_instr(ldff1sh))]
19585pub unsafe fn svldff1sh_gather_u32base_index_u32(
19586 pg: svbool_t,
19587 bases: svuint32_t,
19588 index: i64,
19589) -> svuint32_t {
19590 svldff1sh_gather_u32base_offset_u32(pg, bases, index.unchecked_shl(1))
19591}
19592#[doc = "Load 16-bit data and sign-extend, first-faulting"]
19593#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1sh_gather[_u64base]_index_s64)"]
19594#[doc = "## Safety"]
19595#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
19596#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
19597#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
19598#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
19599#[inline]
19600#[target_feature(enable = "sve")]
19601#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
19602#[cfg_attr(test, assert_instr(ldff1sh))]
19603pub unsafe fn svldff1sh_gather_u64base_index_s64(
19604 pg: svbool_t,
19605 bases: svuint64_t,
19606 index: i64,
19607) -> svint64_t {
19608 svldff1sh_gather_u64base_offset_s64(pg, bases, index.unchecked_shl(1))
19609}
19610#[doc = "Load 32-bit data and sign-extend, first-faulting"]
19611#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1sw_gather[_u64base]_index_s64)"]
19612#[doc = "## Safety"]
19613#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
19614#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
19615#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
19616#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
19617#[inline]
19618#[target_feature(enable = "sve")]
19619#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
19620#[cfg_attr(test, assert_instr(ldff1sw))]
19621pub unsafe fn svldff1sw_gather_u64base_index_s64(
19622 pg: svbool_t,
19623 bases: svuint64_t,
19624 index: i64,
19625) -> svint64_t {
19626 svldff1sw_gather_u64base_offset_s64(pg, bases, index.unchecked_shl(2))
19627}
19628#[doc = "Load 16-bit data and sign-extend, first-faulting"]
19629#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1sh_gather[_u64base]_index_u64)"]
19630#[doc = "## Safety"]
19631#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
19632#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
19633#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
19634#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
19635#[inline]
19636#[target_feature(enable = "sve")]
19637#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
19638#[cfg_attr(test, assert_instr(ldff1sh))]
19639pub unsafe fn svldff1sh_gather_u64base_index_u64(
19640 pg: svbool_t,
19641 bases: svuint64_t,
19642 index: i64,
19643) -> svuint64_t {
19644 svldff1sh_gather_u64base_offset_u64(pg, bases, index.unchecked_shl(1))
19645}
19646#[doc = "Load 32-bit data and sign-extend, first-faulting"]
19647#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1sw_gather[_u64base]_index_u64)"]
19648#[doc = "## Safety"]
19649#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
19650#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
19651#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
19652#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
19653#[inline]
19654#[target_feature(enable = "sve")]
19655#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
19656#[cfg_attr(test, assert_instr(ldff1sw))]
19657pub unsafe fn svldff1sw_gather_u64base_index_u64(
19658 pg: svbool_t,
19659 bases: svuint64_t,
19660 index: i64,
19661) -> svuint64_t {
19662 svldff1sw_gather_u64base_offset_u64(pg, bases, index.unchecked_shl(2))
19663}
19664#[doc = "Load 8-bit data and zero-extend, first-faulting"]
19665#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1ub_gather_[s32]offset_s32)"]
19666#[doc = "## Safety"]
19667#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
19668#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
19669#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
19670#[inline]
19671#[target_feature(enable = "sve")]
19672#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
19673#[cfg_attr(test, assert_instr(ldff1b))]
19674pub unsafe fn svldff1ub_gather_s32offset_s32(
19675 pg: svbool_t,
19676 base: *const u8,
19677 offsets: svint32_t,
19678) -> svint32_t {
19679 svldff1ub_gather_s32offset_u32(pg, base, offsets).as_signed()
19680}
19681#[doc = "Load 16-bit data and zero-extend, first-faulting"]
19682#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1uh_gather_[s32]offset_s32)"]
19683#[doc = "## Safety"]
19684#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
19685#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
19686#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
19687#[inline]
19688#[target_feature(enable = "sve")]
19689#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
19690#[cfg_attr(test, assert_instr(ldff1h))]
19691pub unsafe fn svldff1uh_gather_s32offset_s32(
19692 pg: svbool_t,
19693 base: *const u16,
19694 offsets: svint32_t,
19695) -> svint32_t {
19696 svldff1uh_gather_s32offset_u32(pg, base, offsets).as_signed()
19697}
19698#[doc = "Load 8-bit data and zero-extend, first-faulting"]
19699#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1ub_gather_[s32]offset_u32)"]
19700#[doc = "## Safety"]
19701#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
19702#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
19703#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
19704#[inline]
19705#[target_feature(enable = "sve")]
19706#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
19707#[cfg_attr(test, assert_instr(ldff1b))]
19708pub unsafe fn svldff1ub_gather_s32offset_u32(
19709 pg: svbool_t,
19710 base: *const u8,
19711 offsets: svint32_t,
19712) -> svuint32_t {
19713 unsafe extern "unadjusted" {
19714 #[cfg_attr(
19715 target_arch = "aarch64",
19716 link_name = "llvm.aarch64.sve.ldff1.gather.sxtw.nxv4i8"
19717 )]
19718 fn _svldff1ub_gather_s32offset_u32(
19719 pg: svbool4_t,
19720 base: *const i8,
19721 offsets: svint32_t,
19722 ) -> nxv4i8;
19723 }
19724 crate::intrinsics::simd::simd_cast::<nxv4u8, _>(
19725 _svldff1ub_gather_s32offset_u32(pg.sve_into(), base.as_signed(), offsets).as_unsigned(),
19726 )
19727}
19728#[doc = "Load 16-bit data and zero-extend, first-faulting"]
19729#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1uh_gather_[s32]offset_u32)"]
19730#[doc = "## Safety"]
19731#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
19732#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
19733#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
19734#[inline]
19735#[target_feature(enable = "sve")]
19736#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
19737#[cfg_attr(test, assert_instr(ldff1h))]
19738pub unsafe fn svldff1uh_gather_s32offset_u32(
19739 pg: svbool_t,
19740 base: *const u16,
19741 offsets: svint32_t,
19742) -> svuint32_t {
19743 unsafe extern "unadjusted" {
19744 #[cfg_attr(
19745 target_arch = "aarch64",
19746 link_name = "llvm.aarch64.sve.ldff1.gather.sxtw.nxv4i16"
19747 )]
19748 fn _svldff1uh_gather_s32offset_u32(
19749 pg: svbool4_t,
19750 base: *const i16,
19751 offsets: svint32_t,
19752 ) -> nxv4i16;
19753 }
19754 crate::intrinsics::simd::simd_cast::<nxv4u16, _>(
19755 _svldff1uh_gather_s32offset_u32(pg.sve_into(), base.as_signed(), offsets).as_unsigned(),
19756 )
19757}
19758#[doc = "Load 8-bit data and zero-extend, first-faulting"]
19759#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1ub_gather_[s64]offset_s64)"]
19760#[doc = "## Safety"]
19761#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
19762#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
19763#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
19764#[inline]
19765#[target_feature(enable = "sve")]
19766#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
19767#[cfg_attr(test, assert_instr(ldff1b))]
19768pub unsafe fn svldff1ub_gather_s64offset_s64(
19769 pg: svbool_t,
19770 base: *const u8,
19771 offsets: svint64_t,
19772) -> svint64_t {
19773 svldff1ub_gather_s64offset_u64(pg, base, offsets).as_signed()
19774}
19775#[doc = "Load 16-bit data and zero-extend, first-faulting"]
19776#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1uh_gather_[s64]offset_s64)"]
19777#[doc = "## Safety"]
19778#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
19779#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
19780#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
19781#[inline]
19782#[target_feature(enable = "sve")]
19783#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
19784#[cfg_attr(test, assert_instr(ldff1h))]
19785pub unsafe fn svldff1uh_gather_s64offset_s64(
19786 pg: svbool_t,
19787 base: *const u16,
19788 offsets: svint64_t,
19789) -> svint64_t {
19790 svldff1uh_gather_s64offset_u64(pg, base, offsets).as_signed()
19791}
19792#[doc = "Load 32-bit data and zero-extend, first-faulting"]
19793#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1uw_gather_[s64]offset_s64)"]
19794#[doc = "## Safety"]
19795#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
19796#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
19797#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
19798#[inline]
19799#[target_feature(enable = "sve")]
19800#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
19801#[cfg_attr(test, assert_instr(ldff1w))]
19802pub unsafe fn svldff1uw_gather_s64offset_s64(
19803 pg: svbool_t,
19804 base: *const u32,
19805 offsets: svint64_t,
19806) -> svint64_t {
19807 svldff1uw_gather_s64offset_u64(pg, base, offsets).as_signed()
19808}
19809#[doc = "Load 8-bit data and zero-extend, first-faulting"]
19810#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1ub_gather_[s64]offset_u64)"]
19811#[doc = "## Safety"]
19812#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
19813#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
19814#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
19815#[inline]
19816#[target_feature(enable = "sve")]
19817#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
19818#[cfg_attr(test, assert_instr(ldff1b))]
19819pub unsafe fn svldff1ub_gather_s64offset_u64(
19820 pg: svbool_t,
19821 base: *const u8,
19822 offsets: svint64_t,
19823) -> svuint64_t {
19824 unsafe extern "unadjusted" {
19825 #[cfg_attr(
19826 target_arch = "aarch64",
19827 link_name = "llvm.aarch64.sve.ldff1.gather.nxv2i8"
19828 )]
19829 fn _svldff1ub_gather_s64offset_u64(
19830 pg: svbool2_t,
19831 base: *const i8,
19832 offsets: svint64_t,
19833 ) -> nxv2i8;
19834 }
19835 crate::intrinsics::simd::simd_cast::<nxv2u8, _>(
19836 _svldff1ub_gather_s64offset_u64(pg.sve_into(), base.as_signed(), offsets).as_unsigned(),
19837 )
19838}
19839#[doc = "Load 16-bit data and zero-extend, first-faulting"]
19840#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1uh_gather_[s64]offset_u64)"]
19841#[doc = "## Safety"]
19842#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
19843#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
19844#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
19845#[inline]
19846#[target_feature(enable = "sve")]
19847#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
19848#[cfg_attr(test, assert_instr(ldff1h))]
19849pub unsafe fn svldff1uh_gather_s64offset_u64(
19850 pg: svbool_t,
19851 base: *const u16,
19852 offsets: svint64_t,
19853) -> svuint64_t {
19854 unsafe extern "unadjusted" {
19855 #[cfg_attr(
19856 target_arch = "aarch64",
19857 link_name = "llvm.aarch64.sve.ldff1.gather.nxv2i16"
19858 )]
19859 fn _svldff1uh_gather_s64offset_u64(
19860 pg: svbool2_t,
19861 base: *const i16,
19862 offsets: svint64_t,
19863 ) -> nxv2i16;
19864 }
19865 crate::intrinsics::simd::simd_cast::<nxv2u16, _>(
19866 _svldff1uh_gather_s64offset_u64(pg.sve_into(), base.as_signed(), offsets).as_unsigned(),
19867 )
19868}
19869#[doc = "Load 32-bit data and zero-extend, first-faulting"]
19870#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1uw_gather_[s64]offset_u64)"]
19871#[doc = "## Safety"]
19872#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
19873#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
19874#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
19875#[inline]
19876#[target_feature(enable = "sve")]
19877#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
19878#[cfg_attr(test, assert_instr(ldff1w))]
19879pub unsafe fn svldff1uw_gather_s64offset_u64(
19880 pg: svbool_t,
19881 base: *const u32,
19882 offsets: svint64_t,
19883) -> svuint64_t {
19884 unsafe extern "unadjusted" {
19885 #[cfg_attr(
19886 target_arch = "aarch64",
19887 link_name = "llvm.aarch64.sve.ldff1.gather.nxv2i32"
19888 )]
19889 fn _svldff1uw_gather_s64offset_u64(
19890 pg: svbool2_t,
19891 base: *const i32,
19892 offsets: svint64_t,
19893 ) -> nxv2i32;
19894 }
19895 crate::intrinsics::simd::simd_cast::<nxv2u32, _>(
19896 _svldff1uw_gather_s64offset_u64(pg.sve_into(), base.as_signed(), offsets).as_unsigned(),
19897 )
19898}
19899#[doc = "Load 8-bit data and zero-extend, first-faulting"]
19900#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1ub_gather_[u32]offset_s32)"]
19901#[doc = "## Safety"]
19902#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
19903#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
19904#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
19905#[inline]
19906#[target_feature(enable = "sve")]
19907#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
19908#[cfg_attr(test, assert_instr(ldff1b))]
19909pub unsafe fn svldff1ub_gather_u32offset_s32(
19910 pg: svbool_t,
19911 base: *const u8,
19912 offsets: svuint32_t,
19913) -> svint32_t {
19914 svldff1ub_gather_u32offset_u32(pg, base, offsets).as_signed()
19915}
19916#[doc = "Load 16-bit data and zero-extend, first-faulting"]
19917#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1uh_gather_[u32]offset_s32)"]
19918#[doc = "## Safety"]
19919#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
19920#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
19921#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
19922#[inline]
19923#[target_feature(enable = "sve")]
19924#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
19925#[cfg_attr(test, assert_instr(ldff1h))]
19926pub unsafe fn svldff1uh_gather_u32offset_s32(
19927 pg: svbool_t,
19928 base: *const u16,
19929 offsets: svuint32_t,
19930) -> svint32_t {
19931 svldff1uh_gather_u32offset_u32(pg, base, offsets).as_signed()
19932}
19933#[doc = "Load 8-bit data and zero-extend, first-faulting"]
19934#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1ub_gather_[u32]offset_u32)"]
19935#[doc = "## Safety"]
19936#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
19937#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
19938#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
19939#[inline]
19940#[target_feature(enable = "sve")]
19941#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
19942#[cfg_attr(test, assert_instr(ldff1b))]
19943pub unsafe fn svldff1ub_gather_u32offset_u32(
19944 pg: svbool_t,
19945 base: *const u8,
19946 offsets: svuint32_t,
19947) -> svuint32_t {
19948 unsafe extern "unadjusted" {
19949 #[cfg_attr(
19950 target_arch = "aarch64",
19951 link_name = "llvm.aarch64.sve.ldff1.gather.uxtw.nxv4i8"
19952 )]
19953 fn _svldff1ub_gather_u32offset_u32(
19954 pg: svbool4_t,
19955 base: *const i8,
19956 offsets: svint32_t,
19957 ) -> nxv4i8;
19958 }
19959 crate::intrinsics::simd::simd_cast::<nxv4u8, _>(
19960 _svldff1ub_gather_u32offset_u32(pg.sve_into(), base.as_signed(), offsets.as_signed())
19961 .as_unsigned(),
19962 )
19963}
19964#[doc = "Load 16-bit data and zero-extend, first-faulting"]
19965#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1uh_gather_[u32]offset_u32)"]
19966#[doc = "## Safety"]
19967#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
19968#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
19969#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
19970#[inline]
19971#[target_feature(enable = "sve")]
19972#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
19973#[cfg_attr(test, assert_instr(ldff1h))]
19974pub unsafe fn svldff1uh_gather_u32offset_u32(
19975 pg: svbool_t,
19976 base: *const u16,
19977 offsets: svuint32_t,
19978) -> svuint32_t {
19979 unsafe extern "unadjusted" {
19980 #[cfg_attr(
19981 target_arch = "aarch64",
19982 link_name = "llvm.aarch64.sve.ldff1.gather.uxtw.nxv4i16"
19983 )]
19984 fn _svldff1uh_gather_u32offset_u32(
19985 pg: svbool4_t,
19986 base: *const i16,
19987 offsets: svint32_t,
19988 ) -> nxv4i16;
19989 }
19990 crate::intrinsics::simd::simd_cast::<nxv4u16, _>(
19991 _svldff1uh_gather_u32offset_u32(pg.sve_into(), base.as_signed(), offsets.as_signed())
19992 .as_unsigned(),
19993 )
19994}
19995#[doc = "Load 8-bit data and zero-extend, first-faulting"]
19996#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1ub_gather_[u64]offset_s64)"]
19997#[doc = "## Safety"]
19998#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
19999#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
20000#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
20001#[inline]
20002#[target_feature(enable = "sve")]
20003#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
20004#[cfg_attr(test, assert_instr(ldff1b))]
20005pub unsafe fn svldff1ub_gather_u64offset_s64(
20006 pg: svbool_t,
20007 base: *const u8,
20008 offsets: svuint64_t,
20009) -> svint64_t {
20010 svldff1ub_gather_s64offset_u64(pg, base, offsets.as_signed()).as_signed()
20011}
20012#[doc = "Load 16-bit data and zero-extend, first-faulting"]
20013#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1uh_gather_[u64]offset_s64)"]
20014#[doc = "## Safety"]
20015#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
20016#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
20017#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
20018#[inline]
20019#[target_feature(enable = "sve")]
20020#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
20021#[cfg_attr(test, assert_instr(ldff1h))]
20022pub unsafe fn svldff1uh_gather_u64offset_s64(
20023 pg: svbool_t,
20024 base: *const u16,
20025 offsets: svuint64_t,
20026) -> svint64_t {
20027 svldff1uh_gather_s64offset_u64(pg, base, offsets.as_signed()).as_signed()
20028}
20029#[doc = "Load 32-bit data and zero-extend, first-faulting"]
20030#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1uw_gather_[u64]offset_s64)"]
20031#[doc = "## Safety"]
20032#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
20033#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
20034#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
20035#[inline]
20036#[target_feature(enable = "sve")]
20037#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
20038#[cfg_attr(test, assert_instr(ldff1w))]
20039pub unsafe fn svldff1uw_gather_u64offset_s64(
20040 pg: svbool_t,
20041 base: *const u32,
20042 offsets: svuint64_t,
20043) -> svint64_t {
20044 svldff1uw_gather_s64offset_u64(pg, base, offsets.as_signed()).as_signed()
20045}
20046#[doc = "Load 8-bit data and zero-extend, first-faulting"]
20047#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1ub_gather_[u64]offset_u64)"]
20048#[doc = "## Safety"]
20049#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
20050#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
20051#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
20052#[inline]
20053#[target_feature(enable = "sve")]
20054#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
20055#[cfg_attr(test, assert_instr(ldff1b))]
20056pub unsafe fn svldff1ub_gather_u64offset_u64(
20057 pg: svbool_t,
20058 base: *const u8,
20059 offsets: svuint64_t,
20060) -> svuint64_t {
20061 svldff1ub_gather_s64offset_u64(pg, base, offsets.as_signed())
20062}
20063#[doc = "Load 16-bit data and zero-extend, first-faulting"]
20064#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1uh_gather_[u64]offset_u64)"]
20065#[doc = "## Safety"]
20066#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
20067#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
20068#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
20069#[inline]
20070#[target_feature(enable = "sve")]
20071#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
20072#[cfg_attr(test, assert_instr(ldff1h))]
20073pub unsafe fn svldff1uh_gather_u64offset_u64(
20074 pg: svbool_t,
20075 base: *const u16,
20076 offsets: svuint64_t,
20077) -> svuint64_t {
20078 svldff1uh_gather_s64offset_u64(pg, base, offsets.as_signed())
20079}
20080#[doc = "Load 32-bit data and zero-extend, first-faulting"]
20081#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1uw_gather_[u64]offset_u64)"]
20082#[doc = "## Safety"]
20083#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
20084#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
20085#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
20086#[inline]
20087#[target_feature(enable = "sve")]
20088#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
20089#[cfg_attr(test, assert_instr(ldff1w))]
20090pub unsafe fn svldff1uw_gather_u64offset_u64(
20091 pg: svbool_t,
20092 base: *const u32,
20093 offsets: svuint64_t,
20094) -> svuint64_t {
20095 svldff1uw_gather_s64offset_u64(pg, base, offsets.as_signed())
20096}
20097#[doc = "Load 8-bit data and zero-extend, first-faulting"]
20098#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1ub_gather[_u32base]_offset_s32)"]
20099#[doc = "## Safety"]
20100#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
20101#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
20102#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
20103#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
20104#[inline]
20105#[target_feature(enable = "sve")]
20106#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
20107#[cfg_attr(test, assert_instr(ldff1b))]
20108pub unsafe fn svldff1ub_gather_u32base_offset_s32(
20109 pg: svbool_t,
20110 bases: svuint32_t,
20111 offset: i64,
20112) -> svint32_t {
20113 svldff1ub_gather_u32base_offset_u32(pg, bases, offset).as_signed()
20114}
20115#[doc = "Load 16-bit data and zero-extend, first-faulting"]
20116#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1uh_gather[_u32base]_offset_s32)"]
20117#[doc = "## Safety"]
20118#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
20119#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
20120#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
20121#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
20122#[inline]
20123#[target_feature(enable = "sve")]
20124#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
20125#[cfg_attr(test, assert_instr(ldff1h))]
20126pub unsafe fn svldff1uh_gather_u32base_offset_s32(
20127 pg: svbool_t,
20128 bases: svuint32_t,
20129 offset: i64,
20130) -> svint32_t {
20131 svldff1uh_gather_u32base_offset_u32(pg, bases, offset).as_signed()
20132}
20133#[doc = "Load 8-bit data and zero-extend, first-faulting"]
20134#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1ub_gather[_u32base]_offset_u32)"]
20135#[doc = "## Safety"]
20136#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
20137#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
20138#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
20139#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
20140#[inline]
20141#[target_feature(enable = "sve")]
20142#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
20143#[cfg_attr(test, assert_instr(ldff1b))]
20144pub unsafe fn svldff1ub_gather_u32base_offset_u32(
20145 pg: svbool_t,
20146 bases: svuint32_t,
20147 offset: i64,
20148) -> svuint32_t {
20149 unsafe extern "unadjusted" {
20150 #[cfg_attr(
20151 target_arch = "aarch64",
20152 link_name = "llvm.aarch64.sve.ldff1.gather.scalar.offset.nxv4i8.nxv4i32"
20153 )]
20154 fn _svldff1ub_gather_u32base_offset_u32(
20155 pg: svbool4_t,
20156 bases: svint32_t,
20157 offset: i64,
20158 ) -> nxv4i8;
20159 }
20160 crate::intrinsics::simd::simd_cast::<nxv4u8, _>(
20161 _svldff1ub_gather_u32base_offset_u32(pg.sve_into(), bases.as_signed(), offset)
20162 .as_unsigned(),
20163 )
20164}
20165#[doc = "Load 16-bit data and zero-extend, first-faulting"]
20166#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1uh_gather[_u32base]_offset_u32)"]
20167#[doc = "## Safety"]
20168#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
20169#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
20170#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
20171#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
20172#[inline]
20173#[target_feature(enable = "sve")]
20174#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
20175#[cfg_attr(test, assert_instr(ldff1h))]
20176pub unsafe fn svldff1uh_gather_u32base_offset_u32(
20177 pg: svbool_t,
20178 bases: svuint32_t,
20179 offset: i64,
20180) -> svuint32_t {
20181 unsafe extern "unadjusted" {
20182 #[cfg_attr(
20183 target_arch = "aarch64",
20184 link_name = "llvm.aarch64.sve.ldff1.gather.scalar.offset.nxv4i16.nxv4i32"
20185 )]
20186 fn _svldff1uh_gather_u32base_offset_u32(
20187 pg: svbool4_t,
20188 bases: svint32_t,
20189 offset: i64,
20190 ) -> nxv4i16;
20191 }
20192 crate::intrinsics::simd::simd_cast::<nxv4u16, _>(
20193 _svldff1uh_gather_u32base_offset_u32(pg.sve_into(), bases.as_signed(), offset)
20194 .as_unsigned(),
20195 )
20196}
20197#[doc = "Load 8-bit data and zero-extend, first-faulting"]
20198#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1ub_gather[_u64base]_offset_s64)"]
20199#[doc = "## Safety"]
20200#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
20201#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
20202#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
20203#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
20204#[inline]
20205#[target_feature(enable = "sve")]
20206#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
20207#[cfg_attr(test, assert_instr(ldff1b))]
20208pub unsafe fn svldff1ub_gather_u64base_offset_s64(
20209 pg: svbool_t,
20210 bases: svuint64_t,
20211 offset: i64,
20212) -> svint64_t {
20213 svldff1ub_gather_u64base_offset_u64(pg, bases, offset).as_signed()
20214}
20215#[doc = "Load 16-bit data and zero-extend, first-faulting"]
20216#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1uh_gather[_u64base]_offset_s64)"]
20217#[doc = "## Safety"]
20218#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
20219#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
20220#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
20221#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
20222#[inline]
20223#[target_feature(enable = "sve")]
20224#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
20225#[cfg_attr(test, assert_instr(ldff1h))]
20226pub unsafe fn svldff1uh_gather_u64base_offset_s64(
20227 pg: svbool_t,
20228 bases: svuint64_t,
20229 offset: i64,
20230) -> svint64_t {
20231 svldff1uh_gather_u64base_offset_u64(pg, bases, offset).as_signed()
20232}
20233#[doc = "Load 32-bit data and zero-extend, first-faulting"]
20234#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1uw_gather[_u64base]_offset_s64)"]
20235#[doc = "## Safety"]
20236#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
20237#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
20238#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
20239#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
20240#[inline]
20241#[target_feature(enable = "sve")]
20242#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
20243#[cfg_attr(test, assert_instr(ldff1w))]
20244pub unsafe fn svldff1uw_gather_u64base_offset_s64(
20245 pg: svbool_t,
20246 bases: svuint64_t,
20247 offset: i64,
20248) -> svint64_t {
20249 svldff1uw_gather_u64base_offset_u64(pg, bases, offset).as_signed()
20250}
20251#[doc = "Load 8-bit data and zero-extend, first-faulting"]
20252#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1ub_gather[_u64base]_offset_u64)"]
20253#[doc = "## Safety"]
20254#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
20255#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
20256#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
20257#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
20258#[inline]
20259#[target_feature(enable = "sve")]
20260#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
20261#[cfg_attr(test, assert_instr(ldff1b))]
20262pub unsafe fn svldff1ub_gather_u64base_offset_u64(
20263 pg: svbool_t,
20264 bases: svuint64_t,
20265 offset: i64,
20266) -> svuint64_t {
20267 unsafe extern "unadjusted" {
20268 #[cfg_attr(
20269 target_arch = "aarch64",
20270 link_name = "llvm.aarch64.sve.ldff1.gather.scalar.offset.nxv2i8.nxv2i64"
20271 )]
20272 fn _svldff1ub_gather_u64base_offset_u64(
20273 pg: svbool2_t,
20274 bases: svint64_t,
20275 offset: i64,
20276 ) -> nxv2i8;
20277 }
20278 crate::intrinsics::simd::simd_cast::<nxv2u8, _>(
20279 _svldff1ub_gather_u64base_offset_u64(pg.sve_into(), bases.as_signed(), offset)
20280 .as_unsigned(),
20281 )
20282}
20283#[doc = "Load 16-bit data and zero-extend, first-faulting"]
20284#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1uh_gather[_u64base]_offset_u64)"]
20285#[doc = "## Safety"]
20286#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
20287#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
20288#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
20289#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
20290#[inline]
20291#[target_feature(enable = "sve")]
20292#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
20293#[cfg_attr(test, assert_instr(ldff1h))]
20294pub unsafe fn svldff1uh_gather_u64base_offset_u64(
20295 pg: svbool_t,
20296 bases: svuint64_t,
20297 offset: i64,
20298) -> svuint64_t {
20299 unsafe extern "unadjusted" {
20300 #[cfg_attr(
20301 target_arch = "aarch64",
20302 link_name = "llvm.aarch64.sve.ldff1.gather.scalar.offset.nxv2i16.nxv2i64"
20303 )]
20304 fn _svldff1uh_gather_u64base_offset_u64(
20305 pg: svbool2_t,
20306 bases: svint64_t,
20307 offset: i64,
20308 ) -> nxv2i16;
20309 }
20310 crate::intrinsics::simd::simd_cast::<nxv2u16, _>(
20311 _svldff1uh_gather_u64base_offset_u64(pg.sve_into(), bases.as_signed(), offset)
20312 .as_unsigned(),
20313 )
20314}
20315#[doc = "Load 32-bit data and zero-extend, first-faulting"]
20316#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1uw_gather[_u64base]_offset_u64)"]
20317#[doc = "## Safety"]
20318#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
20319#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
20320#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
20321#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
20322#[inline]
20323#[target_feature(enable = "sve")]
20324#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
20325#[cfg_attr(test, assert_instr(ldff1w))]
20326pub unsafe fn svldff1uw_gather_u64base_offset_u64(
20327 pg: svbool_t,
20328 bases: svuint64_t,
20329 offset: i64,
20330) -> svuint64_t {
20331 unsafe extern "unadjusted" {
20332 #[cfg_attr(
20333 target_arch = "aarch64",
20334 link_name = "llvm.aarch64.sve.ldff1.gather.scalar.offset.nxv2i32.nxv2i64"
20335 )]
20336 fn _svldff1uw_gather_u64base_offset_u64(
20337 pg: svbool2_t,
20338 bases: svint64_t,
20339 offset: i64,
20340 ) -> nxv2i32;
20341 }
20342 crate::intrinsics::simd::simd_cast::<nxv2u32, _>(
20343 _svldff1uw_gather_u64base_offset_u64(pg.sve_into(), bases.as_signed(), offset)
20344 .as_unsigned(),
20345 )
20346}
20347#[doc = "Load 8-bit data and zero-extend, first-faulting"]
20348#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1ub_gather[_u32base]_s32)"]
20349#[doc = "## Safety"]
20350#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
20351#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
20352#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
20353#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
20354#[inline]
20355#[target_feature(enable = "sve")]
20356#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
20357#[cfg_attr(test, assert_instr(ldff1b))]
20358pub unsafe fn svldff1ub_gather_u32base_s32(pg: svbool_t, bases: svuint32_t) -> svint32_t {
20359 svldff1ub_gather_u32base_offset_s32(pg, bases, 0)
20360}
20361#[doc = "Load 16-bit data and zero-extend, first-faulting"]
20362#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1uh_gather[_u32base]_s32)"]
20363#[doc = "## Safety"]
20364#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
20365#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
20366#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
20367#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
20368#[inline]
20369#[target_feature(enable = "sve")]
20370#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
20371#[cfg_attr(test, assert_instr(ldff1h))]
20372pub unsafe fn svldff1uh_gather_u32base_s32(pg: svbool_t, bases: svuint32_t) -> svint32_t {
20373 svldff1uh_gather_u32base_offset_s32(pg, bases, 0)
20374}
20375#[doc = "Load 8-bit data and zero-extend, first-faulting"]
20376#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1ub_gather[_u32base]_u32)"]
20377#[doc = "## Safety"]
20378#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
20379#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
20380#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
20381#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
20382#[inline]
20383#[target_feature(enable = "sve")]
20384#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
20385#[cfg_attr(test, assert_instr(ldff1b))]
20386pub unsafe fn svldff1ub_gather_u32base_u32(pg: svbool_t, bases: svuint32_t) -> svuint32_t {
20387 svldff1ub_gather_u32base_offset_u32(pg, bases, 0)
20388}
20389#[doc = "Load 16-bit data and zero-extend, first-faulting"]
20390#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1uh_gather[_u32base]_u32)"]
20391#[doc = "## Safety"]
20392#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
20393#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
20394#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
20395#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
20396#[inline]
20397#[target_feature(enable = "sve")]
20398#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
20399#[cfg_attr(test, assert_instr(ldff1h))]
20400pub unsafe fn svldff1uh_gather_u32base_u32(pg: svbool_t, bases: svuint32_t) -> svuint32_t {
20401 svldff1uh_gather_u32base_offset_u32(pg, bases, 0)
20402}
20403#[doc = "Load 8-bit data and zero-extend, first-faulting"]
20404#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1ub_gather[_u64base]_s64)"]
20405#[doc = "## Safety"]
20406#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
20407#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
20408#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
20409#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
20410#[inline]
20411#[target_feature(enable = "sve")]
20412#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
20413#[cfg_attr(test, assert_instr(ldff1b))]
20414pub unsafe fn svldff1ub_gather_u64base_s64(pg: svbool_t, bases: svuint64_t) -> svint64_t {
20415 svldff1ub_gather_u64base_offset_s64(pg, bases, 0)
20416}
20417#[doc = "Load 16-bit data and zero-extend, first-faulting"]
20418#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1uh_gather[_u64base]_s64)"]
20419#[doc = "## Safety"]
20420#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
20421#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
20422#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
20423#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
20424#[inline]
20425#[target_feature(enable = "sve")]
20426#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
20427#[cfg_attr(test, assert_instr(ldff1h))]
20428pub unsafe fn svldff1uh_gather_u64base_s64(pg: svbool_t, bases: svuint64_t) -> svint64_t {
20429 svldff1uh_gather_u64base_offset_s64(pg, bases, 0)
20430}
20431#[doc = "Load 32-bit data and zero-extend, first-faulting"]
20432#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1uw_gather[_u64base]_s64)"]
20433#[doc = "## Safety"]
20434#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
20435#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
20436#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
20437#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
20438#[inline]
20439#[target_feature(enable = "sve")]
20440#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
20441#[cfg_attr(test, assert_instr(ldff1w))]
20442pub unsafe fn svldff1uw_gather_u64base_s64(pg: svbool_t, bases: svuint64_t) -> svint64_t {
20443 svldff1uw_gather_u64base_offset_s64(pg, bases, 0)
20444}
20445#[doc = "Load 8-bit data and zero-extend, first-faulting"]
20446#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1ub_gather[_u64base]_u64)"]
20447#[doc = "## Safety"]
20448#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
20449#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
20450#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
20451#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
20452#[inline]
20453#[target_feature(enable = "sve")]
20454#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
20455#[cfg_attr(test, assert_instr(ldff1b))]
20456pub unsafe fn svldff1ub_gather_u64base_u64(pg: svbool_t, bases: svuint64_t) -> svuint64_t {
20457 svldff1ub_gather_u64base_offset_u64(pg, bases, 0)
20458}
20459#[doc = "Load 16-bit data and zero-extend, first-faulting"]
20460#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1uh_gather[_u64base]_u64)"]
20461#[doc = "## Safety"]
20462#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
20463#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
20464#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
20465#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
20466#[inline]
20467#[target_feature(enable = "sve")]
20468#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
20469#[cfg_attr(test, assert_instr(ldff1h))]
20470pub unsafe fn svldff1uh_gather_u64base_u64(pg: svbool_t, bases: svuint64_t) -> svuint64_t {
20471 svldff1uh_gather_u64base_offset_u64(pg, bases, 0)
20472}
20473#[doc = "Load 32-bit data and zero-extend, first-faulting"]
20474#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1uw_gather[_u64base]_u64)"]
20475#[doc = "## Safety"]
20476#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
20477#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
20478#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
20479#[doc = " * Addresses passed in `bases` lack provenance, so this is similar to using a `usize as ptr` cast (or [`core::ptr::with_exposed_provenance`]) on each lane before using it."]
20480#[inline]
20481#[target_feature(enable = "sve")]
20482#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
20483#[cfg_attr(test, assert_instr(ldff1w))]
20484pub unsafe fn svldff1uw_gather_u64base_u64(pg: svbool_t, bases: svuint64_t) -> svuint64_t {
20485 svldff1uw_gather_u64base_offset_u64(pg, bases, 0)
20486}
20487#[doc = "Load 8-bit data and zero-extend, first-faulting"]
20488#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1ub_s16)"]
20489#[doc = "## Safety"]
20490#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
20491#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
20492#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
20493#[inline]
20494#[target_feature(enable = "sve")]
20495#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
20496#[cfg_attr(test, assert_instr(ldff1b))]
20497pub unsafe fn svldff1ub_s16(pg: svbool_t, base: *const u8) -> svint16_t {
20498 unsafe extern "unadjusted" {
20499 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.ldff1.nxv8i8")]
20500 fn _svldff1ub_s16(pg: svbool8_t, base: *const i8) -> nxv8i8;
20501 }
20502 crate::intrinsics::simd::simd_cast::<nxv8u8, _>(
20503 _svldff1ub_s16(pg.sve_into(), base.as_signed()).as_unsigned(),
20504 )
20505}
20506#[doc = "Load 8-bit data and zero-extend, first-faulting"]
20507#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1ub_s32)"]
20508#[doc = "## Safety"]
20509#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
20510#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
20511#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
20512#[inline]
20513#[target_feature(enable = "sve")]
20514#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
20515#[cfg_attr(test, assert_instr(ldff1b))]
20516pub unsafe fn svldff1ub_s32(pg: svbool_t, base: *const u8) -> svint32_t {
20517 unsafe extern "unadjusted" {
20518 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.ldff1.nxv4i8")]
20519 fn _svldff1ub_s32(pg: svbool4_t, base: *const i8) -> nxv4i8;
20520 }
20521 crate::intrinsics::simd::simd_cast::<nxv4u8, _>(
20522 _svldff1ub_s32(pg.sve_into(), base.as_signed()).as_unsigned(),
20523 )
20524}
20525#[doc = "Load 16-bit data and zero-extend, first-faulting"]
20526#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1uh_s32)"]
20527#[doc = "## Safety"]
20528#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
20529#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
20530#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
20531#[inline]
20532#[target_feature(enable = "sve")]
20533#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
20534#[cfg_attr(test, assert_instr(ldff1h))]
20535pub unsafe fn svldff1uh_s32(pg: svbool_t, base: *const u16) -> svint32_t {
20536 unsafe extern "unadjusted" {
20537 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.ldff1.nxv4i16")]
20538 fn _svldff1uh_s32(pg: svbool4_t, base: *const i16) -> nxv4i16;
20539 }
20540 crate::intrinsics::simd::simd_cast::<nxv4u16, _>(
20541 _svldff1uh_s32(pg.sve_into(), base.as_signed()).as_unsigned(),
20542 )
20543}
20544#[doc = "Load 8-bit data and zero-extend, first-faulting"]
20545#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1ub_s64)"]
20546#[doc = "## Safety"]
20547#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
20548#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
20549#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
20550#[inline]
20551#[target_feature(enable = "sve")]
20552#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
20553#[cfg_attr(test, assert_instr(ldff1b))]
20554pub unsafe fn svldff1ub_s64(pg: svbool_t, base: *const u8) -> svint64_t {
20555 unsafe extern "unadjusted" {
20556 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.ldff1.nxv2i8")]
20557 fn _svldff1ub_s64(pg: svbool2_t, base: *const i8) -> nxv2i8;
20558 }
20559 crate::intrinsics::simd::simd_cast::<nxv2u8, _>(
20560 _svldff1ub_s64(pg.sve_into(), base.as_signed()).as_unsigned(),
20561 )
20562}
20563#[doc = "Load 16-bit data and zero-extend, first-faulting"]
20564#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1uh_s64)"]
20565#[doc = "## Safety"]
20566#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
20567#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
20568#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
20569#[inline]
20570#[target_feature(enable = "sve")]
20571#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
20572#[cfg_attr(test, assert_instr(ldff1h))]
20573pub unsafe fn svldff1uh_s64(pg: svbool_t, base: *const u16) -> svint64_t {
20574 unsafe extern "unadjusted" {
20575 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.ldff1.nxv2i16")]
20576 fn _svldff1uh_s64(pg: svbool2_t, base: *const i16) -> nxv2i16;
20577 }
20578 crate::intrinsics::simd::simd_cast::<nxv2u16, _>(
20579 _svldff1uh_s64(pg.sve_into(), base.as_signed()).as_unsigned(),
20580 )
20581}
20582#[doc = "Load 32-bit data and zero-extend, first-faulting"]
20583#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1uw_s64)"]
20584#[doc = "## Safety"]
20585#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
20586#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
20587#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
20588#[inline]
20589#[target_feature(enable = "sve")]
20590#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
20591#[cfg_attr(test, assert_instr(ldff1w))]
20592pub unsafe fn svldff1uw_s64(pg: svbool_t, base: *const u32) -> svint64_t {
20593 unsafe extern "unadjusted" {
20594 #[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.sve.ldff1.nxv2i32")]
20595 fn _svldff1uw_s64(pg: svbool2_t, base: *const i32) -> nxv2i32;
20596 }
20597 crate::intrinsics::simd::simd_cast::<nxv2u32, _>(
20598 _svldff1uw_s64(pg.sve_into(), base.as_signed()).as_unsigned(),
20599 )
20600}
20601#[doc = "Load 8-bit data and zero-extend, first-faulting"]
20602#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1ub_u16)"]
20603#[doc = "## Safety"]
20604#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
20605#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
20606#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
20607#[inline]
20608#[target_feature(enable = "sve")]
20609#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
20610#[cfg_attr(test, assert_instr(ldff1b))]
20611pub unsafe fn svldff1ub_u16(pg: svbool_t, base: *const u8) -> svuint16_t {
20612 svldff1ub_s16(pg, base).as_unsigned()
20613}
20614#[doc = "Load 8-bit data and zero-extend, first-faulting"]
20615#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1ub_u32)"]
20616#[doc = "## Safety"]
20617#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
20618#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
20619#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
20620#[inline]
20621#[target_feature(enable = "sve")]
20622#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
20623#[cfg_attr(test, assert_instr(ldff1b))]
20624pub unsafe fn svldff1ub_u32(pg: svbool_t, base: *const u8) -> svuint32_t {
20625 svldff1ub_s32(pg, base).as_unsigned()
20626}
20627#[doc = "Load 16-bit data and zero-extend, first-faulting"]
20628#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1uh_u32)"]
20629#[doc = "## Safety"]
20630#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
20631#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
20632#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
20633#[inline]
20634#[target_feature(enable = "sve")]
20635#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
20636#[cfg_attr(test, assert_instr(ldff1h))]
20637pub unsafe fn svldff1uh_u32(pg: svbool_t, base: *const u16) -> svuint32_t {
20638 svldff1uh_s32(pg, base).as_unsigned()
20639}
20640#[doc = "Load 8-bit data and zero-extend, first-faulting"]
20641#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1ub_u64)"]
20642#[doc = "## Safety"]
20643#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
20644#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
20645#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
20646#[inline]
20647#[target_feature(enable = "sve")]
20648#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
20649#[cfg_attr(test, assert_instr(ldff1b))]
20650pub unsafe fn svldff1ub_u64(pg: svbool_t, base: *const u8) -> svuint64_t {
20651 svldff1ub_s64(pg, base).as_unsigned()
20652}
20653#[doc = "Load 16-bit data and zero-extend, first-faulting"]
20654#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1uh_u64)"]
20655#[doc = "## Safety"]
20656#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
20657#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
20658#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
20659#[inline]
20660#[target_feature(enable = "sve")]
20661#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
20662#[cfg_attr(test, assert_instr(ldff1h))]
20663pub unsafe fn svldff1uh_u64(pg: svbool_t, base: *const u16) -> svuint64_t {
20664 svldff1uh_s64(pg, base).as_unsigned()
20665}
20666#[doc = "Load 32-bit data and zero-extend, first-faulting"]
20667#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1uw_u64)"]
20668#[doc = "## Safety"]
20669#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
20670#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
20671#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
20672#[inline]
20673#[target_feature(enable = "sve")]
20674#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
20675#[cfg_attr(test, assert_instr(ldff1w))]
20676pub unsafe fn svldff1uw_u64(pg: svbool_t, base: *const u32) -> svuint64_t {
20677 svldff1uw_s64(pg, base).as_unsigned()
20678}
20679#[doc = "Load 8-bit data and zero-extend, first-faulting"]
20680#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1ub_vnum_s16)"]
20681#[doc = "## Safety"]
20682#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour). In particular, note that `vnum` is scaled by the vector length, `VL`, which is not known at compile time."]
20683#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
20684#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
20685#[inline]
20686#[target_feature(enable = "sve")]
20687#[unstable(feature = "stdarch_aarch64_sve", issue = "145052")]
20688#[cfg_attr(test, assert_instr(ldff1b))]
20689pub unsafe fn svldff1ub_vnum_s16(pg: svbool_t, base: *const u8, vnum: i64) -> svint16_t {
20690 svldff1ub_s16(pg, base.offset(svcnth() as isize * vnum as isize))
20691}
20692#[doc = "Load 8-bit data and zero-extend, first-faulting"]
20693#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/svldff1ub_vnum_s32)"]
20694#[doc = "## Safety"]
20695#[doc = " * [`pointer::offset`](pointer#method.offset) safety constraints must be met for the address calculation for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour). In particular, note that `vnum` is scaled by the vector length, `VL`, which is not known at compile time."]
20696#[doc = " * This dereferences and accesses the calculated address for each active element (governed by `pg`, the first-fault register (`FFR`) and first-faulting behaviour)."]
20697#[doc = " * Result lanes corresponding to inactive FFR lanes (either before or as a result of this intrinsic) have \"CONSTRAINED UNPREDICTABLE\" values, irrespective of predication. Refer to architectural documentation for details."]
20698#[inline]