1 // Copyright 2015 The Rust Project Developers. See the COPYRIGHT
2 // file at the top-level directory of this distribution and at
3 // http://rust-lang.org/COPYRIGHT.
5 // Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
6 // http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
7 // <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
8 // option. This file may not be copied, modified, or distributed
9 // except according to those terms.
11 // DO NOT EDIT: autogenerated by etc/platform-intrinsics/generator.py
12 // ignore-tidy-linelength
14 #![allow(unused_imports)]
16 use {Intrinsic, Type}
;
17 use IntrinsicDef
::Named
;
19 // The default inlining settings trigger a pathological behaviour in
20 // LLVM, which causes makes compilation very slow. See #28273.
22 pub fn find(name
: &str) -> Option
<Intrinsic
> {
23 if !name
.starts_with("x86_mm") { return None }
24 Some(match &name
["x86_mm".len()..] {
25 "_movemask_ps" => Intrinsic
{
26 inputs
: { static INPUTS: [&'static Type; 1] = [&::F32x4]; &INPUTS }
,
28 definition
: Named("llvm.x86.sse.movmsk.ps")
30 "_max_ps" => Intrinsic
{
31 inputs
: { static INPUTS: [&'static Type; 2] = [&::F32x4, &::F32x4]; &INPUTS }
,
33 definition
: Named("llvm.x86.sse.max.ps")
35 "_min_ps" => Intrinsic
{
36 inputs
: { static INPUTS: [&'static Type; 2] = [&::F32x4, &::F32x4]; &INPUTS }
,
38 definition
: Named("llvm.x86.sse.min.ps")
40 "_rsqrt_ps" => Intrinsic
{
41 inputs
: { static INPUTS: [&'static Type; 1] = [&::F32x4]; &INPUTS }
,
43 definition
: Named("llvm.x86.sse.rsqrt.ps")
45 "_rcp_ps" => Intrinsic
{
46 inputs
: { static INPUTS: [&'static Type; 1] = [&::F32x4]; &INPUTS }
,
48 definition
: Named("llvm.x86.sse.rcp.ps")
50 "_sqrt_ps" => Intrinsic
{
51 inputs
: { static INPUTS: [&'static Type; 1] = [&::F32x4]; &INPUTS }
,
53 definition
: Named("llvm.sqrt.v4f32")
55 "_storeu_ps" => Intrinsic
{
56 inputs
: { static INPUTS: [&'static Type; 2] = [{ static PTR: Type = Type::Pointer(&::F32, Some(&::I8), false); &PTR }
, &::F32x4
]; &INPUTS
},
58 definition
: Named("llvm.x86.sse.storeu.ps")
60 "_adds_epi8" => Intrinsic
{
61 inputs
: { static INPUTS: [&'static Type; 2] = [&::I8x16, &::I8x16]; &INPUTS }
,
63 definition
: Named("llvm.x86.sse2.padds.b")
65 "_adds_epu8" => Intrinsic
{
66 inputs
: { static INPUTS: [&'static Type; 2] = [&::U8x16, &::U8x16]; &INPUTS }
,
68 definition
: Named("llvm.x86.sse2.paddus.b")
70 "_adds_epi16" => Intrinsic
{
71 inputs
: { static INPUTS: [&'static Type; 2] = [&::I16x8, &::I16x8]; &INPUTS }
,
73 definition
: Named("llvm.x86.sse2.padds.w")
75 "_adds_epu16" => Intrinsic
{
76 inputs
: { static INPUTS: [&'static Type; 2] = [&::U16x8, &::U16x8]; &INPUTS }
,
78 definition
: Named("llvm.x86.sse2.paddus.w")
80 "_avg_epu8" => Intrinsic
{
81 inputs
: { static INPUTS: [&'static Type; 2] = [&::U8x16, &::U8x16]; &INPUTS }
,
83 definition
: Named("llvm.x86.sse2.pavg.b")
85 "_avg_epu16" => Intrinsic
{
86 inputs
: { static INPUTS: [&'static Type; 2] = [&::U16x8, &::U16x8]; &INPUTS }
,
88 definition
: Named("llvm.x86.sse2.pavg.w")
90 "_lfence" => Intrinsic
{
91 inputs
: { static INPUTS: [&'static Type; 0] = []; &INPUTS }
,
93 definition
: Named("llvm.x86.sse2.lfence")
95 "_madd_epi16" => Intrinsic
{
96 inputs
: { static INPUTS: [&'static Type; 2] = [&::I16x8, &::I16x8]; &INPUTS }
,
98 definition
: Named("llvm.x86.sse2.pmadd.wd")
100 "_maskmoveu_si128" => Intrinsic
{
101 inputs
: { static INPUTS: [&'static Type; 3] = [&::U8x16, &::U8x16, { static PTR: Type = Type::Pointer(&::U8, None, false); &PTR }
]; &INPUTS
},
103 definition
: Named("llvm.x86.sse2.maskmov.dqu")
105 "_max_epi16" => Intrinsic
{
106 inputs
: { static INPUTS: [&'static Type; 2] = [&::I16x8, &::I16x8]; &INPUTS }
,
108 definition
: Named("llvm.x86.sse2.pmaxs.w")
110 "_max_epu8" => Intrinsic
{
111 inputs
: { static INPUTS: [&'static Type; 2] = [&::U8x16, &::U8x16]; &INPUTS }
,
113 definition
: Named("llvm.x86.sse2.pmaxu.b")
115 "_max_pd" => Intrinsic
{
116 inputs
: { static INPUTS: [&'static Type; 2] = [&::F64x2, &::F64x2]; &INPUTS }
,
118 definition
: Named("llvm.x86.sse2.max.pd")
120 "_mfence" => Intrinsic
{
121 inputs
: { static INPUTS: [&'static Type; 0] = []; &INPUTS }
,
123 definition
: Named("llvm.x86.sse2.fence")
125 "_min_epi16" => Intrinsic
{
126 inputs
: { static INPUTS: [&'static Type; 2] = [&::I16x8, &::I16x8]; &INPUTS }
,
128 definition
: Named("llvm.x86.sse2.pmins.w")
130 "_min_epu8" => Intrinsic
{
131 inputs
: { static INPUTS: [&'static Type; 2] = [&::U8x16, &::U8x16]; &INPUTS }
,
133 definition
: Named("llvm.x86.sse2.pminu.b")
135 "_min_pd" => Intrinsic
{
136 inputs
: { static INPUTS: [&'static Type; 2] = [&::F64x2, &::F64x2]; &INPUTS }
,
138 definition
: Named("llvm.x86.sse2.min.pd")
140 "_movemask_pd" => Intrinsic
{
141 inputs
: { static INPUTS: [&'static Type; 1] = [&::F64x2]; &INPUTS }
,
143 definition
: Named("llvm.x86.sse2.movmsk.pd")
145 "_movemask_epi8" => Intrinsic
{
146 inputs
: { static INPUTS: [&'static Type; 1] = [&::I8x16]; &INPUTS }
,
148 definition
: Named("llvm.x86.sse2.pmovmskb.128")
150 "_mul_epu32" => Intrinsic
{
151 inputs
: { static INPUTS: [&'static Type; 2] = [&::U32x4, &::U32x4]; &INPUTS }
,
153 definition
: Named("llvm.x86.sse2.pmulu.dq")
155 "_mulhi_epi16" => Intrinsic
{
156 inputs
: { static INPUTS: [&'static Type; 2] = [&::I16x8, &::I16x8]; &INPUTS }
,
158 definition
: Named("llvm.x86.sse2.pmulh.w")
160 "_mulhi_epu16" => Intrinsic
{
161 inputs
: { static INPUTS: [&'static Type; 2] = [&::U16x8, &::U16x8]; &INPUTS }
,
163 definition
: Named("llvm.x86.sse2.pmulhu.w")
165 "_packs_epi16" => Intrinsic
{
166 inputs
: { static INPUTS: [&'static Type; 2] = [&::I16x8, &::I16x8]; &INPUTS }
,
168 definition
: Named("llvm.x86.sse2.packsswb.128")
170 "_packs_epi32" => Intrinsic
{
171 inputs
: { static INPUTS: [&'static Type; 2] = [&::I32x4, &::I32x4]; &INPUTS }
,
173 definition
: Named("llvm.x86.sse2.packssdw.128")
175 "_packus_epi16" => Intrinsic
{
176 inputs
: { static INPUTS: [&'static Type; 2] = [&::I16x8, &::I16x8]; &INPUTS }
,
178 definition
: Named("llvm.x86.sse2.packuswb.128")
180 "_sad_epu8" => Intrinsic
{
181 inputs
: { static INPUTS: [&'static Type; 2] = [&::U8x16, &::U8x16]; &INPUTS }
,
183 definition
: Named("llvm.x86.sse2.psad.bw")
185 "_sfence" => Intrinsic
{
186 inputs
: { static INPUTS: [&'static Type; 0] = []; &INPUTS }
,
188 definition
: Named("llvm.x86.sse2.sfence")
190 "_sqrt_pd" => Intrinsic
{
191 inputs
: { static INPUTS: [&'static Type; 1] = [&::F64x2]; &INPUTS }
,
193 definition
: Named("llvm.sqrt.v2f64")
195 "_storeu_pd" => Intrinsic
{
196 inputs
: { static INPUTS: [&'static Type; 2] = [{ static PTR: Type = Type::Pointer(&::F64, Some(&::U8), false); &PTR }
, &::F64x2
]; &INPUTS
},
198 definition
: Named("llvm.x86.sse2.storeu.pd")
200 "_storeu_si128" => Intrinsic
{
201 inputs
: { static INPUTS: [&'static Type; 2] = [{ static PTR: Type = Type::Pointer(&::U8x16, Some(&::U8), false); &PTR }
, &::U8x16
]; &INPUTS
},
203 definition
: Named("llvm.x86.sse2.storeu.dq")
205 "_subs_epi8" => Intrinsic
{
206 inputs
: { static INPUTS: [&'static Type; 2] = [&::I8x16, &::I8x16]; &INPUTS }
,
208 definition
: Named("llvm.x86.sse2.psubs.b")
210 "_subs_epu8" => Intrinsic
{
211 inputs
: { static INPUTS: [&'static Type; 2] = [&::U8x16, &::U8x16]; &INPUTS }
,
213 definition
: Named("llvm.x86.sse2.psubus.b")
215 "_subs_epi16" => Intrinsic
{
216 inputs
: { static INPUTS: [&'static Type; 2] = [&::I16x8, &::I16x8]; &INPUTS }
,
218 definition
: Named("llvm.x86.sse2.psubs.w")
220 "_subs_epu16" => Intrinsic
{
221 inputs
: { static INPUTS: [&'static Type; 2] = [&::U16x8, &::U16x8]; &INPUTS }
,
223 definition
: Named("llvm.x86.sse2.psubus.w")
225 "_addsub_ps" => Intrinsic
{
226 inputs
: { static INPUTS: [&'static Type; 2] = [&::F32x4, &::F32x4]; &INPUTS }
,
228 definition
: Named("llvm.x86.sse3.addsub.ps")
230 "_addsub_pd" => Intrinsic
{
231 inputs
: { static INPUTS: [&'static Type; 2] = [&::F64x2, &::F64x2]; &INPUTS }
,
233 definition
: Named("llvm.x86.sse3.addsub.pd")
235 "_hadd_ps" => Intrinsic
{
236 inputs
: { static INPUTS: [&'static Type; 2] = [&::F32x4, &::F32x4]; &INPUTS }
,
238 definition
: Named("llvm.x86.sse3.hadd.ps")
240 "_hadd_pd" => Intrinsic
{
241 inputs
: { static INPUTS: [&'static Type; 2] = [&::F64x2, &::F64x2]; &INPUTS }
,
243 definition
: Named("llvm.x86.sse3.hadd.pd")
245 "_hsub_ps" => Intrinsic
{
246 inputs
: { static INPUTS: [&'static Type; 2] = [&::F32x4, &::F32x4]; &INPUTS }
,
248 definition
: Named("llvm.x86.sse3.hsub.ps")
250 "_hsub_pd" => Intrinsic
{
251 inputs
: { static INPUTS: [&'static Type; 2] = [&::F64x2, &::F64x2]; &INPUTS }
,
253 definition
: Named("llvm.x86.sse3.hsub.pd")
255 "_lddqu_si128" => Intrinsic
{
256 inputs
: { static INPUTS: [&'static Type; 1] = [{ static PTR: Type = Type::Pointer(&::U8x16, Some(&::I8), true); &PTR }
]; &INPUTS
},
258 definition
: Named("llvm.x86.sse3.ldu.dq")
260 "_abs_epi8" => Intrinsic
{
261 inputs
: { static INPUTS: [&'static Type; 1] = [&::I8x16]; &INPUTS }
,
263 definition
: Named("llvm.x86.ssse3.pabs.b.128")
265 "_abs_epi16" => Intrinsic
{
266 inputs
: { static INPUTS: [&'static Type; 1] = [&::I16x8]; &INPUTS }
,
268 definition
: Named("llvm.x86.ssse3.pabs.w.128")
270 "_abs_epi32" => Intrinsic
{
271 inputs
: { static INPUTS: [&'static Type; 1] = [&::I32x4]; &INPUTS }
,
273 definition
: Named("llvm.x86.ssse3.pabs.d.128")
275 "_hadd_epi16" => Intrinsic
{
276 inputs
: { static INPUTS: [&'static Type; 2] = [&::I16x8, &::I16x8]; &INPUTS }
,
278 definition
: Named("llvm.x86.ssse3.phadd.w.128")
280 "_hadd_epi32" => Intrinsic
{
281 inputs
: { static INPUTS: [&'static Type; 2] = [&::I32x4, &::I32x4]; &INPUTS }
,
283 definition
: Named("llvm.x86.ssse3.phadd.d.128")
285 "_hadds_epi16" => Intrinsic
{
286 inputs
: { static INPUTS: [&'static Type; 2] = [&::I16x8, &::I16x8]; &INPUTS }
,
288 definition
: Named("llvm.x86.ssse3.phadd.sw.128")
290 "_hsub_epi16" => Intrinsic
{
291 inputs
: { static INPUTS: [&'static Type; 2] = [&::I16x8, &::I16x8]; &INPUTS }
,
293 definition
: Named("llvm.x86.ssse3.phsub.w.128")
295 "_hsub_epi32" => Intrinsic
{
296 inputs
: { static INPUTS: [&'static Type; 2] = [&::I32x4, &::I32x4]; &INPUTS }
,
298 definition
: Named("llvm.x86.ssse3.phsub.d.128")
300 "_hsubs_epi16" => Intrinsic
{
301 inputs
: { static INPUTS: [&'static Type; 2] = [&::I16x8, &::I16x8]; &INPUTS }
,
303 definition
: Named("llvm.x86.ssse3.phsub.sw.128")
305 "_maddubs_epi16" => Intrinsic
{
306 inputs
: { static INPUTS: [&'static Type; 2] = [&::U8x16, &::I8x16]; &INPUTS }
,
308 definition
: Named("llvm.x86.ssse3.pmadd.ub.sw.128")
310 "_mulhrs_epi16" => Intrinsic
{
311 inputs
: { static INPUTS: [&'static Type; 2] = [&::I16x8, &::I16x8]; &INPUTS }
,
313 definition
: Named("llvm.x86.ssse3.pmul.hr.sw.128")
315 "_shuffle_epi8" => Intrinsic
{
316 inputs
: { static INPUTS: [&'static Type; 2] = [&::I8x16, &::I8x16]; &INPUTS }
,
318 definition
: Named("llvm.x86.ssse3.pshuf.b.128")
320 "_sign_epi8" => Intrinsic
{
321 inputs
: { static INPUTS: [&'static Type; 2] = [&::I8x16, &::I8x16]; &INPUTS }
,
323 definition
: Named("llvm.x86.ssse3.psign.b.128")
325 "_sign_epi16" => Intrinsic
{
326 inputs
: { static INPUTS: [&'static Type; 2] = [&::I16x8, &::I16x8]; &INPUTS }
,
328 definition
: Named("llvm.x86.ssse3.psign.w.128")
330 "_sign_epi32" => Intrinsic
{
331 inputs
: { static INPUTS: [&'static Type; 2] = [&::I32x4, &::I32x4]; &INPUTS }
,
333 definition
: Named("llvm.x86.ssse3.psign.d.128")
335 "_dp_ps" => Intrinsic
{
336 inputs
: { static INPUTS: [&'static Type; 3] = [&::F32x4, &::F32x4, &::I32_8]; &INPUTS }
,
338 definition
: Named("llvm.x86.sse41.dpps")
340 "_dp_pd" => Intrinsic
{
341 inputs
: { static INPUTS: [&'static Type; 3] = [&::F64x2, &::F64x2, &::I32_8]; &INPUTS }
,
343 definition
: Named("llvm.x86.sse41.dppd")
345 "_max_epi8" => Intrinsic
{
346 inputs
: { static INPUTS: [&'static Type; 2] = [&::I8x16, &::I8x16]; &INPUTS }
,
348 definition
: Named("llvm.x86.sse41.pmaxsb")
350 "_max_epu16" => Intrinsic
{
351 inputs
: { static INPUTS: [&'static Type; 2] = [&::U16x8, &::U16x8]; &INPUTS }
,
353 definition
: Named("llvm.x86.sse41.pmaxuw")
355 "_max_epi32" => Intrinsic
{
356 inputs
: { static INPUTS: [&'static Type; 2] = [&::I32x4, &::I32x4]; &INPUTS }
,
358 definition
: Named("llvm.x86.sse41.pmaxsd")
360 "_max_epu32" => Intrinsic
{
361 inputs
: { static INPUTS: [&'static Type; 2] = [&::U32x4, &::U32x4]; &INPUTS }
,
363 definition
: Named("llvm.x86.sse41.pmaxud")
365 "_min_epi8" => Intrinsic
{
366 inputs
: { static INPUTS: [&'static Type; 2] = [&::I8x16, &::I8x16]; &INPUTS }
,
368 definition
: Named("llvm.x86.sse41.pminsb")
370 "_min_epu16" => Intrinsic
{
371 inputs
: { static INPUTS: [&'static Type; 2] = [&::U16x8, &::U16x8]; &INPUTS }
,
373 definition
: Named("llvm.x86.sse41.pminuw")
375 "_min_epi32" => Intrinsic
{
376 inputs
: { static INPUTS: [&'static Type; 2] = [&::I32x4, &::I32x4]; &INPUTS }
,
378 definition
: Named("llvm.x86.sse41.pminsd")
380 "_min_epu32" => Intrinsic
{
381 inputs
: { static INPUTS: [&'static Type; 2] = [&::U32x4, &::U32x4]; &INPUTS }
,
383 definition
: Named("llvm.x86.sse41.pminud")
385 "_minpos_epu16" => Intrinsic
{
386 inputs
: { static INPUTS: [&'static Type; 1] = [&::U16x8]; &INPUTS }
,
388 definition
: Named("llvm.x86.sse41.phminposuw")
390 "_mpsadbw_epu8" => Intrinsic
{
391 inputs
: { static INPUTS: [&'static Type; 3] = [&::U8x16, &::U8x16, &::I32_8]; &INPUTS }
,
393 definition
: Named("llvm.x86.sse41.mpsadbw")
395 "_mul_epi32" => Intrinsic
{
396 inputs
: { static INPUTS: [&'static Type; 2] = [&::I32x4, &::I32x4]; &INPUTS }
,
398 definition
: Named("llvm.x86.sse41.pmuldq")
400 "_packus_epi32" => Intrinsic
{
401 inputs
: { static INPUTS: [&'static Type; 2] = [&::I32x4, &::I32x4]; &INPUTS }
,
403 definition
: Named("llvm.x86.sse41.packusdw")
405 "_testc_si128" => Intrinsic
{
406 inputs
: { static INPUTS: [&'static Type; 2] = [&::U64x2, &::U64x2]; &INPUTS }
,
408 definition
: Named("llvm.x86.sse41.ptestc")
410 "_testnzc_si128" => Intrinsic
{
411 inputs
: { static INPUTS: [&'static Type; 2] = [&::U64x2, &::U64x2]; &INPUTS }
,
413 definition
: Named("llvm.x86.sse41.ptestnzc")
415 "_testz_si128" => Intrinsic
{
416 inputs
: { static INPUTS: [&'static Type; 2] = [&::U64x2, &::U64x2]; &INPUTS }
,
418 definition
: Named("llvm.x86.sse41.ptestz")
420 "_cmpestra" => Intrinsic
{
421 inputs
: { static INPUTS: [&'static Type; 5] = [&::I8x16, &::I32, &::I8x16, &::I32, &::I32_8]; &INPUTS }
,
423 definition
: Named("llvm.x86.sse42.pcmpestria128")
425 "_cmpestrc" => Intrinsic
{
426 inputs
: { static INPUTS: [&'static Type; 5] = [&::I8x16, &::I32, &::I8x16, &::I32, &::I32_8]; &INPUTS }
,
428 definition
: Named("llvm.x86.sse42.pcmpestric128")
430 "_cmpestri" => Intrinsic
{
431 inputs
: { static INPUTS: [&'static Type; 5] = [&::I8x16, &::I32, &::I8x16, &::I32, &::I32_8]; &INPUTS }
,
433 definition
: Named("llvm.x86.sse42.pcmpestri128")
435 "_cmpestrm" => Intrinsic
{
436 inputs
: { static INPUTS: [&'static Type; 5] = [&::I8x16, &::I32, &::I8x16, &::I32, &::I32_8]; &INPUTS }
,
438 definition
: Named("llvm.x86.sse42.pcmpestrm128")
440 "_cmpestro" => Intrinsic
{
441 inputs
: { static INPUTS: [&'static Type; 5] = [&::I8x16, &::I32, &::I8x16, &::I32, &::I32_8]; &INPUTS }
,
443 definition
: Named("llvm.x86.sse42.pcmpestrio128")
445 "_cmpestrs" => Intrinsic
{
446 inputs
: { static INPUTS: [&'static Type; 5] = [&::I8x16, &::I32, &::I8x16, &::I32, &::I32_8]; &INPUTS }
,
448 definition
: Named("llvm.x86.sse42.pcmpestris128")
450 "_cmpestrz" => Intrinsic
{
451 inputs
: { static INPUTS: [&'static Type; 5] = [&::I8x16, &::I32, &::I8x16, &::I32, &::I32_8]; &INPUTS }
,
453 definition
: Named("llvm.x86.sse42.pcmpestriz128")
455 "_cmpistra" => Intrinsic
{
456 inputs
: { static INPUTS: [&'static Type; 3] = [&::I8x16, &::I8x16, &::I32_8]; &INPUTS }
,
458 definition
: Named("llvm.x86.sse42.pcmpistria128")
460 "_cmpistrc" => Intrinsic
{
461 inputs
: { static INPUTS: [&'static Type; 3] = [&::I8x16, &::I8x16, &::I32_8]; &INPUTS }
,
463 definition
: Named("llvm.x86.sse42.pcmpistric128")
465 "_cmpistri" => Intrinsic
{
466 inputs
: { static INPUTS: [&'static Type; 3] = [&::I8x16, &::I8x16, &::I32_8]; &INPUTS }
,
468 definition
: Named("llvm.x86.sse42.pcmpistri128")
470 "_cmpistrm" => Intrinsic
{
471 inputs
: { static INPUTS: [&'static Type; 3] = [&::I8x16, &::I8x16, &::I32_8]; &INPUTS }
,
473 definition
: Named("llvm.x86.sse42.pcmpistrm128")
475 "_cmpistro" => Intrinsic
{
476 inputs
: { static INPUTS: [&'static Type; 3] = [&::I8x16, &::I8x16, &::I32_8]; &INPUTS }
,
478 definition
: Named("llvm.x86.sse42.pcmpistrio128")
480 "_cmpistrs" => Intrinsic
{
481 inputs
: { static INPUTS: [&'static Type; 3] = [&::I8x16, &::I8x16, &::I32_8]; &INPUTS }
,
483 definition
: Named("llvm.x86.sse42.pcmpistris128")
485 "_cmpistrz" => Intrinsic
{
486 inputs
: { static INPUTS: [&'static Type; 3] = [&::I8x16, &::I8x16, &::I32_8]; &INPUTS }
,
488 definition
: Named("llvm.x86.sse42.pcmpistriz128")
490 "256_addsub_ps" => Intrinsic
{
491 inputs
: { static INPUTS: [&'static Type; 2] = [&::F32x8, &::F32x8]; &INPUTS }
,
493 definition
: Named("llvm.x86.avx.addsub.ps.256")
495 "256_addsub_pd" => Intrinsic
{
496 inputs
: { static INPUTS: [&'static Type; 2] = [&::F64x4, &::F64x4]; &INPUTS }
,
498 definition
: Named("llvm.x86.avx.addsub.pd.256")
500 "256_blendv_ps" => Intrinsic
{
501 inputs
: { static INPUTS: [&'static Type; 3] = [&::F32x8, &::F32x8, &::F32x8]; &INPUTS }
,
503 definition
: Named("llvm.x86.avx.blendv.ps.256")
505 "256_blendv_pd" => Intrinsic
{
506 inputs
: { static INPUTS: [&'static Type; 3] = [&::F64x4, &::F64x4, &::F64x4]; &INPUTS }
,
508 definition
: Named("llvm.x86.avx.blendv.pd.256")
510 "256_broadcast_ps" => Intrinsic
{
511 inputs
: { static INPUTS: [&'static Type; 1] = [{ static PTR: Type = Type::Pointer(&::I8, None, true); &PTR }
]; &INPUTS
},
513 definition
: Named("llvm.x86.avx.vbroadcastf128.ps.256")
515 "256_broadcast_pd" => Intrinsic
{
516 inputs
: { static INPUTS: [&'static Type; 1] = [{ static PTR: Type = Type::Pointer(&::I8, None, true); &PTR }
]; &INPUTS
},
518 definition
: Named("llvm.x86.avx.vbroadcastf128.pd.256")
520 "256_cmp_ps" => Intrinsic
{
521 inputs
: { static INPUTS: [&'static Type; 3] = [&::F32x8, &::F32x8, &::I8]; &INPUTS }
,
523 definition
: Named("llvm.x86.avx.cmp.ps.256")
525 "256_cmp_pd" => Intrinsic
{
526 inputs
: { static INPUTS: [&'static Type; 3] = [&::F64x4, &::F64x4, &::I8]; &INPUTS }
,
528 definition
: Named("llvm.x86.avx.cmp.pd.256")
530 "256_cvtepi32_pd" => Intrinsic
{
531 inputs
: { static INPUTS: [&'static Type; 1] = [&::I32x4]; &INPUTS }
,
533 definition
: Named("llvm.x86.avx.cvtdq2.pd.256")
535 "256_cvtepi32_ps" => Intrinsic
{
536 inputs
: { static INPUTS: [&'static Type; 1] = [&::I32x8]; &INPUTS }
,
538 definition
: Named("llvm.x86.avx.cvtdq2.ps.256")
540 "256_cvtpd_epi32" => Intrinsic
{
541 inputs
: { static INPUTS: [&'static Type; 1] = [&::F64x4]; &INPUTS }
,
543 definition
: Named("llvm.x86.avx.cvt.pd2dq.256")
545 "256_cvtpd_ps" => Intrinsic
{
546 inputs
: { static INPUTS: [&'static Type; 1] = [&::F64x4]; &INPUTS }
,
548 definition
: Named("llvm.x86.avx.cvt.pd2.ps.256")
550 "256_cvtps_epi32" => Intrinsic
{
551 inputs
: { static INPUTS: [&'static Type; 1] = [&::F32x8]; &INPUTS }
,
553 definition
: Named("llvm.x86.avx.cvt.ps2dq.256")
555 "256_cvtps_pd" => Intrinsic
{
556 inputs
: { static INPUTS: [&'static Type; 1] = [&::F32x4]; &INPUTS }
,
558 definition
: Named("llvm.x86.avx.cvt.ps2.pd.256")
560 "256_cvttpd_epi32" => Intrinsic
{
561 inputs
: { static INPUTS: [&'static Type; 1] = [&::F64x4]; &INPUTS }
,
563 definition
: Named("llvm.x86.avx.cvtt.pd2dq.256")
565 "256_cvttps_epi32" => Intrinsic
{
566 inputs
: { static INPUTS: [&'static Type; 1] = [&::F32x8]; &INPUTS }
,
568 definition
: Named("llvm.x86.avx.cvtt.ps2dq.256")
570 "256_dp_ps" => Intrinsic
{
571 inputs
: { static INPUTS: [&'static Type; 3] = [&::F32x8, &::F32x8, &::I32_8]; &INPUTS }
,
573 definition
: Named("llvm.x86.avx.dp.ps.256")
575 "256_hadd_ps" => Intrinsic
{
576 inputs
: { static INPUTS: [&'static Type; 2] = [&::F32x8, &::F32x8]; &INPUTS }
,
578 definition
: Named("llvm.x86.avx.hadd.ps.256")
580 "256_hadd_pd" => Intrinsic
{
581 inputs
: { static INPUTS: [&'static Type; 2] = [&::F64x4, &::F64x4]; &INPUTS }
,
583 definition
: Named("llvm.x86.avx.hadd.pd.256")
585 "256_hsub_ps" => Intrinsic
{
586 inputs
: { static INPUTS: [&'static Type; 2] = [&::F32x8, &::F32x8]; &INPUTS }
,
588 definition
: Named("llvm.x86.avx.hsub.ps.256")
590 "256_hsub_pd" => Intrinsic
{
591 inputs
: { static INPUTS: [&'static Type; 2] = [&::F64x4, &::F64x4]; &INPUTS }
,
593 definition
: Named("llvm.x86.avx.hsub.pd.256")
595 "256_max_ps" => Intrinsic
{
596 inputs
: { static INPUTS: [&'static Type; 2] = [&::F32x8, &::F32x8]; &INPUTS }
,
598 definition
: Named("llvm.x86.avx.max.ps.256")
600 "256_max_pd" => Intrinsic
{
601 inputs
: { static INPUTS: [&'static Type; 2] = [&::F64x4, &::F64x4]; &INPUTS }
,
603 definition
: Named("llvm.x86.avx.max.pd.256")
605 "_maskload_ps" => Intrinsic
{
606 inputs
: { static INPUTS: [&'static Type; 2] = [{ static PTR: Type = Type::Pointer(&::F32, Some(&::I8), true); &PTR }
, &::I32x4_F32
]; &INPUTS
},
608 definition
: Named("llvm.x86.avx.maskload.ps")
610 "_maskload_pd" => Intrinsic
{
611 inputs
: { static INPUTS: [&'static Type; 2] = [{ static PTR: Type = Type::Pointer(&::F64, Some(&::I8), true); &PTR }
, &::I64x2_F64
]; &INPUTS
},
613 definition
: Named("llvm.x86.avx.maskload.pd")
615 "256_maskload_ps" => Intrinsic
{
616 inputs
: { static INPUTS: [&'static Type; 2] = [{ static PTR: Type = Type::Pointer(&::F32, Some(&::I8), true); &PTR }
, &::I32x8_F32
]; &INPUTS
},
618 definition
: Named("llvm.x86.avx.maskload.ps.256")
620 "256_maskload_pd" => Intrinsic
{
621 inputs
: { static INPUTS: [&'static Type; 2] = [{ static PTR: Type = Type::Pointer(&::F64, Some(&::I8), true); &PTR }
, &::I64x4_F64
]; &INPUTS
},
623 definition
: Named("llvm.x86.avx.maskload.pd.256")
625 "_maskstore_ps" => Intrinsic
{
626 inputs
: { static INPUTS: [&'static Type; 3] = [{ static PTR: Type = Type::Pointer(&::F32, Some(&::I8), false); &PTR }
, &::I32x4_F32
, &::F32x4
]; &INPUTS
},
628 definition
: Named("llvm.x86.avx.maskstore.ps")
630 "_maskstore_pd" => Intrinsic
{
631 inputs
: { static INPUTS: [&'static Type; 3] = [{ static PTR: Type = Type::Pointer(&::F64, Some(&::I8), false); &PTR }
, &::I64x2_F64
, &::F64x2
]; &INPUTS
},
633 definition
: Named("llvm.x86.avx.maskstore.pd")
635 "256_maskstore_ps" => Intrinsic
{
636 inputs
: { static INPUTS: [&'static Type; 3] = [{ static PTR: Type = Type::Pointer(&::F32, Some(&::I8), false); &PTR }
, &::I32x8_F32
, &::F32x8
]; &INPUTS
},
638 definition
: Named("llvm.x86.avx.maskstore.ps.256")
640 "256_maskstore_pd" => Intrinsic
{
641 inputs
: { static INPUTS: [&'static Type; 3] = [{ static PTR: Type = Type::Pointer(&::F64, Some(&::I8), false); &PTR }
, &::I64x4_F64
, &::F64x4
]; &INPUTS
},
643 definition
: Named("llvm.x86.avx.maskstore.pd.256")
645 "256_min_ps" => Intrinsic
{
646 inputs
: { static INPUTS: [&'static Type; 2] = [&::F32x8, &::F32x8]; &INPUTS }
,
648 definition
: Named("llvm.x86.avx.min.ps.256")
650 "256_min_pd" => Intrinsic
{
651 inputs
: { static INPUTS: [&'static Type; 2] = [&::F64x4, &::F64x4]; &INPUTS }
,
653 definition
: Named("llvm.x86.avx.min.pd.256")
655 "256_movemask_ps" => Intrinsic
{
656 inputs
: { static INPUTS: [&'static Type; 1] = [&::F32x8]; &INPUTS }
,
658 definition
: Named("llvm.x86.avx.movmsk.ps.256")
660 "256_movemask_pd" => Intrinsic
{
661 inputs
: { static INPUTS: [&'static Type; 1] = [&::F64x4]; &INPUTS }
,
663 definition
: Named("llvm.x86.avx.movmsk.pd.256")
665 "_permutevar_ps" => Intrinsic
{
666 inputs
: { static INPUTS: [&'static Type; 2] = [&::F32x4, &::I32x4]; &INPUTS }
,
668 definition
: Named("llvm.x86.avx.vpermilvar.ps")
670 "_permutevar_pd" => Intrinsic
{
671 inputs
: { static INPUTS: [&'static Type; 2] = [&::F64x2, &::I64x2]; &INPUTS }
,
673 definition
: Named("llvm.x86.avx.vpermilvar.pd")
675 "256_permutevar_ps" => Intrinsic
{
676 inputs
: { static INPUTS: [&'static Type; 2] = [&::F32x8, &::I32x8]; &INPUTS }
,
678 definition
: Named("llvm.x86.avx.vpermilvar.ps.256")
680 "256_permutevar_pd" => Intrinsic
{
681 inputs
: { static INPUTS: [&'static Type; 2] = [&::F64x4, &::I64x4]; &INPUTS }
,
683 definition
: Named("llvm.x86.avx.vpermilvar.pd.256")
685 "256_rcp_ps" => Intrinsic
{
686 inputs
: { static INPUTS: [&'static Type; 1] = [&::F32x8]; &INPUTS }
,
688 definition
: Named("llvm.x86.avx.rcp.ps.256")
690 "256_rsqrt_ps" => Intrinsic
{
691 inputs
: { static INPUTS: [&'static Type; 1] = [&::F32x8]; &INPUTS }
,
693 definition
: Named("llvm.x86.avx.rsqrt.ps.256")
695 "256_storeu_ps" => Intrinsic
{
696 inputs
: { static INPUTS: [&'static Type; 2] = [{ static PTR: Type = Type::Pointer(&::F32x8, Some(&::U8), false); &PTR }
, &::F32x8
]; &INPUTS
},
698 definition
: Named("llvm.x86.avx.storeu.ps.256")
700 "256_storeu_pd" => Intrinsic
{
701 inputs
: { static INPUTS: [&'static Type; 2] = [{ static PTR: Type = Type::Pointer(&::F64x4, Some(&::U8), false); &PTR }
, &::F64x4
]; &INPUTS
},
703 definition
: Named("llvm.x86.avx.storeu.ps.256")
705 "256_storeu_si256" => Intrinsic
{
706 inputs
: { static INPUTS: [&'static Type; 2] = [{ static PTR: Type = Type::Pointer(&::U8x32, Some(&::U8), false); &PTR }
, &::U8x32
]; &INPUTS
},
708 definition
: Named("llvm.x86.avx.storeu.dq.256")
710 "256_sqrt_ps" => Intrinsic
{
711 inputs
: { static INPUTS: [&'static Type; 1] = [&::F32x8]; &INPUTS }
,
713 definition
: Named("llvm.sqrt.v8f32")
715 "256_sqrt_pd" => Intrinsic
{
716 inputs
: { static INPUTS: [&'static Type; 1] = [&::F64x4]; &INPUTS }
,
718 definition
: Named("llvm.sqrt.v4f64")
720 "_testc_ps" => Intrinsic
{
721 inputs
: { static INPUTS: [&'static Type; 2] = [&::F32x4, &::F32x4]; &INPUTS }
,
723 definition
: Named("llvm.x86.avx.vtestc.ps")
725 "256_testc_ps" => Intrinsic
{
726 inputs
: { static INPUTS: [&'static Type; 2] = [&::F32x8, &::F32x8]; &INPUTS }
,
728 definition
: Named("llvm.x86.avx.vtestc.ps.256")
730 "_testc_pd" => Intrinsic
{
731 inputs
: { static INPUTS: [&'static Type; 2] = [&::F64x2, &::F64x2]; &INPUTS }
,
733 definition
: Named("llvm.x86.avx.vtestc.pd")
735 "256_testc_pd" => Intrinsic
{
736 inputs
: { static INPUTS: [&'static Type; 2] = [&::F64x4, &::F64x4]; &INPUTS }
,
738 definition
: Named("llvm.x86.avx.vtestc.pd.256")
740 "256_testc_si256" => Intrinsic
{
741 inputs
: { static INPUTS: [&'static Type; 2] = [&::U64x4, &::U64x4]; &INPUTS }
,
743 definition
: Named("llvm.x86.avx.ptestc.256")
745 "_testnzc_ps" => Intrinsic
{
746 inputs
: { static INPUTS: [&'static Type; 2] = [&::F32x4, &::F32x4]; &INPUTS }
,
748 definition
: Named("llvm.x86.avx.vtestnzc.ps")
750 "256_testnzc_ps" => Intrinsic
{
751 inputs
: { static INPUTS: [&'static Type; 2] = [&::F32x8, &::F32x8]; &INPUTS }
,
753 definition
: Named("llvm.x86.avx.vtestnzc.ps.256")
755 "_testnzc_pd" => Intrinsic
{
756 inputs
: { static INPUTS: [&'static Type; 2] = [&::F64x2, &::F64x2]; &INPUTS }
,
758 definition
: Named("llvm.x86.avx.vtestnzc.pd")
760 "256_testnzc_pd" => Intrinsic
{
761 inputs
: { static INPUTS: [&'static Type; 2] = [&::F64x4, &::F64x4]; &INPUTS }
,
763 definition
: Named("llvm.x86.avx.vtestnzc.pd.256")
765 "256_testnzc_si256" => Intrinsic
{
766 inputs
: { static INPUTS: [&'static Type; 2] = [&::U64x4, &::U64x4]; &INPUTS }
,
768 definition
: Named("llvm.x86.avx.ptestnzc.256")
770 "_testz_ps" => Intrinsic
{
771 inputs
: { static INPUTS: [&'static Type; 2] = [&::F32x4, &::F32x4]; &INPUTS }
,
773 definition
: Named("llvm.x86.avx.vtestz.ps")
775 "256_testz_ps" => Intrinsic
{
776 inputs
: { static INPUTS: [&'static Type; 2] = [&::F32x8, &::F32x8]; &INPUTS }
,
778 definition
: Named("llvm.x86.avx.vtestz.ps.256")
780 "_testz_pd" => Intrinsic
{
781 inputs
: { static INPUTS: [&'static Type; 2] = [&::F64x2, &::F64x2]; &INPUTS }
,
783 definition
: Named("llvm.x86.avx.vtestz.pd")
785 "256_testz_pd" => Intrinsic
{
786 inputs
: { static INPUTS: [&'static Type; 2] = [&::F64x4, &::F64x4]; &INPUTS }
,
788 definition
: Named("llvm.x86.avx.vtestz.pd.256")
790 "256_testz_si256" => Intrinsic
{
791 inputs
: { static INPUTS: [&'static Type; 2] = [&::U64x4, &::U64x4]; &INPUTS }
,
793 definition
: Named("llvm.x86.avx.ptestz.256")
795 "256_zeroall" => Intrinsic
{
796 inputs
: { static INPUTS: [&'static Type; 0] = []; &INPUTS }
,
798 definition
: Named("llvm.x86.avx.vzeroall")
800 "256_zeroupper" => Intrinsic
{
801 inputs
: { static INPUTS: [&'static Type; 0] = []; &INPUTS }
,
803 definition
: Named("llvm.x86.avx.vzeroupper")
805 "256_abs_epi8" => Intrinsic
{
806 inputs
: { static INPUTS: [&'static Type; 1] = [&::I8x32]; &INPUTS }
,
808 definition
: Named("llvm.x86.avx2.pabs.b")
810 "256_abs_epi16" => Intrinsic
{
811 inputs
: { static INPUTS: [&'static Type; 1] = [&::I16x16]; &INPUTS }
,
813 definition
: Named("llvm.x86.avx2.pabs.w")
815 "256_abs_epi32" => Intrinsic
{
816 inputs
: { static INPUTS: [&'static Type; 1] = [&::I32x8]; &INPUTS }
,
818 definition
: Named("llvm.x86.avx2.pabs.d")
820 "256_adds_epi8" => Intrinsic
{
821 inputs
: { static INPUTS: [&'static Type; 2] = [&::I8x32, &::I8x32]; &INPUTS }
,
823 definition
: Named("llvm.x86.avx2.padds.b")
825 "256_adds_epu8" => Intrinsic
{
826 inputs
: { static INPUTS: [&'static Type; 2] = [&::U8x32, &::U8x32]; &INPUTS }
,
828 definition
: Named("llvm.x86.avx2.paddus.b")
830 "256_adds_epi16" => Intrinsic
{
831 inputs
: { static INPUTS: [&'static Type; 2] = [&::I16x16, &::I16x16]; &INPUTS }
,
833 definition
: Named("llvm.x86.avx2.padds.w")
835 "256_adds_epu16" => Intrinsic
{
836 inputs
: { static INPUTS: [&'static Type; 2] = [&::U16x16, &::U16x16]; &INPUTS }
,
838 definition
: Named("llvm.x86.avx2.paddus.w")
840 "256_avg_epu8" => Intrinsic
{
841 inputs
: { static INPUTS: [&'static Type; 2] = [&::U8x32, &::U8x32]; &INPUTS }
,
843 definition
: Named("llvm.x86.avx2.pavg.b")
845 "256_avg_epu16" => Intrinsic
{
846 inputs
: { static INPUTS: [&'static Type; 2] = [&::U16x16, &::U16x16]; &INPUTS }
,
848 definition
: Named("llvm.x86.avx2.pavg.w")
850 "256_hadd_epi16" => Intrinsic
{
851 inputs
: { static INPUTS: [&'static Type; 2] = [&::I16x16, &::I16x16]; &INPUTS }
,
853 definition
: Named("llvm.x86.avx2.phadd.w")
855 "256_hadd_epi32" => Intrinsic
{
856 inputs
: { static INPUTS: [&'static Type; 2] = [&::I32x8, &::I32x8]; &INPUTS }
,
858 definition
: Named("llvm.x86.avx2.phadd.d")
860 "256_hadds_epi16" => Intrinsic
{
861 inputs
: { static INPUTS: [&'static Type; 2] = [&::I16x16, &::I16x16]; &INPUTS }
,
863 definition
: Named("llvm.x86.avx2.phadd.sw")
865 "256_hsub_epi16" => Intrinsic
{
866 inputs
: { static INPUTS: [&'static Type; 2] = [&::I16x16, &::I16x16]; &INPUTS }
,
868 definition
: Named("llvm.x86.avx2.phsub.w")
870 "256_hsub_epi32" => Intrinsic
{
871 inputs
: { static INPUTS: [&'static Type; 2] = [&::I32x8, &::I32x8]; &INPUTS }
,
873 definition
: Named("llvm.x86.avx2.phsub.d")
875 "256_hsubs_epi16" => Intrinsic
{
876 inputs
: { static INPUTS: [&'static Type; 2] = [&::I16x16, &::I16x16]; &INPUTS }
,
878 definition
: Named("llvm.x86.avx2.phsub.sw")
880 "256_madd_epi16" => Intrinsic
{
881 inputs
: { static INPUTS: [&'static Type; 2] = [&::I16x16, &::I16x16]; &INPUTS }
,
883 definition
: Named("llvm.x86.avx2.pmadd.wd")
885 "256_maddubs_epi16" => Intrinsic
{
886 inputs
: { static INPUTS: [&'static Type; 2] = [&::I8x32, &::I8x32]; &INPUTS }
,
888 definition
: Named("llvm.x86.avx2.pmadd.ub.sw")
890 "_mask_i32gather_epi32" => Intrinsic
{
891 inputs
: { static INPUTS: [&'static Type; 5] = [&::I32x4, { static PTR: Type = Type::Pointer(&::I32, Some(&::I8), true); &PTR }
, &::I32x4
, &::I32x4
, &::I32_8
]; &INPUTS
},
893 definition
: Named("llvm.x86.avx2.gather.d.d")
895 "_mask_i32gather_ps" => Intrinsic
{
896 inputs
: { static INPUTS: [&'static Type; 5] = [&::F32x4, { static PTR: Type = Type::Pointer(&::F32, Some(&::I8), true); &PTR }
, &::I32x4
, &::I32x4_F32
, &::I32_8
]; &INPUTS
},
898 definition
: Named("llvm.x86.avx2.gather.d.ps")
900 "256_mask_i32gather_epi32" => Intrinsic
{
901 inputs
: { static INPUTS: [&'static Type; 5] = [&::I32x8, { static PTR: Type = Type::Pointer(&::I32, Some(&::I8), true); &PTR }
, &::I32x8
, &::I32x8
, &::I32_8
]; &INPUTS
},
903 definition
: Named("llvm.x86.avx2.gather.d.d.256")
905 "256_mask_i32gather_ps" => Intrinsic
{
906 inputs
: { static INPUTS: [&'static Type; 5] = [&::F32x8, { static PTR: Type = Type::Pointer(&::F32, Some(&::I8), true); &PTR }
, &::I32x8
, &::I32x8_F32
, &::I32_8
]; &INPUTS
},
908 definition
: Named("llvm.x86.avx2.gather.d.ps.256")
910 "_mask_i32gather_epi64" => Intrinsic
{
911 inputs
: { static INPUTS: [&'static Type; 5] = [&::I64x2, { static PTR: Type = Type::Pointer(&::I64, Some(&::I8), true); &PTR }
, &::I32x4
, &::I64x2
, &::I32_8
]; &INPUTS
},
913 definition
: Named("llvm.x86.avx2.gather.d.q")
915 "_mask_i32gather_pd" => Intrinsic
{
916 inputs
: { static INPUTS: [&'static Type; 5] = [&::F64x2, { static PTR: Type = Type::Pointer(&::F64, Some(&::I8), true); &PTR }
, &::I32x4
, &::I64x2_F64
, &::I32_8
]; &INPUTS
},
918 definition
: Named("llvm.x86.avx2.gather.d.pd")
920 "256_mask_i32gather_epi64" => Intrinsic
{
921 inputs
: { static INPUTS: [&'static Type; 5] = [&::I64x4, { static PTR: Type = Type::Pointer(&::I64, Some(&::I8), true); &PTR }
, &::I32x4
, &::I64x4
, &::I32_8
]; &INPUTS
},
923 definition
: Named("llvm.x86.avx2.gather.d.q.256")
925 "256_mask_i32gather_pd" => Intrinsic
{
926 inputs
: { static INPUTS: [&'static Type; 5] = [&::F64x4, { static PTR: Type = Type::Pointer(&::F64, Some(&::I8), true); &PTR }
, &::I32x4
, &::I64x4_F64
, &::I32_8
]; &INPUTS
},
928 definition
: Named("llvm.x86.avx2.gather.d.pd.256")
930 "_mask_i64gather_epi32" => Intrinsic
{
931 inputs
: { static INPUTS: [&'static Type; 5] = [&::I32x4, { static PTR: Type = Type::Pointer(&::I32, Some(&::I8), true); &PTR }
, &::I64x2
, &::I32x4
, &::I32_8
]; &INPUTS
},
933 definition
: Named("llvm.x86.avx2.gather.q.d")
935 "_mask_i64gather_ps" => Intrinsic
{
936 inputs
: { static INPUTS: [&'static Type; 5] = [&::F32x4, { static PTR: Type = Type::Pointer(&::F32, Some(&::I8), true); &PTR }
, &::I64x2
, &::I32x4_F32
, &::I32_8
]; &INPUTS
},
938 definition
: Named("llvm.x86.avx2.gather.q.ps")
940 "256_mask_i64gather_epi32" => Intrinsic
{
941 inputs
: { static INPUTS: [&'static Type; 5] = [&::I32x4, { static PTR: Type = Type::Pointer(&::I32, Some(&::I8), true); &PTR }
, &::I64x4
, &::I32x4
, &::I32_8
]; &INPUTS
},
943 definition
: Named("llvm.x86.avx2.gather.q.d")
945 "256_mask_i64gather_ps" => Intrinsic
{
946 inputs
: { static INPUTS: [&'static Type; 5] = [&::F32x4, { static PTR: Type = Type::Pointer(&::F32, Some(&::I8), true); &PTR }
, &::I64x4
, &::I32x4_F32
, &::I32_8
]; &INPUTS
},
948 definition
: Named("llvm.x86.avx2.gather.q.ps")
950 "_mask_i64gather_epi64" => Intrinsic
{
951 inputs
: { static INPUTS: [&'static Type; 5] = [&::I64x2, { static PTR: Type = Type::Pointer(&::I64, Some(&::I8), true); &PTR }
, &::I64x2
, &::I64x2
, &::I32_8
]; &INPUTS
},
953 definition
: Named("llvm.x86.avx2.gather.q.q")
955 "_mask_i64gather_pd" => Intrinsic
{
956 inputs
: { static INPUTS: [&'static Type; 5] = [&::F64x2, { static PTR: Type = Type::Pointer(&::F64, Some(&::I8), true); &PTR }
, &::I64x2
, &::I64x2_F64
, &::I32_8
]; &INPUTS
},
958 definition
: Named("llvm.x86.avx2.gather.q.pd")
960 "256_mask_i64gather_epi64" => Intrinsic
{
961 inputs
: { static INPUTS: [&'static Type; 5] = [&::I64x4, { static PTR: Type = Type::Pointer(&::I64, Some(&::I8), true); &PTR }
, &::I64x4
, &::I64x4
, &::I32_8
]; &INPUTS
},
963 definition
: Named("llvm.x86.avx2.gather.q.q.256")
965 "256_mask_i64gather_pd" => Intrinsic
{
966 inputs
: { static INPUTS: [&'static Type; 5] = [&::F64x4, { static PTR: Type = Type::Pointer(&::F64, Some(&::I8), true); &PTR }
, &::I64x4
, &::I64x4_F64
, &::I32_8
]; &INPUTS
},
968 definition
: Named("llvm.x86.avx2.gather.q.pd.256")
970 "_maskload_epi32" => Intrinsic
{
971 inputs
: { static INPUTS: [&'static Type; 2] = [{ static PTR: Type = Type::Pointer(&::I32x4, Some(&::I8), true); &PTR }
, &::I32x4
]; &INPUTS
},
973 definition
: Named("llvm.x86.avx2.maskload.d")
975 "_maskload_epi64" => Intrinsic
{
976 inputs
: { static INPUTS: [&'static Type; 2] = [{ static PTR: Type = Type::Pointer(&::I64x2, Some(&::I8), true); &PTR }
, &::I64x2
]; &INPUTS
},
978 definition
: Named("llvm.x86.avx2.maskload.q")
980 "256_maskload_epi32" => Intrinsic
{
981 inputs
: { static INPUTS: [&'static Type; 2] = [{ static PTR: Type = Type::Pointer(&::I32x8, Some(&::I8), true); &PTR }
, &::I32x8
]; &INPUTS
},
983 definition
: Named("llvm.x86.avx2.maskload.d.256")
985 "256_maskload_epi64" => Intrinsic
{
986 inputs
: { static INPUTS: [&'static Type; 2] = [{ static PTR: Type = Type::Pointer(&::I64x4, Some(&::I8), true); &PTR }
, &::I64x4
]; &INPUTS
},
988 definition
: Named("llvm.x86.avx2.maskload.q.256")
990 "_maskstore_epi32" => Intrinsic
{
991 inputs
: { static INPUTS: [&'static Type; 3] = [{ static PTR: Type = Type::Pointer(&::I32, Some(&::I8), false); &PTR }
, &::I32x4
, &::I32x4
]; &INPUTS
},
993 definition
: Named("llvm.x86.avx2.maskstore.d")
995 "_maskstore_epi64" => Intrinsic
{
996 inputs
: { static INPUTS: [&'static Type; 3] = [{ static PTR: Type = Type::Pointer(&::I64, Some(&::I8), false); &PTR }
, &::I64x2
, &::I64x2
]; &INPUTS
},
998 definition
: Named("llvm.x86.avx2.maskstore.q")
1000 "256_maskstore_epi32" => Intrinsic
{
1001 inputs
: { static INPUTS: [&'static Type; 3] = [{ static PTR: Type = Type::Pointer(&::I32, Some(&::I8), false); &PTR }
, &::I32x8
, &::I32x8
]; &INPUTS
},
1003 definition
: Named("llvm.x86.avx2.maskstore.d.256")
1005 "256_maskstore_epi64" => Intrinsic
{
1006 inputs
: { static INPUTS: [&'static Type; 3] = [{ static PTR: Type = Type::Pointer(&::I64, Some(&::I8), false); &PTR }
, &::I64x4
, &::I64x4
]; &INPUTS
},
1008 definition
: Named("llvm.x86.avx2.maskstore.q.256")
1010 "256_max_epi8" => Intrinsic
{
1011 inputs
: { static INPUTS: [&'static Type; 2] = [&::I8x32, &::I8x32]; &INPUTS }
,
1013 definition
: Named("llvm.x86.avx2.pmaxs.b")
1015 "256_max_epu8" => Intrinsic
{
1016 inputs
: { static INPUTS: [&'static Type; 2] = [&::U8x32, &::U8x32]; &INPUTS }
,
1018 definition
: Named("llvm.x86.avx2.pmaxu.b")
1020 "256_max_epi16" => Intrinsic
{
1021 inputs
: { static INPUTS: [&'static Type; 2] = [&::I16x16, &::I16x16]; &INPUTS }
,
1023 definition
: Named("llvm.x86.avx2.pmaxs.w")
1025 "256_max_epu16" => Intrinsic
{
1026 inputs
: { static INPUTS: [&'static Type; 2] = [&::U16x16, &::U16x16]; &INPUTS }
,
1028 definition
: Named("llvm.x86.avx2.pmaxu.w")
1030 "256_max_epi32" => Intrinsic
{
1031 inputs
: { static INPUTS: [&'static Type; 2] = [&::I32x8, &::I32x8]; &INPUTS }
,
1033 definition
: Named("llvm.x86.avx2.pmaxs.d")
1035 "256_max_epu32" => Intrinsic
{
1036 inputs
: { static INPUTS: [&'static Type; 2] = [&::U32x8, &::U32x8]; &INPUTS }
,
1038 definition
: Named("llvm.x86.avx2.pmaxu.d")
1040 "256_min_epi8" => Intrinsic
{
1041 inputs
: { static INPUTS: [&'static Type; 2] = [&::I8x32, &::I8x32]; &INPUTS }
,
1043 definition
: Named("llvm.x86.avx2.pmins.b")
1045 "256_min_epu8" => Intrinsic
{
1046 inputs
: { static INPUTS: [&'static Type; 2] = [&::U8x32, &::U8x32]; &INPUTS }
,
1048 definition
: Named("llvm.x86.avx2.pminu.b")
1050 "256_min_epi16" => Intrinsic
{
1051 inputs
: { static INPUTS: [&'static Type; 2] = [&::I16x16, &::I16x16]; &INPUTS }
,
1053 definition
: Named("llvm.x86.avx2.pmins.w")
1055 "256_min_epu16" => Intrinsic
{
1056 inputs
: { static INPUTS: [&'static Type; 2] = [&::U16x16, &::U16x16]; &INPUTS }
,
1058 definition
: Named("llvm.x86.avx2.pminu.w")
1060 "256_min_epi32" => Intrinsic
{
1061 inputs
: { static INPUTS: [&'static Type; 2] = [&::I32x8, &::I32x8]; &INPUTS }
,
1063 definition
: Named("llvm.x86.avx2.pmins.d")
1065 "256_min_epu32" => Intrinsic
{
1066 inputs
: { static INPUTS: [&'static Type; 2] = [&::U32x8, &::U32x8]; &INPUTS }
,
1068 definition
: Named("llvm.x86.avx2.pminu.d")
1070 "256_movemask_epi8" => Intrinsic
{
1071 inputs
: { static INPUTS: [&'static Type; 1] = [&::I8x32]; &INPUTS }
,
1073 definition
: Named("llvm.x86.avx2.pmovmskb")
1075 "256_mpsadbw_epu8" => Intrinsic
{
1076 inputs
: { static INPUTS: [&'static Type; 3] = [&::U8x32, &::U8x32, &::I32_8]; &INPUTS }
,
1078 definition
: Named("llvm.x86.avx2.mpsadbw")
1080 "256_mul_epi64" => Intrinsic
{
1081 inputs
: { static INPUTS: [&'static Type; 2] = [&::I32x8, &::I32x8]; &INPUTS }
,
1083 definition
: Named("llvm.x86.avx2.pmulq.dq")
1085 "256_mul_epu64" => Intrinsic
{
1086 inputs
: { static INPUTS: [&'static Type; 2] = [&::U32x8, &::U32x8]; &INPUTS }
,
1088 definition
: Named("llvm.x86.avx2.pmulq.dq")
1090 "256_mulhi_epi16" => Intrinsic
{
1091 inputs
: { static INPUTS: [&'static Type; 2] = [&::I16x16, &::I16x16]; &INPUTS }
,
1093 definition
: Named("llvm.x86.avx2.pmulhw.w")
1095 "256_mulhi_epu16" => Intrinsic
{
1096 inputs
: { static INPUTS: [&'static Type; 2] = [&::U16x16, &::U16x16]; &INPUTS }
,
1098 definition
: Named("llvm.x86.avx2.pmulhw.w")
1100 "256_mulhrs_epi16" => Intrinsic
{
1101 inputs
: { static INPUTS: [&'static Type; 2] = [&::I16x16, &::I16x16]; &INPUTS }
,
1103 definition
: Named("llvm.x86.avx2.pmul.hr.sw")
1105 "256_packs_epi16" => Intrinsic
{
1106 inputs
: { static INPUTS: [&'static Type; 2] = [&::I16x16, &::I16x16]; &INPUTS }
,
1108 definition
: Named("llvm.x86.avx2.packsswb")
1110 "256_packus_epi16" => Intrinsic
{
1111 inputs
: { static INPUTS: [&'static Type; 2] = [&::I16x16, &::I16x16]; &INPUTS }
,
1113 definition
: Named("llvm.x86.avx2.packuswb")
1115 "256_packs_epi32" => Intrinsic
{
1116 inputs
: { static INPUTS: [&'static Type; 2] = [&::I32x8, &::I32x8]; &INPUTS }
,
1118 definition
: Named("llvm.x86.avx2.packssdw")
1120 "256_packus_epi32" => Intrinsic
{
1121 inputs
: { static INPUTS: [&'static Type; 2] = [&::I32x8, &::I32x8]; &INPUTS }
,
1123 definition
: Named("llvm.x86.avx2.packusdw")
1125 "256_permutevar8x32_epi32" => Intrinsic
{
1126 inputs
: { static INPUTS: [&'static Type; 2] = [&::I32x8, &::I32x8]; &INPUTS }
,
1128 definition
: Named("llvm.x86.avx2.permd")
1130 "256_permutevar8x32_ps" => Intrinsic
{
1131 inputs
: { static INPUTS: [&'static Type; 2] = [&::F32x8, &::I32x8]; &INPUTS }
,
1133 definition
: Named("llvm.x86.avx2.permps")
1135 "256_sad_epu8" => Intrinsic
{
1136 inputs
: { static INPUTS: [&'static Type; 2] = [&::U8x32, &::U8x32]; &INPUTS }
,
1138 definition
: Named("llvm.x86.avx2.psad.bw")
1140 "256_shuffle_epi8" => Intrinsic
{
1141 inputs
: { static INPUTS: [&'static Type; 2] = [&::I8x32, &::I8x32]; &INPUTS }
,
1143 definition
: Named("llvm.x86.avx2.pshuf.b")
1145 "256_sign_epi8" => Intrinsic
{
1146 inputs
: { static INPUTS: [&'static Type; 2] = [&::I8x32, &::I8x32]; &INPUTS }
,
1148 definition
: Named("llvm.x86.avx2.psign.b")
1150 "256_sign_epi16" => Intrinsic
{
1151 inputs
: { static INPUTS: [&'static Type; 2] = [&::I16x16, &::I16x16]; &INPUTS }
,
1153 definition
: Named("llvm.x86.avx2.psign.w")
1155 "256_sign_epi32" => Intrinsic
{
1156 inputs
: { static INPUTS: [&'static Type; 2] = [&::I32x8, &::I32x8]; &INPUTS }
,
1158 definition
: Named("llvm.x86.avx2.psign.d")
1160 "256_subs_epi8" => Intrinsic
{
1161 inputs
: { static INPUTS: [&'static Type; 2] = [&::I8x32, &::I8x32]; &INPUTS }
,
1163 definition
: Named("llvm.x86.avx2.psubs.b")
1165 "256_subs_epu8" => Intrinsic
{
1166 inputs
: { static INPUTS: [&'static Type; 2] = [&::U8x32, &::U8x32]; &INPUTS }
,
1168 definition
: Named("llvm.x86.avx2.psubus.b")
1170 "256_subs_epi16" => Intrinsic
{
1171 inputs
: { static INPUTS: [&'static Type; 2] = [&::I16x16, &::I16x16]; &INPUTS }
,
1173 definition
: Named("llvm.x86.avx2.psubs.w")
1175 "256_subs_epu16" => Intrinsic
{
1176 inputs
: { static INPUTS: [&'static Type; 2] = [&::U16x16, &::U16x16]; &INPUTS }
,
1178 definition
: Named("llvm.x86.avx2.psubus.w")
1180 "_fmadd_ps" => Intrinsic
{
1181 inputs
: { static INPUTS: [&'static Type; 3] = [&::F32x4, &::F32x4, &::F32x4]; &INPUTS }
,
1183 definition
: Named("llvm.x86.fma.vfmadd.ps")
1185 "_fmadd_pd" => Intrinsic
{
1186 inputs
: { static INPUTS: [&'static Type; 3] = [&::F64x2, &::F64x2, &::F64x2]; &INPUTS }
,
1188 definition
: Named("llvm.x86.fma.vfmadd.pd")
1190 "256_fmadd_ps" => Intrinsic
{
1191 inputs
: { static INPUTS: [&'static Type; 3] = [&::F32x8, &::F32x8, &::F32x8]; &INPUTS }
,
1193 definition
: Named("llvm.x86.fma.vfmadd.ps.256")
1195 "256_fmadd_pd" => Intrinsic
{
1196 inputs
: { static INPUTS: [&'static Type; 3] = [&::F64x4, &::F64x4, &::F64x4]; &INPUTS }
,
1198 definition
: Named("llvm.x86.fma.vfmadd.pd.256")
1200 "_fmaddsub_ps" => Intrinsic
{
1201 inputs
: { static INPUTS: [&'static Type; 3] = [&::F32x4, &::F32x4, &::F32x4]; &INPUTS }
,
1203 definition
: Named("llvm.x86.fma.vfmaddsub.ps")
1205 "_fmaddsub_pd" => Intrinsic
{
1206 inputs
: { static INPUTS: [&'static Type; 3] = [&::F64x2, &::F64x2, &::F64x2]; &INPUTS }
,
1208 definition
: Named("llvm.x86.fma.vfmaddsub.pd")
1210 "256_fmaddsub_ps" => Intrinsic
{
1211 inputs
: { static INPUTS: [&'static Type; 3] = [&::F32x8, &::F32x8, &::F32x8]; &INPUTS }
,
1213 definition
: Named("llvm.x86.fma.vfmaddsub.ps.256")
1215 "256_fmaddsub_pd" => Intrinsic
{
1216 inputs
: { static INPUTS: [&'static Type; 3] = [&::F64x4, &::F64x4, &::F64x4]; &INPUTS }
,
1218 definition
: Named("llvm.x86.fma.vfmaddsub.pd.256")
1220 "_fmsub_ps" => Intrinsic
{
1221 inputs
: { static INPUTS: [&'static Type; 3] = [&::F32x4, &::F32x4, &::F32x4]; &INPUTS }
,
1223 definition
: Named("llvm.x86.fma.vfmsub.ps")
1225 "_fmsub_pd" => Intrinsic
{
1226 inputs
: { static INPUTS: [&'static Type; 3] = [&::F64x2, &::F64x2, &::F64x2]; &INPUTS }
,
1228 definition
: Named("llvm.x86.fma.vfmsub.pd")
1230 "256_fmsub_ps" => Intrinsic
{
1231 inputs
: { static INPUTS: [&'static Type; 3] = [&::F32x8, &::F32x8, &::F32x8]; &INPUTS }
,
1233 definition
: Named("llvm.x86.fma.vfmsub.ps.256")
1235 "256_fmsub_pd" => Intrinsic
{
1236 inputs
: { static INPUTS: [&'static Type; 3] = [&::F64x4, &::F64x4, &::F64x4]; &INPUTS }
,
1238 definition
: Named("llvm.x86.fma.vfmsub.pd.256")
1240 "_fmsubadd_ps" => Intrinsic
{
1241 inputs
: { static INPUTS: [&'static Type; 3] = [&::F32x4, &::F32x4, &::F32x4]; &INPUTS }
,
1243 definition
: Named("llvm.x86.fma.vfmsubadd.ps")
1245 "_fmsubadd_pd" => Intrinsic
{
1246 inputs
: { static INPUTS: [&'static Type; 3] = [&::F64x2, &::F64x2, &::F64x2]; &INPUTS }
,
1248 definition
: Named("llvm.x86.fma.vfmsubadd.pd")
1250 "256_fmsubadd_ps" => Intrinsic
{
1251 inputs
: { static INPUTS: [&'static Type; 3] = [&::F32x8, &::F32x8, &::F32x8]; &INPUTS }
,
1253 definition
: Named("llvm.x86.fma.vfmsubadd.ps.256")
1255 "256_fmsubadd_pd" => Intrinsic
{
1256 inputs
: { static INPUTS: [&'static Type; 3] = [&::F64x4, &::F64x4, &::F64x4]; &INPUTS }
,
1258 definition
: Named("llvm.x86.fma.vfmsubadd.pd.256")
1260 "_fnmadd_ps" => Intrinsic
{
1261 inputs
: { static INPUTS: [&'static Type; 3] = [&::F32x4, &::F32x4, &::F32x4]; &INPUTS }
,
1263 definition
: Named("llvm.x86.fma.vfnmadd.ps")
1265 "_fnmadd_pd" => Intrinsic
{
1266 inputs
: { static INPUTS: [&'static Type; 3] = [&::F64x2, &::F64x2, &::F64x2]; &INPUTS }
,
1268 definition
: Named("llvm.x86.fma.vfnmadd.pd")
1270 "256_fnmadd_ps" => Intrinsic
{
1271 inputs
: { static INPUTS: [&'static Type; 3] = [&::F32x8, &::F32x8, &::F32x8]; &INPUTS }
,
1273 definition
: Named("llvm.x86.fma.vfnmadd.ps.256")
1275 "256_fnmadd_pd" => Intrinsic
{
1276 inputs
: { static INPUTS: [&'static Type; 3] = [&::F64x4, &::F64x4, &::F64x4]; &INPUTS }
,
1278 definition
: Named("llvm.x86.fma.vfnmadd.pd.256")
1280 "_fnmsub_ps" => Intrinsic
{
1281 inputs
: { static INPUTS: [&'static Type; 3] = [&::F32x4, &::F32x4, &::F32x4]; &INPUTS }
,
1283 definition
: Named("llvm.x86.fma.vfnmsub.ps")
1285 "_fnmsub_pd" => Intrinsic
{
1286 inputs
: { static INPUTS: [&'static Type; 3] = [&::F64x2, &::F64x2, &::F64x2]; &INPUTS }
,
1288 definition
: Named("llvm.x86.fma.vfnmsub.pd")
1290 "256_fnmsub_ps" => Intrinsic
{
1291 inputs
: { static INPUTS: [&'static Type; 3] = [&::F32x8, &::F32x8, &::F32x8]; &INPUTS }
,
1293 definition
: Named("llvm.x86.fma.vfnmsub.ps.256")
1295 "256_fnmsub_pd" => Intrinsic
{
1296 inputs
: { static INPUTS: [&'static Type; 3] = [&::F64x4, &::F64x4, &::F64x4]; &INPUTS }
,
1298 definition
: Named("llvm.x86.fma.vfnmsub.pd.256")