]> git.proxmox.com Git - rustc.git/blob - src/librustc_platform_intrinsics/x86.rs
Imported Upstream version 1.9.0+dfsg1
[rustc.git] / src / librustc_platform_intrinsics / x86.rs
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.
4 //
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.
10
11 // DO NOT EDIT: autogenerated by etc/platform-intrinsics/generator.py
12 // ignore-tidy-linelength
13
14 #![allow(unused_imports)]
15
16 use {Intrinsic, Type};
17 use IntrinsicDef::Named;
18
19 // The default inlining settings trigger a pathological behaviour in
20 // LLVM, which causes makes compilation very slow. See #28273.
21 #[inline(never)]
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 },
27 output: &::I32,
28 definition: Named("llvm.x86.sse.movmsk.ps")
29 },
30 "_max_ps" => Intrinsic {
31 inputs: { static INPUTS: [&'static Type; 2] = [&::F32x4, &::F32x4]; &INPUTS },
32 output: &::F32x4,
33 definition: Named("llvm.x86.sse.max.ps")
34 },
35 "_min_ps" => Intrinsic {
36 inputs: { static INPUTS: [&'static Type; 2] = [&::F32x4, &::F32x4]; &INPUTS },
37 output: &::F32x4,
38 definition: Named("llvm.x86.sse.min.ps")
39 },
40 "_rsqrt_ps" => Intrinsic {
41 inputs: { static INPUTS: [&'static Type; 1] = [&::F32x4]; &INPUTS },
42 output: &::F32x4,
43 definition: Named("llvm.x86.sse.rsqrt.ps")
44 },
45 "_rcp_ps" => Intrinsic {
46 inputs: { static INPUTS: [&'static Type; 1] = [&::F32x4]; &INPUTS },
47 output: &::F32x4,
48 definition: Named("llvm.x86.sse.rcp.ps")
49 },
50 "_sqrt_ps" => Intrinsic {
51 inputs: { static INPUTS: [&'static Type; 1] = [&::F32x4]; &INPUTS },
52 output: &::F32x4,
53 definition: Named("llvm.sqrt.v4f32")
54 },
55 "_storeu_ps" => Intrinsic {
56 inputs: { static INPUTS: [&'static Type; 2] = [{ static PTR: Type = Type::Pointer(&::F32, Some(&::I8), false); &PTR }, &::F32x4]; &INPUTS },
57 output: &::VOID,
58 definition: Named("llvm.x86.sse.storeu.ps")
59 },
60 "_adds_epi8" => Intrinsic {
61 inputs: { static INPUTS: [&'static Type; 2] = [&::I8x16, &::I8x16]; &INPUTS },
62 output: &::I8x16,
63 definition: Named("llvm.x86.sse2.padds.b")
64 },
65 "_adds_epu8" => Intrinsic {
66 inputs: { static INPUTS: [&'static Type; 2] = [&::U8x16, &::U8x16]; &INPUTS },
67 output: &::U8x16,
68 definition: Named("llvm.x86.sse2.paddus.b")
69 },
70 "_adds_epi16" => Intrinsic {
71 inputs: { static INPUTS: [&'static Type; 2] = [&::I16x8, &::I16x8]; &INPUTS },
72 output: &::I16x8,
73 definition: Named("llvm.x86.sse2.padds.w")
74 },
75 "_adds_epu16" => Intrinsic {
76 inputs: { static INPUTS: [&'static Type; 2] = [&::U16x8, &::U16x8]; &INPUTS },
77 output: &::U16x8,
78 definition: Named("llvm.x86.sse2.paddus.w")
79 },
80 "_avg_epu8" => Intrinsic {
81 inputs: { static INPUTS: [&'static Type; 2] = [&::U8x16, &::U8x16]; &INPUTS },
82 output: &::U8x16,
83 definition: Named("llvm.x86.sse2.pavg.b")
84 },
85 "_avg_epu16" => Intrinsic {
86 inputs: { static INPUTS: [&'static Type; 2] = [&::U16x8, &::U16x8]; &INPUTS },
87 output: &::U16x8,
88 definition: Named("llvm.x86.sse2.pavg.w")
89 },
90 "_lfence" => Intrinsic {
91 inputs: { static INPUTS: [&'static Type; 0] = []; &INPUTS },
92 output: &::VOID,
93 definition: Named("llvm.x86.sse2.lfence")
94 },
95 "_madd_epi16" => Intrinsic {
96 inputs: { static INPUTS: [&'static Type; 2] = [&::I16x8, &::I16x8]; &INPUTS },
97 output: &::I32x4,
98 definition: Named("llvm.x86.sse2.pmadd.wd")
99 },
100 "_maskmoveu_si128" => Intrinsic {
101 inputs: { static INPUTS: [&'static Type; 3] = [&::U8x16, &::U8x16, { static PTR: Type = Type::Pointer(&::U8, None, false); &PTR }]; &INPUTS },
102 output: &::VOID,
103 definition: Named("llvm.x86.sse2.maskmov.dqu")
104 },
105 "_max_epi16" => Intrinsic {
106 inputs: { static INPUTS: [&'static Type; 2] = [&::I16x8, &::I16x8]; &INPUTS },
107 output: &::I16x8,
108 definition: Named("llvm.x86.sse2.pmaxs.w")
109 },
110 "_max_epu8" => Intrinsic {
111 inputs: { static INPUTS: [&'static Type; 2] = [&::U8x16, &::U8x16]; &INPUTS },
112 output: &::U8x16,
113 definition: Named("llvm.x86.sse2.pmaxu.b")
114 },
115 "_max_pd" => Intrinsic {
116 inputs: { static INPUTS: [&'static Type; 2] = [&::F64x2, &::F64x2]; &INPUTS },
117 output: &::F64x2,
118 definition: Named("llvm.x86.sse2.max.pd")
119 },
120 "_mfence" => Intrinsic {
121 inputs: { static INPUTS: [&'static Type; 0] = []; &INPUTS },
122 output: &::VOID,
123 definition: Named("llvm.x86.sse2.fence")
124 },
125 "_min_epi16" => Intrinsic {
126 inputs: { static INPUTS: [&'static Type; 2] = [&::I16x8, &::I16x8]; &INPUTS },
127 output: &::I16x8,
128 definition: Named("llvm.x86.sse2.pmins.w")
129 },
130 "_min_epu8" => Intrinsic {
131 inputs: { static INPUTS: [&'static Type; 2] = [&::U8x16, &::U8x16]; &INPUTS },
132 output: &::U8x16,
133 definition: Named("llvm.x86.sse2.pminu.b")
134 },
135 "_min_pd" => Intrinsic {
136 inputs: { static INPUTS: [&'static Type; 2] = [&::F64x2, &::F64x2]; &INPUTS },
137 output: &::F64x2,
138 definition: Named("llvm.x86.sse2.min.pd")
139 },
140 "_movemask_pd" => Intrinsic {
141 inputs: { static INPUTS: [&'static Type; 1] = [&::F64x2]; &INPUTS },
142 output: &::I32,
143 definition: Named("llvm.x86.sse2.movmsk.pd")
144 },
145 "_movemask_epi8" => Intrinsic {
146 inputs: { static INPUTS: [&'static Type; 1] = [&::I8x16]; &INPUTS },
147 output: &::I32,
148 definition: Named("llvm.x86.sse2.pmovmskb.128")
149 },
150 "_mul_epu32" => Intrinsic {
151 inputs: { static INPUTS: [&'static Type; 2] = [&::U32x4, &::U32x4]; &INPUTS },
152 output: &::U64x2,
153 definition: Named("llvm.x86.sse2.pmulu.dq")
154 },
155 "_mulhi_epi16" => Intrinsic {
156 inputs: { static INPUTS: [&'static Type; 2] = [&::I16x8, &::I16x8]; &INPUTS },
157 output: &::I16x8,
158 definition: Named("llvm.x86.sse2.pmulh.w")
159 },
160 "_mulhi_epu16" => Intrinsic {
161 inputs: { static INPUTS: [&'static Type; 2] = [&::U16x8, &::U16x8]; &INPUTS },
162 output: &::U16x8,
163 definition: Named("llvm.x86.sse2.pmulhu.w")
164 },
165 "_packs_epi16" => Intrinsic {
166 inputs: { static INPUTS: [&'static Type; 2] = [&::I16x8, &::I16x8]; &INPUTS },
167 output: &::I8x16,
168 definition: Named("llvm.x86.sse2.packsswb.128")
169 },
170 "_packs_epi32" => Intrinsic {
171 inputs: { static INPUTS: [&'static Type; 2] = [&::I32x4, &::I32x4]; &INPUTS },
172 output: &::I16x8,
173 definition: Named("llvm.x86.sse2.packssdw.128")
174 },
175 "_packus_epi16" => Intrinsic {
176 inputs: { static INPUTS: [&'static Type; 2] = [&::I16x8, &::I16x8]; &INPUTS },
177 output: &::U8x16,
178 definition: Named("llvm.x86.sse2.packuswb.128")
179 },
180 "_sad_epu8" => Intrinsic {
181 inputs: { static INPUTS: [&'static Type; 2] = [&::U8x16, &::U8x16]; &INPUTS },
182 output: &::U64x2,
183 definition: Named("llvm.x86.sse2.psad.bw")
184 },
185 "_sfence" => Intrinsic {
186 inputs: { static INPUTS: [&'static Type; 0] = []; &INPUTS },
187 output: &::VOID,
188 definition: Named("llvm.x86.sse2.sfence")
189 },
190 "_sqrt_pd" => Intrinsic {
191 inputs: { static INPUTS: [&'static Type; 1] = [&::F64x2]; &INPUTS },
192 output: &::F64x2,
193 definition: Named("llvm.sqrt.v2f64")
194 },
195 "_storeu_pd" => Intrinsic {
196 inputs: { static INPUTS: [&'static Type; 2] = [{ static PTR: Type = Type::Pointer(&::F64, Some(&::U8), false); &PTR }, &::F64x2]; &INPUTS },
197 output: &::VOID,
198 definition: Named("llvm.x86.sse2.storeu.pd")
199 },
200 "_storeu_si128" => Intrinsic {
201 inputs: { static INPUTS: [&'static Type; 2] = [{ static PTR: Type = Type::Pointer(&::U8x16, Some(&::U8), false); &PTR }, &::U8x16]; &INPUTS },
202 output: &::VOID,
203 definition: Named("llvm.x86.sse2.storeu.dq")
204 },
205 "_subs_epi8" => Intrinsic {
206 inputs: { static INPUTS: [&'static Type; 2] = [&::I8x16, &::I8x16]; &INPUTS },
207 output: &::I8x16,
208 definition: Named("llvm.x86.sse2.psubs.b")
209 },
210 "_subs_epu8" => Intrinsic {
211 inputs: { static INPUTS: [&'static Type; 2] = [&::U8x16, &::U8x16]; &INPUTS },
212 output: &::U8x16,
213 definition: Named("llvm.x86.sse2.psubus.b")
214 },
215 "_subs_epi16" => Intrinsic {
216 inputs: { static INPUTS: [&'static Type; 2] = [&::I16x8, &::I16x8]; &INPUTS },
217 output: &::I16x8,
218 definition: Named("llvm.x86.sse2.psubs.w")
219 },
220 "_subs_epu16" => Intrinsic {
221 inputs: { static INPUTS: [&'static Type; 2] = [&::U16x8, &::U16x8]; &INPUTS },
222 output: &::U16x8,
223 definition: Named("llvm.x86.sse2.psubus.w")
224 },
225 "_addsub_ps" => Intrinsic {
226 inputs: { static INPUTS: [&'static Type; 2] = [&::F32x4, &::F32x4]; &INPUTS },
227 output: &::F32x4,
228 definition: Named("llvm.x86.sse3.addsub.ps")
229 },
230 "_addsub_pd" => Intrinsic {
231 inputs: { static INPUTS: [&'static Type; 2] = [&::F64x2, &::F64x2]; &INPUTS },
232 output: &::F64x2,
233 definition: Named("llvm.x86.sse3.addsub.pd")
234 },
235 "_hadd_ps" => Intrinsic {
236 inputs: { static INPUTS: [&'static Type; 2] = [&::F32x4, &::F32x4]; &INPUTS },
237 output: &::F32x4,
238 definition: Named("llvm.x86.sse3.hadd.ps")
239 },
240 "_hadd_pd" => Intrinsic {
241 inputs: { static INPUTS: [&'static Type; 2] = [&::F64x2, &::F64x2]; &INPUTS },
242 output: &::F64x2,
243 definition: Named("llvm.x86.sse3.hadd.pd")
244 },
245 "_hsub_ps" => Intrinsic {
246 inputs: { static INPUTS: [&'static Type; 2] = [&::F32x4, &::F32x4]; &INPUTS },
247 output: &::F32x4,
248 definition: Named("llvm.x86.sse3.hsub.ps")
249 },
250 "_hsub_pd" => Intrinsic {
251 inputs: { static INPUTS: [&'static Type; 2] = [&::F64x2, &::F64x2]; &INPUTS },
252 output: &::F64x2,
253 definition: Named("llvm.x86.sse3.hsub.pd")
254 },
255 "_lddqu_si128" => Intrinsic {
256 inputs: { static INPUTS: [&'static Type; 1] = [{ static PTR: Type = Type::Pointer(&::U8x16, Some(&::I8), true); &PTR }]; &INPUTS },
257 output: &::U8x16,
258 definition: Named("llvm.x86.sse3.ldu.dq")
259 },
260 "_abs_epi8" => Intrinsic {
261 inputs: { static INPUTS: [&'static Type; 1] = [&::I8x16]; &INPUTS },
262 output: &::I8x16,
263 definition: Named("llvm.x86.ssse3.pabs.b.128")
264 },
265 "_abs_epi16" => Intrinsic {
266 inputs: { static INPUTS: [&'static Type; 1] = [&::I16x8]; &INPUTS },
267 output: &::I16x8,
268 definition: Named("llvm.x86.ssse3.pabs.w.128")
269 },
270 "_abs_epi32" => Intrinsic {
271 inputs: { static INPUTS: [&'static Type; 1] = [&::I32x4]; &INPUTS },
272 output: &::I32x4,
273 definition: Named("llvm.x86.ssse3.pabs.d.128")
274 },
275 "_hadd_epi16" => Intrinsic {
276 inputs: { static INPUTS: [&'static Type; 2] = [&::I16x8, &::I16x8]; &INPUTS },
277 output: &::I16x8,
278 definition: Named("llvm.x86.ssse3.phadd.w.128")
279 },
280 "_hadd_epi32" => Intrinsic {
281 inputs: { static INPUTS: [&'static Type; 2] = [&::I32x4, &::I32x4]; &INPUTS },
282 output: &::I32x4,
283 definition: Named("llvm.x86.ssse3.phadd.d.128")
284 },
285 "_hadds_epi16" => Intrinsic {
286 inputs: { static INPUTS: [&'static Type; 2] = [&::I16x8, &::I16x8]; &INPUTS },
287 output: &::I16x8,
288 definition: Named("llvm.x86.ssse3.phadd.sw.128")
289 },
290 "_hsub_epi16" => Intrinsic {
291 inputs: { static INPUTS: [&'static Type; 2] = [&::I16x8, &::I16x8]; &INPUTS },
292 output: &::I16x8,
293 definition: Named("llvm.x86.ssse3.phsub.w.128")
294 },
295 "_hsub_epi32" => Intrinsic {
296 inputs: { static INPUTS: [&'static Type; 2] = [&::I32x4, &::I32x4]; &INPUTS },
297 output: &::I32x4,
298 definition: Named("llvm.x86.ssse3.phsub.d.128")
299 },
300 "_hsubs_epi16" => Intrinsic {
301 inputs: { static INPUTS: [&'static Type; 2] = [&::I16x8, &::I16x8]; &INPUTS },
302 output: &::I16x8,
303 definition: Named("llvm.x86.ssse3.phsub.sw.128")
304 },
305 "_maddubs_epi16" => Intrinsic {
306 inputs: { static INPUTS: [&'static Type; 2] = [&::U8x16, &::I8x16]; &INPUTS },
307 output: &::I16x8,
308 definition: Named("llvm.x86.ssse3.pmadd.ub.sw.128")
309 },
310 "_mulhrs_epi16" => Intrinsic {
311 inputs: { static INPUTS: [&'static Type; 2] = [&::I16x8, &::I16x8]; &INPUTS },
312 output: &::I16x8,
313 definition: Named("llvm.x86.ssse3.pmul.hr.sw.128")
314 },
315 "_shuffle_epi8" => Intrinsic {
316 inputs: { static INPUTS: [&'static Type; 2] = [&::I8x16, &::I8x16]; &INPUTS },
317 output: &::I8x16,
318 definition: Named("llvm.x86.ssse3.pshuf.b.128")
319 },
320 "_sign_epi8" => Intrinsic {
321 inputs: { static INPUTS: [&'static Type; 2] = [&::I8x16, &::I8x16]; &INPUTS },
322 output: &::I8x16,
323 definition: Named("llvm.x86.ssse3.psign.b.128")
324 },
325 "_sign_epi16" => Intrinsic {
326 inputs: { static INPUTS: [&'static Type; 2] = [&::I16x8, &::I16x8]; &INPUTS },
327 output: &::I16x8,
328 definition: Named("llvm.x86.ssse3.psign.w.128")
329 },
330 "_sign_epi32" => Intrinsic {
331 inputs: { static INPUTS: [&'static Type; 2] = [&::I32x4, &::I32x4]; &INPUTS },
332 output: &::I32x4,
333 definition: Named("llvm.x86.ssse3.psign.d.128")
334 },
335 "_dp_ps" => Intrinsic {
336 inputs: { static INPUTS: [&'static Type; 3] = [&::F32x4, &::F32x4, &::I32_8]; &INPUTS },
337 output: &::F32x4,
338 definition: Named("llvm.x86.sse41.dpps")
339 },
340 "_dp_pd" => Intrinsic {
341 inputs: { static INPUTS: [&'static Type; 3] = [&::F64x2, &::F64x2, &::I32_8]; &INPUTS },
342 output: &::F64x2,
343 definition: Named("llvm.x86.sse41.dppd")
344 },
345 "_max_epi8" => Intrinsic {
346 inputs: { static INPUTS: [&'static Type; 2] = [&::I8x16, &::I8x16]; &INPUTS },
347 output: &::I8x16,
348 definition: Named("llvm.x86.sse41.pmaxsb")
349 },
350 "_max_epu16" => Intrinsic {
351 inputs: { static INPUTS: [&'static Type; 2] = [&::U16x8, &::U16x8]; &INPUTS },
352 output: &::U16x8,
353 definition: Named("llvm.x86.sse41.pmaxuw")
354 },
355 "_max_epi32" => Intrinsic {
356 inputs: { static INPUTS: [&'static Type; 2] = [&::I32x4, &::I32x4]; &INPUTS },
357 output: &::I32x4,
358 definition: Named("llvm.x86.sse41.pmaxsd")
359 },
360 "_max_epu32" => Intrinsic {
361 inputs: { static INPUTS: [&'static Type; 2] = [&::U32x4, &::U32x4]; &INPUTS },
362 output: &::U32x4,
363 definition: Named("llvm.x86.sse41.pmaxud")
364 },
365 "_min_epi8" => Intrinsic {
366 inputs: { static INPUTS: [&'static Type; 2] = [&::I8x16, &::I8x16]; &INPUTS },
367 output: &::I8x16,
368 definition: Named("llvm.x86.sse41.pminsb")
369 },
370 "_min_epu16" => Intrinsic {
371 inputs: { static INPUTS: [&'static Type; 2] = [&::U16x8, &::U16x8]; &INPUTS },
372 output: &::U16x8,
373 definition: Named("llvm.x86.sse41.pminuw")
374 },
375 "_min_epi32" => Intrinsic {
376 inputs: { static INPUTS: [&'static Type; 2] = [&::I32x4, &::I32x4]; &INPUTS },
377 output: &::I32x4,
378 definition: Named("llvm.x86.sse41.pminsd")
379 },
380 "_min_epu32" => Intrinsic {
381 inputs: { static INPUTS: [&'static Type; 2] = [&::U32x4, &::U32x4]; &INPUTS },
382 output: &::U32x4,
383 definition: Named("llvm.x86.sse41.pminud")
384 },
385 "_minpos_epu16" => Intrinsic {
386 inputs: { static INPUTS: [&'static Type; 1] = [&::U16x8]; &INPUTS },
387 output: &::U16x8,
388 definition: Named("llvm.x86.sse41.phminposuw")
389 },
390 "_mpsadbw_epu8" => Intrinsic {
391 inputs: { static INPUTS: [&'static Type; 3] = [&::U8x16, &::U8x16, &::I32_8]; &INPUTS },
392 output: &::U16x8,
393 definition: Named("llvm.x86.sse41.mpsadbw")
394 },
395 "_mul_epi32" => Intrinsic {
396 inputs: { static INPUTS: [&'static Type; 2] = [&::I32x4, &::I32x4]; &INPUTS },
397 output: &::I64x2,
398 definition: Named("llvm.x86.sse41.pmuldq")
399 },
400 "_packus_epi32" => Intrinsic {
401 inputs: { static INPUTS: [&'static Type; 2] = [&::I32x4, &::I32x4]; &INPUTS },
402 output: &::U16x8,
403 definition: Named("llvm.x86.sse41.packusdw")
404 },
405 "_testc_si128" => Intrinsic {
406 inputs: { static INPUTS: [&'static Type; 2] = [&::U64x2, &::U64x2]; &INPUTS },
407 output: &::I32,
408 definition: Named("llvm.x86.sse41.ptestc")
409 },
410 "_testnzc_si128" => Intrinsic {
411 inputs: { static INPUTS: [&'static Type; 2] = [&::U64x2, &::U64x2]; &INPUTS },
412 output: &::I32,
413 definition: Named("llvm.x86.sse41.ptestnzc")
414 },
415 "_testz_si128" => Intrinsic {
416 inputs: { static INPUTS: [&'static Type; 2] = [&::U64x2, &::U64x2]; &INPUTS },
417 output: &::I32,
418 definition: Named("llvm.x86.sse41.ptestz")
419 },
420 "_cmpestra" => Intrinsic {
421 inputs: { static INPUTS: [&'static Type; 5] = [&::I8x16, &::I32, &::I8x16, &::I32, &::I32_8]; &INPUTS },
422 output: &::I32,
423 definition: Named("llvm.x86.sse42.pcmpestria128")
424 },
425 "_cmpestrc" => Intrinsic {
426 inputs: { static INPUTS: [&'static Type; 5] = [&::I8x16, &::I32, &::I8x16, &::I32, &::I32_8]; &INPUTS },
427 output: &::I32,
428 definition: Named("llvm.x86.sse42.pcmpestric128")
429 },
430 "_cmpestri" => Intrinsic {
431 inputs: { static INPUTS: [&'static Type; 5] = [&::I8x16, &::I32, &::I8x16, &::I32, &::I32_8]; &INPUTS },
432 output: &::I32,
433 definition: Named("llvm.x86.sse42.pcmpestri128")
434 },
435 "_cmpestrm" => Intrinsic {
436 inputs: { static INPUTS: [&'static Type; 5] = [&::I8x16, &::I32, &::I8x16, &::I32, &::I32_8]; &INPUTS },
437 output: &::I8x16,
438 definition: Named("llvm.x86.sse42.pcmpestrm128")
439 },
440 "_cmpestro" => Intrinsic {
441 inputs: { static INPUTS: [&'static Type; 5] = [&::I8x16, &::I32, &::I8x16, &::I32, &::I32_8]; &INPUTS },
442 output: &::I32,
443 definition: Named("llvm.x86.sse42.pcmpestrio128")
444 },
445 "_cmpestrs" => Intrinsic {
446 inputs: { static INPUTS: [&'static Type; 5] = [&::I8x16, &::I32, &::I8x16, &::I32, &::I32_8]; &INPUTS },
447 output: &::I32,
448 definition: Named("llvm.x86.sse42.pcmpestris128")
449 },
450 "_cmpestrz" => Intrinsic {
451 inputs: { static INPUTS: [&'static Type; 5] = [&::I8x16, &::I32, &::I8x16, &::I32, &::I32_8]; &INPUTS },
452 output: &::I32,
453 definition: Named("llvm.x86.sse42.pcmpestriz128")
454 },
455 "_cmpistra" => Intrinsic {
456 inputs: { static INPUTS: [&'static Type; 3] = [&::I8x16, &::I8x16, &::I32_8]; &INPUTS },
457 output: &::I32,
458 definition: Named("llvm.x86.sse42.pcmpistria128")
459 },
460 "_cmpistrc" => Intrinsic {
461 inputs: { static INPUTS: [&'static Type; 3] = [&::I8x16, &::I8x16, &::I32_8]; &INPUTS },
462 output: &::I32,
463 definition: Named("llvm.x86.sse42.pcmpistric128")
464 },
465 "_cmpistri" => Intrinsic {
466 inputs: { static INPUTS: [&'static Type; 3] = [&::I8x16, &::I8x16, &::I32_8]; &INPUTS },
467 output: &::I32,
468 definition: Named("llvm.x86.sse42.pcmpistri128")
469 },
470 "_cmpistrm" => Intrinsic {
471 inputs: { static INPUTS: [&'static Type; 3] = [&::I8x16, &::I8x16, &::I32_8]; &INPUTS },
472 output: &::I8x16,
473 definition: Named("llvm.x86.sse42.pcmpistrm128")
474 },
475 "_cmpistro" => Intrinsic {
476 inputs: { static INPUTS: [&'static Type; 3] = [&::I8x16, &::I8x16, &::I32_8]; &INPUTS },
477 output: &::I32,
478 definition: Named("llvm.x86.sse42.pcmpistrio128")
479 },
480 "_cmpistrs" => Intrinsic {
481 inputs: { static INPUTS: [&'static Type; 3] = [&::I8x16, &::I8x16, &::I32_8]; &INPUTS },
482 output: &::I32,
483 definition: Named("llvm.x86.sse42.pcmpistris128")
484 },
485 "_cmpistrz" => Intrinsic {
486 inputs: { static INPUTS: [&'static Type; 3] = [&::I8x16, &::I8x16, &::I32_8]; &INPUTS },
487 output: &::I32,
488 definition: Named("llvm.x86.sse42.pcmpistriz128")
489 },
490 "256_addsub_ps" => Intrinsic {
491 inputs: { static INPUTS: [&'static Type; 2] = [&::F32x8, &::F32x8]; &INPUTS },
492 output: &::F32x8,
493 definition: Named("llvm.x86.avx.addsub.ps.256")
494 },
495 "256_addsub_pd" => Intrinsic {
496 inputs: { static INPUTS: [&'static Type; 2] = [&::F64x4, &::F64x4]; &INPUTS },
497 output: &::F64x4,
498 definition: Named("llvm.x86.avx.addsub.pd.256")
499 },
500 "256_blendv_ps" => Intrinsic {
501 inputs: { static INPUTS: [&'static Type; 3] = [&::F32x8, &::F32x8, &::F32x8]; &INPUTS },
502 output: &::F32x8,
503 definition: Named("llvm.x86.avx.blendv.ps.256")
504 },
505 "256_blendv_pd" => Intrinsic {
506 inputs: { static INPUTS: [&'static Type; 3] = [&::F64x4, &::F64x4, &::F64x4]; &INPUTS },
507 output: &::F64x4,
508 definition: Named("llvm.x86.avx.blendv.pd.256")
509 },
510 "256_broadcast_ps" => Intrinsic {
511 inputs: { static INPUTS: [&'static Type; 1] = [{ static PTR: Type = Type::Pointer(&::I8, None, true); &PTR }]; &INPUTS },
512 output: &::F32x8,
513 definition: Named("llvm.x86.avx.vbroadcastf128.ps.256")
514 },
515 "256_broadcast_pd" => Intrinsic {
516 inputs: { static INPUTS: [&'static Type; 1] = [{ static PTR: Type = Type::Pointer(&::I8, None, true); &PTR }]; &INPUTS },
517 output: &::F64x4,
518 definition: Named("llvm.x86.avx.vbroadcastf128.pd.256")
519 },
520 "256_cmp_ps" => Intrinsic {
521 inputs: { static INPUTS: [&'static Type; 3] = [&::F32x8, &::F32x8, &::I8]; &INPUTS },
522 output: &::F32x8,
523 definition: Named("llvm.x86.avx.cmp.ps.256")
524 },
525 "256_cmp_pd" => Intrinsic {
526 inputs: { static INPUTS: [&'static Type; 3] = [&::F64x4, &::F64x4, &::I8]; &INPUTS },
527 output: &::F64x4,
528 definition: Named("llvm.x86.avx.cmp.pd.256")
529 },
530 "256_cvtepi32_pd" => Intrinsic {
531 inputs: { static INPUTS: [&'static Type; 1] = [&::I32x4]; &INPUTS },
532 output: &::F64x4,
533 definition: Named("llvm.x86.avx.cvtdq2.pd.256")
534 },
535 "256_cvtepi32_ps" => Intrinsic {
536 inputs: { static INPUTS: [&'static Type; 1] = [&::I32x8]; &INPUTS },
537 output: &::F32x8,
538 definition: Named("llvm.x86.avx.cvtdq2.ps.256")
539 },
540 "256_cvtpd_epi32" => Intrinsic {
541 inputs: { static INPUTS: [&'static Type; 1] = [&::F64x4]; &INPUTS },
542 output: &::I32x4,
543 definition: Named("llvm.x86.avx.cvt.pd2dq.256")
544 },
545 "256_cvtpd_ps" => Intrinsic {
546 inputs: { static INPUTS: [&'static Type; 1] = [&::F64x4]; &INPUTS },
547 output: &::F32x4,
548 definition: Named("llvm.x86.avx.cvt.pd2.ps.256")
549 },
550 "256_cvtps_epi32" => Intrinsic {
551 inputs: { static INPUTS: [&'static Type; 1] = [&::F32x8]; &INPUTS },
552 output: &::I32x8,
553 definition: Named("llvm.x86.avx.cvt.ps2dq.256")
554 },
555 "256_cvtps_pd" => Intrinsic {
556 inputs: { static INPUTS: [&'static Type; 1] = [&::F32x4]; &INPUTS },
557 output: &::F64x4,
558 definition: Named("llvm.x86.avx.cvt.ps2.pd.256")
559 },
560 "256_cvttpd_epi32" => Intrinsic {
561 inputs: { static INPUTS: [&'static Type; 1] = [&::F64x4]; &INPUTS },
562 output: &::I32x4,
563 definition: Named("llvm.x86.avx.cvtt.pd2dq.256")
564 },
565 "256_cvttps_epi32" => Intrinsic {
566 inputs: { static INPUTS: [&'static Type; 1] = [&::F32x8]; &INPUTS },
567 output: &::I32x8,
568 definition: Named("llvm.x86.avx.cvtt.ps2dq.256")
569 },
570 "256_dp_ps" => Intrinsic {
571 inputs: { static INPUTS: [&'static Type; 3] = [&::F32x8, &::F32x8, &::I32_8]; &INPUTS },
572 output: &::F32x8,
573 definition: Named("llvm.x86.avx.dp.ps.256")
574 },
575 "256_hadd_ps" => Intrinsic {
576 inputs: { static INPUTS: [&'static Type; 2] = [&::F32x8, &::F32x8]; &INPUTS },
577 output: &::F32x8,
578 definition: Named("llvm.x86.avx.hadd.ps.256")
579 },
580 "256_hadd_pd" => Intrinsic {
581 inputs: { static INPUTS: [&'static Type; 2] = [&::F64x4, &::F64x4]; &INPUTS },
582 output: &::F64x4,
583 definition: Named("llvm.x86.avx.hadd.pd.256")
584 },
585 "256_hsub_ps" => Intrinsic {
586 inputs: { static INPUTS: [&'static Type; 2] = [&::F32x8, &::F32x8]; &INPUTS },
587 output: &::F32x8,
588 definition: Named("llvm.x86.avx.hsub.ps.256")
589 },
590 "256_hsub_pd" => Intrinsic {
591 inputs: { static INPUTS: [&'static Type; 2] = [&::F64x4, &::F64x4]; &INPUTS },
592 output: &::F64x4,
593 definition: Named("llvm.x86.avx.hsub.pd.256")
594 },
595 "256_max_ps" => Intrinsic {
596 inputs: { static INPUTS: [&'static Type; 2] = [&::F32x8, &::F32x8]; &INPUTS },
597 output: &::F32x8,
598 definition: Named("llvm.x86.avx.max.ps.256")
599 },
600 "256_max_pd" => Intrinsic {
601 inputs: { static INPUTS: [&'static Type; 2] = [&::F64x4, &::F64x4]; &INPUTS },
602 output: &::F64x4,
603 definition: Named("llvm.x86.avx.max.pd.256")
604 },
605 "_maskload_ps" => Intrinsic {
606 inputs: { static INPUTS: [&'static Type; 2] = [{ static PTR: Type = Type::Pointer(&::F32, Some(&::I8), true); &PTR }, &::I32x4_F32]; &INPUTS },
607 output: &::F32x4,
608 definition: Named("llvm.x86.avx.maskload.ps")
609 },
610 "_maskload_pd" => Intrinsic {
611 inputs: { static INPUTS: [&'static Type; 2] = [{ static PTR: Type = Type::Pointer(&::F64, Some(&::I8), true); &PTR }, &::I64x2_F64]; &INPUTS },
612 output: &::F64x2,
613 definition: Named("llvm.x86.avx.maskload.pd")
614 },
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 },
617 output: &::F32x8,
618 definition: Named("llvm.x86.avx.maskload.ps.256")
619 },
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 },
622 output: &::F64x4,
623 definition: Named("llvm.x86.avx.maskload.pd.256")
624 },
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 },
627 output: &::VOID,
628 definition: Named("llvm.x86.avx.maskstore.ps")
629 },
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 },
632 output: &::VOID,
633 definition: Named("llvm.x86.avx.maskstore.pd")
634 },
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 },
637 output: &::VOID,
638 definition: Named("llvm.x86.avx.maskstore.ps.256")
639 },
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 },
642 output: &::VOID,
643 definition: Named("llvm.x86.avx.maskstore.pd.256")
644 },
645 "256_min_ps" => Intrinsic {
646 inputs: { static INPUTS: [&'static Type; 2] = [&::F32x8, &::F32x8]; &INPUTS },
647 output: &::F32x8,
648 definition: Named("llvm.x86.avx.min.ps.256")
649 },
650 "256_min_pd" => Intrinsic {
651 inputs: { static INPUTS: [&'static Type; 2] = [&::F64x4, &::F64x4]; &INPUTS },
652 output: &::F64x4,
653 definition: Named("llvm.x86.avx.min.pd.256")
654 },
655 "256_movemask_ps" => Intrinsic {
656 inputs: { static INPUTS: [&'static Type; 1] = [&::F32x8]; &INPUTS },
657 output: &::I32,
658 definition: Named("llvm.x86.avx.movmsk.ps.256")
659 },
660 "256_movemask_pd" => Intrinsic {
661 inputs: { static INPUTS: [&'static Type; 1] = [&::F64x4]; &INPUTS },
662 output: &::I32,
663 definition: Named("llvm.x86.avx.movmsk.pd.256")
664 },
665 "_permutevar_ps" => Intrinsic {
666 inputs: { static INPUTS: [&'static Type; 2] = [&::F32x4, &::I32x4]; &INPUTS },
667 output: &::F32x4,
668 definition: Named("llvm.x86.avx.vpermilvar.ps")
669 },
670 "_permutevar_pd" => Intrinsic {
671 inputs: { static INPUTS: [&'static Type; 2] = [&::F64x2, &::I64x2]; &INPUTS },
672 output: &::F64x2,
673 definition: Named("llvm.x86.avx.vpermilvar.pd")
674 },
675 "256_permutevar_ps" => Intrinsic {
676 inputs: { static INPUTS: [&'static Type; 2] = [&::F32x8, &::I32x8]; &INPUTS },
677 output: &::F32x8,
678 definition: Named("llvm.x86.avx.vpermilvar.ps.256")
679 },
680 "256_permutevar_pd" => Intrinsic {
681 inputs: { static INPUTS: [&'static Type; 2] = [&::F64x4, &::I64x4]; &INPUTS },
682 output: &::F64x4,
683 definition: Named("llvm.x86.avx.vpermilvar.pd.256")
684 },
685 "256_rcp_ps" => Intrinsic {
686 inputs: { static INPUTS: [&'static Type; 1] = [&::F32x8]; &INPUTS },
687 output: &::F32x8,
688 definition: Named("llvm.x86.avx.rcp.ps.256")
689 },
690 "256_rsqrt_ps" => Intrinsic {
691 inputs: { static INPUTS: [&'static Type; 1] = [&::F32x8]; &INPUTS },
692 output: &::F32x8,
693 definition: Named("llvm.x86.avx.rsqrt.ps.256")
694 },
695 "256_storeu_ps" => Intrinsic {
696 inputs: { static INPUTS: [&'static Type; 2] = [{ static PTR: Type = Type::Pointer(&::F32x8, Some(&::U8), false); &PTR }, &::F32x8]; &INPUTS },
697 output: &::VOID,
698 definition: Named("llvm.x86.avx.storeu.ps.256")
699 },
700 "256_storeu_pd" => Intrinsic {
701 inputs: { static INPUTS: [&'static Type; 2] = [{ static PTR: Type = Type::Pointer(&::F64x4, Some(&::U8), false); &PTR }, &::F64x4]; &INPUTS },
702 output: &::VOID,
703 definition: Named("llvm.x86.avx.storeu.ps.256")
704 },
705 "256_storeu_si256" => Intrinsic {
706 inputs: { static INPUTS: [&'static Type; 2] = [{ static PTR: Type = Type::Pointer(&::U8x32, Some(&::U8), false); &PTR }, &::U8x32]; &INPUTS },
707 output: &::VOID,
708 definition: Named("llvm.x86.avx.storeu.dq.256")
709 },
710 "256_sqrt_ps" => Intrinsic {
711 inputs: { static INPUTS: [&'static Type; 1] = [&::F32x8]; &INPUTS },
712 output: &::F32x8,
713 definition: Named("llvm.sqrt.v8f32")
714 },
715 "256_sqrt_pd" => Intrinsic {
716 inputs: { static INPUTS: [&'static Type; 1] = [&::F64x4]; &INPUTS },
717 output: &::F64x4,
718 definition: Named("llvm.sqrt.v4f64")
719 },
720 "_testc_ps" => Intrinsic {
721 inputs: { static INPUTS: [&'static Type; 2] = [&::F32x4, &::F32x4]; &INPUTS },
722 output: &::I32,
723 definition: Named("llvm.x86.avx.vtestc.ps")
724 },
725 "256_testc_ps" => Intrinsic {
726 inputs: { static INPUTS: [&'static Type; 2] = [&::F32x8, &::F32x8]; &INPUTS },
727 output: &::I32,
728 definition: Named("llvm.x86.avx.vtestc.ps.256")
729 },
730 "_testc_pd" => Intrinsic {
731 inputs: { static INPUTS: [&'static Type; 2] = [&::F64x2, &::F64x2]; &INPUTS },
732 output: &::I32,
733 definition: Named("llvm.x86.avx.vtestc.pd")
734 },
735 "256_testc_pd" => Intrinsic {
736 inputs: { static INPUTS: [&'static Type; 2] = [&::F64x4, &::F64x4]; &INPUTS },
737 output: &::I32,
738 definition: Named("llvm.x86.avx.vtestc.pd.256")
739 },
740 "256_testc_si256" => Intrinsic {
741 inputs: { static INPUTS: [&'static Type; 2] = [&::U64x4, &::U64x4]; &INPUTS },
742 output: &::I32,
743 definition: Named("llvm.x86.avx.ptestc.256")
744 },
745 "_testnzc_ps" => Intrinsic {
746 inputs: { static INPUTS: [&'static Type; 2] = [&::F32x4, &::F32x4]; &INPUTS },
747 output: &::I32,
748 definition: Named("llvm.x86.avx.vtestnzc.ps")
749 },
750 "256_testnzc_ps" => Intrinsic {
751 inputs: { static INPUTS: [&'static Type; 2] = [&::F32x8, &::F32x8]; &INPUTS },
752 output: &::I32,
753 definition: Named("llvm.x86.avx.vtestnzc.ps.256")
754 },
755 "_testnzc_pd" => Intrinsic {
756 inputs: { static INPUTS: [&'static Type; 2] = [&::F64x2, &::F64x2]; &INPUTS },
757 output: &::I32,
758 definition: Named("llvm.x86.avx.vtestnzc.pd")
759 },
760 "256_testnzc_pd" => Intrinsic {
761 inputs: { static INPUTS: [&'static Type; 2] = [&::F64x4, &::F64x4]; &INPUTS },
762 output: &::I32,
763 definition: Named("llvm.x86.avx.vtestnzc.pd.256")
764 },
765 "256_testnzc_si256" => Intrinsic {
766 inputs: { static INPUTS: [&'static Type; 2] = [&::U64x4, &::U64x4]; &INPUTS },
767 output: &::I32,
768 definition: Named("llvm.x86.avx.ptestnzc.256")
769 },
770 "_testz_ps" => Intrinsic {
771 inputs: { static INPUTS: [&'static Type; 2] = [&::F32x4, &::F32x4]; &INPUTS },
772 output: &::I32,
773 definition: Named("llvm.x86.avx.vtestz.ps")
774 },
775 "256_testz_ps" => Intrinsic {
776 inputs: { static INPUTS: [&'static Type; 2] = [&::F32x8, &::F32x8]; &INPUTS },
777 output: &::I32,
778 definition: Named("llvm.x86.avx.vtestz.ps.256")
779 },
780 "_testz_pd" => Intrinsic {
781 inputs: { static INPUTS: [&'static Type; 2] = [&::F64x2, &::F64x2]; &INPUTS },
782 output: &::I32,
783 definition: Named("llvm.x86.avx.vtestz.pd")
784 },
785 "256_testz_pd" => Intrinsic {
786 inputs: { static INPUTS: [&'static Type; 2] = [&::F64x4, &::F64x4]; &INPUTS },
787 output: &::I32,
788 definition: Named("llvm.x86.avx.vtestz.pd.256")
789 },
790 "256_testz_si256" => Intrinsic {
791 inputs: { static INPUTS: [&'static Type; 2] = [&::U64x4, &::U64x4]; &INPUTS },
792 output: &::I32,
793 definition: Named("llvm.x86.avx.ptestz.256")
794 },
795 "256_zeroall" => Intrinsic {
796 inputs: { static INPUTS: [&'static Type; 0] = []; &INPUTS },
797 output: &::VOID,
798 definition: Named("llvm.x86.avx.vzeroall")
799 },
800 "256_zeroupper" => Intrinsic {
801 inputs: { static INPUTS: [&'static Type; 0] = []; &INPUTS },
802 output: &::VOID,
803 definition: Named("llvm.x86.avx.vzeroupper")
804 },
805 "256_abs_epi8" => Intrinsic {
806 inputs: { static INPUTS: [&'static Type; 1] = [&::I8x32]; &INPUTS },
807 output: &::I8x32,
808 definition: Named("llvm.x86.avx2.pabs.b")
809 },
810 "256_abs_epi16" => Intrinsic {
811 inputs: { static INPUTS: [&'static Type; 1] = [&::I16x16]; &INPUTS },
812 output: &::I16x16,
813 definition: Named("llvm.x86.avx2.pabs.w")
814 },
815 "256_abs_epi32" => Intrinsic {
816 inputs: { static INPUTS: [&'static Type; 1] = [&::I32x8]; &INPUTS },
817 output: &::I32x8,
818 definition: Named("llvm.x86.avx2.pabs.d")
819 },
820 "256_adds_epi8" => Intrinsic {
821 inputs: { static INPUTS: [&'static Type; 2] = [&::I8x32, &::I8x32]; &INPUTS },
822 output: &::I8x32,
823 definition: Named("llvm.x86.avx2.padds.b")
824 },
825 "256_adds_epu8" => Intrinsic {
826 inputs: { static INPUTS: [&'static Type; 2] = [&::U8x32, &::U8x32]; &INPUTS },
827 output: &::U8x32,
828 definition: Named("llvm.x86.avx2.paddus.b")
829 },
830 "256_adds_epi16" => Intrinsic {
831 inputs: { static INPUTS: [&'static Type; 2] = [&::I16x16, &::I16x16]; &INPUTS },
832 output: &::I16x16,
833 definition: Named("llvm.x86.avx2.padds.w")
834 },
835 "256_adds_epu16" => Intrinsic {
836 inputs: { static INPUTS: [&'static Type; 2] = [&::U16x16, &::U16x16]; &INPUTS },
837 output: &::U16x16,
838 definition: Named("llvm.x86.avx2.paddus.w")
839 },
840 "256_avg_epu8" => Intrinsic {
841 inputs: { static INPUTS: [&'static Type; 2] = [&::U8x32, &::U8x32]; &INPUTS },
842 output: &::U8x32,
843 definition: Named("llvm.x86.avx2.pavg.b")
844 },
845 "256_avg_epu16" => Intrinsic {
846 inputs: { static INPUTS: [&'static Type; 2] = [&::U16x16, &::U16x16]; &INPUTS },
847 output: &::U16x16,
848 definition: Named("llvm.x86.avx2.pavg.w")
849 },
850 "256_hadd_epi16" => Intrinsic {
851 inputs: { static INPUTS: [&'static Type; 2] = [&::I16x16, &::I16x16]; &INPUTS },
852 output: &::I16x16,
853 definition: Named("llvm.x86.avx2.phadd.w")
854 },
855 "256_hadd_epi32" => Intrinsic {
856 inputs: { static INPUTS: [&'static Type; 2] = [&::I32x8, &::I32x8]; &INPUTS },
857 output: &::I32x8,
858 definition: Named("llvm.x86.avx2.phadd.d")
859 },
860 "256_hadds_epi16" => Intrinsic {
861 inputs: { static INPUTS: [&'static Type; 2] = [&::I16x16, &::I16x16]; &INPUTS },
862 output: &::I16x16,
863 definition: Named("llvm.x86.avx2.phadd.sw")
864 },
865 "256_hsub_epi16" => Intrinsic {
866 inputs: { static INPUTS: [&'static Type; 2] = [&::I16x16, &::I16x16]; &INPUTS },
867 output: &::I16x16,
868 definition: Named("llvm.x86.avx2.phsub.w")
869 },
870 "256_hsub_epi32" => Intrinsic {
871 inputs: { static INPUTS: [&'static Type; 2] = [&::I32x8, &::I32x8]; &INPUTS },
872 output: &::I32x8,
873 definition: Named("llvm.x86.avx2.phsub.d")
874 },
875 "256_hsubs_epi16" => Intrinsic {
876 inputs: { static INPUTS: [&'static Type; 2] = [&::I16x16, &::I16x16]; &INPUTS },
877 output: &::I16x16,
878 definition: Named("llvm.x86.avx2.phsub.sw")
879 },
880 "256_madd_epi16" => Intrinsic {
881 inputs: { static INPUTS: [&'static Type; 2] = [&::I16x16, &::I16x16]; &INPUTS },
882 output: &::I32x8,
883 definition: Named("llvm.x86.avx2.pmadd.wd")
884 },
885 "256_maddubs_epi16" => Intrinsic {
886 inputs: { static INPUTS: [&'static Type; 2] = [&::I8x32, &::I8x32]; &INPUTS },
887 output: &::I16x16,
888 definition: Named("llvm.x86.avx2.pmadd.ub.sw")
889 },
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 },
892 output: &::I32x4,
893 definition: Named("llvm.x86.avx2.gather.d.d")
894 },
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 },
897 output: &::F32x4,
898 definition: Named("llvm.x86.avx2.gather.d.ps")
899 },
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 },
902 output: &::I32x8,
903 definition: Named("llvm.x86.avx2.gather.d.d.256")
904 },
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 },
907 output: &::F32x8,
908 definition: Named("llvm.x86.avx2.gather.d.ps.256")
909 },
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 },
912 output: &::I64x2,
913 definition: Named("llvm.x86.avx2.gather.d.q")
914 },
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 },
917 output: &::F64x2,
918 definition: Named("llvm.x86.avx2.gather.d.pd")
919 },
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 },
922 output: &::I64x4,
923 definition: Named("llvm.x86.avx2.gather.d.q.256")
924 },
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 },
927 output: &::F64x4,
928 definition: Named("llvm.x86.avx2.gather.d.pd.256")
929 },
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 },
932 output: &::I32x4,
933 definition: Named("llvm.x86.avx2.gather.q.d")
934 },
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 },
937 output: &::F32x4,
938 definition: Named("llvm.x86.avx2.gather.q.ps")
939 },
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 },
942 output: &::I32x4,
943 definition: Named("llvm.x86.avx2.gather.q.d")
944 },
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 },
947 output: &::F32x4,
948 definition: Named("llvm.x86.avx2.gather.q.ps")
949 },
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 },
952 output: &::I64x2,
953 definition: Named("llvm.x86.avx2.gather.q.q")
954 },
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 },
957 output: &::F64x2,
958 definition: Named("llvm.x86.avx2.gather.q.pd")
959 },
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 },
962 output: &::I64x4,
963 definition: Named("llvm.x86.avx2.gather.q.q.256")
964 },
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 },
967 output: &::F64x4,
968 definition: Named("llvm.x86.avx2.gather.q.pd.256")
969 },
970 "_maskload_epi32" => Intrinsic {
971 inputs: { static INPUTS: [&'static Type; 2] = [{ static PTR: Type = Type::Pointer(&::I32x4, Some(&::I8), true); &PTR }, &::I32x4]; &INPUTS },
972 output: &::I32x4,
973 definition: Named("llvm.x86.avx2.maskload.d")
974 },
975 "_maskload_epi64" => Intrinsic {
976 inputs: { static INPUTS: [&'static Type; 2] = [{ static PTR: Type = Type::Pointer(&::I64x2, Some(&::I8), true); &PTR }, &::I64x2]; &INPUTS },
977 output: &::I64x2,
978 definition: Named("llvm.x86.avx2.maskload.q")
979 },
980 "256_maskload_epi32" => Intrinsic {
981 inputs: { static INPUTS: [&'static Type; 2] = [{ static PTR: Type = Type::Pointer(&::I32x8, Some(&::I8), true); &PTR }, &::I32x8]; &INPUTS },
982 output: &::I32x8,
983 definition: Named("llvm.x86.avx2.maskload.d.256")
984 },
985 "256_maskload_epi64" => Intrinsic {
986 inputs: { static INPUTS: [&'static Type; 2] = [{ static PTR: Type = Type::Pointer(&::I64x4, Some(&::I8), true); &PTR }, &::I64x4]; &INPUTS },
987 output: &::I64x4,
988 definition: Named("llvm.x86.avx2.maskload.q.256")
989 },
990 "_maskstore_epi32" => Intrinsic {
991 inputs: { static INPUTS: [&'static Type; 3] = [{ static PTR: Type = Type::Pointer(&::I32, Some(&::I8), false); &PTR }, &::I32x4, &::I32x4]; &INPUTS },
992 output: &::VOID,
993 definition: Named("llvm.x86.avx2.maskstore.d")
994 },
995 "_maskstore_epi64" => Intrinsic {
996 inputs: { static INPUTS: [&'static Type; 3] = [{ static PTR: Type = Type::Pointer(&::I64, Some(&::I8), false); &PTR }, &::I64x2, &::I64x2]; &INPUTS },
997 output: &::VOID,
998 definition: Named("llvm.x86.avx2.maskstore.q")
999 },
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 },
1002 output: &::VOID,
1003 definition: Named("llvm.x86.avx2.maskstore.d.256")
1004 },
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 },
1007 output: &::VOID,
1008 definition: Named("llvm.x86.avx2.maskstore.q.256")
1009 },
1010 "256_max_epi8" => Intrinsic {
1011 inputs: { static INPUTS: [&'static Type; 2] = [&::I8x32, &::I8x32]; &INPUTS },
1012 output: &::I8x32,
1013 definition: Named("llvm.x86.avx2.pmaxs.b")
1014 },
1015 "256_max_epu8" => Intrinsic {
1016 inputs: { static INPUTS: [&'static Type; 2] = [&::U8x32, &::U8x32]; &INPUTS },
1017 output: &::U8x32,
1018 definition: Named("llvm.x86.avx2.pmaxu.b")
1019 },
1020 "256_max_epi16" => Intrinsic {
1021 inputs: { static INPUTS: [&'static Type; 2] = [&::I16x16, &::I16x16]; &INPUTS },
1022 output: &::I16x16,
1023 definition: Named("llvm.x86.avx2.pmaxs.w")
1024 },
1025 "256_max_epu16" => Intrinsic {
1026 inputs: { static INPUTS: [&'static Type; 2] = [&::U16x16, &::U16x16]; &INPUTS },
1027 output: &::U16x16,
1028 definition: Named("llvm.x86.avx2.pmaxu.w")
1029 },
1030 "256_max_epi32" => Intrinsic {
1031 inputs: { static INPUTS: [&'static Type; 2] = [&::I32x8, &::I32x8]; &INPUTS },
1032 output: &::I32x8,
1033 definition: Named("llvm.x86.avx2.pmaxs.d")
1034 },
1035 "256_max_epu32" => Intrinsic {
1036 inputs: { static INPUTS: [&'static Type; 2] = [&::U32x8, &::U32x8]; &INPUTS },
1037 output: &::U32x8,
1038 definition: Named("llvm.x86.avx2.pmaxu.d")
1039 },
1040 "256_min_epi8" => Intrinsic {
1041 inputs: { static INPUTS: [&'static Type; 2] = [&::I8x32, &::I8x32]; &INPUTS },
1042 output: &::I8x32,
1043 definition: Named("llvm.x86.avx2.pmins.b")
1044 },
1045 "256_min_epu8" => Intrinsic {
1046 inputs: { static INPUTS: [&'static Type; 2] = [&::U8x32, &::U8x32]; &INPUTS },
1047 output: &::U8x32,
1048 definition: Named("llvm.x86.avx2.pminu.b")
1049 },
1050 "256_min_epi16" => Intrinsic {
1051 inputs: { static INPUTS: [&'static Type; 2] = [&::I16x16, &::I16x16]; &INPUTS },
1052 output: &::I16x16,
1053 definition: Named("llvm.x86.avx2.pmins.w")
1054 },
1055 "256_min_epu16" => Intrinsic {
1056 inputs: { static INPUTS: [&'static Type; 2] = [&::U16x16, &::U16x16]; &INPUTS },
1057 output: &::U16x16,
1058 definition: Named("llvm.x86.avx2.pminu.w")
1059 },
1060 "256_min_epi32" => Intrinsic {
1061 inputs: { static INPUTS: [&'static Type; 2] = [&::I32x8, &::I32x8]; &INPUTS },
1062 output: &::I32x8,
1063 definition: Named("llvm.x86.avx2.pmins.d")
1064 },
1065 "256_min_epu32" => Intrinsic {
1066 inputs: { static INPUTS: [&'static Type; 2] = [&::U32x8, &::U32x8]; &INPUTS },
1067 output: &::U32x8,
1068 definition: Named("llvm.x86.avx2.pminu.d")
1069 },
1070 "256_movemask_epi8" => Intrinsic {
1071 inputs: { static INPUTS: [&'static Type; 1] = [&::I8x32]; &INPUTS },
1072 output: &::I32,
1073 definition: Named("llvm.x86.avx2.pmovmskb")
1074 },
1075 "256_mpsadbw_epu8" => Intrinsic {
1076 inputs: { static INPUTS: [&'static Type; 3] = [&::U8x32, &::U8x32, &::I32_8]; &INPUTS },
1077 output: &::U16x16,
1078 definition: Named("llvm.x86.avx2.mpsadbw")
1079 },
1080 "256_mul_epi64" => Intrinsic {
1081 inputs: { static INPUTS: [&'static Type; 2] = [&::I32x8, &::I32x8]; &INPUTS },
1082 output: &::I64x4,
1083 definition: Named("llvm.x86.avx2.pmulq.dq")
1084 },
1085 "256_mul_epu64" => Intrinsic {
1086 inputs: { static INPUTS: [&'static Type; 2] = [&::U32x8, &::U32x8]; &INPUTS },
1087 output: &::U64x4,
1088 definition: Named("llvm.x86.avx2.pmulq.dq")
1089 },
1090 "256_mulhi_epi16" => Intrinsic {
1091 inputs: { static INPUTS: [&'static Type; 2] = [&::I16x16, &::I16x16]; &INPUTS },
1092 output: &::I16x16,
1093 definition: Named("llvm.x86.avx2.pmulhw.w")
1094 },
1095 "256_mulhi_epu16" => Intrinsic {
1096 inputs: { static INPUTS: [&'static Type; 2] = [&::U16x16, &::U16x16]; &INPUTS },
1097 output: &::U16x16,
1098 definition: Named("llvm.x86.avx2.pmulhw.w")
1099 },
1100 "256_mulhrs_epi16" => Intrinsic {
1101 inputs: { static INPUTS: [&'static Type; 2] = [&::I16x16, &::I16x16]; &INPUTS },
1102 output: &::I16x16,
1103 definition: Named("llvm.x86.avx2.pmul.hr.sw")
1104 },
1105 "256_packs_epi16" => Intrinsic {
1106 inputs: { static INPUTS: [&'static Type; 2] = [&::I16x16, &::I16x16]; &INPUTS },
1107 output: &::I8x32,
1108 definition: Named("llvm.x86.avx2.packsswb")
1109 },
1110 "256_packus_epi16" => Intrinsic {
1111 inputs: { static INPUTS: [&'static Type; 2] = [&::I16x16, &::I16x16]; &INPUTS },
1112 output: &::U8x32,
1113 definition: Named("llvm.x86.avx2.packuswb")
1114 },
1115 "256_packs_epi32" => Intrinsic {
1116 inputs: { static INPUTS: [&'static Type; 2] = [&::I32x8, &::I32x8]; &INPUTS },
1117 output: &::I16x16,
1118 definition: Named("llvm.x86.avx2.packssdw")
1119 },
1120 "256_packus_epi32" => Intrinsic {
1121 inputs: { static INPUTS: [&'static Type; 2] = [&::I32x8, &::I32x8]; &INPUTS },
1122 output: &::U16x16,
1123 definition: Named("llvm.x86.avx2.packusdw")
1124 },
1125 "256_permutevar8x32_epi32" => Intrinsic {
1126 inputs: { static INPUTS: [&'static Type; 2] = [&::I32x8, &::I32x8]; &INPUTS },
1127 output: &::I32x8,
1128 definition: Named("llvm.x86.avx2.permd")
1129 },
1130 "256_permutevar8x32_ps" => Intrinsic {
1131 inputs: { static INPUTS: [&'static Type; 2] = [&::F32x8, &::I32x8]; &INPUTS },
1132 output: &::F32x8,
1133 definition: Named("llvm.x86.avx2.permps")
1134 },
1135 "256_sad_epu8" => Intrinsic {
1136 inputs: { static INPUTS: [&'static Type; 2] = [&::U8x32, &::U8x32]; &INPUTS },
1137 output: &::U8x32,
1138 definition: Named("llvm.x86.avx2.psad.bw")
1139 },
1140 "256_shuffle_epi8" => Intrinsic {
1141 inputs: { static INPUTS: [&'static Type; 2] = [&::I8x32, &::I8x32]; &INPUTS },
1142 output: &::I8x32,
1143 definition: Named("llvm.x86.avx2.pshuf.b")
1144 },
1145 "256_sign_epi8" => Intrinsic {
1146 inputs: { static INPUTS: [&'static Type; 2] = [&::I8x32, &::I8x32]; &INPUTS },
1147 output: &::I8x32,
1148 definition: Named("llvm.x86.avx2.psign.b")
1149 },
1150 "256_sign_epi16" => Intrinsic {
1151 inputs: { static INPUTS: [&'static Type; 2] = [&::I16x16, &::I16x16]; &INPUTS },
1152 output: &::I16x16,
1153 definition: Named("llvm.x86.avx2.psign.w")
1154 },
1155 "256_sign_epi32" => Intrinsic {
1156 inputs: { static INPUTS: [&'static Type; 2] = [&::I32x8, &::I32x8]; &INPUTS },
1157 output: &::I32x8,
1158 definition: Named("llvm.x86.avx2.psign.d")
1159 },
1160 "256_subs_epi8" => Intrinsic {
1161 inputs: { static INPUTS: [&'static Type; 2] = [&::I8x32, &::I8x32]; &INPUTS },
1162 output: &::I8x32,
1163 definition: Named("llvm.x86.avx2.psubs.b")
1164 },
1165 "256_subs_epu8" => Intrinsic {
1166 inputs: { static INPUTS: [&'static Type; 2] = [&::U8x32, &::U8x32]; &INPUTS },
1167 output: &::U8x32,
1168 definition: Named("llvm.x86.avx2.psubus.b")
1169 },
1170 "256_subs_epi16" => Intrinsic {
1171 inputs: { static INPUTS: [&'static Type; 2] = [&::I16x16, &::I16x16]; &INPUTS },
1172 output: &::I16x16,
1173 definition: Named("llvm.x86.avx2.psubs.w")
1174 },
1175 "256_subs_epu16" => Intrinsic {
1176 inputs: { static INPUTS: [&'static Type; 2] = [&::U16x16, &::U16x16]; &INPUTS },
1177 output: &::U16x16,
1178 definition: Named("llvm.x86.avx2.psubus.w")
1179 },
1180 "_fmadd_ps" => Intrinsic {
1181 inputs: { static INPUTS: [&'static Type; 3] = [&::F32x4, &::F32x4, &::F32x4]; &INPUTS },
1182 output: &::F32x4,
1183 definition: Named("llvm.x86.fma.vfmadd.ps")
1184 },
1185 "_fmadd_pd" => Intrinsic {
1186 inputs: { static INPUTS: [&'static Type; 3] = [&::F64x2, &::F64x2, &::F64x2]; &INPUTS },
1187 output: &::F64x2,
1188 definition: Named("llvm.x86.fma.vfmadd.pd")
1189 },
1190 "256_fmadd_ps" => Intrinsic {
1191 inputs: { static INPUTS: [&'static Type; 3] = [&::F32x8, &::F32x8, &::F32x8]; &INPUTS },
1192 output: &::F32x8,
1193 definition: Named("llvm.x86.fma.vfmadd.ps.256")
1194 },
1195 "256_fmadd_pd" => Intrinsic {
1196 inputs: { static INPUTS: [&'static Type; 3] = [&::F64x4, &::F64x4, &::F64x4]; &INPUTS },
1197 output: &::F64x4,
1198 definition: Named("llvm.x86.fma.vfmadd.pd.256")
1199 },
1200 "_fmaddsub_ps" => Intrinsic {
1201 inputs: { static INPUTS: [&'static Type; 3] = [&::F32x4, &::F32x4, &::F32x4]; &INPUTS },
1202 output: &::F32x4,
1203 definition: Named("llvm.x86.fma.vfmaddsub.ps")
1204 },
1205 "_fmaddsub_pd" => Intrinsic {
1206 inputs: { static INPUTS: [&'static Type; 3] = [&::F64x2, &::F64x2, &::F64x2]; &INPUTS },
1207 output: &::F64x2,
1208 definition: Named("llvm.x86.fma.vfmaddsub.pd")
1209 },
1210 "256_fmaddsub_ps" => Intrinsic {
1211 inputs: { static INPUTS: [&'static Type; 3] = [&::F32x8, &::F32x8, &::F32x8]; &INPUTS },
1212 output: &::F32x8,
1213 definition: Named("llvm.x86.fma.vfmaddsub.ps.256")
1214 },
1215 "256_fmaddsub_pd" => Intrinsic {
1216 inputs: { static INPUTS: [&'static Type; 3] = [&::F64x4, &::F64x4, &::F64x4]; &INPUTS },
1217 output: &::F64x4,
1218 definition: Named("llvm.x86.fma.vfmaddsub.pd.256")
1219 },
1220 "_fmsub_ps" => Intrinsic {
1221 inputs: { static INPUTS: [&'static Type; 3] = [&::F32x4, &::F32x4, &::F32x4]; &INPUTS },
1222 output: &::F32x4,
1223 definition: Named("llvm.x86.fma.vfmsub.ps")
1224 },
1225 "_fmsub_pd" => Intrinsic {
1226 inputs: { static INPUTS: [&'static Type; 3] = [&::F64x2, &::F64x2, &::F64x2]; &INPUTS },
1227 output: &::F64x2,
1228 definition: Named("llvm.x86.fma.vfmsub.pd")
1229 },
1230 "256_fmsub_ps" => Intrinsic {
1231 inputs: { static INPUTS: [&'static Type; 3] = [&::F32x8, &::F32x8, &::F32x8]; &INPUTS },
1232 output: &::F32x8,
1233 definition: Named("llvm.x86.fma.vfmsub.ps.256")
1234 },
1235 "256_fmsub_pd" => Intrinsic {
1236 inputs: { static INPUTS: [&'static Type; 3] = [&::F64x4, &::F64x4, &::F64x4]; &INPUTS },
1237 output: &::F64x4,
1238 definition: Named("llvm.x86.fma.vfmsub.pd.256")
1239 },
1240 "_fmsubadd_ps" => Intrinsic {
1241 inputs: { static INPUTS: [&'static Type; 3] = [&::F32x4, &::F32x4, &::F32x4]; &INPUTS },
1242 output: &::F32x4,
1243 definition: Named("llvm.x86.fma.vfmsubadd.ps")
1244 },
1245 "_fmsubadd_pd" => Intrinsic {
1246 inputs: { static INPUTS: [&'static Type; 3] = [&::F64x2, &::F64x2, &::F64x2]; &INPUTS },
1247 output: &::F64x2,
1248 definition: Named("llvm.x86.fma.vfmsubadd.pd")
1249 },
1250 "256_fmsubadd_ps" => Intrinsic {
1251 inputs: { static INPUTS: [&'static Type; 3] = [&::F32x8, &::F32x8, &::F32x8]; &INPUTS },
1252 output: &::F32x8,
1253 definition: Named("llvm.x86.fma.vfmsubadd.ps.256")
1254 },
1255 "256_fmsubadd_pd" => Intrinsic {
1256 inputs: { static INPUTS: [&'static Type; 3] = [&::F64x4, &::F64x4, &::F64x4]; &INPUTS },
1257 output: &::F64x4,
1258 definition: Named("llvm.x86.fma.vfmsubadd.pd.256")
1259 },
1260 "_fnmadd_ps" => Intrinsic {
1261 inputs: { static INPUTS: [&'static Type; 3] = [&::F32x4, &::F32x4, &::F32x4]; &INPUTS },
1262 output: &::F32x4,
1263 definition: Named("llvm.x86.fma.vfnmadd.ps")
1264 },
1265 "_fnmadd_pd" => Intrinsic {
1266 inputs: { static INPUTS: [&'static Type; 3] = [&::F64x2, &::F64x2, &::F64x2]; &INPUTS },
1267 output: &::F64x2,
1268 definition: Named("llvm.x86.fma.vfnmadd.pd")
1269 },
1270 "256_fnmadd_ps" => Intrinsic {
1271 inputs: { static INPUTS: [&'static Type; 3] = [&::F32x8, &::F32x8, &::F32x8]; &INPUTS },
1272 output: &::F32x8,
1273 definition: Named("llvm.x86.fma.vfnmadd.ps.256")
1274 },
1275 "256_fnmadd_pd" => Intrinsic {
1276 inputs: { static INPUTS: [&'static Type; 3] = [&::F64x4, &::F64x4, &::F64x4]; &INPUTS },
1277 output: &::F64x4,
1278 definition: Named("llvm.x86.fma.vfnmadd.pd.256")
1279 },
1280 "_fnmsub_ps" => Intrinsic {
1281 inputs: { static INPUTS: [&'static Type; 3] = [&::F32x4, &::F32x4, &::F32x4]; &INPUTS },
1282 output: &::F32x4,
1283 definition: Named("llvm.x86.fma.vfnmsub.ps")
1284 },
1285 "_fnmsub_pd" => Intrinsic {
1286 inputs: { static INPUTS: [&'static Type; 3] = [&::F64x2, &::F64x2, &::F64x2]; &INPUTS },
1287 output: &::F64x2,
1288 definition: Named("llvm.x86.fma.vfnmsub.pd")
1289 },
1290 "256_fnmsub_ps" => Intrinsic {
1291 inputs: { static INPUTS: [&'static Type; 3] = [&::F32x8, &::F32x8, &::F32x8]; &INPUTS },
1292 output: &::F32x8,
1293 definition: Named("llvm.x86.fma.vfnmsub.ps.256")
1294 },
1295 "256_fnmsub_pd" => Intrinsic {
1296 inputs: { static INPUTS: [&'static Type; 3] = [&::F64x4, &::F64x4, &::F64x4]; &INPUTS },
1297 output: &::F64x4,
1298 definition: Named("llvm.x86.fma.vfnmsub.pd.256")
1299 },
1300 _ => return None,
1301 })
1302 }