Hex Artifact Content
Not logged in

Artifact 9290d8f0adabfda0988b49e97e56ff60017b67c3:

Unrecognized artifact
0000: 2f 2f 20 43 6f 70 79 72 69 67 68 74 20 32 30 31  // Copyright 201
0010: 35 20 54 68 65 20 52 75 73 74 20 50 72 6f 6a 65  5 The Rust Proje
0020: 63 74 20 44 65 76 65 6c 6f 70 65 72 73 2e 20 53  ct Developers. S
0030: 65 65 20 74 68 65 20 43 4f 50 59 52 49 47 48 54  ee the COPYRIGHT
0040: 0a 2f 2f 20 66 69 6c 65 20 61 74 20 74 68 65 20  .// file at the 
0050: 74 6f 70 2d 6c 65 76 65 6c 20 64 69 72 65 63 74  top-level direct
0060: 6f 72 79 20 6f 66 20 74 68 69 73 20 64 69 73 74  ory of this dist
0070: 72 69 62 75 74 69 6f 6e 20 61 6e 64 20 61 74 0a  ribution and at.
0080: 2f 2f 20 68 74 74 70 3a 2f 2f 72 75 73 74 2d 6c  // http://rust-l
0090: 61 6e 67 2e 6f 72 67 2f 43 4f 50 59 52 49 47 48  ang.org/COPYRIGH
00a0: 54 2e 0a 2f 2f 0a 2f 2f 20 4c 69 63 65 6e 73 65  T..//.// License
00b0: 64 20 75 6e 64 65 72 20 74 68 65 20 41 70 61 63  d under the Apac
00c0: 68 65 20 4c 69 63 65 6e 73 65 2c 20 56 65 72 73  he License, Vers
00d0: 69 6f 6e 20 32 2e 30 20 3c 4c 49 43 45 4e 53 45  ion 2.0 <LICENSE
00e0: 2d 41 50 41 43 48 45 20 6f 72 0a 2f 2f 20 68 74  -APACHE or.// ht
00f0: 74 70 3a 2f 2f 77 77 77 2e 61 70 61 63 68 65 2e  tp://www.apache.
0100: 6f 72 67 2f 6c 69 63 65 6e 73 65 73 2f 4c 49 43  org/licenses/LIC
0110: 45 4e 53 45 2d 32 2e 30 3e 20 6f 72 20 74 68 65  ENSE-2.0> or the
0120: 20 4d 49 54 20 6c 69 63 65 6e 73 65 0a 2f 2f 20   MIT license.// 
0130: 3c 4c 49 43 45 4e 53 45 2d 4d 49 54 20 6f 72 20  <LICENSE-MIT or 
0140: 68 74 74 70 3a 2f 2f 6f 70 65 6e 73 6f 75 72 63  http://opensourc
0150: 65 2e 6f 72 67 2f 6c 69 63 65 6e 73 65 73 2f 4d  e.org/licenses/M
0160: 49 54 3e 2c 20 61 74 20 79 6f 75 72 0a 2f 2f 20  IT>, at your.// 
0170: 6f 70 74 69 6f 6e 2e 20 54 68 69 73 20 66 69 6c  option. This fil
0180: 65 20 6d 61 79 20 6e 6f 74 20 62 65 20 63 6f 70  e may not be cop
0190: 69 65 64 2c 20 6d 6f 64 69 66 69 65 64 2c 20 6f  ied, modified, o
01a0: 72 20 64 69 73 74 72 69 62 75 74 65 64 0a 2f 2f  r distributed.//
01b0: 20 65 78 63 65 70 74 20 61 63 63 6f 72 64 69 6e   except accordin
01c0: 67 20 74 6f 20 74 68 6f 73 65 20 74 65 72 6d 73  g to those terms
01d0: 2e 0a 0a 2f 2f 20 44 4f 20 4e 4f 54 20 45 44 49  ...// DO NOT EDI
01e0: 54 3a 20 61 75 74 6f 67 65 6e 65 72 61 74 65 64  T: autogenerated
01f0: 20 62 79 20 65 74 63 2f 70 6c 61 74 66 6f 72 6d   by etc/platform
0200: 2d 69 6e 74 72 69 6e 73 69 63 73 2f 67 65 6e 65  -intrinsics/gene
0210: 72 61 74 6f 72 2e 70 79 0a 2f 2f 20 69 67 6e 6f  rator.py.// igno
0220: 72 65 2d 74 69 64 79 2d 6c 69 6e 65 6c 65 6e 67  re-tidy-lineleng
0230: 74 68 0a 0a 23 21 5b 61 6c 6c 6f 77 28 75 6e 75  th..#![allow(unu
0240: 73 65 64 5f 69 6d 70 6f 72 74 73 29 5d 0a 0a 75  sed_imports)]..u
0250: 73 65 20 7b 49 6e 74 72 69 6e 73 69 63 2c 20 54  se {Intrinsic, T
0260: 79 70 65 7d 3b 0a 75 73 65 20 49 6e 74 72 69 6e  ype};.use Intrin
0270: 73 69 63 44 65 66 3a 3a 4e 61 6d 65 64 3b 0a 0a  sicDef::Named;..
0280: 2f 2f 20 54 68 65 20 64 65 66 61 75 6c 74 20 69  // The default i
0290: 6e 6c 69 6e 69 6e 67 20 73 65 74 74 69 6e 67 73  nlining settings
02a0: 20 74 72 69 67 67 65 72 20 61 20 70 61 74 68 6f   trigger a patho
02b0: 6c 6f 67 69 63 61 6c 20 62 65 68 61 76 69 6f 75  logical behaviou
02c0: 72 20 69 6e 0a 2f 2f 20 4c 4c 56 4d 2c 20 77 68  r in.// LLVM, wh
02d0: 69 63 68 20 63 61 75 73 65 73 20 6d 61 6b 65 73  ich causes makes
02e0: 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 20 76 65 72   compilation ver
02f0: 79 20 73 6c 6f 77 2e 20 53 65 65 20 23 32 38 32  y slow. See #282
0300: 37 33 2e 0a 23 5b 69 6e 6c 69 6e 65 28 6e 65 76  73..#[inline(nev
0310: 65 72 29 5d 0a 70 75 62 20 66 6e 20 66 69 6e 64  er)].pub fn find
0320: 28 6e 61 6d 65 3a 20 26 73 74 72 29 20 2d 3e 20  (name: &str) -> 
0330: 4f 70 74 69 6f 6e 3c 49 6e 74 72 69 6e 73 69 63  Option<Intrinsic
0340: 3e 20 7b 0a 20 20 20 20 69 66 20 21 6e 61 6d 65  > {.    if !name
0350: 2e 73 74 61 72 74 73 5f 77 69 74 68 28 22 78 38  .starts_with("x8
0360: 36 22 29 20 7b 20 72 65 74 75 72 6e 20 4e 6f 6e  6") { return Non
0370: 65 20 7d 0a 20 20 20 20 53 6f 6d 65 28 6d 61 74  e }.    Some(mat
0380: 63 68 20 26 6e 61 6d 65 5b 22 78 38 36 22 2e 6c  ch &name["x86".l
0390: 65 6e 28 29 2e 2e 5d 20 7b 0a 20 20 20 20 20 20  en()..] {.      
03a0: 20 20 22 5f 6d 6d 32 35 36 5f 61 62 73 5f 65 70    "_mm256_abs_ep
03b0: 69 38 22 20 3d 3e 20 49 6e 74 72 69 6e 73 69 63  i8" => Intrinsic
03c0: 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69   {.            i
03d0: 6e 70 75 74 73 3a 20 7b 20 73 74 61 74 69 63 20  nputs: { static 
03e0: 49 4e 50 55 54 53 3a 20 5b 26 27 73 74 61 74 69  INPUTS: [&'stati
03f0: 63 20 54 79 70 65 3b 20 31 5d 20 3d 20 5b 26 3a  c Type; 1] = [&:
0400: 3a 49 38 78 33 32 5d 3b 20 26 49 4e 50 55 54 53  :I8x32]; &INPUTS
0410: 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20   },.            
0420: 6f 75 74 70 75 74 3a 20 26 3a 3a 49 38 78 33 32  output: &::I8x32
0430: 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 64 65  ,.            de
0440: 66 69 6e 69 74 69 6f 6e 3a 20 4e 61 6d 65 64 28  finition: Named(
0450: 22 6c 6c 76 6d 2e 78 38 36 2e 61 76 78 32 2e 70  "llvm.x86.avx2.p
0460: 61 62 73 2e 62 22 29 0a 20 20 20 20 20 20 20 20  abs.b").        
0470: 7d 2c 0a 20 20 20 20 20 20 20 20 22 5f 6d 6d 32  },.        "_mm2
0480: 35 36 5f 61 62 73 5f 65 70 69 31 36 22 20 3d 3e  56_abs_epi16" =>
0490: 20 49 6e 74 72 69 6e 73 69 63 20 7b 0a 20 20 20   Intrinsic {.   
04a0: 20 20 20 20 20 20 20 20 20 69 6e 70 75 74 73 3a           inputs:
04b0: 20 7b 20 73 74 61 74 69 63 20 49 4e 50 55 54 53   { static INPUTS
04c0: 3a 20 5b 26 27 73 74 61 74 69 63 20 54 79 70 65  : [&'static Type
04d0: 3b 20 31 5d 20 3d 20 5b 26 3a 3a 49 31 36 78 31  ; 1] = [&::I16x1
04e0: 36 5d 3b 20 26 49 4e 50 55 54 53 20 7d 2c 0a 20  6]; &INPUTS },. 
04f0: 20 20 20 20 20 20 20 20 20 20 20 6f 75 74 70 75             outpu
0500: 74 3a 20 26 3a 3a 49 31 36 78 31 36 2c 0a 20 20  t: &::I16x16,.  
0510: 20 20 20 20 20 20 20 20 20 20 64 65 66 69 6e 69            defini
0520: 74 69 6f 6e 3a 20 4e 61 6d 65 64 28 22 6c 6c 76  tion: Named("llv
0530: 6d 2e 78 38 36 2e 61 76 78 32 2e 70 61 62 73 2e  m.x86.avx2.pabs.
0540: 77 22 29 0a 20 20 20 20 20 20 20 20 7d 2c 0a 20  w").        },. 
0550: 20 20 20 20 20 20 20 22 5f 6d 6d 32 35 36 5f 61         "_mm256_a
0560: 62 73 5f 65 70 69 33 32 22 20 3d 3e 20 49 6e 74  bs_epi32" => Int
0570: 72 69 6e 73 69 63 20 7b 0a 20 20 20 20 20 20 20  rinsic {.       
0580: 20 20 20 20 20 69 6e 70 75 74 73 3a 20 7b 20 73       inputs: { s
0590: 74 61 74 69 63 20 49 4e 50 55 54 53 3a 20 5b 26  tatic INPUTS: [&
05a0: 27 73 74 61 74 69 63 20 54 79 70 65 3b 20 31 5d  'static Type; 1]
05b0: 20 3d 20 5b 26 3a 3a 49 33 32 78 38 5d 3b 20 26   = [&::I32x8]; &
05c0: 49 4e 50 55 54 53 20 7d 2c 0a 20 20 20 20 20 20  INPUTS },.      
05d0: 20 20 20 20 20 20 6f 75 74 70 75 74 3a 20 26 3a        output: &:
05e0: 3a 49 33 32 78 38 2c 0a 20 20 20 20 20 20 20 20  :I32x8,.        
05f0: 20 20 20 20 64 65 66 69 6e 69 74 69 6f 6e 3a 20      definition: 
0600: 4e 61 6d 65 64 28 22 6c 6c 76 6d 2e 78 38 36 2e  Named("llvm.x86.
0610: 61 76 78 32 2e 70 61 62 73 2e 64 22 29 0a 20 20  avx2.pabs.d").  
0620: 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20        },.       
0630: 20 22 5f 6d 6d 32 35 36 5f 61 64 64 73 5f 65 70   "_mm256_adds_ep
0640: 69 38 22 20 3d 3e 20 49 6e 74 72 69 6e 73 69 63  i8" => Intrinsic
0650: 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69   {.            i
0660: 6e 70 75 74 73 3a 20 7b 20 73 74 61 74 69 63 20  nputs: { static 
0670: 49 4e 50 55 54 53 3a 20 5b 26 27 73 74 61 74 69  INPUTS: [&'stati
0680: 63 20 54 79 70 65 3b 20 32 5d 20 3d 20 5b 26 3a  c Type; 2] = [&:
0690: 3a 49 38 78 33 32 2c 20 26 3a 3a 49 38 78 33 32  :I8x32, &::I8x32
06a0: 5d 3b 20 26 49 4e 50 55 54 53 20 7d 2c 0a 20 20  ]; &INPUTS },.  
06b0: 20 20 20 20 20 20 20 20 20 20 6f 75 74 70 75 74            output
06c0: 3a 20 26 3a 3a 49 38 78 33 32 2c 0a 20 20 20 20  : &::I8x32,.    
06d0: 20 20 20 20 20 20 20 20 64 65 66 69 6e 69 74 69          definiti
06e0: 6f 6e 3a 20 4e 61 6d 65 64 28 22 6c 6c 76 6d 2e  on: Named("llvm.
06f0: 78 38 36 2e 61 76 78 32 2e 70 61 64 64 73 2e 62  x86.avx2.padds.b
0700: 22 29 0a 20 20 20 20 20 20 20 20 7d 2c 0a 20 20  ").        },.  
0710: 20 20 20 20 20 20 22 5f 6d 6d 32 35 36 5f 61 64        "_mm256_ad
0720: 64 73 5f 65 70 75 38 22 20 3d 3e 20 49 6e 74 72  ds_epu8" => Intr
0730: 69 6e 73 69 63 20 7b 0a 20 20 20 20 20 20 20 20  insic {.        
0740: 20 20 20 20 69 6e 70 75 74 73 3a 20 7b 20 73 74      inputs: { st
0750: 61 74 69 63 20 49 4e 50 55 54 53 3a 20 5b 26 27  atic INPUTS: [&'
0760: 73 74 61 74 69 63 20 54 79 70 65 3b 20 32 5d 20  static Type; 2] 
0770: 3d 20 5b 26 3a 3a 55 38 78 33 32 2c 20 26 3a 3a  = [&::U8x32, &::
0780: 55 38 78 33 32 5d 3b 20 26 49 4e 50 55 54 53 20  U8x32]; &INPUTS 
0790: 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 6f  },.            o
07a0: 75 74 70 75 74 3a 20 26 3a 3a 55 38 78 33 32 2c  utput: &::U8x32,
07b0: 0a 20 20 20 20 20 20 20 20 20 20 20 20 64 65 66  .            def
07c0: 69 6e 69 74 69 6f 6e 3a 20 4e 61 6d 65 64 28 22  inition: Named("
07d0: 6c 6c 76 6d 2e 78 38 36 2e 61 76 78 32 2e 70 61  llvm.x86.avx2.pa
07e0: 64 64 75 73 2e 62 22 29 0a 20 20 20 20 20 20 20  ddus.b").       
07f0: 20 7d 2c 0a 20 20 20 20 20 20 20 20 22 5f 6d 6d   },.        "_mm
0800: 32 35 36 5f 61 64 64 73 5f 65 70 69 31 36 22 20  256_adds_epi16" 
0810: 3d 3e 20 49 6e 74 72 69 6e 73 69 63 20 7b 0a 20  => Intrinsic {. 
0820: 20 20 20 20 20 20 20 20 20 20 20 69 6e 70 75 74             input
0830: 73 3a 20 7b 20 73 74 61 74 69 63 20 49 4e 50 55  s: { static INPU
0840: 54 53 3a 20 5b 26 27 73 74 61 74 69 63 20 54 79  TS: [&'static Ty
0850: 70 65 3b 20 32 5d 20 3d 20 5b 26 3a 3a 49 31 36  pe; 2] = [&::I16
0860: 78 31 36 2c 20 26 3a 3a 49 31 36 78 31 36 5d 3b  x16, &::I16x16];
0870: 20 26 49 4e 50 55 54 53 20 7d 2c 0a 20 20 20 20   &INPUTS },.    
0880: 20 20 20 20 20 20 20 20 6f 75 74 70 75 74 3a 20          output: 
0890: 26 3a 3a 49 31 36 78 31 36 2c 0a 20 20 20 20 20  &::I16x16,.     
08a0: 20 20 20 20 20 20 20 64 65 66 69 6e 69 74 69 6f         definitio
08b0: 6e 3a 20 4e 61 6d 65 64 28 22 6c 6c 76 6d 2e 78  n: Named("llvm.x
08c0: 38 36 2e 61 76 78 32 2e 70 61 64 64 73 2e 77 22  86.avx2.padds.w"
08d0: 29 0a 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20  ).        },.   
08e0: 20 20 20 20 20 22 5f 6d 6d 32 35 36 5f 61 64 64       "_mm256_add
08f0: 73 5f 65 70 75 31 36 22 20 3d 3e 20 49 6e 74 72  s_epu16" => Intr
0900: 69 6e 73 69 63 20 7b 0a 20 20 20 20 20 20 20 20  insic {.        
0910: 20 20 20 20 69 6e 70 75 74 73 3a 20 7b 20 73 74      inputs: { st
0920: 61 74 69 63 20 49 4e 50 55 54 53 3a 20 5b 26 27  atic INPUTS: [&'
0930: 73 74 61 74 69 63 20 54 79 70 65 3b 20 32 5d 20  static Type; 2] 
0940: 3d 20 5b 26 3a 3a 55 31 36 78 31 36 2c 20 26 3a  = [&::U16x16, &:
0950: 3a 55 31 36 78 31 36 5d 3b 20 26 49 4e 50 55 54  :U16x16]; &INPUT
0960: 53 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20  S },.           
0970: 20 6f 75 74 70 75 74 3a 20 26 3a 3a 55 31 36 78   output: &::U16x
0980: 31 36 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20  16,.            
0990: 64 65 66 69 6e 69 74 69 6f 6e 3a 20 4e 61 6d 65  definition: Name
09a0: 64 28 22 6c 6c 76 6d 2e 78 38 36 2e 61 76 78 32  d("llvm.x86.avx2
09b0: 2e 70 61 64 64 75 73 2e 77 22 29 0a 20 20 20 20  .paddus.w").    
09c0: 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 22      },.        "
09d0: 5f 6d 6d 32 35 36 5f 61 76 67 5f 65 70 75 38 22  _mm256_avg_epu8"
09e0: 20 3d 3e 20 49 6e 74 72 69 6e 73 69 63 20 7b 0a   => Intrinsic {.
09f0: 20 20 20 20 20 20 20 20 20 20 20 20 69 6e 70 75              inpu
0a00: 74 73 3a 20 7b 20 73 74 61 74 69 63 20 49 4e 50  ts: { static INP
0a10: 55 54 53 3a 20 5b 26 27 73 74 61 74 69 63 20 54  UTS: [&'static T
0a20: 79 70 65 3b 20 32 5d 20 3d 20 5b 26 3a 3a 55 38  ype; 2] = [&::U8
0a30: 78 33 32 2c 20 26 3a 3a 55 38 78 33 32 5d 3b 20  x32, &::U8x32]; 
0a40: 26 49 4e 50 55 54 53 20 7d 2c 0a 20 20 20 20 20  &INPUTS },.     
0a50: 20 20 20 20 20 20 20 6f 75 74 70 75 74 3a 20 26         output: &
0a60: 3a 3a 55 38 78 33 32 2c 0a 20 20 20 20 20 20 20  ::U8x32,.       
0a70: 20 20 20 20 20 64 65 66 69 6e 69 74 69 6f 6e 3a       definition:
0a80: 20 4e 61 6d 65 64 28 22 6c 6c 76 6d 2e 78 38 36   Named("llvm.x86
0a90: 2e 61 76 78 32 2e 70 61 76 67 2e 62 22 29 0a 20  .avx2.pavg.b"). 
0aa0: 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20         },.      
0ab0: 20 20 22 5f 6d 6d 32 35 36 5f 61 76 67 5f 65 70    "_mm256_avg_ep
0ac0: 75 31 36 22 20 3d 3e 20 49 6e 74 72 69 6e 73 69  u16" => Intrinsi
0ad0: 63 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20  c {.            
0ae0: 69 6e 70 75 74 73 3a 20 7b 20 73 74 61 74 69 63  inputs: { static
0af0: 20 49 4e 50 55 54 53 3a 20 5b 26 27 73 74 61 74   INPUTS: [&'stat
0b00: 69 63 20 54 79 70 65 3b 20 32 5d 20 3d 20 5b 26  ic Type; 2] = [&
0b10: 3a 3a 55 31 36 78 31 36 2c 20 26 3a 3a 55 31 36  ::U16x16, &::U16
0b20: 78 31 36 5d 3b 20 26 49 4e 50 55 54 53 20 7d 2c  x16]; &INPUTS },
0b30: 0a 20 20 20 20 20 20 20 20 20 20 20 20 6f 75 74  .            out
0b40: 70 75 74 3a 20 26 3a 3a 55 31 36 78 31 36 2c 0a  put: &::U16x16,.
0b50: 20 20 20 20 20 20 20 20 20 20 20 20 64 65 66 69              defi
0b60: 6e 69 74 69 6f 6e 3a 20 4e 61 6d 65 64 28 22 6c  nition: Named("l
0b70: 6c 76 6d 2e 78 38 36 2e 61 76 78 32 2e 70 61 76  lvm.x86.avx2.pav
0b80: 67 2e 77 22 29 0a 20 20 20 20 20 20 20 20 7d 2c  g.w").        },
0b90: 0a 20 20 20 20 20 20 20 20 22 5f 6d 6d 32 35 36  .        "_mm256
0ba0: 5f 68 61 64 64 5f 65 70 69 31 36 22 20 3d 3e 20  _hadd_epi16" => 
0bb0: 49 6e 74 72 69 6e 73 69 63 20 7b 0a 20 20 20 20  Intrinsic {.    
0bc0: 20 20 20 20 20 20 20 20 69 6e 70 75 74 73 3a 20          inputs: 
0bd0: 7b 20 73 74 61 74 69 63 20 49 4e 50 55 54 53 3a  { static INPUTS:
0be0: 20 5b 26 27 73 74 61 74 69 63 20 54 79 70 65 3b   [&'static Type;
0bf0: 20 32 5d 20 3d 20 5b 26 3a 3a 49 31 36 78 31 36   2] = [&::I16x16
0c00: 2c 20 26 3a 3a 49 31 36 78 31 36 5d 3b 20 26 49  , &::I16x16]; &I
0c10: 4e 50 55 54 53 20 7d 2c 0a 20 20 20 20 20 20 20  NPUTS },.       
0c20: 20 20 20 20 20 6f 75 74 70 75 74 3a 20 26 3a 3a       output: &::
0c30: 49 31 36 78 31 36 2c 0a 20 20 20 20 20 20 20 20  I16x16,.        
0c40: 20 20 20 20 64 65 66 69 6e 69 74 69 6f 6e 3a 20      definition: 
0c50: 4e 61 6d 65 64 28 22 6c 6c 76 6d 2e 78 38 36 2e  Named("llvm.x86.
0c60: 61 76 78 32 2e 70 68 61 64 64 2e 77 22 29 0a 20  avx2.phadd.w"). 
0c70: 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20         },.      
0c80: 20 20 22 5f 6d 6d 32 35 36 5f 68 61 64 64 5f 65    "_mm256_hadd_e
0c90: 70 69 33 32 22 20 3d 3e 20 49 6e 74 72 69 6e 73  pi32" => Intrins
0ca0: 69 63 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20  ic {.           
0cb0: 20 69 6e 70 75 74 73 3a 20 7b 20 73 74 61 74 69   inputs: { stati
0cc0: 63 20 49 4e 50 55 54 53 3a 20 5b 26 27 73 74 61  c INPUTS: [&'sta
0cd0: 74 69 63 20 54 79 70 65 3b 20 32 5d 20 3d 20 5b  tic Type; 2] = [
0ce0: 26 3a 3a 49 33 32 78 38 2c 20 26 3a 3a 49 33 32  &::I32x8, &::I32
0cf0: 78 38 5d 3b 20 26 49 4e 50 55 54 53 20 7d 2c 0a  x8]; &INPUTS },.
0d00: 20 20 20 20 20 20 20 20 20 20 20 20 6f 75 74 70              outp
0d10: 75 74 3a 20 26 3a 3a 49 33 32 78 38 2c 0a 20 20  ut: &::I32x8,.  
0d20: 20 20 20 20 20 20 20 20 20 20 64 65 66 69 6e 69            defini
0d30: 74 69 6f 6e 3a 20 4e 61 6d 65 64 28 22 6c 6c 76  tion: Named("llv
0d40: 6d 2e 78 38 36 2e 61 76 78 32 2e 70 68 61 64 64  m.x86.avx2.phadd
0d50: 2e 64 22 29 0a 20 20 20 20 20 20 20 20 7d 2c 0a  .d").        },.
0d60: 20 20 20 20 20 20 20 20 22 5f 6d 6d 32 35 36 5f          "_mm256_
0d70: 68 61 64 64 73 5f 65 70 69 31 36 22 20 3d 3e 20  hadds_epi16" => 
0d80: 49 6e 74 72 69 6e 73 69 63 20 7b 0a 20 20 20 20  Intrinsic {.    
0d90: 20 20 20 20 20 20 20 20 69 6e 70 75 74 73 3a 20          inputs: 
0da0: 7b 20 73 74 61 74 69 63 20 49 4e 50 55 54 53 3a  { static INPUTS:
0db0: 20 5b 26 27 73 74 61 74 69 63 20 54 79 70 65 3b   [&'static Type;
0dc0: 20 32 5d 20 3d 20 5b 26 3a 3a 49 31 36 78 31 36   2] = [&::I16x16
0dd0: 2c 20 26 3a 3a 49 31 36 78 31 36 5d 3b 20 26 49  , &::I16x16]; &I
0de0: 4e 50 55 54 53 20 7d 2c 0a 20 20 20 20 20 20 20  NPUTS },.       
0df0: 20 20 20 20 20 6f 75 74 70 75 74 3a 20 26 3a 3a       output: &::
0e00: 49 31 36 78 31 36 2c 0a 20 20 20 20 20 20 20 20  I16x16,.        
0e10: 20 20 20 20 64 65 66 69 6e 69 74 69 6f 6e 3a 20      definition: 
0e20: 4e 61 6d 65 64 28 22 6c 6c 76 6d 2e 78 38 36 2e  Named("llvm.x86.
0e30: 61 76 78 32 2e 70 68 61 64 64 2e 73 77 22 29 0a  avx2.phadd.sw").
0e40: 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20          },.     
0e50: 20 20 20 22 5f 6d 6d 32 35 36 5f 68 73 75 62 5f     "_mm256_hsub_
0e60: 65 70 69 31 36 22 20 3d 3e 20 49 6e 74 72 69 6e  epi16" => Intrin
0e70: 73 69 63 20 7b 0a 20 20 20 20 20 20 20 20 20 20  sic {.          
0e80: 20 20 69 6e 70 75 74 73 3a 20 7b 20 73 74 61 74    inputs: { stat
0e90: 69 63 20 49 4e 50 55 54 53 3a 20 5b 26 27 73 74  ic INPUTS: [&'st
0ea0: 61 74 69 63 20 54 79 70 65 3b 20 32 5d 20 3d 20  atic Type; 2] = 
0eb0: 5b 26 3a 3a 49 31 36 78 31 36 2c 20 26 3a 3a 49  [&::I16x16, &::I
0ec0: 31 36 78 31 36 5d 3b 20 26 49 4e 50 55 54 53 20  16x16]; &INPUTS 
0ed0: 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 6f  },.            o
0ee0: 75 74 70 75 74 3a 20 26 3a 3a 49 31 36 78 31 36  utput: &::I16x16
0ef0: 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 64 65  ,.            de
0f00: 66 69 6e 69 74 69 6f 6e 3a 20 4e 61 6d 65 64 28  finition: Named(
0f10: 22 6c 6c 76 6d 2e 78 38 36 2e 61 76 78 32 2e 70  "llvm.x86.avx2.p
0f20: 68 73 75 62 2e 77 22 29 0a 20 20 20 20 20 20 20  hsub.w").       
0f30: 20 7d 2c 0a 20 20 20 20 20 20 20 20 22 5f 6d 6d   },.        "_mm
0f40: 32 35 36 5f 68 73 75 62 5f 65 70 69 33 32 22 20  256_hsub_epi32" 
0f50: 3d 3e 20 49 6e 74 72 69 6e 73 69 63 20 7b 0a 20  => Intrinsic {. 
0f60: 20 20 20 20 20 20 20 20 20 20 20 69 6e 70 75 74             input
0f70: 73 3a 20 7b 20 73 74 61 74 69 63 20 49 4e 50 55  s: { static INPU
0f80: 54 53 3a 20 5b 26 27 73 74 61 74 69 63 20 54 79  TS: [&'static Ty
0f90: 70 65 3b 20 32 5d 20 3d 20 5b 26 3a 3a 49 33 32  pe; 2] = [&::I32
0fa0: 78 38 2c 20 26 3a 3a 49 33 32 78 38 5d 3b 20 26  x8, &::I32x8]; &
0fb0: 49 4e 50 55 54 53 20 7d 2c 0a 20 20 20 20 20 20  INPUTS },.      
0fc0: 20 20 20 20 20 20 6f 75 74 70 75 74 3a 20 26 3a        output: &:
0fd0: 3a 49 33 32 78 38 2c 0a 20 20 20 20 20 20 20 20  :I32x8,.        
0fe0: 20 20 20 20 64 65 66 69 6e 69 74 69 6f 6e 3a 20      definition: 
0ff0: 4e 61 6d 65 64 28 22 6c 6c 76 6d 2e 78 38 36 2e  Named("llvm.x86.
1000: 61 76 78 32 2e 70 68 73 75 62 2e 64 22 29 0a 20  avx2.phsub.d"). 
1010: 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20         },.      
1020: 20 20 22 5f 6d 6d 32 35 36 5f 68 73 75 62 73 5f    "_mm256_hsubs_
1030: 65 70 69 31 36 22 20 3d 3e 20 49 6e 74 72 69 6e  epi16" => Intrin
1040: 73 69 63 20 7b 0a 20 20 20 20 20 20 20 20 20 20  sic {.          
1050: 20 20 69 6e 70 75 74 73 3a 20 7b 20 73 74 61 74    inputs: { stat
1060: 69 63 20 49 4e 50 55 54 53 3a 20 5b 26 27 73 74  ic INPUTS: [&'st
1070: 61 74 69 63 20 54 79 70 65 3b 20 32 5d 20 3d 20  atic Type; 2] = 
1080: 5b 26 3a 3a 49 31 36 78 31 36 2c 20 26 3a 3a 49  [&::I16x16, &::I
1090: 31 36 78 31 36 5d 3b 20 26 49 4e 50 55 54 53 20  16x16]; &INPUTS 
10a0: 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 6f  },.            o
10b0: 75 74 70 75 74 3a 20 26 3a 3a 49 31 36 78 31 36  utput: &::I16x16
10c0: 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 64 65  ,.            de
10d0: 66 69 6e 69 74 69 6f 6e 3a 20 4e 61 6d 65 64 28  finition: Named(
10e0: 22 6c 6c 76 6d 2e 78 38 36 2e 61 76 78 32 2e 70  "llvm.x86.avx2.p
10f0: 68 73 75 62 2e 73 77 22 29 0a 20 20 20 20 20 20  hsub.sw").      
1100: 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 22 5f 6d    },.        "_m
1110: 6d 32 35 36 5f 6d 61 64 64 5f 65 70 69 31 36 22  m256_madd_epi16"
1120: 20 3d 3e 20 49 6e 74 72 69 6e 73 69 63 20 7b 0a   => Intrinsic {.
1130: 20 20 20 20 20 20 20 20 20 20 20 20 69 6e 70 75              inpu
1140: 74 73 3a 20 7b 20 73 74 61 74 69 63 20 49 4e 50  ts: { static INP
1150: 55 54 53 3a 20 5b 26 27 73 74 61 74 69 63 20 54  UTS: [&'static T
1160: 79 70 65 3b 20 32 5d 20 3d 20 5b 26 3a 3a 49 31  ype; 2] = [&::I1
1170: 36 78 31 36 2c 20 26 3a 3a 49 31 36 78 31 36 5d  6x16, &::I16x16]
1180: 3b 20 26 49 4e 50 55 54 53 20 7d 2c 0a 20 20 20  ; &INPUTS },.   
1190: 20 20 20 20 20 20 20 20 20 6f 75 74 70 75 74 3a           output:
11a0: 20 26 3a 3a 49 33 32 78 38 2c 0a 20 20 20 20 20   &::I32x8,.     
11b0: 20 20 20 20 20 20 20 64 65 66 69 6e 69 74 69 6f         definitio
11c0: 6e 3a 20 4e 61 6d 65 64 28 22 6c 6c 76 6d 2e 78  n: Named("llvm.x
11d0: 38 36 2e 61 76 78 32 2e 70 6d 61 64 64 2e 77 64  86.avx2.pmadd.wd
11e0: 22 29 0a 20 20 20 20 20 20 20 20 7d 2c 0a 20 20  ").        },.  
11f0: 20 20 20 20 20 20 22 5f 6d 6d 32 35 36 5f 6d 61        "_mm256_ma
1200: 64 64 75 62 73 5f 65 70 69 31 36 22 20 3d 3e 20  ddubs_epi16" => 
1210: 49 6e 74 72 69 6e 73 69 63 20 7b 0a 20 20 20 20  Intrinsic {.    
1220: 20 20 20 20 20 20 20 20 69 6e 70 75 74 73 3a 20          inputs: 
1230: 7b 20 73 74 61 74 69 63 20 49 4e 50 55 54 53 3a  { static INPUTS:
1240: 20 5b 26 27 73 74 61 74 69 63 20 54 79 70 65 3b   [&'static Type;
1250: 20 32 5d 20 3d 20 5b 26 3a 3a 49 38 78 33 32 2c   2] = [&::I8x32,
1260: 20 26 3a 3a 49 38 78 33 32 5d 3b 20 26 49 4e 50   &::I8x32]; &INP
1270: 55 54 53 20 7d 2c 0a 20 20 20 20 20 20 20 20 20  UTS },.         
1280: 20 20 20 6f 75 74 70 75 74 3a 20 26 3a 3a 49 31     output: &::I1
1290: 36 78 31 36 2c 0a 20 20 20 20 20 20 20 20 20 20  6x16,.          
12a0: 20 20 64 65 66 69 6e 69 74 69 6f 6e 3a 20 4e 61    definition: Na
12b0: 6d 65 64 28 22 6c 6c 76 6d 2e 78 38 36 2e 61 76  med("llvm.x86.av
12c0: 78 32 2e 70 6d 61 64 64 2e 75 62 2e 73 77 22 29  x2.pmadd.ub.sw")
12d0: 0a 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20  .        },.    
12e0: 20 20 20 20 22 5f 6d 6d 5f 6d 61 73 6b 5f 69 33      "_mm_mask_i3
12f0: 32 67 61 74 68 65 72 5f 65 70 69 33 32 22 20 3d  2gather_epi32" =
1300: 3e 20 49 6e 74 72 69 6e 73 69 63 20 7b 0a 20 20  > Intrinsic {.  
1310: 20 20 20 20 20 20 20 20 20 20 69 6e 70 75 74 73            inputs
1320: 3a 20 7b 20 73 74 61 74 69 63 20 49 4e 50 55 54  : { static INPUT
1330: 53 3a 20 5b 26 27 73 74 61 74 69 63 20 54 79 70  S: [&'static Typ
1340: 65 3b 20 35 5d 20 3d 20 5b 26 3a 3a 49 33 32 78  e; 5] = [&::I32x
1350: 34 2c 20 7b 20 73 74 61 74 69 63 20 50 54 52 3a  4, { static PTR:
1360: 20 54 79 70 65 20 3d 20 54 79 70 65 3a 3a 50 6f   Type = Type::Po
1370: 69 6e 74 65 72 28 26 3a 3a 49 33 32 2c 20 53 6f  inter(&::I32, So
1380: 6d 65 28 26 3a 3a 49 38 29 2c 20 74 72 75 65 29  me(&::I8), true)
1390: 3b 20 26 50 54 52 20 7d 2c 20 26 3a 3a 49 33 32  ; &PTR }, &::I32
13a0: 78 34 2c 20 26 3a 3a 49 33 32 78 34 2c 20 26 3a  x4, &::I32x4, &:
13b0: 3a 49 33 32 5f 38 5d 3b 20 26 49 4e 50 55 54 53  :I32_8]; &INPUTS
13c0: 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20   },.            
13d0: 6f 75 74 70 75 74 3a 20 26 3a 3a 49 33 32 78 34  output: &::I32x4
13e0: 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 64 65  ,.            de
13f0: 66 69 6e 69 74 69 6f 6e 3a 20 4e 61 6d 65 64 28  finition: Named(
1400: 22 6c 6c 76 6d 2e 78 38 36 2e 61 76 78 32 2e 67  "llvm.x86.avx2.g
1410: 61 74 68 65 72 2e 64 2e 64 22 29 0a 20 20 20 20  ather.d.d").    
1420: 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 22      },.        "
1430: 5f 6d 6d 5f 6d 61 73 6b 5f 69 33 32 67 61 74 68  _mm_mask_i32gath
1440: 65 72 5f 70 73 22 20 3d 3e 20 49 6e 74 72 69 6e  er_ps" => Intrin
1450: 73 69 63 20 7b 0a 20 20 20 20 20 20 20 20 20 20  sic {.          
1460: 20 20 69 6e 70 75 74 73 3a 20 7b 20 73 74 61 74    inputs: { stat
1470: 69 63 20 49 4e 50 55 54 53 3a 20 5b 26 27 73 74  ic INPUTS: [&'st
1480: 61 74 69 63 20 54 79 70 65 3b 20 35 5d 20 3d 20  atic Type; 5] = 
1490: 5b 26 3a 3a 46 33 32 78 34 2c 20 7b 20 73 74 61  [&::F32x4, { sta
14a0: 74 69 63 20 50 54 52 3a 20 54 79 70 65 20 3d 20  tic PTR: Type = 
14b0: 54 79 70 65 3a 3a 50 6f 69 6e 74 65 72 28 26 3a  Type::Pointer(&:
14c0: 3a 46 33 32 2c 20 53 6f 6d 65 28 26 3a 3a 49 38  :F32, Some(&::I8
14d0: 29 2c 20 74 72 75 65 29 3b 20 26 50 54 52 20 7d  ), true); &PTR }
14e0: 2c 20 26 3a 3a 49 33 32 78 34 2c 20 26 3a 3a 49  , &::I32x4, &::I
14f0: 33 32 78 34 5f 46 33 32 2c 20 26 3a 3a 49 33 32  32x4_F32, &::I32
1500: 5f 38 5d 3b 20 26 49 4e 50 55 54 53 20 7d 2c 0a  _8]; &INPUTS },.
1510: 20 20 20 20 20 20 20 20 20 20 20 20 6f 75 74 70              outp
1520: 75 74 3a 20 26 3a 3a 46 33 32 78 34 2c 0a 20 20  ut: &::F32x4,.  
1530: 20 20 20 20 20 20 20 20 20 20 64 65 66 69 6e 69            defini
1540: 74 69 6f 6e 3a 20 4e 61 6d 65 64 28 22 6c 6c 76  tion: Named("llv
1550: 6d 2e 78 38 36 2e 61 76 78 32 2e 67 61 74 68 65  m.x86.avx2.gathe
1560: 72 2e 64 2e 70 73 22 29 0a 20 20 20 20 20 20 20  r.d.ps").       
1570: 20 7d 2c 0a 20 20 20 20 20 20 20 20 22 5f 6d 6d   },.        "_mm
1580: 32 35 36 5f 6d 61 73 6b 5f 69 33 32 67 61 74 68  256_mask_i32gath
1590: 65 72 5f 65 70 69 33 32 22 20 3d 3e 20 49 6e 74  er_epi32" => Int
15a0: 72 69 6e 73 69 63 20 7b 0a 20 20 20 20 20 20 20  rinsic {.       
15b0: 20 20 20 20 20 69 6e 70 75 74 73 3a 20 7b 20 73       inputs: { s
15c0: 74 61 74 69 63 20 49 4e 50 55 54 53 3a 20 5b 26  tatic INPUTS: [&
15d0: 27 73 74 61 74 69 63 20 54 79 70 65 3b 20 35 5d  'static Type; 5]
15e0: 20 3d 20 5b 26 3a 3a 49 33 32 78 38 2c 20 7b 20   = [&::I32x8, { 
15f0: 73 74 61 74 69 63 20 50 54 52 3a 20 54 79 70 65  static PTR: Type
1600: 20 3d 20 54 79 70 65 3a 3a 50 6f 69 6e 74 65 72   = Type::Pointer
1610: 28 26 3a 3a 49 33 32 2c 20 53 6f 6d 65 28 26 3a  (&::I32, Some(&:
1620: 3a 49 38 29 2c 20 74 72 75 65 29 3b 20 26 50 54  :I8), true); &PT
1630: 52 20 7d 2c 20 26 3a 3a 49 33 32 78 38 2c 20 26  R }, &::I32x8, &
1640: 3a 3a 49 33 32 78 38 2c 20 26 3a 3a 49 33 32 5f  ::I32x8, &::I32_
1650: 38 5d 3b 20 26 49 4e 50 55 54 53 20 7d 2c 0a 20  8]; &INPUTS },. 
1660: 20 20 20 20 20 20 20 20 20 20 20 6f 75 74 70 75             outpu
1670: 74 3a 20 26 3a 3a 49 33 32 78 38 2c 0a 20 20 20  t: &::I32x8,.   
1680: 20 20 20 20 20 20 20 20 20 64 65 66 69 6e 69 74           definit
1690: 69 6f 6e 3a 20 4e 61 6d 65 64 28 22 6c 6c 76 6d  ion: Named("llvm
16a0: 2e 78 38 36 2e 61 76 78 32 2e 67 61 74 68 65 72  .x86.avx2.gather
16b0: 2e 64 2e 64 2e 32 35 36 22 29 0a 20 20 20 20 20  .d.d.256").     
16c0: 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 22 5f     },.        "_
16d0: 6d 6d 32 35 36 5f 6d 61 73 6b 5f 69 33 32 67 61  mm256_mask_i32ga
16e0: 74 68 65 72 5f 70 73 22 20 3d 3e 20 49 6e 74 72  ther_ps" => Intr
16f0: 69 6e 73 69 63 20 7b 0a 20 20 20 20 20 20 20 20  insic {.        
1700: 20 20 20 20 69 6e 70 75 74 73 3a 20 7b 20 73 74      inputs: { st
1710: 61 74 69 63 20 49 4e 50 55 54 53 3a 20 5b 26 27  atic INPUTS: [&'
1720: 73 74 61 74 69 63 20 54 79 70 65 3b 20 35 5d 20  static Type; 5] 
1730: 3d 20 5b 26 3a 3a 46 33 32 78 38 2c 20 7b 20 73  = [&::F32x8, { s
1740: 74 61 74 69 63 20 50 54 52 3a 20 54 79 70 65 20  tatic PTR: Type 
1750: 3d 20 54 79 70 65 3a 3a 50 6f 69 6e 74 65 72 28  = Type::Pointer(
1760: 26 3a 3a 46 33 32 2c 20 53 6f 6d 65 28 26 3a 3a  &::F32, Some(&::
1770: 49 38 29 2c 20 74 72 75 65 29 3b 20 26 50 54 52  I8), true); &PTR
1780: 20 7d 2c 20 26 3a 3a 49 33 32 78 38 2c 20 26 3a   }, &::I32x8, &:
1790: 3a 49 33 32 78 38 5f 46 33 32 2c 20 26 3a 3a 49  :I32x8_F32, &::I
17a0: 33 32 5f 38 5d 3b 20 26 49 4e 50 55 54 53 20 7d  32_8]; &INPUTS }
17b0: 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 6f 75  ,.            ou
17c0: 74 70 75 74 3a 20 26 3a 3a 46 33 32 78 38 2c 0a  tput: &::F32x8,.
17d0: 20 20 20 20 20 20 20 20 20 20 20 20 64 65 66 69              defi
17e0: 6e 69 74 69 6f 6e 3a 20 4e 61 6d 65 64 28 22 6c  nition: Named("l
17f0: 6c 76 6d 2e 78 38 36 2e 61 76 78 32 2e 67 61 74  lvm.x86.avx2.gat
1800: 68 65 72 2e 64 2e 70 73 2e 32 35 36 22 29 0a 20  her.d.ps.256"). 
1810: 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20         },.      
1820: 20 20 22 5f 6d 6d 5f 6d 61 73 6b 5f 69 33 32 67    "_mm_mask_i32g
1830: 61 74 68 65 72 5f 65 70 69 36 34 22 20 3d 3e 20  ather_epi64" => 
1840: 49 6e 74 72 69 6e 73 69 63 20 7b 0a 20 20 20 20  Intrinsic {.    
1850: 20 20 20 20 20 20 20 20 69 6e 70 75 74 73 3a 20          inputs: 
1860: 7b 20 73 74 61 74 69 63 20 49 4e 50 55 54 53 3a  { static INPUTS:
1870: 20 5b 26 27 73 74 61 74 69 63 20 54 79 70 65 3b   [&'static Type;
1880: 20 35 5d 20 3d 20 5b 26 3a 3a 49 36 34 78 32 2c   5] = [&::I64x2,
1890: 20 7b 20 73 74 61 74 69 63 20 50 54 52 3a 20 54   { static PTR: T
18a0: 79 70 65 20 3d 20 54 79 70 65 3a 3a 50 6f 69 6e  ype = Type::Poin
18b0: 74 65 72 28 26 3a 3a 49 36 34 2c 20 53 6f 6d 65  ter(&::I64, Some
18c0: 28 26 3a 3a 49 38 29 2c 20 74 72 75 65 29 3b 20  (&::I8), true); 
18d0: 26 50 54 52 20 7d 2c 20 26 3a 3a 49 33 32 78 34  &PTR }, &::I32x4
18e0: 2c 20 26 3a 3a 49 36 34 78 32 2c 20 26 3a 3a 49  , &::I64x2, &::I
18f0: 33 32 5f 38 5d 3b 20 26 49 4e 50 55 54 53 20 7d  32_8]; &INPUTS }
1900: 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 6f 75  ,.            ou
1910: 74 70 75 74 3a 20 26 3a 3a 49 36 34 78 32 2c 0a  tput: &::I64x2,.
1920: 20 20 20 20 20 20 20 20 20 20 20 20 64 65 66 69              defi
1930: 6e 69 74 69 6f 6e 3a 20 4e 61 6d 65 64 28 22 6c  nition: Named("l
1940: 6c 76 6d 2e 78 38 36 2e 61 76 78 32 2e 67 61 74  lvm.x86.avx2.gat
1950: 68 65 72 2e 64 2e 71 22 29 0a 20 20 20 20 20 20  her.d.q").      
1960: 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 22 5f 6d    },.        "_m
1970: 6d 5f 6d 61 73 6b 5f 69 33 32 67 61 74 68 65 72  m_mask_i32gather
1980: 5f 70 64 22 20 3d 3e 20 49 6e 74 72 69 6e 73 69  _pd" => Intrinsi
1990: 63 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20  c {.            
19a0: 69 6e 70 75 74 73 3a 20 7b 20 73 74 61 74 69 63  inputs: { static
19b0: 20 49 4e 50 55 54 53 3a 20 5b 26 27 73 74 61 74   INPUTS: [&'stat
19c0: 69 63 20 54 79 70 65 3b 20 35 5d 20 3d 20 5b 26  ic Type; 5] = [&
19d0: 3a 3a 46 36 34 78 32 2c 20 7b 20 73 74 61 74 69  ::F64x2, { stati
19e0: 63 20 50 54 52 3a 20 54 79 70 65 20 3d 20 54 79  c PTR: Type = Ty
19f0: 70 65 3a 3a 50 6f 69 6e 74 65 72 28 26 3a 3a 46  pe::Pointer(&::F
1a00: 36 34 2c 20 53 6f 6d 65 28 26 3a 3a 49 38 29 2c  64, Some(&::I8),
1a10: 20 74 72 75 65 29 3b 20 26 50 54 52 20 7d 2c 20   true); &PTR }, 
1a20: 26 3a 3a 49 33 32 78 34 2c 20 26 3a 3a 49 36 34  &::I32x4, &::I64
1a30: 78 32 5f 46 36 34 2c 20 26 3a 3a 49 33 32 5f 38  x2_F64, &::I32_8
1a40: 5d 3b 20 26 49 4e 50 55 54 53 20 7d 2c 0a 20 20  ]; &INPUTS },.  
1a50: 20 20 20 20 20 20 20 20 20 20 6f 75 74 70 75 74            output
1a60: 3a 20 26 3a 3a 46 36 34 78 32 2c 0a 20 20 20 20  : &::F64x2,.    
1a70: 20 20 20 20 20 20 20 20 64 65 66 69 6e 69 74 69          definiti
1a80: 6f 6e 3a 20 4e 61 6d 65 64 28 22 6c 6c 76 6d 2e  on: Named("llvm.
1a90: 78 38 36 2e 61 76 78 32 2e 67 61 74 68 65 72 2e  x86.avx2.gather.
1aa0: 64 2e 70 64 22 29 0a 20 20 20 20 20 20 20 20 7d  d.pd").        }
1ab0: 2c 0a 20 20 20 20 20 20 20 20 22 5f 6d 6d 32 35  ,.        "_mm25
1ac0: 36 5f 6d 61 73 6b 5f 69 33 32 67 61 74 68 65 72  6_mask_i32gather
1ad0: 5f 65 70 69 36 34 22 20 3d 3e 20 49 6e 74 72 69  _epi64" => Intri
1ae0: 6e 73 69 63 20 7b 0a 20 20 20 20 20 20 20 20 20  nsic {.         
1af0: 20 20 20 69 6e 70 75 74 73 3a 20 7b 20 73 74 61     inputs: { sta
1b00: 74 69 63 20 49 4e 50 55 54 53 3a 20 5b 26 27 73  tic INPUTS: [&'s
1b10: 74 61 74 69 63 20 54 79 70 65 3b 20 35 5d 20 3d  tatic Type; 5] =
1b20: 20 5b 26 3a 3a 49 36 34 78 34 2c 20 7b 20 73 74   [&::I64x4, { st
1b30: 61 74 69 63 20 50 54 52 3a 20 54 79 70 65 20 3d  atic PTR: Type =
1b40: 20 54 79 70 65 3a 3a 50 6f 69 6e 74 65 72 28 26   Type::Pointer(&
1b50: 3a 3a 49 36 34 2c 20 53 6f 6d 65 28 26 3a 3a 49  ::I64, Some(&::I
1b60: 38 29 2c 20 74 72 75 65 29 3b 20 26 50 54 52 20  8), true); &PTR 
1b70: 7d 2c 20 26 3a 3a 49 33 32 78 34 2c 20 26 3a 3a  }, &::I32x4, &::
1b80: 49 36 34 78 34 2c 20 26 3a 3a 49 33 32 5f 38 5d  I64x4, &::I32_8]
1b90: 3b 20 26 49 4e 50 55 54 53 20 7d 2c 0a 20 20 20  ; &INPUTS },.   
1ba0: 20 20 20 20 20 20 20 20 20 6f 75 74 70 75 74 3a           output:
1bb0: 20 26 3a 3a 49 36 34 78 34 2c 0a 20 20 20 20 20   &::I64x4,.     
1bc0: 20 20 20 20 20 20 20 64 65 66 69 6e 69 74 69 6f         definitio
1bd0: 6e 3a 20 4e 61 6d 65 64 28 22 6c 6c 76 6d 2e 78  n: Named("llvm.x
1be0: 38 36 2e 61 76 78 32 2e 67 61 74 68 65 72 2e 64  86.avx2.gather.d
1bf0: 2e 71 2e 32 35 36 22 29 0a 20 20 20 20 20 20 20  .q.256").       
1c00: 20 7d 2c 0a 20 20 20 20 20 20 20 20 22 5f 6d 6d   },.        "_mm
1c10: 32 35 36 5f 6d 61 73 6b 5f 69 33 32 67 61 74 68  256_mask_i32gath
1c20: 65 72 5f 70 64 22 20 3d 3e 20 49 6e 74 72 69 6e  er_pd" => Intrin
1c30: 73 69 63 20 7b 0a 20 20 20 20 20 20 20 20 20 20  sic {.          
1c40: 20 20 69 6e 70 75 74 73 3a 20 7b 20 73 74 61 74    inputs: { stat
1c50: 69 63 20 49 4e 50 55 54 53 3a 20 5b 26 27 73 74  ic INPUTS: [&'st
1c60: 61 74 69 63 20 54 79 70 65 3b 20 35 5d 20 3d 20  atic Type; 5] = 
1c70: 5b 26 3a 3a 46 36 34 78 34 2c 20 7b 20 73 74 61  [&::F64x4, { sta
1c80: 74 69 63 20 50 54 52 3a 20 54 79 70 65 20 3d 20  tic PTR: Type = 
1c90: 54 79 70 65 3a 3a 50 6f 69 6e 74 65 72 28 26 3a  Type::Pointer(&:
1ca0: 3a 46 36 34 2c 20 53 6f 6d 65 28 26 3a 3a 49 38  :F64, Some(&::I8
1cb0: 29 2c 20 74 72 75 65 29 3b 20 26 50 54 52 20 7d  ), true); &PTR }
1cc0: 2c 20 26 3a 3a 49 33 32 78 34 2c 20 26 3a 3a 49  , &::I32x4, &::I
1cd0: 36 34 78 34 5f 46 36 34 2c 20 26 3a 3a 49 33 32  64x4_F64, &::I32
1ce0: 5f 38 5d 3b 20 26 49 4e 50 55 54 53 20 7d 2c 0a  _8]; &INPUTS },.
1cf0: 20 20 20 20 20 20 20 20 20 20 20 20 6f 75 74 70              outp
1d00: 75 74 3a 20 26 3a 3a 46 36 34 78 34 2c 0a 20 20  ut: &::F64x4,.  
1d10: 20 20 20 20 20 20 20 20 20 20 64 65 66 69 6e 69            defini
1d20: 74 69 6f 6e 3a 20 4e 61 6d 65 64 28 22 6c 6c 76  tion: Named("llv
1d30: 6d 2e 78 38 36 2e 61 76 78 32 2e 67 61 74 68 65  m.x86.avx2.gathe
1d40: 72 2e 64 2e 70 64 2e 32 35 36 22 29 0a 20 20 20  r.d.pd.256").   
1d50: 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20       },.        
1d60: 22 5f 6d 6d 5f 6d 61 73 6b 5f 69 36 34 67 61 74  "_mm_mask_i64gat
1d70: 68 65 72 5f 65 70 69 33 32 22 20 3d 3e 20 49 6e  her_epi32" => In
1d80: 74 72 69 6e 73 69 63 20 7b 0a 20 20 20 20 20 20  trinsic {.      
1d90: 20 20 20 20 20 20 69 6e 70 75 74 73 3a 20 7b 20        inputs: { 
1da0: 73 74 61 74 69 63 20 49 4e 50 55 54 53 3a 20 5b  static INPUTS: [
1db0: 26 27 73 74 61 74 69 63 20 54 79 70 65 3b 20 35  &'static Type; 5
1dc0: 5d 20 3d 20 5b 26 3a 3a 49 33 32 78 34 2c 20 7b  ] = [&::I32x4, {
1dd0: 20 73 74 61 74 69 63 20 50 54 52 3a 20 54 79 70   static PTR: Typ
1de0: 65 20 3d 20 54 79 70 65 3a 3a 50 6f 69 6e 74 65  e = Type::Pointe
1df0: 72 28 26 3a 3a 49 33 32 2c 20 53 6f 6d 65 28 26  r(&::I32, Some(&
1e00: 3a 3a 49 38 29 2c 20 74 72 75 65 29 3b 20 26 50  ::I8), true); &P
1e10: 54 52 20 7d 2c 20 26 3a 3a 49 36 34 78 32 2c 20  TR }, &::I64x2, 
1e20: 26 3a 3a 49 33 32 78 34 2c 20 26 3a 3a 49 33 32  &::I32x4, &::I32
1e30: 5f 38 5d 3b 20 26 49 4e 50 55 54 53 20 7d 2c 0a  _8]; &INPUTS },.
1e40: 20 20 20 20 20 20 20 20 20 20 20 20 6f 75 74 70              outp
1e50: 75 74 3a 20 26 3a 3a 49 33 32 78 34 2c 0a 20 20  ut: &::I32x4,.  
1e60: 20 20 20 20 20 20 20 20 20 20 64 65 66 69 6e 69            defini
1e70: 74 69 6f 6e 3a 20 4e 61 6d 65 64 28 22 6c 6c 76  tion: Named("llv
1e80: 6d 2e 78 38 36 2e 61 76 78 32 2e 67 61 74 68 65  m.x86.avx2.gathe
1e90: 72 2e 71 2e 64 22 29 0a 20 20 20 20 20 20 20 20  r.q.d").        
1ea0: 7d 2c 0a 20 20 20 20 20 20 20 20 22 5f 6d 6d 5f  },.        "_mm_
1eb0: 6d 61 73 6b 5f 69 36 34 67 61 74 68 65 72 5f 70  mask_i64gather_p
1ec0: 73 22 20 3d 3e 20 49 6e 74 72 69 6e 73 69 63 20  s" => Intrinsic 
1ed0: 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 6e  {.            in
1ee0: 70 75 74 73 3a 20 7b 20 73 74 61 74 69 63 20 49  puts: { static I
1ef0: 4e 50 55 54 53 3a 20 5b 26 27 73 74 61 74 69 63  NPUTS: [&'static
1f00: 20 54 79 70 65 3b 20 35 5d 20 3d 20 5b 26 3a 3a   Type; 5] = [&::
1f10: 46 33 32 78 34 2c 20 7b 20 73 74 61 74 69 63 20  F32x4, { static 
1f20: 50 54 52 3a 20 54 79 70 65 20 3d 20 54 79 70 65  PTR: Type = Type
1f30: 3a 3a 50 6f 69 6e 74 65 72 28 26 3a 3a 46 33 32  ::Pointer(&::F32
1f40: 2c 20 53 6f 6d 65 28 26 3a 3a 49 38 29 2c 20 74  , Some(&::I8), t
1f50: 72 75 65 29 3b 20 26 50 54 52 20 7d 2c 20 26 3a  rue); &PTR }, &:
1f60: 3a 49 36 34 78 32 2c 20 26 3a 3a 49 33 32 78 34  :I64x2, &::I32x4
1f70: 5f 46 33 32 2c 20 26 3a 3a 49 33 32 5f 38 5d 3b  _F32, &::I32_8];
1f80: 20 26 49 4e 50 55 54 53 20 7d 2c 0a 20 20 20 20   &INPUTS },.    
1f90: 20 20 20 20 20 20 20 20 6f 75 74 70 75 74 3a 20          output: 
1fa0: 26 3a 3a 46 33 32 78 34 2c 0a 20 20 20 20 20 20  &::F32x4,.      
1fb0: 20 20 20 20 20 20 64 65 66 69 6e 69 74 69 6f 6e        definition
1fc0: 3a 20 4e 61 6d 65 64 28 22 6c 6c 76 6d 2e 78 38  : Named("llvm.x8
1fd0: 36 2e 61 76 78 32 2e 67 61 74 68 65 72 2e 71 2e  6.avx2.gather.q.
1fe0: 70 73 22 29 0a 20 20 20 20 20 20 20 20 7d 2c 0a  ps").        },.
1ff0: 20 20 20 20 20 20 20 20 22 5f 6d 6d 32 35 36 5f          "_mm256_
2000: 6d 61 73 6b 5f 69 36 34 67 61 74 68 65 72 5f 65  mask_i64gather_e
2010: 70 69 33 32 22 20 3d 3e 20 49 6e 74 72 69 6e 73  pi32" => Intrins
2020: 69 63 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20  ic {.           
2030: 20 69 6e 70 75 74 73 3a 20 7b 20 73 74 61 74 69   inputs: { stati
2040: 63 20 49 4e 50 55 54 53 3a 20 5b 26 27 73 74 61  c INPUTS: [&'sta
2050: 74 69 63 20 54 79 70 65 3b 20 35 5d 20 3d 20 5b  tic Type; 5] = [
2060: 26 3a 3a 49 33 32 78 34 2c 20 7b 20 73 74 61 74  &::I32x4, { stat
2070: 69 63 20 50 54 52 3a 20 54 79 70 65 20 3d 20 54  ic PTR: Type = T
2080: 79 70 65 3a 3a 50 6f 69 6e 74 65 72 28 26 3a 3a  ype::Pointer(&::
2090: 49 33 32 2c 20 53 6f 6d 65 28 26 3a 3a 49 38 29  I32, Some(&::I8)
20a0: 2c 20 74 72 75 65 29 3b 20 26 50 54 52 20 7d 2c  , true); &PTR },
20b0: 20 26 3a 3a 49 36 34 78 34 2c 20 26 3a 3a 49 33   &::I64x4, &::I3
20c0: 32 78 34 2c 20 26 3a 3a 49 33 32 5f 38 5d 3b 20  2x4, &::I32_8]; 
20d0: 26 49 4e 50 55 54 53 20 7d 2c 0a 20 20 20 20 20  &INPUTS },.     
20e0: 20 20 20 20 20 20 20 6f 75 74 70 75 74 3a 20 26         output: &
20f0: 3a 3a 49 33 32 78 34 2c 0a 20 20 20 20 20 20 20  ::I32x4,.       
2100: 20 20 20 20 20 64 65 66 69 6e 69 74 69 6f 6e 3a       definition:
2110: 20 4e 61 6d 65 64 28 22 6c 6c 76 6d 2e 78 38 36   Named("llvm.x86
2120: 2e 61 76 78 32 2e 67 61 74 68 65 72 2e 71 2e 64  .avx2.gather.q.d
2130: 22 29 0a 20 20 20 20 20 20 20 20 7d 2c 0a 20 20  ").        },.  
2140: 20 20 20 20 20 20 22 5f 6d 6d 32 35 36 5f 6d 61        "_mm256_ma
2150: 73 6b 5f 69 36 34 67 61 74 68 65 72 5f 70 73 22  sk_i64gather_ps"
2160: 20 3d 3e 20 49 6e 74 72 69 6e 73 69 63 20 7b 0a   => Intrinsic {.
2170: 20 20 20 20 20 20 20 20 20 20 20 20 69 6e 70 75              inpu
2180: 74 73 3a 20 7b 20 73 74 61 74 69 63 20 49 4e 50  ts: { static INP
2190: 55 54 53 3a 20 5b 26 27 73 74 61 74 69 63 20 54  UTS: [&'static T
21a0: 79 70 65 3b 20 35 5d 20 3d 20 5b 26 3a 3a 46 33  ype; 5] = [&::F3
21b0: 32 78 34 2c 20 7b 20 73 74 61 74 69 63 20 50 54  2x4, { static PT
21c0: 52 3a 20 54 79 70 65 20 3d 20 54 79 70 65 3a 3a  R: Type = Type::
21d0: 50 6f 69 6e 74 65 72 28 26 3a 3a 46 33 32 2c 20  Pointer(&::F32, 
21e0: 53 6f 6d 65 28 26 3a 3a 49 38 29 2c 20 74 72 75  Some(&::I8), tru
21f0: 65 29 3b 20 26 50 54 52 20 7d 2c 20 26 3a 3a 49  e); &PTR }, &::I
2200: 36 34 78 34 2c 20 26 3a 3a 49 33 32 78 34 5f 46  64x4, &::I32x4_F
2210: 33 32 2c 20 26 3a 3a 49 33 32 5f 38 5d 3b 20 26  32, &::I32_8]; &
2220: 49 4e 50 55 54 53 20 7d 2c 0a 20 20 20 20 20 20  INPUTS },.      
2230: 20 20 20 20 20 20 6f 75 74 70 75 74 3a 20 26 3a        output: &:
2240: 3a 46 33 32 78 34 2c 0a 20 20 20 20 20 20 20 20  :F32x4,.        
2250: 20 20 20 20 64 65 66 69 6e 69 74 69 6f 6e 3a 20      definition: 
2260: 4e 61 6d 65 64 28 22 6c 6c 76 6d 2e 78 38 36 2e  Named("llvm.x86.
2270: 61 76 78 32 2e 67 61 74 68 65 72 2e 71 2e 70 73  avx2.gather.q.ps
2280: 22 29 0a 20 20 20 20 20 20 20 20 7d 2c 0a 20 20  ").        },.  
2290: 20 20 20 20 20 20 22 5f 6d 6d 5f 6d 61 73 6b 5f        "_mm_mask_
22a0: 69 36 34 67 61 74 68 65 72 5f 65 70 69 36 34 22  i64gather_epi64"
22b0: 20 3d 3e 20 49 6e 74 72 69 6e 73 69 63 20 7b 0a   => Intrinsic {.
22c0: 20 20 20 20 20 20 20 20 20 20 20 20 69 6e 70 75              inpu
22d0: 74 73 3a 20 7b 20 73 74 61 74 69 63 20 49 4e 50  ts: { static INP
22e0: 55 54 53 3a 20 5b 26 27 73 74 61 74 69 63 20 54  UTS: [&'static T
22f0: 79 70 65 3b 20 35 5d 20 3d 20 5b 26 3a 3a 49 36  ype; 5] = [&::I6
2300: 34 78 32 2c 20 7b 20 73 74 61 74 69 63 20 50 54  4x2, { static PT
2310: 52 3a 20 54 79 70 65 20 3d 20 54 79 70 65 3a 3a  R: Type = Type::
2320: 50 6f 69 6e 74 65 72 28 26 3a 3a 49 36 34 2c 20  Pointer(&::I64, 
2330: 53 6f 6d 65 28 26 3a 3a 49 38 29 2c 20 74 72 75  Some(&::I8), tru
2340: 65 29 3b 20 26 50 54 52 20 7d 2c 20 26 3a 3a 49  e); &PTR }, &::I
2350: 36 34 78 32 2c 20 26 3a 3a 49 36 34 78 32 2c 20  64x2, &::I64x2, 
2360: 26 3a 3a 49 33 32 5f 38 5d 3b 20 26 49 4e 50 55  &::I32_8]; &INPU
2370: 54 53 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20  TS },.          
2380: 20 20 6f 75 74 70 75 74 3a 20 26 3a 3a 49 36 34    output: &::I64
2390: 78 32 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20  x2,.            
23a0: 64 65 66 69 6e 69 74 69 6f 6e 3a 20 4e 61 6d 65  definition: Name
23b0: 64 28 22 6c 6c 76 6d 2e 78 38 36 2e 61 76 78 32  d("llvm.x86.avx2
23c0: 2e 67 61 74 68 65 72 2e 71 2e 71 22 29 0a 20 20  .gather.q.q").  
23d0: 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20        },.       
23e0: 20 22 5f 6d 6d 5f 6d 61 73 6b 5f 69 36 34 67 61   "_mm_mask_i64ga
23f0: 74 68 65 72 5f 70 64 22 20 3d 3e 20 49 6e 74 72  ther_pd" => Intr
2400: 69 6e 73 69 63 20 7b 0a 20 20 20 20 20 20 20 20  insic {.        
2410: 20 20 20 20 69 6e 70 75 74 73 3a 20 7b 20 73 74      inputs: { st
2420: 61 74 69 63 20 49 4e 50 55 54 53 3a 20 5b 26 27  atic INPUTS: [&'
2430: 73 74 61 74 69 63 20 54 79 70 65 3b 20 35 5d 20  static Type; 5] 
2440: 3d 20 5b 26 3a 3a 46 36 34 78 32 2c 20 7b 20 73  = [&::F64x2, { s
2450: 74 61 74 69 63 20 50 54 52 3a 20 54 79 70 65 20  tatic PTR: Type 
2460: 3d 20 54 79 70 65 3a 3a 50 6f 69 6e 74 65 72 28  = Type::Pointer(
2470: 26 3a 3a 46 36 34 2c 20 53 6f 6d 65 28 26 3a 3a  &::F64, Some(&::
2480: 49 38 29 2c 20 74 72 75 65 29 3b 20 26 50 54 52  I8), true); &PTR
2490: 20 7d 2c 20 26 3a 3a 49 36 34 78 32 2c 20 26 3a   }, &::I64x2, &:
24a0: 3a 49 36 34 78 32 5f 46 36 34 2c 20 26 3a 3a 49  :I64x2_F64, &::I
24b0: 33 32 5f 38 5d 3b 20 26 49 4e 50 55 54 53 20 7d  32_8]; &INPUTS }
24c0: 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 6f 75  ,.            ou
24d0: 74 70 75 74 3a 20 26 3a 3a 46 36 34 78 32 2c 0a  tput: &::F64x2,.
24e0: 20 20 20 20 20 20 20 20 20 20 20 20 64 65 66 69              defi
24f0: 6e 69 74 69 6f 6e 3a 20 4e 61 6d 65 64 28 22 6c  nition: Named("l
2500: 6c 76 6d 2e 78 38 36 2e 61 76 78 32 2e 67 61 74  lvm.x86.avx2.gat
2510: 68 65 72 2e 71 2e 70 64 22 29 0a 20 20 20 20 20  her.q.pd").     
2520: 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 22 5f     },.        "_
2530: 6d 6d 32 35 36 5f 6d 61 73 6b 5f 69 36 34 67 61  mm256_mask_i64ga
2540: 74 68 65 72 5f 65 70 69 36 34 22 20 3d 3e 20 49  ther_epi64" => I
2550: 6e 74 72 69 6e 73 69 63 20 7b 0a 20 20 20 20 20  ntrinsic {.     
2560: 20 20 20 20 20 20 20 69 6e 70 75 74 73 3a 20 7b         inputs: {
2570: 20 73 74 61 74 69 63 20 49 4e 50 55 54 53 3a 20   static INPUTS: 
2580: 5b 26 27 73 74 61 74 69 63 20 54 79 70 65 3b 20  [&'static Type; 
2590: 35 5d 20 3d 20 5b 26 3a 3a 49 36 34 78 34 2c 20  5] = [&::I64x4, 
25a0: 7b 20 73 74 61 74 69 63 20 50 54 52 3a 20 54 79  { static PTR: Ty
25b0: 70 65 20 3d 20 54 79 70 65 3a 3a 50 6f 69 6e 74  pe = Type::Point
25c0: 65 72 28 26 3a 3a 49 36 34 2c 20 53 6f 6d 65 28  er(&::I64, Some(
25d0: 26 3a 3a 49 38 29 2c 20 74 72 75 65 29 3b 20 26  &::I8), true); &
25e0: 50 54 52 20 7d 2c 20 26 3a 3a 49 36 34 78 34 2c  PTR }, &::I64x4,
25f0: 20 26 3a 3a 49 36 34 78 34 2c 20 26 3a 3a 49 33   &::I64x4, &::I3
2600: 32 5f 38 5d 3b 20 26 49 4e 50 55 54 53 20 7d 2c  2_8]; &INPUTS },
2610: 0a 20 20 20 20 20 20 20 20 20 20 20 20 6f 75 74  .            out
2620: 70 75 74 3a 20 26 3a 3a 49 36 34 78 34 2c 0a 20  put: &::I64x4,. 
2630: 20 20 20 20 20 20 20 20 20 20 20 64 65 66 69 6e             defin
2640: 69 74 69 6f 6e 3a 20 4e 61 6d 65 64 28 22 6c 6c  ition: Named("ll
2650: 76 6d 2e 78 38 36 2e 61 76 78 32 2e 67 61 74 68  vm.x86.avx2.gath
2660: 65 72 2e 71 2e 71 2e 32 35 36 22 29 0a 20 20 20  er.q.q.256").   
2670: 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20       },.        
2680: 22 5f 6d 6d 32 35 36 5f 6d 61 73 6b 5f 69 36 34  "_mm256_mask_i64
2690: 67 61 74 68 65 72 5f 70 64 22 20 3d 3e 20 49 6e  gather_pd" => In
26a0: 74 72 69 6e 73 69 63 20 7b 0a 20 20 20 20 20 20  trinsic {.      
26b0: 20 20 20 20 20 20 69 6e 70 75 74 73 3a 20 7b 20        inputs: { 
26c0: 73 74 61 74 69 63 20 49 4e 50 55 54 53 3a 20 5b  static INPUTS: [
26d0: 26 27 73 74 61 74 69 63 20 54 79 70 65 3b 20 35  &'static Type; 5
26e0: 5d 20 3d 20 5b 26 3a 3a 46 36 34 78 34 2c 20 7b  ] = [&::F64x4, {
26f0: 20 73 74 61 74 69 63 20 50 54 52 3a 20 54 79 70   static PTR: Typ
2700: 65 20 3d 20 54 79 70 65 3a 3a 50 6f 69 6e 74 65  e = Type::Pointe
2710: 72 28 26 3a 3a 46 36 34 2c 20 53 6f 6d 65 28 26  r(&::F64, Some(&
2720: 3a 3a 49 38 29 2c 20 74 72 75 65 29 3b 20 26 50  ::I8), true); &P
2730: 54 52 20 7d 2c 20 26 3a 3a 49 36 34 78 34 2c 20  TR }, &::I64x4, 
2740: 26 3a 3a 49 36 34 78 34 5f 46 36 34 2c 20 26 3a  &::I64x4_F64, &:
2750: 3a 49 33 32 5f 38 5d 3b 20 26 49 4e 50 55 54 53  :I32_8]; &INPUTS
2760: 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20   },.            
2770: 6f 75 74 70 75 74 3a 20 26 3a 3a 46 36 34 78 34  output: &::F64x4
2780: 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 64 65  ,.            de
2790: 66 69 6e 69 74 69 6f 6e 3a 20 4e 61 6d 65 64 28  finition: Named(
27a0: 22 6c 6c 76 6d 2e 78 38 36 2e 61 76 78 32 2e 67  "llvm.x86.avx2.g
27b0: 61 74 68 65 72 2e 71 2e 70 64 2e 32 35 36 22 29  ather.q.pd.256")
27c0: 0a 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20  .        },.    
27d0: 20 20 20 20 22 5f 6d 6d 5f 6d 61 73 6b 6c 6f 61      "_mm_maskloa
27e0: 64 5f 65 70 69 33 32 22 20 3d 3e 20 49 6e 74 72  d_epi32" => Intr
27f0: 69 6e 73 69 63 20 7b 0a 20 20 20 20 20 20 20 20  insic {.        
2800: 20 20 20 20 69 6e 70 75 74 73 3a 20 7b 20 73 74      inputs: { st
2810: 61 74 69 63 20 49 4e 50 55 54 53 3a 20 5b 26 27  atic INPUTS: [&'
2820: 73 74 61 74 69 63 20 54 79 70 65 3b 20 32 5d 20  static Type; 2] 
2830: 3d 20 5b 7b 20 73 74 61 74 69 63 20 50 54 52 3a  = [{ static PTR:
2840: 20 54 79 70 65 20 3d 20 54 79 70 65 3a 3a 50 6f   Type = Type::Po
2850: 69 6e 74 65 72 28 26 3a 3a 49 33 32 78 34 2c 20  inter(&::I32x4, 
2860: 53 6f 6d 65 28 26 3a 3a 49 38 29 2c 20 74 72 75  Some(&::I8), tru
2870: 65 29 3b 20 26 50 54 52 20 7d 2c 20 26 3a 3a 49  e); &PTR }, &::I
2880: 33 32 78 34 5d 3b 20 26 49 4e 50 55 54 53 20 7d  32x4]; &INPUTS }
2890: 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 6f 75  ,.            ou
28a0: 74 70 75 74 3a 20 26 3a 3a 49 33 32 78 34 2c 0a  tput: &::I32x4,.
28b0: 20 20 20 20 20 20 20 20 20 20 20 20 64 65 66 69              defi
28c0: 6e 69 74 69 6f 6e 3a 20 4e 61 6d 65 64 28 22 6c  nition: Named("l
28d0: 6c 76 6d 2e 78 38 36 2e 61 76 78 32 2e 6d 61 73  lvm.x86.avx2.mas
28e0: 6b 6c 6f 61 64 2e 64 22 29 0a 20 20 20 20 20 20  kload.d").      
28f0: 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 22 5f 6d    },.        "_m
2900: 6d 5f 6d 61 73 6b 6c 6f 61 64 5f 65 70 69 36 34  m_maskload_epi64
2910: 22 20 3d 3e 20 49 6e 74 72 69 6e 73 69 63 20 7b  " => Intrinsic {
2920: 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 6e 70  .            inp
2930: 75 74 73 3a 20 7b 20 73 74 61 74 69 63 20 49 4e  uts: { static IN
2940: 50 55 54 53 3a 20 5b 26 27 73 74 61 74 69 63 20  PUTS: [&'static 
2950: 54 79 70 65 3b 20 32 5d 20 3d 20 5b 7b 20 73 74  Type; 2] = [{ st
2960: 61 74 69 63 20 50 54 52 3a 20 54 79 70 65 20 3d  atic PTR: Type =
2970: 20 54 79 70 65 3a 3a 50 6f 69 6e 74 65 72 28 26   Type::Pointer(&
2980: 3a 3a 49 36 34 78 32 2c 20 53 6f 6d 65 28 26 3a  ::I64x2, Some(&:
2990: 3a 49 38 29 2c 20 74 72 75 65 29 3b 20 26 50 54  :I8), true); &PT
29a0: 52 20 7d 2c 20 26 3a 3a 49 36 34 78 32 5d 3b 20  R }, &::I64x2]; 
29b0: 26 49 4e 50 55 54 53 20 7d 2c 0a 20 20 20 20 20  &INPUTS },.     
29c0: 20 20 20 20 20 20 20 6f 75 74 70 75 74 3a 20 26         output: &
29d0: 3a 3a 49 36 34 78 32 2c 0a 20 20 20 20 20 20 20  ::I64x2,.       
29e0: 20 20 20 20 20 64 65 66 69 6e 69 74 69 6f 6e 3a       definition:
29f0: 20 4e 61 6d 65 64 28 22 6c 6c 76 6d 2e 78 38 36   Named("llvm.x86
2a00: 2e 61 76 78 32 2e 6d 61 73 6b 6c 6f 61 64 2e 71  .avx2.maskload.q
2a10: 22 29 0a 20 20 20 20 20 20 20 20 7d 2c 0a 20 20  ").        },.  
2a20: 20 20 20 20 20 20 22 5f 6d 6d 32 35 36 5f 6d 61        "_mm256_ma
2a30: 73 6b 6c 6f 61 64 5f 65 70 69 33 32 22 20 3d 3e  skload_epi32" =>
2a40: 20 49 6e 74 72 69 6e 73 69 63 20 7b 0a 20 20 20   Intrinsic {.   
2a50: 20 20 20 20 20 20 20 20 20 69 6e 70 75 74 73 3a           inputs:
2a60: 20 7b 20 73 74 61 74 69 63 20 49 4e 50 55 54 53   { static INPUTS
2a70: 3a 20 5b 26 27 73 74 61 74 69 63 20 54 79 70 65  : [&'static Type
2a80: 3b 20 32 5d 20 3d 20 5b 7b 20 73 74 61 74 69 63  ; 2] = [{ static
2a90: 20 50 54 52 3a 20 54 79 70 65 20 3d 20 54 79 70   PTR: Type = Typ
2aa0: 65 3a 3a 50 6f 69 6e 74 65 72 28 26 3a 3a 49 33  e::Pointer(&::I3
2ab0: 32 78 38 2c 20 53 6f 6d 65 28 26 3a 3a 49 38 29  2x8, Some(&::I8)
2ac0: 2c 20 74 72 75 65 29 3b 20 26 50 54 52 20 7d 2c  , true); &PTR },
2ad0: 20 26 3a 3a 49 33 32 78 38 5d 3b 20 26 49 4e 50   &::I32x8]; &INP
2ae0: 55 54 53 20 7d 2c 0a 20 20 20 20 20 20 20 20 20  UTS },.         
2af0: 20 20 20 6f 75 74 70 75 74 3a 20 26 3a 3a 49 33     output: &::I3
2b00: 32 78 38 2c 0a 20 20 20 20 20 20 20 20 20 20 20  2x8,.           
2b10: 20 64 65 66 69 6e 69 74 69 6f 6e 3a 20 4e 61 6d   definition: Nam
2b20: 65 64 28 22 6c 6c 76 6d 2e 78 38 36 2e 61 76 78  ed("llvm.x86.avx
2b30: 32 2e 6d 61 73 6b 6c 6f 61 64 2e 64 2e 32 35 36  2.maskload.d.256
2b40: 22 29 0a 20 20 20 20 20 20 20 20 7d 2c 0a 20 20  ").        },.  
2b50: 20 20 20 20 20 20 22 5f 6d 6d 32 35 36 5f 6d 61        "_mm256_ma
2b60: 73 6b 6c 6f 61 64 5f 65 70 69 36 34 22 20 3d 3e  skload_epi64" =>
2b70: 20 49 6e 74 72 69 6e 73 69 63 20 7b 0a 20 20 20   Intrinsic {.   
2b80: 20 20 20 20 20 20 20 20 20 69 6e 70 75 74 73 3a           inputs:
2b90: 20 7b 20 73 74 61 74 69 63 20 49 4e 50 55 54 53   { static INPUTS
2ba0: 3a 20 5b 26 27 73 74 61 74 69 63 20 54 79 70 65  : [&'static Type
2bb0: 3b 20 32 5d 20 3d 20 5b 7b 20 73 74 61 74 69 63  ; 2] = [{ static
2bc0: 20 50 54 52 3a 20 54 79 70 65 20 3d 20 54 79 70   PTR: Type = Typ
2bd0: 65 3a 3a 50 6f 69 6e 74 65 72 28 26 3a 3a 49 36  e::Pointer(&::I6
2be0: 34 78 34 2c 20 53 6f 6d 65 28 26 3a 3a 49 38 29  4x4, Some(&::I8)
2bf0: 2c 20 74 72 75 65 29 3b 20 26 50 54 52 20 7d 2c  , true); &PTR },
2c00: 20 26 3a 3a 49 36 34 78 34 5d 3b 20 26 49 4e 50   &::I64x4]; &INP
2c10: 55 54 53 20 7d 2c 0a 20 20 20 20 20 20 20 20 20  UTS },.         
2c20: 20 20 20 6f 75 74 70 75 74 3a 20 26 3a 3a 49 36     output: &::I6
2c30: 34 78 34 2c 0a 20 20 20 20 20 20 20 20 20 20 20  4x4,.           
2c40: 20 64 65 66 69 6e 69 74 69 6f 6e 3a 20 4e 61 6d   definition: Nam
2c50: 65 64 28 22 6c 6c 76 6d 2e 78 38 36 2e 61 76 78  ed("llvm.x86.avx
2c60: 32 2e 6d 61 73 6b 6c 6f 61 64 2e 71 2e 32 35 36  2.maskload.q.256
2c70: 22 29 0a 20 20 20 20 20 20 20 20 7d 2c 0a 20 20  ").        },.  
2c80: 20 20 20 20 20 20 22 5f 6d 6d 5f 6d 61 73 6b 73        "_mm_masks
2c90: 74 6f 72 65 5f 65 70 69 33 32 22 20 3d 3e 20 49  tore_epi32" => I
2ca0: 6e 74 72 69 6e 73 69 63 20 7b 0a 20 20 20 20 20  ntrinsic {.     
2cb0: 20 20 20 20 20 20 20 69 6e 70 75 74 73 3a 20 7b         inputs: {
2cc0: 20 73 74 61 74 69 63 20 49 4e 50 55 54 53 3a 20   static INPUTS: 
2cd0: 5b 26 27 73 74 61 74 69 63 20 54 79 70 65 3b 20  [&'static Type; 
2ce0: 33 5d 20 3d 20 5b 7b 20 73 74 61 74 69 63 20 50  3] = [{ static P
2cf0: 54 52 3a 20 54 79 70 65 20 3d 20 54 79 70 65 3a  TR: Type = Type:
2d00: 3a 50 6f 69 6e 74 65 72 28 26 3a 3a 49 33 32 2c  :Pointer(&::I32,
2d10: 20 53 6f 6d 65 28 26 3a 3a 49 38 29 2c 20 66 61   Some(&::I8), fa
2d20: 6c 73 65 29 3b 20 26 50 54 52 20 7d 2c 20 26 3a  lse); &PTR }, &:
2d30: 3a 49 33 32 78 34 2c 20 26 3a 3a 49 33 32 78 34  :I32x4, &::I32x4
2d40: 5d 3b 20 26 49 4e 50 55 54 53 20 7d 2c 0a 20 20  ]; &INPUTS },.  
2d50: 20 20 20 20 20 20 20 20 20 20 6f 75 74 70 75 74            output
2d60: 3a 20 26 3a 3a 56 4f 49 44 2c 0a 20 20 20 20 20  : &::VOID,.     
2d70: 20 20 20 20 20 20 20 64 65 66 69 6e 69 74 69 6f         definitio
2d80: 6e 3a 20 4e 61 6d 65 64 28 22 6c 6c 76 6d 2e 78  n: Named("llvm.x
2d90: 38 36 2e 61 76 78 32 2e 6d 61 73 6b 73 74 6f 72  86.avx2.maskstor
2da0: 65 2e 64 22 29 0a 20 20 20 20 20 20 20 20 7d 2c  e.d").        },
2db0: 0a 20 20 20 20 20 20 20 20 22 5f 6d 6d 5f 6d 61  .        "_mm_ma
2dc0: 73 6b 73 74 6f 72 65 5f 65 70 69 36 34 22 20 3d  skstore_epi64" =
2dd0: 3e 20 49 6e 74 72 69 6e 73 69 63 20 7b 0a 20 20  > Intrinsic {.  
2de0: 20 20 20 20 20 20 20 20 20 20 69 6e 70 75 74 73            inputs
2df0: 3a 20 7b 20 73 74 61 74 69 63 20 49 4e 50 55 54  : { static INPUT
2e00: 53 3a 20 5b 26 27 73 74 61 74 69 63 20 54 79 70  S: [&'static Typ
2e10: 65 3b 20 33 5d 20 3d 20 5b 7b 20 73 74 61 74 69  e; 3] = [{ stati
2e20: 63 20 50 54 52 3a 20 54 79 70 65 20 3d 20 54 79  c PTR: Type = Ty
2e30: 70 65 3a 3a 50 6f 69 6e 74 65 72 28 26 3a 3a 49  pe::Pointer(&::I
2e40: 36 34 2c 20 53 6f 6d 65 28 26 3a 3a 49 38 29 2c  64, Some(&::I8),
2e50: 20 66 61 6c 73 65 29 3b 20 26 50 54 52 20 7d 2c   false); &PTR },
2e60: 20 26 3a 3a 49 36 34 78 32 2c 20 26 3a 3a 49 36   &::I64x2, &::I6
2e70: 34 78 32 5d 3b 20 26 49 4e 50 55 54 53 20 7d 2c  4x2]; &INPUTS },
2e80: 0a 20 20 20 20 20 20 20 20 20 20 20 20 6f 75 74  .            out
2e90: 70 75 74 3a 20 26 3a 3a 56 4f 49 44 2c 0a 20 20  put: &::VOID,.  
2ea0: 20 20 20 20 20 20 20 20 20 20 64 65 66 69 6e 69            defini
2eb0: 74 69 6f 6e 3a 20 4e 61 6d 65 64 28 22 6c 6c 76  tion: Named("llv
2ec0: 6d 2e 78 38 36 2e 61 76 78 32 2e 6d 61 73 6b 73  m.x86.avx2.masks
2ed0: 74 6f 72 65 2e 71 22 29 0a 20 20 20 20 20 20 20  tore.q").       
2ee0: 20 7d 2c 0a 20 20 20 20 20 20 20 20 22 5f 6d 6d   },.        "_mm
2ef0: 32 35 36 5f 6d 61 73 6b 73 74 6f 72 65 5f 65 70  256_maskstore_ep
2f00: 69 33 32 22 20 3d 3e 20 49 6e 74 72 69 6e 73 69  i32" => Intrinsi
2f10: 63 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20  c {.            
2f20: 69 6e 70 75 74 73 3a 20 7b 20 73 74 61 74 69 63  inputs: { static
2f30: 20 49 4e 50 55 54 53 3a 20 5b 26 27 73 74 61 74   INPUTS: [&'stat
2f40: 69 63 20 54 79 70 65 3b 20 33 5d 20 3d 20 5b 7b  ic Type; 3] = [{
2f50: 20 73 74 61 74 69 63 20 50 54 52 3a 20 54 79 70   static PTR: Typ
2f60: 65 20 3d 20 54 79 70 65 3a 3a 50 6f 69 6e 74 65  e = Type::Pointe
2f70: 72 28 26 3a 3a 49 33 32 2c 20 53 6f 6d 65 28 26  r(&::I32, Some(&
2f80: 3a 3a 49 38 29 2c 20 66 61 6c 73 65 29 3b 20 26  ::I8), false); &
2f90: 50 54 52 20 7d 2c 20 26 3a 3a 49 33 32 78 38 2c  PTR }, &::I32x8,
2fa0: 20 26 3a 3a 49 33 32 78 38 5d 3b 20 26 49 4e 50   &::I32x8]; &INP
2fb0: 55 54 53 20 7d 2c 0a 20 20 20 20 20 20 20 20 20  UTS },.         
2fc0: 20 20 20 6f 75 74 70 75 74 3a 20 26 3a 3a 56 4f     output: &::VO
2fd0: 49 44 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20  ID,.            
2fe0: 64 65 66 69 6e 69 74 69 6f 6e 3a 20 4e 61 6d 65  definition: Name
2ff0: 64 28 22 6c 6c 76 6d 2e 78 38 36 2e 61 76 78 32  d("llvm.x86.avx2
3000: 2e 6d 61 73 6b 73 74 6f 72 65 2e 64 2e 32 35 36  .maskstore.d.256
3010: 22 29 0a 20 20 20 20 20 20 20 20 7d 2c 0a 20 20  ").        },.  
3020: 20 20 20 20 20 20 22 5f 6d 6d 32 35 36 5f 6d 61        "_mm256_ma
3030: 73 6b 73 74 6f 72 65 5f 65 70 69 36 34 22 20 3d  skstore_epi64" =
3040: 3e 20 49 6e 74 72 69 6e 73 69 63 20 7b 0a 20 20  > Intrinsic {.  
3050: 20 20 20 20 20 20 20 20 20 20 69 6e 70 75 74 73            inputs
3060: 3a 20 7b 20 73 74 61 74 69 63 20 49 4e 50 55 54  : { static INPUT
3070: 53 3a 20 5b 26 27 73 74 61 74 69 63 20 54 79 70  S: [&'static Typ
3080: 65 3b 20 33 5d 20 3d 20 5b 7b 20 73 74 61 74 69  e; 3] = [{ stati
3090: 63 20 50 54 52 3a 20 54 79 70 65 20 3d 20 54 79  c PTR: Type = Ty
30a0: 70 65 3a 3a 50 6f 69 6e 74 65 72 28 26 3a 3a 49  pe::Pointer(&::I
30b0: 36 34 2c 20 53 6f 6d 65 28 26 3a 3a 49 38 29 2c  64, Some(&::I8),
30c0: 20 66 61 6c 73 65 29 3b 20 26 50 54 52 20 7d 2c   false); &PTR },
30d0: 20 26 3a 3a 49 36 34 78 34 2c 20 26 3a 3a 49 36   &::I64x4, &::I6
30e0: 34 78 34 5d 3b 20 26 49 4e 50 55 54 53 20 7d 2c  4x4]; &INPUTS },
30f0: 0a 20 20 20 20 20 20 20 20 20 20 20 20 6f 75 74  .            out
3100: 70 75 74 3a 20 26 3a 3a 56 4f 49 44 2c 0a 20 20  put: &::VOID,.  
3110: 20 20 20 20 20 20 20 20 20 20 64 65 66 69 6e 69            defini
3120: 74 69 6f 6e 3a 20 4e 61 6d 65 64 28 22 6c 6c 76  tion: Named("llv
3130: 6d 2e 78 38 36 2e 61 76 78 32 2e 6d 61 73 6b 73  m.x86.avx2.masks
3140: 74 6f 72 65 2e 71 2e 32 35 36 22 29 0a 20 20 20  tore.q.256").   
3150: 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20       },.        
3160: 22 5f 6d 6d 32 35 36 5f 6d 61 78 5f 65 70 69 38  "_mm256_max_epi8
3170: 22 20 3d 3e 20 49 6e 74 72 69 6e 73 69 63 20 7b  " => Intrinsic {
3180: 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 6e 70  .            inp
3190: 75 74 73 3a 20 7b 20 73 74 61 74 69 63 20 49 4e  uts: { static IN
31a0: 50 55 54 53 3a 20 5b 26 27 73 74 61 74 69 63 20  PUTS: [&'static 
31b0: 54 79 70 65 3b 20 32 5d 20 3d 20 5b 26 3a 3a 49  Type; 2] = [&::I
31c0: 38 78 33 32 2c 20 26 3a 3a 49 38 78 33 32 5d 3b  8x32, &::I8x32];
31d0: 20 26 49 4e 50 55 54 53 20 7d 2c 0a 20 20 20 20   &INPUTS },.    
31e0: 20 20 20 20 20 20 20 20 6f 75 74 70 75 74 3a 20          output: 
31f0: 26 3a 3a 49 38 78 33 32 2c 0a 20 20 20 20 20 20  &::I8x32,.      
3200: 20 20 20 20 20 20 64 65 66 69 6e 69 74 69 6f 6e        definition
3210: 3a 20 4e 61 6d 65 64 28 22 6c 6c 76 6d 2e 78 38  : Named("llvm.x8
3220: 36 2e 61 76 78 32 2e 70 6d 61 78 73 2e 62 22 29  6.avx2.pmaxs.b")
3230: 0a 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20  .        },.    
3240: 20 20 20 20 22 5f 6d 6d 32 35 36 5f 6d 61 78 5f      "_mm256_max_
3250: 65 70 75 38 22 20 3d 3e 20 49 6e 74 72 69 6e 73  epu8" => Intrins
3260: 69 63 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20  ic {.           
3270: 20 69 6e 70 75 74 73 3a 20 7b 20 73 74 61 74 69   inputs: { stati
3280: 63 20 49 4e 50 55 54 53 3a 20 5b 26 27 73 74 61  c INPUTS: [&'sta
3290: 74 69 63 20 54 79 70 65 3b 20 32 5d 20 3d 20 5b  tic Type; 2] = [
32a0: 26 3a 3a 55 38 78 33 32 2c 20 26 3a 3a 55 38 78  &::U8x32, &::U8x
32b0: 33 32 5d 3b 20 26 49 4e 50 55 54 53 20 7d 2c 0a  32]; &INPUTS },.
32c0: 20 20 20 20 20 20 20 20 20 20 20 20 6f 75 74 70              outp
32d0: 75 74 3a 20 26 3a 3a 55 38 78 33 32 2c 0a 20 20  ut: &::U8x32,.  
32e0: 20 20 20 20 20 20 20 20 20 20 64 65 66 69 6e 69            defini
32f0: 74 69 6f 6e 3a 20 4e 61 6d 65 64 28 22 6c 6c 76  tion: Named("llv
3300: 6d 2e 78 38 36 2e 61 76 78 32 2e 70 6d 61 78 75  m.x86.avx2.pmaxu
3310: 2e 62 22 29 0a 20 20 20 20 20 20 20 20 7d 2c 0a  .b").        },.
3320: 20 20 20 20 20 20 20 20 22 5f 6d 6d 32 35 36 5f          "_mm256_
3330: 6d 61 78 5f 65 70 69 31 36 22 20 3d 3e 20 49 6e  max_epi16" => In
3340: 74 72 69 6e 73 69 63 20 7b 0a 20 20 20 20 20 20  trinsic {.      
3350: 20 20 20 20 20 20 69 6e 70 75 74 73 3a 20 7b 20        inputs: { 
3360: 73 74 61 74 69 63 20 49 4e 50 55 54 53 3a 20 5b  static INPUTS: [
3370: 26 27 73 74 61 74 69 63 20 54 79 70 65 3b 20 32  &'static Type; 2
3380: 5d 20 3d 20 5b 26 3a 3a 49 31 36 78 31 36 2c 20  ] = [&::I16x16, 
3390: 26 3a 3a 49 31 36 78 31 36 5d 3b 20 26 49 4e 50  &::I16x16]; &INP
33a0: 55 54 53 20 7d 2c 0a 20 20 20 20 20 20 20 20 20  UTS },.         
33b0: 20 20 20 6f 75 74 70 75 74 3a 20 26 3a 3a 49 31     output: &::I1
33c0: 36 78 31 36 2c 0a 20 20 20 20 20 20 20 20 20 20  6x16,.          
33d0: 20 20 64 65 66 69 6e 69 74 69 6f 6e 3a 20 4e 61    definition: Na
33e0: 6d 65 64 28 22 6c 6c 76 6d 2e 78 38 36 2e 61 76  med("llvm.x86.av
33f0: 78 32 2e 70 6d 61 78 73 2e 77 22 29 0a 20 20 20  x2.pmaxs.w").   
3400: 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20       },.        
3410: 22 5f 6d 6d 32 35 36 5f 6d 61 78 5f 65 70 75 31  "_mm256_max_epu1
3420: 36 22 20 3d 3e 20 49 6e 74 72 69 6e 73 69 63 20  6" => Intrinsic 
3430: 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 6e  {.            in
3440: 70 75 74 73 3a 20 7b 20 73 74 61 74 69 63 20 49  puts: { static I
3450: 4e 50 55 54 53 3a 20 5b 26 27 73 74 61 74 69 63  NPUTS: [&'static
3460: 20 54 79 70 65 3b 20 32 5d 20 3d 20 5b 26 3a 3a   Type; 2] = [&::
3470: 55 31 36 78 31 36 2c 20 26 3a 3a 55 31 36 78 31  U16x16, &::U16x1
3480: 36 5d 3b 20 26 49 4e 50 55 54 53 20 7d 2c 0a 20  6]; &INPUTS },. 
3490: 20 20 20 20 20 20 20 20 20 20 20 6f 75 74 70 75             outpu
34a0: 74 3a 20 26 3a 3a 55 31 36 78 31 36 2c 0a 20 20  t: &::U16x16,.  
34b0: 20 20 20 20 20 20 20 20 20 20 64 65 66 69 6e 69            defini
34c0: 74 69 6f 6e 3a 20 4e 61 6d 65 64 28 22 6c 6c 76  tion: Named("llv
34d0: 6d 2e 78 38 36 2e 61 76 78 32 2e 70 6d 61 78 75  m.x86.avx2.pmaxu
34e0: 2e 77 22 29 0a 20 20 20 20 20 20 20 20 7d 2c 0a  .w").        },.
34f0: 20 20 20 20 20 20 20 20 22 5f 6d 6d 32 35 36 5f          "_mm256_
3500: 6d 61 78 5f 65 70 69 33 32 22 20 3d 3e 20 49 6e  max_epi32" => In
3510: 74 72 69 6e 73 69 63 20 7b 0a 20 20 20 20 20 20  trinsic {.      
3520: 20 20 20 20 20 20 69 6e 70 75 74 73 3a 20 7b 20        inputs: { 
3530: 73 74 61 74 69 63 20 49 4e 50 55 54 53 3a 20 5b  static INPUTS: [
3540: 26 27 73 74 61 74 69 63 20 54 79 70 65 3b 20 32  &'static Type; 2
3550: 5d 20 3d 20 5b 26 3a 3a 49 33 32 78 38 2c 20 26  ] = [&::I32x8, &
3560: 3a 3a 49 33 32 78 38 5d 3b 20 26 49 4e 50 55 54  ::I32x8]; &INPUT
3570: 53 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20  S },.           
3580: 20 6f 75 74 70 75 74 3a 20 26 3a 3a 49 33 32 78   output: &::I32x
3590: 38 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 64  8,.            d
35a0: 65 66 69 6e 69 74 69 6f 6e 3a 20 4e 61 6d 65 64  efinition: Named
35b0: 28 22 6c 6c 76 6d 2e 78 38 36 2e 61 76 78 32 2e  ("llvm.x86.avx2.
35c0: 70 6d 61 78 73 2e 64 22 29 0a 20 20 20 20 20 20  pmaxs.d").      
35d0: 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 22 5f 6d    },.        "_m
35e0: 6d 32 35 36 5f 6d 61 78 5f 65 70 75 33 32 22 20  m256_max_epu32" 
35f0: 3d 3e 20 49 6e 74 72 69 6e 73 69 63 20 7b 0a 20  => Intrinsic {. 
3600: 20 20 20 20 20 20 20 20 20 20 20 69 6e 70 75 74             input
3610: 73 3a 20 7b 20 73 74 61 74 69 63 20 49 4e 50 55  s: { static INPU
3620: 54 53 3a 20 5b 26 27 73 74 61 74 69 63 20 54 79  TS: [&'static Ty
3630: 70 65 3b 20 32 5d 20 3d 20 5b 26 3a 3a 55 33 32  pe; 2] = [&::U32
3640: 78 38 2c 20 26 3a 3a 55 33 32 78 38 5d 3b 20 26  x8, &::U32x8]; &
3650: 49 4e 50 55 54 53 20 7d 2c 0a 20 20 20 20 20 20  INPUTS },.      
3660: 20 20 20 20 20 20 6f 75 74 70 75 74 3a 20 26 3a        output: &:
3670: 3a 55 33 32 78 38 2c 0a 20 20 20 20 20 20 20 20  :U32x8,.        
3680: 20 20 20 20 64 65 66 69 6e 69 74 69 6f 6e 3a 20      definition: 
3690: 4e 61 6d 65 64 28 22 6c 6c 76 6d 2e 78 38 36 2e  Named("llvm.x86.
36a0: 61 76 78 32 2e 70 6d 61 78 75 2e 64 22 29 0a 20  avx2.pmaxu.d"). 
36b0: 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20         },.      
36c0: 20 20 22 5f 6d 6d 32 35 36 5f 6d 69 6e 5f 65 70    "_mm256_min_ep
36d0: 69 38 22 20 3d 3e 20 49 6e 74 72 69 6e 73 69 63  i8" => Intrinsic
36e0: 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69   {.            i
36f0: 6e 70 75 74 73 3a 20 7b 20 73 74 61 74 69 63 20  nputs: { static 
3700: 49 4e 50 55 54 53 3a 20 5b 26 27 73 74 61 74 69  INPUTS: [&'stati
3710: 63 20 54 79 70 65 3b 20 32 5d 20 3d 20 5b 26 3a  c Type; 2] = [&:
3720: 3a 49 38 78 33 32 2c 20 26 3a 3a 49 38 78 33 32  :I8x32, &::I8x32
3730: 5d 3b 20 26 49 4e 50 55 54 53 20 7d 2c 0a 20 20  ]; &INPUTS },.  
3740: 20 20 20 20 20 20 20 20 20 20 6f 75 74 70 75 74            output
3750: 3a 20 26 3a 3a 49 38 78 33 32 2c 0a 20 20 20 20  : &::I8x32,.    
3760: 20 20 20 20 20 20 20 20 64 65 66 69 6e 69 74 69          definiti
3770: 6f 6e 3a 20 4e 61 6d 65 64 28 22 6c 6c 76 6d 2e  on: Named("llvm.
3780: 78 38 36 2e 61 76 78 32 2e 70 6d 69 6e 73 2e 62  x86.avx2.pmins.b
3790: 22 29 0a 20 20 20 20 20 20 20 20 7d 2c 0a 20 20  ").        },.  
37a0: 20 20 20 20 20 20 22 5f 6d 6d 32 35 36 5f 6d 69        "_mm256_mi
37b0: 6e 5f 65 70 75 38 22 20 3d 3e 20 49 6e 74 72 69  n_epu8" => Intri
37c0: 6e 73 69 63 20 7b 0a 20 20 20 20 20 20 20 20 20  nsic {.         
37d0: 20 20 20 69 6e 70 75 74 73 3a 20 7b 20 73 74 61     inputs: { sta
37e0: 74 69 63 20 49 4e 50 55 54 53 3a 20 5b 26 27 73  tic INPUTS: [&'s
37f0: 74 61 74 69 63 20 54 79 70 65 3b 20 32 5d 20 3d  tatic Type; 2] =
3800: 20 5b 26 3a 3a 55 38 78 33 32 2c 20 26 3a 3a 55   [&::U8x32, &::U
3810: 38 78 33 32 5d 3b 20 26 49 4e 50 55 54 53 20 7d  8x32]; &INPUTS }
3820: 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 6f 75  ,.            ou
3830: 74 70 75 74 3a 20 26 3a 3a 55 38 78 33 32 2c 0a  tput: &::U8x32,.
3840: 20 20 20 20 20 20 20 20 20 20 20 20 64 65 66 69              defi
3850: 6e 69 74 69 6f 6e 3a 20 4e 61 6d 65 64 28 22 6c  nition: Named("l
3860: 6c 76 6d 2e 78 38 36 2e 61 76 78 32 2e 70 6d 69  lvm.x86.avx2.pmi
3870: 6e 75 2e 62 22 29 0a 20 20 20 20 20 20 20 20 7d  nu.b").        }
3880: 2c 0a 20 20 20 20 20 20 20 20 22 5f 6d 6d 32 35  ,.        "_mm25
3890: 36 5f 6d 69 6e 5f 65 70 69 31 36 22 20 3d 3e 20  6_min_epi16" => 
38a0: 49 6e 74 72 69 6e 73 69 63 20 7b 0a 20 20 20 20  Intrinsic {.    
38b0: 20 20 20 20 20 20 20 20 69 6e 70 75 74 73 3a 20          inputs: 
38c0: 7b 20 73 74 61 74 69 63 20 49 4e 50 55 54 53 3a  { static INPUTS:
38d0: 20 5b 26 27 73 74 61 74 69 63 20 54 79 70 65 3b   [&'static Type;
38e0: 20 32 5d 20 3d 20 5b 26 3a 3a 49 31 36 78 31 36   2] = [&::I16x16
38f0: 2c 20 26 3a 3a 49 31 36 78 31 36 5d 3b 20 26 49  , &::I16x16]; &I
3900: 4e 50 55 54 53 20 7d 2c 0a 20 20 20 20 20 20 20  NPUTS },.       
3910: 20 20 20 20 20 6f 75 74 70 75 74 3a 20 26 3a 3a       output: &::
3920: 49 31 36 78 31 36 2c 0a 20 20 20 20 20 20 20 20  I16x16,.        
3930: 20 20 20 20 64 65 66 69 6e 69 74 69 6f 6e 3a 20      definition: 
3940: 4e 61 6d 65 64 28 22 6c 6c 76 6d 2e 78 38 36 2e  Named("llvm.x86.
3950: 61 76 78 32 2e 70 6d 69 6e 73 2e 77 22 29 0a 20  avx2.pmins.w"). 
3960: 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20         },.      
3970: 20 20 22 5f 6d 6d 32 35 36 5f 6d 69 6e 5f 65 70    "_mm256_min_ep
3980: 75 31 36 22 20 3d 3e 20 49 6e 74 72 69 6e 73 69  u16" => Intrinsi
3990: 63 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20  c {.            
39a0: 69 6e 70 75 74 73 3a 20 7b 20 73 74 61 74 69 63  inputs: { static
39b0: 20 49 4e 50 55 54 53 3a 20 5b 26 27 73 74 61 74   INPUTS: [&'stat
39c0: 69 63 20 54 79 70 65 3b 20 32 5d 20 3d 20 5b 26  ic Type; 2] = [&
39d0: 3a 3a 55 31 36 78 31 36 2c 20 26 3a 3a 55 31 36  ::U16x16, &::U16
39e0: 78 31 36 5d 3b 20 26 49 4e 50 55 54 53 20 7d 2c  x16]; &INPUTS },
39f0: 0a 20 20 20 20 20 20 20 20 20 20 20 20 6f 75 74  .            out
3a00: 70 75 74 3a 20 26 3a 3a 55 31 36 78 31 36 2c 0a  put: &::U16x16,.
3a10: 20 20 20 20 20 20 20 20 20 20 20 20 64 65 66 69              defi
3a20: 6e 69 74 69 6f 6e 3a 20 4e 61 6d 65 64 28 22 6c  nition: Named("l
3a30: 6c 76 6d 2e 78 38 36 2e 61 76 78 32 2e 70 6d 69  lvm.x86.avx2.pmi
3a40: 6e 75 2e 77 22 29 0a 20 20 20 20 20 20 20 20 7d  nu.w").        }
3a50: 2c 0a 20 20 20 20 20 20 20 20 22 5f 6d 6d 32 35  ,.        "_mm25
3a60: 36 5f 6d 69 6e 5f 65 70 69 33 32 22 20 3d 3e 20  6_min_epi32" => 
3a70: 49 6e 74 72 69 6e 73 69 63 20 7b 0a 20 20 20 20  Intrinsic {.    
3a80: 20 20 20 20 20 20 20 20 69 6e 70 75 74 73 3a 20          inputs: 
3a90: 7b 20 73 74 61 74 69 63 20 49 4e 50 55 54 53 3a  { static INPUTS:
3aa0: 20 5b 26 27 73 74 61 74 69 63 20 54 79 70 65 3b   [&'static Type;
3ab0: 20 32 5d 20 3d 20 5b 26 3a 3a 49 33 32 78 38 2c   2] = [&::I32x8,
3ac0: 20 26 3a 3a 49 33 32 78 38 5d 3b 20 26 49 4e 50   &::I32x8]; &INP
3ad0: 55 54 53 20 7d 2c 0a 20 20 20 20 20 20 20 20 20  UTS },.         
3ae0: 20 20 20 6f 75 74 70 75 74 3a 20 26 3a 3a 49 33     output: &::I3
3af0: 32 78 38 2c 0a 20 20 20 20 20 20 20 20 20 20 20  2x8,.           
3b00: 20 64 65 66 69 6e 69 74 69 6f 6e 3a 20 4e 61 6d   definition: Nam
3b10: 65 64 28 22 6c 6c 76 6d 2e 78 38 36 2e 61 76 78  ed("llvm.x86.avx
3b20: 32 2e 70 6d 69 6e 73 2e 64 22 29 0a 20 20 20 20  2.pmins.d").    
3b30: 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 22      },.        "
3b40: 5f 6d 6d 32 35 36 5f 6d 69 6e 5f 65 70 75 33 32  _mm256_min_epu32
3b50: 22 20 3d 3e 20 49 6e 74 72 69 6e 73 69 63 20 7b  " => Intrinsic {
3b60: 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 6e 70  .            inp
3b70: 75 74 73 3a 20 7b 20 73 74 61 74 69 63 20 49 4e  uts: { static IN
3b80: 50 55 54 53 3a 20 5b 26 27 73 74 61 74 69 63 20  PUTS: [&'static 
3b90: 54 79 70 65 3b 20 32 5d 20 3d 20 5b 26 3a 3a 55  Type; 2] = [&::U
3ba0: 33 32 78 38 2c 20 26 3a 3a 55 33 32 78 38 5d 3b  32x8, &::U32x8];
3bb0: 20 26 49 4e 50 55 54 53 20 7d 2c 0a 20 20 20 20   &INPUTS },.    
3bc0: 20 20 20 20 20 20 20 20 6f 75 74 70 75 74 3a 20          output: 
3bd0: 26 3a 3a 55 33 32 78 38 2c 0a 20 20 20 20 20 20  &::U32x8,.      
3be0: 20 20 20 20 20 20 64 65 66 69 6e 69 74 69 6f 6e        definition
3bf0: 3a 20 4e 61 6d 65 64 28 22 6c 6c 76 6d 2e 78 38  : Named("llvm.x8
3c00: 36 2e 61 76 78 32 2e 70 6d 69 6e 75 2e 64 22 29  6.avx2.pminu.d")
3c10: 0a 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20  .        },.    
3c20: 20 20 20 20 22 5f 6d 6d 32 35 36 5f 6d 6f 76 65      "_mm256_move
3c30: 6d 61 73 6b 5f 65 70 69 38 22 20 3d 3e 20 49 6e  mask_epi8" => In
3c40: 74 72 69 6e 73 69 63 20 7b 0a 20 20 20 20 20 20  trinsic {.      
3c50: 20 20 20 20 20 20 69 6e 70 75 74 73 3a 20 7b 20        inputs: { 
3c60: 73 74 61 74 69 63 20 49 4e 50 55 54 53 3a 20 5b  static INPUTS: [
3c70: 26 27 73 74 61 74 69 63 20 54 79 70 65 3b 20 31  &'static Type; 1
3c80: 5d 20 3d 20 5b 26 3a 3a 49 38 78 33 32 5d 3b 20  ] = [&::I8x32]; 
3c90: 26 49 4e 50 55 54 53 20 7d 2c 0a 20 20 20 20 20  &INPUTS },.     
3ca0: 20 20 20 20 20 20 20 6f 75 74 70 75 74 3a 20 26         output: &
3cb0: 3a 3a 49 33 32 2c 0a 20 20 20 20 20 20 20 20 20  ::I32,.         
3cc0: 20 20 20 64 65 66 69 6e 69 74 69 6f 6e 3a 20 4e     definition: N
3cd0: 61 6d 65 64 28 22 6c 6c 76 6d 2e 78 38 36 2e 61  amed("llvm.x86.a
3ce0: 76 78 32 2e 70 6d 6f 76 6d 73 6b 62 22 29 0a 20  vx2.pmovmskb"). 
3cf0: 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20         },.      
3d00: 20 20 22 5f 6d 6d 32 35 36 5f 6d 70 73 61 64 62    "_mm256_mpsadb
3d10: 77 5f 65 70 75 38 22 20 3d 3e 20 49 6e 74 72 69  w_epu8" => Intri
3d20: 6e 73 69 63 20 7b 0a 20 20 20 20 20 20 20 20 20  nsic {.         
3d30: 20 20 20 69 6e 70 75 74 73 3a 20 7b 20 73 74 61     inputs: { sta
3d40: 74 69 63 20 49 4e 50 55 54 53 3a 20 5b 26 27 73  tic INPUTS: [&'s
3d50: 74 61 74 69 63 20 54 79 70 65 3b 20 33 5d 20 3d  tatic Type; 3] =
3d60: 20 5b 26 3a 3a 55 38 78 33 32 2c 20 26 3a 3a 55   [&::U8x32, &::U
3d70: 38 78 33 32 2c 20 26 3a 3a 49 33 32 5f 38 5d 3b  8x32, &::I32_8];
3d80: 20 26 49 4e 50 55 54 53 20 7d 2c 0a 20 20 20 20   &INPUTS },.    
3d90: 20 20 20 20 20 20 20 20 6f 75 74 70 75 74 3a 20          output: 
3da0: 26 3a 3a 55 31 36 78 31 36 2c 0a 20 20 20 20 20  &::U16x16,.     
3db0: 20 20 20 20 20 20 20 64 65 66 69 6e 69 74 69 6f         definitio
3dc0: 6e 3a 20 4e 61 6d 65 64 28 22 6c 6c 76 6d 2e 78  n: Named("llvm.x
3dd0: 38 36 2e 61 76 78 32 2e 6d 70 73 61 64 62 77 22  86.avx2.mpsadbw"
3de0: 29 0a 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20  ).        },.   
3df0: 20 20 20 20 20 22 5f 6d 6d 32 35 36 5f 6d 75 6c       "_mm256_mul
3e00: 5f 65 70 69 36 34 22 20 3d 3e 20 49 6e 74 72 69  _epi64" => Intri
3e10: 6e 73 69 63 20 7b 0a 20 20 20 20 20 20 20 20 20  nsic {.         
3e20: 20 20 20 69 6e 70 75 74 73 3a 20 7b 20 73 74 61     inputs: { sta
3e30: 74 69 63 20 49 4e 50 55 54 53 3a 20 5b 26 27 73  tic INPUTS: [&'s
3e40: 74 61 74 69 63 20 54 79 70 65 3b 20 32 5d 20 3d  tatic Type; 2] =
3e50: 20 5b 26 3a 3a 49 33 32 78 38 2c 20 26 3a 3a 49   [&::I32x8, &::I
3e60: 33 32 78 38 5d 3b 20 26 49 4e 50 55 54 53 20 7d  32x8]; &INPUTS }
3e70: 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 6f 75  ,.            ou
3e80: 74 70 75 74 3a 20 26 3a 3a 49 36 34 78 34 2c 0a  tput: &::I64x4,.
3e90: 20 20 20 20 20 20 20 20 20 20 20 20 64 65 66 69              defi
3ea0: 6e 69 74 69 6f 6e 3a 20 4e 61 6d 65 64 28 22 6c  nition: Named("l
3eb0: 6c 76 6d 2e 78 38 36 2e 61 76 78 32 2e 70 6d 75  lvm.x86.avx2.pmu
3ec0: 6c 71 2e 64 71 22 29 0a 20 20 20 20 20 20 20 20  lq.dq").        
3ed0: 7d 2c 0a 20 20 20 20 20 20 20 20 22 5f 6d 6d 32  },.        "_mm2
3ee0: 35 36 5f 6d 75 6c 5f 65 70 75 36 34 22 20 3d 3e  56_mul_epu64" =>
3ef0: 20 49 6e 74 72 69 6e 73 69 63 20 7b 0a 20 20 20   Intrinsic {.   
3f00: 20 20 20 20 20 20 20 20 20 69 6e 70 75 74 73 3a           inputs:
3f10: 20 7b 20 73 74 61 74 69 63 20 49 4e 50 55 54 53   { static INPUTS
3f20: 3a 20 5b 26 27 73 74 61 74 69 63 20 54 79 70 65  : [&'static Type
3f30: 3b 20 32 5d 20 3d 20 5b 26 3a 3a 55 33 32 78 38  ; 2] = [&::U32x8
3f40: 2c 20 26 3a 3a 55 33 32 78 38 5d 3b 20 26 49 4e  , &::U32x8]; &IN
3f50: 50 55 54 53 20 7d 2c 0a 20 20 20 20 20 20 20 20  PUTS },.        
3f60: 20 20 20 20 6f 75 74 70 75 74 3a 20 26 3a 3a 55      output: &::U
3f70: 36 34 78 34 2c 0a 20 20 20 20 20 20 20 20 20 20  64x4,.          
3f80: 20 20 64 65 66 69 6e 69 74 69 6f 6e 3a 20 4e 61    definition: Na
3f90: 6d 65 64 28 22 6c 6c 76 6d 2e 78 38 36 2e 61 76  med("llvm.x86.av
3fa0: 78 32 2e 70 6d 75 6c 71 2e 64 71 22 29 0a 20 20  x2.pmulq.dq").  
3fb0: 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20        },.       
3fc0: 20 22 5f 6d 6d 32 35 36 5f 6d 75 6c 68 69 5f 65   "_mm256_mulhi_e
3fd0: 70 69 31 36 22 20 3d 3e 20 49 6e 74 72 69 6e 73  pi16" => Intrins
3fe0: 69 63 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20  ic {.           
3ff0: 20 69 6e 70 75 74 73 3a 20 7b 20 73 74 61 74 69   inputs: { stati
4000: 63 20 49 4e 50 55 54 53 3a 20 5b 26 27 73 74 61  c INPUTS: [&'sta
4010: 74 69 63 20 54 79 70 65 3b 20 32 5d 20 3d 20 5b  tic Type; 2] = [
4020: 26 3a 3a 49 31 36 78 31 36 2c 20 26 3a 3a 49 31  &::I16x16, &::I1
4030: 36 78 31 36 5d 3b 20 26 49 4e 50 55 54 53 20 7d  6x16]; &INPUTS }
4040: 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 6f 75  ,.            ou
4050: 74 70 75 74 3a 20 26 3a 3a 49 31 36 78 31 36 2c  tput: &::I16x16,
4060: 0a 20 20 20 20 20 20 20 20 20 20 20 20 64 65 66  .            def
4070: 69 6e 69 74 69 6f 6e 3a 20 4e 61 6d 65 64 28 22  inition: Named("
4080: 6c 6c 76 6d 2e 78 38 36 2e 61 76 78 32 2e 70 6d  llvm.x86.avx2.pm
4090: 75 6c 68 77 2e 77 22 29 0a 20 20 20 20 20 20 20  ulhw.w").       
40a0: 20 7d 2c 0a 20 20 20 20 20 20 20 20 22 5f 6d 6d   },.        "_mm
40b0: 32 35 36 5f 6d 75 6c 68 69 5f 65 70 75 31 36 22  256_mulhi_epu16"
40c0: 20 3d 3e 20 49 6e 74 72 69 6e 73 69 63 20 7b 0a   => Intrinsic {.
40d0: 20 20 20 20 20 20 20 20 20 20 20 20 69 6e 70 75              inpu
40e0: 74 73 3a 20 7b 20 73 74 61 74 69 63 20 49 4e 50  ts: { static INP
40f0: 55 54 53 3a 20 5b 26 27 73 74 61 74 69 63 20 54  UTS: [&'static T
4100: 79 70 65 3b 20 32 5d 20 3d 20 5b 26 3a 3a 55 31  ype; 2] = [&::U1
4110: 36 78 31 36 2c 20 26 3a 3a 55 31 36 78 31 36 5d  6x16, &::U16x16]
4120: 3b 20 26 49 4e 50 55 54 53 20 7d 2c 0a 20 20 20  ; &INPUTS },.   
4130: 20 20 20 20 20 20 20 20 20 6f 75 74 70 75 74 3a           output:
4140: 20 26 3a 3a 55 31 36 78 31 36 2c 0a 20 20 20 20   &::U16x16,.    
4150: 20 20 20 20 20 20 20 20 64 65 66 69 6e 69 74 69          definiti
4160: 6f 6e 3a 20 4e 61 6d 65 64 28 22 6c 6c 76 6d 2e  on: Named("llvm.
4170: 78 38 36 2e 61 76 78 32 2e 70 6d 75 6c 68 77 2e  x86.avx2.pmulhw.
4180: 77 22 29 0a 20 20 20 20 20 20 20 20 7d 2c 0a 20  w").        },. 
4190: 20 20 20 20 20 20 20 22 5f 6d 6d 32 35 36 5f 6d         "_mm256_m
41a0: 75 6c 68 72 73 5f 65 70 69 31 36 22 20 3d 3e 20  ulhrs_epi16" => 
41b0: 49 6e 74 72 69 6e 73 69 63 20 7b 0a 20 20 20 20  Intrinsic {.    
41c0: 20 20 20 20 20 20 20 20 69 6e 70 75 74 73 3a 20          inputs: 
41d0: 7b 20 73 74 61 74 69 63 20 49 4e 50 55 54 53 3a  { static INPUTS:
41e0: 20 5b 26 27 73 74 61 74 69 63 20 54 79 70 65 3b   [&'static Type;
41f0: 20 32 5d 20 3d 20 5b 26 3a 3a 49 31 36 78 31 36   2] = [&::I16x16
4200: 2c 20 26 3a 3a 49 31 36 78 31 36 5d 3b 20 26 49  , &::I16x16]; &I
4210: 4e 50 55 54 53 20 7d 2c 0a 20 20 20 20 20 20 20  NPUTS },.       
4220: 20 20 20 20 20 6f 75 74 70 75 74 3a 20 26 3a 3a       output: &::
4230: 49 31 36 78 31 36 2c 0a 20 20 20 20 20 20 20 20  I16x16,.        
4240: 20 20 20 20 64 65 66 69 6e 69 74 69 6f 6e 3a 20      definition: 
4250: 4e 61 6d 65 64 28 22 6c 6c 76 6d 2e 78 38 36 2e  Named("llvm.x86.
4260: 61 76 78 32 2e 70 6d 75 6c 2e 68 72 2e 73 77 22  avx2.pmul.hr.sw"
4270: 29 0a 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20  ).        },.   
4280: 20 20 20 20 20 22 5f 6d 6d 32 35 36 5f 70 61 63       "_mm256_pac
4290: 6b 73 5f 65 70 69 31 36 22 20 3d 3e 20 49 6e 74  ks_epi16" => Int
42a0: 72 69 6e 73 69 63 20 7b 0a 20 20 20 20 20 20 20  rinsic {.       
42b0: 20 20 20 20 20 69 6e 70 75 74 73 3a 20 7b 20 73       inputs: { s
42c0: 74 61 74 69 63 20 49 4e 50 55 54 53 3a 20 5b 26  tatic INPUTS: [&
42d0: 27 73 74 61 74 69 63 20 54 79 70 65 3b 20 32 5d  'static Type; 2]
42e0: 20 3d 20 5b 26 3a 3a 49 31 36 78 31 36 2c 20 26   = [&::I16x16, &
42f0: 3a 3a 49 31 36 78 31 36 5d 3b 20 26 49 4e 50 55  ::I16x16]; &INPU
4300: 54 53 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20  TS },.          
4310: 20 20 6f 75 74 70 75 74 3a 20 26 3a 3a 49 38 78    output: &::I8x
4320: 33 32 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20  32,.            
4330: 64 65 66 69 6e 69 74 69 6f 6e 3a 20 4e 61 6d 65  definition: Name
4340: 64 28 22 6c 6c 76 6d 2e 78 38 36 2e 61 76 78 32  d("llvm.x86.avx2
4350: 2e 70 61 63 6b 73 73 77 62 22 29 0a 20 20 20 20  .packsswb").    
4360: 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 22      },.        "
4370: 5f 6d 6d 32 35 36 5f 70 61 63 6b 75 73 5f 65 70  _mm256_packus_ep
4380: 69 31 36 22 20 3d 3e 20 49 6e 74 72 69 6e 73 69  i16" => Intrinsi
4390: 63 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20  c {.            
43a0: 69 6e 70 75 74 73 3a 20 7b 20 73 74 61 74 69 63  inputs: { static
43b0: 20 49 4e 50 55 54 53 3a 20 5b 26 27 73 74 61 74   INPUTS: [&'stat
43c0: 69 63 20 54 79 70 65 3b 20 32 5d 20 3d 20 5b 26  ic Type; 2] = [&
43d0: 3a 3a 49 31 36 78 31 36 2c 20 26 3a 3a 49 31 36  ::I16x16, &::I16
43e0: 78 31 36 5d 3b 20 26 49 4e 50 55 54 53 20 7d 2c  x16]; &INPUTS },
43f0: 0a 20 20 20 20 20 20 20 20 20 20 20 20 6f 75 74  .            out
4400: 70 75 74 3a 20 26 3a 3a 55 38 78 33 32 2c 0a 20  put: &::U8x32,. 
4410: 20 20 20 20 20 20 20 20 20 20 20 64 65 66 69 6e             defin
4420: 69 74 69 6f 6e 3a 20 4e 61 6d 65 64 28 22 6c 6c  ition: Named("ll
4430: 76 6d 2e 78 38 36 2e 61 76 78 32 2e 70 61 63 6b  vm.x86.avx2.pack
4440: 75 73 77 62 22 29 0a 20 20 20 20 20 20 20 20 7d  uswb").        }
4450: 2c 0a 20 20 20 20 20 20 20 20 22 5f 6d 6d 32 35  ,.        "_mm25
4460: 36 5f 70 61 63 6b 73 5f 65 70 69 33 32 22 20 3d  6_packs_epi32" =
4470: 3e 20 49 6e 74 72 69 6e 73 69 63 20 7b 0a 20 20  > Intrinsic {.  
4480: 20 20 20 20 20 20 20 20 20 20 69 6e 70 75 74 73            inputs
4490: 3a 20 7b 20 73 74 61 74 69 63 20 49 4e 50 55 54  : { static INPUT
44a0: 53 3a 20 5b 26 27 73 74 61 74 69 63 20 54 79 70  S: [&'static Typ
44b0: 65 3b 20 32 5d 20 3d 20 5b 26 3a 3a 49 33 32 78  e; 2] = [&::I32x
44c0: 38 2c 20 26 3a 3a 49 33 32 78 38 5d 3b 20 26 49  8, &::I32x8]; &I
44d0: 4e 50 55 54 53 20 7d 2c 0a 20 20 20 20 20 20 20  NPUTS },.       
44e0: 20 20 20 20 20 6f 75 74 70 75 74 3a 20 26 3a 3a       output: &::
44f0: 49 31 36 78 31 36 2c 0a 20 20 20 20 20 20 20 20  I16x16,.        
4500: 20 20 20 20 64 65 66 69 6e 69 74 69 6f 6e 3a 20      definition: 
4510: 4e 61 6d 65 64 28 22 6c 6c 76 6d 2e 78 38 36 2e  Named("llvm.x86.
4520: 61 76 78 32 2e 70 61 63 6b 73 73 64 77 22 29 0a  avx2.packssdw").
4530: 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20          },.     
4540: 20 20 20 22 5f 6d 6d 32 35 36 5f 70 61 63 6b 75     "_mm256_packu
4550: 73 5f 65 70 69 33 32 22 20 3d 3e 20 49 6e 74 72  s_epi32" => Intr
4560: 69 6e 73 69 63 20 7b 0a 20 20 20 20 20 20 20 20  insic {.        
4570: 20 20 20 20 69 6e 70 75 74 73 3a 20 7b 20 73 74      inputs: { st
4580: 61 74 69 63 20 49 4e 50 55 54 53 3a 20 5b 26 27  atic INPUTS: [&'
4590: 73 74 61 74 69 63 20 54 79 70 65 3b 20 32 5d 20  static Type; 2] 
45a0: 3d 20 5b 26 3a 3a 49 33 32 78 38 2c 20 26 3a 3a  = [&::I32x8, &::
45b0: 49 33 32 78 38 5d 3b 20 26 49 4e 50 55 54 53 20  I32x8]; &INPUTS 
45c0: 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 6f  },.            o
45d0: 75 74 70 75 74 3a 20 26 3a 3a 55 31 36 78 31 36  utput: &::U16x16
45e0: 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 64 65  ,.            de
45f0: 66 69 6e 69 74 69 6f 6e 3a 20 4e 61 6d 65 64 28  finition: Named(
4600: 22 6c 6c 76 6d 2e 78 38 36 2e 61 76 78 32 2e 70  "llvm.x86.avx2.p
4610: 61 63 6b 75 73 64 77 22 29 0a 20 20 20 20 20 20  ackusdw").      
4620: 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 22 5f 6d    },.        "_m
4630: 6d 32 35 36 5f 70 65 72 6d 75 74 65 76 61 72 38  m256_permutevar8
4640: 78 33 32 5f 65 70 69 33 32 22 20 3d 3e 20 49 6e  x32_epi32" => In
4650: 74 72 69 6e 73 69 63 20 7b 0a 20 20 20 20 20 20  trinsic {.      
4660: 20 20 20 20 20 20 69 6e 70 75 74 73 3a 20 7b 20        inputs: { 
4670: 73 74 61 74 69 63 20 49 4e 50 55 54 53 3a 20 5b  static INPUTS: [
4680: 26 27 73 74 61 74 69 63 20 54 79 70 65 3b 20 32  &'static Type; 2
4690: 5d 20 3d 20 5b 26 3a 3a 49 33 32 78 38 2c 20 26  ] = [&::I32x8, &
46a0: 3a 3a 49 33 32 78 38 5d 3b 20 26 49 4e 50 55 54  ::I32x8]; &INPUT
46b0: 53 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20  S },.           
46c0: 20 6f 75 74 70 75 74 3a 20 26 3a 3a 49 33 32 78   output: &::I32x
46d0: 38 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 64  8,.            d
46e0: 65 66 69 6e 69 74 69 6f 6e 3a 20 4e 61 6d 65 64  efinition: Named
46f0: 28 22 6c 6c 76 6d 2e 78 38 36 2e 61 76 78 32 2e  ("llvm.x86.avx2.
4700: 70 65 72 6d 64 22 29 0a 20 20 20 20 20 20 20 20  permd").        
4710: 7d 2c 0a 20 20 20 20 20 20 20 20 22 5f 6d 6d 32  },.        "_mm2
4720: 35 36 5f 70 65 72 6d 75 74 65 76 61 72 38 78 33  56_permutevar8x3
4730: 32 5f 70 73 22 20 3d 3e 20 49 6e 74 72 69 6e 73  2_ps" => Intrins
4740: 69 63 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20  ic {.           
4750: 20 69 6e 70 75 74 73 3a 20 7b 20 73 74 61 74 69   inputs: { stati
4760: 63 20 49 4e 50 55 54 53 3a 20 5b 26 27 73 74 61  c INPUTS: [&'sta
4770: 74 69 63 20 54 79 70 65 3b 20 32 5d 20 3d 20 5b  tic Type; 2] = [
4780: 26 3a 3a 46 33 32 78 38 2c 20 26 3a 3a 49 33 32  &::F32x8, &::I32
4790: 78 38 5d 3b 20 26 49 4e 50 55 54 53 20 7d 2c 0a  x8]; &INPUTS },.
47a0: 20 20 20 20 20 20 20 20 20 20 20 20 6f 75 74 70              outp
47b0: 75 74 3a 20 26 3a 3a 46 33 32 78 38 2c 0a 20 20  ut: &::F32x8,.  
47c0: 20 20 20 20 20 20 20 20 20 20 64 65 66 69 6e 69            defini
47d0: 74 69 6f 6e 3a 20 4e 61 6d 65 64 28 22 6c 6c 76  tion: Named("llv
47e0: 6d 2e 78 38 36 2e 61 76 78 32 2e 70 65 72 6d 70  m.x86.avx2.permp
47f0: 73 22 29 0a 20 20 20 20 20 20 20 20 7d 2c 0a 20  s").        },. 
4800: 20 20 20 20 20 20 20 22 5f 6d 6d 32 35 36 5f 73         "_mm256_s
4810: 61 64 5f 65 70 75 38 22 20 3d 3e 20 49 6e 74 72  ad_epu8" => Intr
4820: 69 6e 73 69 63 20 7b 0a 20 20 20 20 20 20 20 20  insic {.        
4830: 20 20 20 20 69 6e 70 75 74 73 3a 20 7b 20 73 74      inputs: { st
4840: 61 74 69 63 20 49 4e 50 55 54 53 3a 20 5b 26 27  atic INPUTS: [&'
4850: 73 74 61 74 69 63 20 54 79 70 65 3b 20 32 5d 20  static Type; 2] 
4860: 3d 20 5b 26 3a 3a 55 38 78 33 32 2c 20 26 3a 3a  = [&::U8x32, &::
4870: 55 38 78 33 32 5d 3b 20 26 49 4e 50 55 54 53 20  U8x32]; &INPUTS 
4880: 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 6f  },.            o
4890: 75 74 70 75 74 3a 20 26 3a 3a 55 36 34 78 34 2c  utput: &::U64x4,
48a0: 0a 20 20 20 20 20 20 20 20 20 20 20 20 64 65 66  .            def
48b0: 69 6e 69 74 69 6f 6e 3a 20 4e 61 6d 65 64 28 22  inition: Named("
48c0: 6c 6c 76 6d 2e 78 38 36 2e 61 76 78 32 2e 70 73  llvm.x86.avx2.ps
48d0: 61 64 2e 62 77 22 29 0a 20 20 20 20 20 20 20 20  ad.bw").        
48e0: 7d 2c 0a 20 20 20 20 20 20 20 20 22 5f 6d 6d 32  },.        "_mm2
48f0: 35 36 5f 73 68 75 66 66 6c 65 5f 65 70 69 38 22  56_shuffle_epi8"
4900: 20 3d 3e 20 49 6e 74 72 69 6e 73 69 63 20 7b 0a   => Intrinsic {.
4910: 20 20 20 20 20 20 20 20 20 20 20 20 69 6e 70 75              inpu
4920: 74 73 3a 20 7b 20 73 74 61 74 69 63 20 49 4e 50  ts: { static INP
4930: 55 54 53 3a 20 5b 26 27 73 74 61 74 69 63 20 54  UTS: [&'static T
4940: 79 70 65 3b 20 32 5d 20 3d 20 5b 26 3a 3a 49 38  ype; 2] = [&::I8
4950: 78 33 32 2c 20 26 3a 3a 49 38 78 33 32 5d 3b 20  x32, &::I8x32]; 
4960: 26 49 4e 50 55 54 53 20 7d 2c 0a 20 20 20 20 20  &INPUTS },.     
4970: 20 20 20 20 20 20 20 6f 75 74 70 75 74 3a 20 26         output: &
4980: 3a 3a 49 38 78 33 32 2c 0a 20 20 20 20 20 20 20  ::I8x32,.       
4990: 20 20 20 20 20 64 65 66 69 6e 69 74 69 6f 6e 3a       definition:
49a0: 20 4e 61 6d 65 64 28 22 6c 6c 76 6d 2e 78 38 36   Named("llvm.x86
49b0: 2e 61 76 78 32 2e 70 73 68 75 66 2e 62 22 29 0a  .avx2.pshuf.b").
49c0: 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20          },.     
49d0: 20 20 20 22 5f 6d 6d 32 35 36 5f 73 69 67 6e 5f     "_mm256_sign_
49e0: 65 70 69 38 22 20 3d 3e 20 49 6e 74 72 69 6e 73  epi8" => Intrins
49f0: 69 63 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20  ic {.           
4a00: 20 69 6e 70 75 74 73 3a 20 7b 20 73 74 61 74 69   inputs: { stati
4a10: 63 20 49 4e 50 55 54 53 3a 20 5b 26 27 73 74 61  c INPUTS: [&'sta
4a20: 74 69 63 20 54 79 70 65 3b 20 32 5d 20 3d 20 5b  tic Type; 2] = [
4a30: 26 3a 3a 49 38 78 33 32 2c 20 26 3a 3a 49 38 78  &::I8x32, &::I8x
4a40: 33 32 5d 3b 20 26 49 4e 50 55 54 53 20 7d 2c 0a  32]; &INPUTS },.
4a50: 20 20 20 20 20 20 20 20 20 20 20 20 6f 75 74 70              outp
4a60: 75 74 3a 20 26 3a 3a 49 38 78 33 32 2c 0a 20 20  ut: &::I8x32,.  
4a70: 20 20 20 20 20 20 20 20 20 20 64 65 66 69 6e 69            defini
4a80: 74 69 6f 6e 3a 20 4e 61 6d 65 64 28 22 6c 6c 76  tion: Named("llv
4a90: 6d 2e 78 38 36 2e 61 76 78 32 2e 70 73 69 67 6e  m.x86.avx2.psign
4aa0: 2e 62 22 29 0a 20 20 20 20 20 20 20 20 7d 2c 0a  .b").        },.
4ab0: 20 20 20 20 20 20 20 20 22 5f 6d 6d 32 35 36 5f          "_mm256_
4ac0: 73 69 67 6e 5f 65 70 69 31 36 22 20 3d 3e 20 49  sign_epi16" => I
4ad0: 6e 74 72 69 6e 73 69 63 20 7b 0a 20 20 20 20 20  ntrinsic {.     
4ae0: 20 20 20 20 20 20 20 69 6e 70 75 74 73 3a 20 7b         inputs: {
4af0: 20 73 74 61 74 69 63 20 49 4e 50 55 54 53 3a 20   static INPUTS: 
4b00: 5b 26 27 73 74 61 74 69 63 20 54 79 70 65 3b 20  [&'static Type; 
4b10: 32 5d 20 3d 20 5b 26 3a 3a 49 31 36 78 31 36 2c  2] = [&::I16x16,
4b20: 20 26 3a 3a 49 31 36 78 31 36 5d 3b 20 26 49 4e   &::I16x16]; &IN
4b30: 50 55 54 53 20 7d 2c 0a 20 20 20 20 20 20 20 20  PUTS },.        
4b40: 20 20 20 20 6f 75 74 70 75 74 3a 20 26 3a 3a 49      output: &::I
4b50: 31 36 78 31 36 2c 0a 20 20 20 20 20 20 20 20 20  16x16,.         
4b60: 20 20 20 64 65 66 69 6e 69 74 69 6f 6e 3a 20 4e     definition: N
4b70: 61 6d 65 64 28 22 6c 6c 76 6d 2e 78 38 36 2e 61  amed("llvm.x86.a
4b80: 76 78 32 2e 70 73 69 67 6e 2e 77 22 29 0a 20 20  vx2.psign.w").  
4b90: 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20        },.       
4ba0: 20 22 5f 6d 6d 32 35 36 5f 73 69 67 6e 5f 65 70   "_mm256_sign_ep
4bb0: 69 33 32 22 20 3d 3e 20 49 6e 74 72 69 6e 73 69  i32" => Intrinsi
4bc0: 63 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20  c {.            
4bd0: 69 6e 70 75 74 73 3a 20 7b 20 73 74 61 74 69 63  inputs: { static
4be0: 20 49 4e 50 55 54 53 3a 20 5b 26 27 73 74 61 74   INPUTS: [&'stat
4bf0: 69 63 20 54 79 70 65 3b 20 32 5d 20 3d 20 5b 26  ic Type; 2] = [&
4c00: 3a 3a 49 33 32 78 38 2c 20 26 3a 3a 49 33 32 78  ::I32x8, &::I32x
4c10: 38 5d 3b 20 26 49 4e 50 55 54 53 20 7d 2c 0a 20  8]; &INPUTS },. 
4c20: 20 20 20 20 20 20 20 20 20 20 20 6f 75 74 70 75             outpu
4c30: 74 3a 20 26 3a 3a 49 33 32 78 38 2c 0a 20 20 20  t: &::I32x8,.   
4c40: 20 20 20 20 20 20 20 20 20 64 65 66 69 6e 69 74           definit
4c50: 69 6f 6e 3a 20 4e 61 6d 65 64 28 22 6c 6c 76 6d  ion: Named("llvm
4c60: 2e 78 38 36 2e 61 76 78 32 2e 70 73 69 67 6e 2e  .x86.avx2.psign.
4c70: 64 22 29 0a 20 20 20 20 20 20 20 20 7d 2c 0a 20  d").        },. 
4c80: 20 20 20 20 20 20 20 22 5f 6d 6d 32 35 36 5f 73         "_mm256_s
4c90: 75 62 73 5f 65 70 69 38 22 20 3d 3e 20 49 6e 74  ubs_epi8" => Int
4ca0: 72 69 6e 73 69 63 20 7b 0a 20 20 20 20 20 20 20  rinsic {.       
4cb0: 20 20 20 20 20 69 6e 70 75 74 73 3a 20 7b 20 73       inputs: { s
4cc0: 74 61 74 69 63 20 49 4e 50 55 54 53 3a 20 5b 26  tatic INPUTS: [&
4cd0: 27 73 74 61 74 69 63 20 54 79 70 65 3b 20 32 5d  'static Type; 2]
4ce0: 20 3d 20 5b 26 3a 3a 49 38 78 33 32 2c 20 26 3a   = [&::I8x32, &:
4cf0: 3a 49 38 78 33 32 5d 3b 20 26 49 4e 50 55 54 53  :I8x32]; &INPUTS
4d00: 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20   },.            
4d10: 6f 75 74 70 75 74 3a 20 26 3a 3a 49 38 78 33 32  output: &::I8x32
4d20: 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 64 65  ,.            de
4d30: 66 69 6e 69 74 69 6f 6e 3a 20 4e 61 6d 65 64 28  finition: Named(
4d40: 22 6c 6c 76 6d 2e 78 38 36 2e 61 76 78 32 2e 70  "llvm.x86.avx2.p
4d50: 73 75 62 73 2e 62 22 29 0a 20 20 20 20 20 20 20  subs.b").       
4d60: 20 7d 2c 0a 20 20 20 20 20 20 20 20 22 5f 6d 6d   },.        "_mm
4d70: 32 35 36 5f 73 75 62 73 5f 65 70 75 38 22 20 3d  256_subs_epu8" =
4d80: 3e 20 49 6e 74 72 69 6e 73 69 63 20 7b 0a 20 20  > Intrinsic {.  
4d90: 20 20 20 20 20 20 20 20 20 20 69 6e 70 75 74 73            inputs
4da0: 3a 20 7b 20 73 74 61 74 69 63 20 49 4e 50 55 54  : { static INPUT
4db0: 53 3a 20 5b 26 27 73 74 61 74 69 63 20 54 79 70  S: [&'static Typ
4dc0: 65 3b 20 32 5d 20 3d 20 5b 26 3a 3a 55 38 78 33  e; 2] = [&::U8x3
4dd0: 32 2c 20 26 3a 3a 55 38 78 33 32 5d 3b 20 26 49  2, &::U8x32]; &I
4de0: 4e 50 55 54 53 20 7d 2c 0a 20 20 20 20 20 20 20  NPUTS },.       
4df0: 20 20 20 20 20 6f 75 74 70 75 74 3a 20 26 3a 3a       output: &::
4e00: 55 38 78 33 32 2c 0a 20 20 20 20 20 20 20 20 20  U8x32,.         
4e10: 20 20 20 64 65 66 69 6e 69 74 69 6f 6e 3a 20 4e     definition: N
4e20: 61 6d 65 64 28 22 6c 6c 76 6d 2e 78 38 36 2e 61  amed("llvm.x86.a
4e30: 76 78 32 2e 70 73 75 62 75 73 2e 62 22 29 0a 20  vx2.psubus.b"). 
4e40: 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20         },.      
4e50: 20 20 22 5f 6d 6d 32 35 36 5f 73 75 62 73 5f 65    "_mm256_subs_e
4e60: 70 69 31 36 22 20 3d 3e 20 49 6e 74 72 69 6e 73  pi16" => Intrins
4e70: 69 63 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20  ic {.           
4e80: 20 69 6e 70 75 74 73 3a 20 7b 20 73 74 61 74 69   inputs: { stati
4e90: 63 20 49 4e 50 55 54 53 3a 20 5b 26 27 73 74 61  c INPUTS: [&'sta
4ea0: 74 69 63 20 54 79 70 65 3b 20 32 5d 20 3d 20 5b  tic Type; 2] = [
4eb0: 26 3a 3a 49 31 36 78 31 36 2c 20 26 3a 3a 49 31  &::I16x16, &::I1
4ec0: 36 78 31 36 5d 3b 20 26 49 4e 50 55 54 53 20 7d  6x16]; &INPUTS }
4ed0: 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 6f 75  ,.            ou
4ee0: 74 70 75 74 3a 20 26 3a 3a 49 31 36 78 31 36 2c  tput: &::I16x16,
4ef0: 0a 20 20 20 20 20 20 20 20 20 20 20 20 64 65 66  .            def
4f00: 69 6e 69 74 69 6f 6e 3a 20 4e 61 6d 65 64 28 22  inition: Named("
4f10: 6c 6c 76 6d 2e 78 38 36 2e 61 76 78 32 2e 70 73  llvm.x86.avx2.ps
4f20: 75 62 73 2e 77 22 29 0a 20 20 20 20 20 20 20 20  ubs.w").        
4f30: 7d 2c 0a 20 20 20 20 20 20 20 20 22 5f 6d 6d 32  },.        "_mm2
4f40: 35 36 5f 73 75 62 73 5f 65 70 75 31 36 22 20 3d  56_subs_epu16" =
4f50: 3e 20 49 6e 74 72 69 6e 73 69 63 20 7b 0a 20 20  > Intrinsic {.  
4f60: 20 20 20 20 20 20 20 20 20 20 69 6e 70 75 74 73            inputs
4f70: 3a 20 7b 20 73 74 61 74 69 63 20 49 4e 50 55 54  : { static INPUT
4f80: 53 3a 20 5b 26 27 73 74 61 74 69 63 20 54 79 70  S: [&'static Typ
4f90: 65 3b 20 32 5d 20 3d 20 5b 26 3a 3a 55 31 36 78  e; 2] = [&::U16x
4fa0: 31 36 2c 20 26 3a 3a 55 31 36 78 31 36 5d 3b 20  16, &::U16x16]; 
4fb0: 26 49 4e 50 55 54 53 20 7d 2c 0a 20 20 20 20 20  &INPUTS },.     
4fc0: 20 20 20 20 20 20 20 6f 75 74 70 75 74 3a 20 26         output: &
4fd0: 3a 3a 55 31 36 78 31 36 2c 0a 20 20 20 20 20 20  ::U16x16,.      
4fe0: 20 20 20 20 20 20 64 65 66 69 6e 69 74 69 6f 6e        definition
4ff0: 3a 20 4e 61 6d 65 64 28 22 6c 6c 76 6d 2e 78 38  : Named("llvm.x8
5000: 36 2e 61 76 78 32 2e 70 73 75 62 75 73 2e 77 22  6.avx2.psubus.w"
5010: 29 0a 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20  ).        },.   
5020: 20 20 20 20 20 22 5f 6d 6d 32 35 36 5f 61 64 64       "_mm256_add
5030: 73 75 62 5f 70 73 22 20 3d 3e 20 49 6e 74 72 69  sub_ps" => Intri
5040: 6e 73 69 63 20 7b 0a 20 20 20 20 20 20 20 20 20  nsic {.         
5050: 20 20 20 69 6e 70 75 74 73 3a 20 7b 20 73 74 61     inputs: { sta
5060: 74 69 63 20 49 4e 50 55 54 53 3a 20 5b 26 27 73  tic INPUTS: [&'s
5070: 74 61 74 69 63 20 54 79 70 65 3b 20 32 5d 20 3d  tatic Type; 2] =
5080: 20 5b 26 3a 3a 46 33 32 78 38 2c 20 26 3a 3a 46   [&::F32x8, &::F
5090: 33 32 78 38 5d 3b 20 26 49 4e 50 55 54 53 20 7d  32x8]; &INPUTS }
50a0: 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 6f 75  ,.            ou
50b0: 74 70 75 74 3a 20 26 3a 3a 46 33 32 78 38 2c 0a  tput: &::F32x8,.
50c0: 20 20 20 20 20 20 20 20 20 20 20 20 64 65 66 69              defi
50d0: 6e 69 74 69 6f 6e 3a 20 4e 61 6d 65 64 28 22 6c  nition: Named("l
50e0: 6c 76 6d 2e 78 38 36 2e 61 76 78 2e 61 64 64 73  lvm.x86.avx.adds
50f0: 75 62 2e 70 73 2e 32 35 36 22 29 0a 20 20 20 20  ub.ps.256").    
5100: 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 22      },.        "
5110: 5f 6d 6d 32 35 36 5f 61 64 64 73 75 62 5f 70 64  _mm256_addsub_pd
5120: 22 20 3d 3e 20 49 6e 74 72 69 6e 73 69 63 20 7b  " => Intrinsic {
5130: 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 6e 70  .            inp
5140: 75 74 73 3a 20 7b 20 73 74 61 74 69 63 20 49 4e  uts: { static IN
5150: 50 55 54 53 3a 20 5b 26 27 73 74 61 74 69 63 20  PUTS: [&'static 
5160: 54 79 70 65 3b 20 32 5d 20 3d 20 5b 26 3a 3a 46  Type; 2] = [&::F
5170: 36 34 78 34 2c 20 26 3a 3a 46 36 34 78 34 5d 3b  64x4, &::F64x4];
5180: 20 26 49 4e 50 55 54 53 20 7d 2c 0a 20 20 20 20   &INPUTS },.    
5190: 20 20 20 20 20 20 20 20 6f 75 74 70 75 74 3a 20          output: 
51a0: 26 3a 3a 46 36 34 78 34 2c 0a 20 20 20 20 20 20  &::F64x4,.      
51b0: 20 20 20 20 20 20 64 65 66 69 6e 69 74 69 6f 6e        definition
51c0: 3a 20 4e 61 6d 65 64 28 22 6c 6c 76 6d 2e 78 38  : Named("llvm.x8
51d0: 36 2e 61 76 78 2e 61 64 64 73 75 62 2e 70 64 2e  6.avx.addsub.pd.
51e0: 32 35 36 22 29 0a 20 20 20 20 20 20 20 20 7d 2c  256").        },
51f0: 0a 20 20 20 20 20 20 20 20 22 5f 6d 6d 32 35 36  .        "_mm256
5200: 5f 62 6c 65 6e 64 76 5f 70 73 22 20 3d 3e 20 49  _blendv_ps" => I
5210: 6e 74 72 69 6e 73 69 63 20 7b 0a 20 20 20 20 20  ntrinsic {.     
5220: 20 20 20 20 20 20 20 69 6e 70 75 74 73 3a 20 7b         inputs: {
5230: 20 73 74 61 74 69 63 20 49 4e 50 55 54 53 3a 20   static INPUTS: 
5240: 5b 26 27 73 74 61 74 69 63 20 54 79 70 65 3b 20  [&'static Type; 
5250: 33 5d 20 3d 20 5b 26 3a 3a 46 33 32 78 38 2c 20  3] = [&::F32x8, 
5260: 26 3a 3a 46 33 32 78 38 2c 20 26 3a 3a 46 33 32  &::F32x8, &::F32
5270: 78 38 5d 3b 20 26 49 4e 50 55 54 53 20 7d 2c 0a  x8]; &INPUTS },.
5280: 20 20 20 20 20 20 20 20 20 20 20 20 6f 75 74 70              outp
5290: 75 74 3a 20 26 3a 3a 46 33 32 78 38 2c 0a 20 20  ut: &::F32x8,.  
52a0: 20 20 20 20 20 20 20 20 20 20 64 65 66 69 6e 69            defini
52b0: 74 69 6f 6e 3a 20 4e 61 6d 65 64 28 22 6c 6c 76  tion: Named("llv
52c0: 6d 2e 78 38 36 2e 61 76 78 2e 62 6c 65 6e 64 76  m.x86.avx.blendv
52d0: 2e 70 73 2e 32 35 36 22 29 0a 20 20 20 20 20 20  .ps.256").      
52e0: 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 22 5f 6d    },.        "_m
52f0: 6d 32 35 36 5f 62 6c 65 6e 64 76 5f 70 64 22 20  m256_blendv_pd" 
5300: 3d 3e 20 49 6e 74 72 69 6e 73 69 63 20 7b 0a 20  => Intrinsic {. 
5310: 20 20 20 20 20 20 20 20 20 20 20 69 6e 70 75 74             input
5320: 73 3a 20 7b 20 73 74 61 74 69 63 20 49 4e 50 55  s: { static INPU
5330: 54 53 3a 20 5b 26 27 73 74 61 74 69 63 20 54 79  TS: [&'static Ty
5340: 70 65 3b 20 33 5d 20 3d 20 5b 26 3a 3a 46 36 34  pe; 3] = [&::F64
5350: 78 34 2c 20 26 3a 3a 46 36 34 78 34 2c 20 26 3a  x4, &::F64x4, &:
5360: 3a 46 36 34 78 34 5d 3b 20 26 49 4e 50 55 54 53  :F64x4]; &INPUTS
5370: 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20   },.            
5380: 6f 75 74 70 75 74 3a 20 26 3a 3a 46 36 34 78 34  output: &::F64x4
5390: 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 64 65  ,.            de
53a0: 66 69 6e 69 74 69 6f 6e 3a 20 4e 61 6d 65 64 28  finition: Named(
53b0: 22 6c 6c 76 6d 2e 78 38 36 2e 61 76 78 2e 62 6c  "llvm.x86.avx.bl
53c0: 65 6e 64 76 2e 70 64 2e 32 35 36 22 29 0a 20 20  endv.pd.256").  
53d0: 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20        },.       
53e0: 20 22 5f 6d 6d 32 35 36 5f 62 72 6f 61 64 63 61   "_mm256_broadca
53f0: 73 74 5f 70 73 22 20 3d 3e 20 49 6e 74 72 69 6e  st_ps" => Intrin
5400: 73 69 63 20 7b 0a 20 20 20 20 20 20 20 20 20 20  sic {.          
5410: 20 20 69 6e 70 75 74 73 3a 20 7b 20 73 74 61 74    inputs: { stat
5420: 69 63 20 49 4e 50 55 54 53 3a 20 5b 26 27 73 74  ic INPUTS: [&'st
5430: 61 74 69 63 20 54 79 70 65 3b 20 31 5d 20 3d 20  atic Type; 1] = 
5440: 5b 7b 20 73 74 61 74 69 63 20 50 54 52 3a 20 54  [{ static PTR: T
5450: 79 70 65 20 3d 20 54 79 70 65 3a 3a 50 6f 69 6e  ype = Type::Poin
5460: 74 65 72 28 26 3a 3a 49 38 2c 20 4e 6f 6e 65 2c  ter(&::I8, None,
5470: 20 74 72 75 65 29 3b 20 26 50 54 52 20 7d 5d 3b   true); &PTR }];
5480: 20 26 49 4e 50 55 54 53 20 7d 2c 0a 20 20 20 20   &INPUTS },.    
5490: 20 20 20 20 20 20 20 20 6f 75 74 70 75 74 3a 20          output: 
54a0: 26 3a 3a 46 33 32 78 38 2c 0a 20 20 20 20 20 20  &::F32x8,.      
54b0: 20 20 20 20 20 20 64 65 66 69 6e 69 74 69 6f 6e        definition
54c0: 3a 20 4e 61 6d 65 64 28 22 6c 6c 76 6d 2e 78 38  : Named("llvm.x8
54d0: 36 2e 61 76 78 2e 76 62 72 6f 61 64 63 61 73 74  6.avx.vbroadcast
54e0: 66 31 32 38 2e 70 73 2e 32 35 36 22 29 0a 20 20  f128.ps.256").  
54f0: 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20        },.       
5500: 20 22 5f 6d 6d 32 35 36 5f 62 72 6f 61 64 63 61   "_mm256_broadca
5510: 73 74 5f 70 64 22 20 3d 3e 20 49 6e 74 72 69 6e  st_pd" => Intrin
5520: 73 69 63 20 7b 0a 20 20 20 20 20 20 20 20 20 20  sic {.          
5530: 20 20 69 6e 70 75 74 73 3a 20 7b 20 73 74 61 74    inputs: { stat
5540: 69 63 20 49 4e 50 55 54 53 3a 20 5b 26 27 73 74  ic INPUTS: [&'st
5550: 61 74 69 63 20 54 79 70 65 3b 20 31 5d 20 3d 20  atic Type; 1] = 
5560: 5b 7b 20 73 74 61 74 69 63 20 50 54 52 3a 20 54  [{ static PTR: T
5570: 79 70 65 20 3d 20 54 79 70 65 3a 3a 50 6f 69 6e  ype = Type::Poin
5580: 74 65 72 28 26 3a 3a 49 38 2c 20 4e 6f 6e 65 2c  ter(&::I8, None,
5590: 20 74 72 75 65 29 3b 20 26 50 54 52 20 7d 5d 3b   true); &PTR }];
55a0: 20 26 49 4e 50 55 54 53 20 7d 2c 0a 20 20 20 20   &INPUTS },.    
55b0: 20 20 20 20 20 20 20 20 6f 75 74 70 75 74 3a 20          output: 
55c0: 26 3a 3a 46 36 34 78 34 2c 0a 20 20 20 20 20 20  &::F64x4,.      
55d0: 20 20 20 20 20 20 64 65 66 69 6e 69 74 69 6f 6e        definition
55e0: 3a 20 4e 61 6d 65 64 28 22 6c 6c 76 6d 2e 78 38  : Named("llvm.x8
55f0: 36 2e 61 76 78 2e 76 62 72 6f 61 64 63 61 73 74  6.avx.vbroadcast
5600: 66 31 32 38 2e 70 64 2e 32 35 36 22 29 0a 20 20  f128.pd.256").  
5610: 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20        },.       
5620: 20 22 5f 6d 6d 32 35 36 5f 63 6d 70 5f 70 73 22   "_mm256_cmp_ps"
5630: 20 3d 3e 20 49 6e 74 72 69 6e 73 69 63 20 7b 0a   => Intrinsic {.
5640: 20 20 20 20 20 20 20 20 20 20 20 20 69 6e 70 75              inpu
5650: 74 73 3a 20 7b 20 73 74 61 74 69 63 20 49 4e 50  ts: { static INP
5660: 55 54 53 3a 20 5b 26 27 73 74 61 74 69 63 20 54  UTS: [&'static T
5670: 79 70 65 3b 20 33 5d 20 3d 20 5b 26 3a 3a 46 33  ype; 3] = [&::F3
5680: 32 78 38 2c 20 26 3a 3a 46 33 32 78 38 2c 20 26  2x8, &::F32x8, &
5690: 3a 3a 49 38 5d 3b 20 26 49 4e 50 55 54 53 20 7d  ::I8]; &INPUTS }
56a0: 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 6f 75  ,.            ou
56b0: 74 70 75 74 3a 20 26 3a 3a 46 33 32 78 38 2c 0a  tput: &::F32x8,.
56c0: 20 20 20 20 20 20 20 20 20 20 20 20 64 65 66 69              defi
56d0: 6e 69 74 69 6f 6e 3a 20 4e 61 6d 65 64 28 22 6c  nition: Named("l
56e0: 6c 76 6d 2e 78 38 36 2e 61 76 78 2e 63 6d 70 2e  lvm.x86.avx.cmp.
56f0: 70 73 2e 32 35 36 22 29 0a 20 20 20 20 20 20 20  ps.256").       
5700: 20 7d 2c 0a 20 20 20 20 20 20 20 20 22 5f 6d 6d   },.        "_mm
5710: 32 35 36 5f 63 6d 70 5f 70 64 22 20 3d 3e 20 49  256_cmp_pd" => I
5720: 6e 74 72 69 6e 73 69 63 20 7b 0a 20 20 20 20 20  ntrinsic {.     
5730: 20 20 20 20 20 20 20 69 6e 70 75 74 73 3a 20 7b         inputs: {
5740: 20 73 74 61 74 69 63 20 49 4e 50 55 54 53 3a 20   static INPUTS: 
5750: 5b 26 27 73 74 61 74 69 63 20 54 79 70 65 3b 20  [&'static Type; 
5760: 33 5d 20 3d 20 5b 26 3a 3a 46 36 34 78 34 2c 20  3] = [&::F64x4, 
5770: 26 3a 3a 46 36 34 78 34 2c 20 26 3a 3a 49 38 5d  &::F64x4, &::I8]
5780: 3b 20 26 49 4e 50 55 54 53 20 7d 2c 0a 20 20 20  ; &INPUTS },.   
5790: 20 20 20 20 20 20 20 20 20 6f 75 74 70 75 74 3a           output:
57a0: 20 26 3a 3a 46 36 34 78 34 2c 0a 20 20 20 20 20   &::F64x4,.     
57b0: 20 20 20 20 20 20 20 64 65 66 69 6e 69 74 69 6f         definitio
57c0: 6e 3a 20 4e 61 6d 65 64 28 22 6c 6c 76 6d 2e 78  n: Named("llvm.x
57d0: 38 36 2e 61 76 78 2e 63 6d 70 2e 70 64 2e 32 35  86.avx.cmp.pd.25
57e0: 36 22 29 0a 20 20 20 20 20 20 20 20 7d 2c 0a 20  6").        },. 
57f0: 20 20 20 20 20 20 20 22 5f 6d 6d 32 35 36 5f 63         "_mm256_c
5800: 76 74 65 70 69 33 32 5f 70 64 22 20 3d 3e 20 49  vtepi32_pd" => I
5810: 6e 74 72 69 6e 73 69 63 20 7b 0a 20 20 20 20 20  ntrinsic {.     
5820: 20 20 20 20 20 20 20 69 6e 70 75 74 73 3a 20 7b         inputs: {
5830: 20 73 74 61 74 69 63 20 49 4e 50 55 54 53 3a 20   static INPUTS: 
5840: 5b 26 27 73 74 61 74 69 63 20 54 79 70 65 3b 20  [&'static Type; 
5850: 31 5d 20 3d 20 5b 26 3a 3a 49 33 32 78 34 5d 3b  1] = [&::I32x4];
5860: 20 26 49 4e 50 55 54 53 20 7d 2c 0a 20 20 20 20   &INPUTS },.    
5870: 20 20 20 20 20 20 20 20 6f 75 74 70 75 74 3a 20          output: 
5880: 26 3a 3a 46 36 34 78 34 2c 0a 20 20 20 20 20 20  &::F64x4,.      
5890: 20 20 20 20 20 20 64 65 66 69 6e 69 74 69 6f 6e        definition
58a0: 3a 20 4e 61 6d 65 64 28 22 6c 6c 76 6d 2e 78 38  : Named("llvm.x8
58b0: 36 2e 61 76 78 2e 63 76 74 64 71 32 2e 70 64 2e  6.avx.cvtdq2.pd.
58c0: 32 35 36 22 29 0a 20 20 20 20 20 20 20 20 7d 2c  256").        },
58d0: 0a 20 20 20 20 20 20 20 20 22 5f 6d 6d 32 35 36  .        "_mm256
58e0: 5f 63 76 74 65 70 69 33 32 5f 70 73 22 20 3d 3e  _cvtepi32_ps" =>
58f0: 20 49 6e 74 72 69 6e 73 69 63 20 7b 0a 20 20 20   Intrinsic {.   
5900: 20 20 20 20 20 20 20 20 20 69 6e 70 75 74 73 3a           inputs:
5910: 20 7b 20 73 74 61 74 69 63 20 49 4e 50 55 54 53   { static INPUTS
5920: 3a 20 5b 26 27 73 74 61 74 69 63 20 54 79 70 65  : [&'static Type
5930: 3b 20 31 5d 20 3d 20 5b 26 3a 3a 49 33 32 78 38  ; 1] = [&::I32x8
5940: 5d 3b 20 26 49 4e 50 55 54 53 20 7d 2c 0a 20 20  ]; &INPUTS },.  
5950: 20 20 20 20 20 20 20 20 20 20 6f 75 74 70 75 74            output
5960: 3a 20 26 3a 3a 46 33 32 78 38 2c 0a 20 20 20 20  : &::F32x8,.    
5970: 20 20 20 20 20 20 20 20 64 65 66 69 6e 69 74 69          definiti
5980: 6f 6e 3a 20 4e 61 6d 65 64 28 22 6c 6c 76 6d 2e  on: Named("llvm.
5990: 78 38 36 2e 61 76 78 2e 63 76 74 64 71 32 2e 70  x86.avx.cvtdq2.p
59a0: 73 2e 32 35 36 22 29 0a 20 20 20 20 20 20 20 20  s.256").        
59b0: 7d 2c 0a 20 20 20 20 20 20 20 20 22 5f 6d 6d 32  },.        "_mm2
59c0: 35 36 5f 63 76 74 70 64 5f 65 70 69 33 32 22 20  56_cvtpd_epi32" 
59d0: 3d 3e 20 49 6e 74 72 69 6e 73 69 63 20 7b 0a 20  => Intrinsic {. 
59e0: 20 20 20 20 20 20 20 20 20 20 20 69 6e 70 75 74             input
59f0: 73 3a 20 7b 20 73 74 61 74 69 63 20 49 4e 50 55  s: { static INPU
5a00: 54 53 3a 20 5b 26 27 73 74 61 74 69 63 20 54 79  TS: [&'static Ty
5a10: 70 65 3b 20 31 5d 20 3d 20 5b 26 3a 3a 46 36 34  pe; 1] = [&::F64
5a20: 78 34 5d 3b 20 26 49 4e 50 55 54 53 20 7d 2c 0a  x4]; &INPUTS },.
5a30: 20 20 20 20 20 20 20 20 20 20 20 20 6f 75 74 70              outp
5a40: 75 74 3a 20 26 3a 3a 49 33 32 78 34 2c 0a 20 20  ut: &::I32x4,.  
5a50: 20 20 20 20 20 20 20 20 20 20 64 65 66 69 6e 69            defini
5a60: 74 69 6f 6e 3a 20 4e 61 6d 65 64 28 22 6c 6c 76  tion: Named("llv
5a70: 6d 2e 78 38 36 2e 61 76 78 2e 63 76 74 2e 70 64  m.x86.avx.cvt.pd
5a80: 32 64 71 2e 32 35 36 22 29 0a 20 20 20 20 20 20  2dq.256").      
5a90: 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 22 5f 6d    },.        "_m
5aa0: 6d 32 35 36 5f 63 76 74 70 64 5f 70 73 22 20 3d  m256_cvtpd_ps" =
5ab0: 3e 20 49 6e 74 72 69 6e 73 69 63 20 7b 0a 20 20  > Intrinsic {.  
5ac0: 20 20 20 20 20 20 20 20 20 20 69 6e 70 75 74 73            inputs
5ad0: 3a 20 7b 20 73 74 61 74 69 63 20 49 4e 50 55 54  : { static INPUT
5ae0: 53 3a 20 5b 26 27 73 74 61 74 69 63 20 54 79 70  S: [&'static Typ
5af0: 65 3b 20 31 5d 20 3d 20 5b 26 3a 3a 46 36 34 78  e; 1] = [&::F64x
5b00: 34 5d 3b 20 26 49 4e 50 55 54 53 20 7d 2c 0a 20  4]; &INPUTS },. 
5b10: 20 20 20 20 20 20 20 20 20 20 20 6f 75 74 70 75             outpu
5b20: 74 3a 20 26 3a 3a 46 33 32 78 34 2c 0a 20 20 20  t: &::F32x4,.   
5b30: 20 20 20 20 20 20 20 20 20 64 65 66 69 6e 69 74           definit
5b40: 69 6f 6e 3a 20 4e 61 6d 65 64 28 22 6c 6c 76 6d  ion: Named("llvm
5b50: 2e 78 38 36 2e 61 76 78 2e 63 76 74 2e 70 64 32  .x86.avx.cvt.pd2
5b60: 2e 70 73 2e 32 35 36 22 29 0a 20 20 20 20 20 20  .ps.256").      
5b70: 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 22 5f 6d    },.        "_m
5b80: 6d 32 35 36 5f 63 76 74 70 73 5f 65 70 69 33 32  m256_cvtps_epi32
5b90: 22 20 3d 3e 20 49 6e 74 72 69 6e 73 69 63 20 7b  " => Intrinsic {
5ba0: 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 6e 70  .            inp
5bb0: 75 74 73 3a 20 7b 20 73 74 61 74 69 63 20 49 4e  uts: { static IN
5bc0: 50 55 54 53 3a 20 5b 26 27 73 74 61 74 69 63 20  PUTS: [&'static 
5bd0: 54 79 70 65 3b 20 31 5d 20 3d 20 5b 26 3a 3a 46  Type; 1] = [&::F
5be0: 33 32 78 38 5d 3b 20 26 49 4e 50 55 54 53 20 7d  32x8]; &INPUTS }
5bf0: 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 6f 75  ,.            ou
5c00: 74 70 75 74 3a 20 26 3a 3a 49 33 32 78 38 2c 0a  tput: &::I32x8,.
5c10: 20 20 20 20 20 20 20 20 20 20 20 20 64 65 66 69              defi
5c20: 6e 69 74 69 6f 6e 3a 20 4e 61 6d 65 64 28 22 6c  nition: Named("l
5c30: 6c 76 6d 2e 78 38 36 2e 61 76 78 2e 63 76 74 2e  lvm.x86.avx.cvt.
5c40: 70 73 32 64 71 2e 32 35 36 22 29 0a 20 20 20 20  ps2dq.256").    
5c50: 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 22      },.        "
5c60: 5f 6d 6d 32 35 36 5f 63 76 74 70 73 5f 70 64 22  _mm256_cvtps_pd"
5c70: 20 3d 3e 20 49 6e 74 72 69 6e 73 69 63 20 7b 0a   => Intrinsic {.
5c80: 20 20 20 20 20 20 20 20 20 20 20 20 69 6e 70 75              inpu
5c90: 74 73 3a 20 7b 20 73 74 61 74 69 63 20 49 4e 50  ts: { static INP
5ca0: 55 54 53 3a 20 5b 26 27 73 74 61 74 69 63 20 54  UTS: [&'static T
5cb0: 79 70 65 3b 20 31 5d 20 3d 20 5b 26 3a 3a 46 33  ype; 1] = [&::F3
5cc0: 32 78 34 5d 3b 20 26 49 4e 50 55 54 53 20 7d 2c  2x4]; &INPUTS },
5cd0: 0a 20 20 20 20 20 20 20 20 20 20 20 20 6f 75 74  .            out
5ce0: 70 75 74 3a 20 26 3a 3a 46 36 34 78 34 2c 0a 20  put: &::F64x4,. 
5cf0: 20 20 20 20 20 20 20 20 20 20 20 64 65 66 69 6e             defin
5d00: 69 74 69 6f 6e 3a 20 4e 61 6d 65 64 28 22 6c 6c  ition: Named("ll
5d10: 76 6d 2e 78 38 36 2e 61 76 78 2e 63 76 74 2e 70  vm.x86.avx.cvt.p
5d20: 73 32 2e 70 64 2e 32 35 36 22 29 0a 20 20 20 20  s2.pd.256").    
5d30: 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 22      },.        "
5d40: 5f 6d 6d 32 35 36 5f 63 76 74 74 70 64 5f 65 70  _mm256_cvttpd_ep
5d50: 69 33 32 22 20 3d 3e 20 49 6e 74 72 69 6e 73 69  i32" => Intrinsi
5d60: 63 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20  c {.            
5d70: 69 6e 70 75 74 73 3a 20 7b 20 73 74 61 74 69 63  inputs: { static
5d80: 20 49 4e 50 55 54 53 3a 20 5b 26 27 73 74 61 74   INPUTS: [&'stat
5d90: 69 63 20 54 79 70 65 3b 20 31 5d 20 3d 20 5b 26  ic Type; 1] = [&
5da0: 3a 3a 46 36 34 78 34 5d 3b 20 26 49 4e 50 55 54  ::F64x4]; &INPUT
5db0: 53 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20  S },.           
5dc0: 20 6f 75 74 70 75 74 3a 20 26 3a 3a 49 33 32 78   output: &::I32x
5dd0: 34 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 64  4,.            d
5de0: 65 66 69 6e 69 74 69 6f 6e 3a 20 4e 61 6d 65 64  efinition: Named
5df0: 28 22 6c 6c 76 6d 2e 78 38 36 2e 61 76 78 2e 63  ("llvm.x86.avx.c
5e00: 76 74 74 2e 70 64 32 64 71 2e 32 35 36 22 29 0a  vtt.pd2dq.256").
5e10: 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20          },.     
5e20: 20 20 20 22 5f 6d 6d 32 35 36 5f 63 76 74 74 70     "_mm256_cvttp
5e30: 73 5f 65 70 69 33 32 22 20 3d 3e 20 49 6e 74 72  s_epi32" => Intr
5e40: 69 6e 73 69 63 20 7b 0a 20 20 20 20 20 20 20 20  insic {.        
5e50: 20 20 20 20 69 6e 70 75 74 73 3a 20 7b 20 73 74      inputs: { st
5e60: 61 74 69 63 20 49 4e 50 55 54 53 3a 20 5b 26 27  atic INPUTS: [&'
5e70: 73 74 61 74 69 63 20 54 79 70 65 3b 20 31 5d 20  static Type; 1] 
5e80: 3d 20 5b 26 3a 3a 46 33 32 78 38 5d 3b 20 26 49  = [&::F32x8]; &I
5e90: 4e 50 55 54 53 20 7d 2c 0a 20 20 20 20 20 20 20  NPUTS },.       
5ea0: 20 20 20 20 20 6f 75 74 70 75 74 3a 20 26 3a 3a       output: &::
5eb0: 49 33 32 78 38 2c 0a 20 20 20 20 20 20 20 20 20  I32x8,.         
5ec0: 20 20 20 64 65 66 69 6e 69 74 69 6f 6e 3a 20 4e     definition: N
5ed0: 61 6d 65 64 28 22 6c 6c 76 6d 2e 78 38 36 2e 61  amed("llvm.x86.a
5ee0: 76 78 2e 63 76 74 74 2e 70 73 32 64 71 2e 32 35  vx.cvtt.ps2dq.25
5ef0: 36 22 29 0a 20 20 20 20 20 20 20 20 7d 2c 0a 20  6").        },. 
5f00: 20 20 20 20 20 20 20 22 5f 6d 6d 32 35 36 5f 64         "_mm256_d
5f10: 70 5f 70 73 22 20 3d 3e 20 49 6e 74 72 69 6e 73  p_ps" => Intrins
5f20: 69 63 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20  ic {.           
5f30: 20 69 6e 70 75 74 73 3a 20 7b 20 73 74 61 74 69   inputs: { stati
5f40: 63 20 49 4e 50 55 54 53 3a 20 5b 26 27 73 74 61  c INPUTS: [&'sta
5f50: 74 69 63 20 54 79 70 65 3b 20 33 5d 20 3d 20 5b  tic Type; 3] = [
5f60: 26 3a 3a 46 33 32 78 38 2c 20 26 3a 3a 46 33 32  &::F32x8, &::F32
5f70: 78 38 2c 20 26 3a 3a 49 33 32 5f 38 5d 3b 20 26  x8, &::I32_8]; &
5f80: 49 4e 50 55 54 53 20 7d 2c 0a 20 20 20 20 20 20  INPUTS },.      
5f90: 20 20 20 20 20 20 6f 75 74 70 75 74 3a 20 26 3a        output: &:
5fa0: 3a 46 33 32 78 38 2c 0a 20 20 20 20 20 20 20 20  :F32x8,.        
5fb0: 20 20 20 20 64 65 66 69 6e 69 74 69 6f 6e 3a 20      definition: 
5fc0: 4e 61 6d 65 64 28 22 6c 6c 76 6d 2e 78 38 36 2e  Named("llvm.x86.
5fd0: 61 76 78 2e 64 70 2e 70 73 2e 32 35 36 22 29 0a  avx.dp.ps.256").
5fe0: 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20          },.     
5ff0: 20 20 20 22 5f 6d 6d 32 35 36 5f 68 61 64 64 5f     "_mm256_hadd_
6000: 70 73 22 20 3d 3e 20 49 6e 74 72 69 6e 73 69 63  ps" => Intrinsic
6010: 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69   {.            i
6020: 6e 70 75 74 73 3a 20 7b 20 73 74 61 74 69 63 20  nputs: { static 
6030: 49 4e 50 55 54 53 3a 20 5b 26 27 73 74 61 74 69  INPUTS: [&'stati
6040: 63 20 54 79 70 65 3b 20 32 5d 20 3d 20 5b 26 3a  c Type; 2] = [&:
6050: 3a 46 33 32 78 38 2c 20 26 3a 3a 46 33 32 78 38  :F32x8, &::F32x8
6060: 5d 3b 20 26 49 4e 50 55 54 53 20 7d 2c 0a 20 20  ]; &INPUTS },.  
6070: 20 20 20 20 20 20 20 20 20 20 6f 75 74 70 75 74            output
6080: 3a 20 26 3a 3a 46 33 32 78 38 2c 0a 20 20 20 20  : &::F32x8,.    
6090: 20 20 20 20 20 20 20 20 64 65 66 69 6e 69 74 69          definiti
60a0: 6f 6e 3a 20 4e 61 6d 65 64 28 22 6c 6c 76 6d 2e  on: Named("llvm.
60b0: 78 38 36 2e 61 76 78 2e 68 61 64 64 2e 70 73 2e  x86.avx.hadd.ps.
60c0: 32 35 36 22 29 0a 20 20 20 20 20 20 20 20 7d 2c  256").        },
60d0: 0a 20 20 20 20 20 20 20 20 22 5f 6d 6d 32 35 36  .        "_mm256
60e0: 5f 68 61 64 64 5f 70 64 22 20 3d 3e 20 49 6e 74  _hadd_pd" => Int
60f0: 72 69 6e 73 69 63 20 7b 0a 20 20 20 20 20 20 20  rinsic {.       
6100: 20 20 20 20 20 69 6e 70 75 74 73 3a 20 7b 20 73       inputs: { s
6110: 74 61 74 69 63 20 49 4e 50 55 54 53 3a 20 5b 26  tatic INPUTS: [&
6120: 27 73 74 61 74 69 63 20 54 79 70 65 3b 20 32 5d  'static Type; 2]
6130: 20 3d 20 5b 26 3a 3a 46 36 34 78 34 2c 20 26 3a   = [&::F64x4, &:
6140: 3a 46 36 34 78 34 5d 3b 20 26 49 4e 50 55 54 53  :F64x4]; &INPUTS
6150: 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20   },.            
6160: 6f 75 74 70 75 74 3a 20 26 3a 3a 46 36 34 78 34  output: &::F64x4
6170: 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 64 65  ,.            de
6180: 66 69 6e 69 74 69 6f 6e 3a 20 4e 61 6d 65 64 28  finition: Named(
6190: 22 6c 6c 76 6d 2e 78 38 36 2e 61 76 78 2e 68 61  "llvm.x86.avx.ha
61a0: 64 64 2e 70 64 2e 32 35 36 22 29 0a 20 20 20 20  dd.pd.256").    
61b0: 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 22      },.        "
61c0: 5f 6d 6d 32 35 36 5f 68 73 75 62 5f 70 73 22 20  _mm256_hsub_ps" 
61d0: 3d 3e 20 49 6e 74 72 69 6e 73 69 63 20 7b 0a 20  => Intrinsic {. 
61e0: 20 20 20 20 20 20 20 20 20 20 20 69 6e 70 75 74             input
61f0: 73 3a 20 7b 20 73 74 61 74 69 63 20 49 4e 50 55  s: { static INPU
6200: 54 53 3a 20 5b 26 27 73 74 61 74 69 63 20 54 79  TS: [&'static Ty
6210: 70 65 3b 20 32 5d 20 3d 20 5b 26 3a 3a 46 33 32  pe; 2] = [&::F32
6220: 78 38 2c 20 26 3a 3a 46 33 32 78 38 5d 3b 20 26  x8, &::F32x8]; &
6230: 49 4e 50 55 54 53 20 7d 2c 0a 20 20 20 20 20 20  INPUTS },.      
6240: 20 20 20 20 20 20 6f 75 74 70 75 74 3a 20 26 3a        output: &:
6250: 3a 46 33 32 78 38 2c 0a 20 20 20 20 20 20 20 20  :F32x8,.        
6260: 20 20 20 20 64 65 66 69 6e 69 74 69 6f 6e 3a 20      definition: 
6270: 4e 61 6d 65 64 28 22 6c 6c 76 6d 2e 78 38 36 2e  Named("llvm.x86.
6280: 61 76 78 2e 68 73 75 62 2e 70 73 2e 32 35 36 22  avx.hsub.ps.256"
6290: 29 0a 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20  ).        },.   
62a0: 20 20 20 20 20 22 5f 6d 6d 32 35 36 5f 68 73 75       "_mm256_hsu
62b0: 62 5f 70 64 22 20 3d 3e 20 49 6e 74 72 69 6e 73  b_pd" => Intrins
62c0: 69 63 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20  ic {.           
62d0: 20 69 6e 70 75 74 73 3a 20 7b 20 73 74 61 74 69   inputs: { stati
62e0: 63 20 49 4e 50 55 54 53 3a 20 5b 26 27 73 74 61  c INPUTS: [&'sta
62f0: 74 69 63 20 54 79 70 65 3b 20 32 5d 20 3d 20 5b  tic Type; 2] = [
6300: 26 3a 3a 46 36 34 78 34 2c 20 26 3a 3a 46 36 34  &::F64x4, &::F64
6310: 78 34 5d 3b 20 26 49 4e 50 55 54 53 20 7d 2c 0a  x4]; &INPUTS },.
6320: 20 20 20 20 20 20 20 20 20 20 20 20 6f 75 74 70              outp
6330: 75 74 3a 20 26 3a 3a 46 36 34 78 34 2c 0a 20 20  ut: &::F64x4,.  
6340: 20 20 20 20 20 20 20 20 20 20 64 65 66 69 6e 69            defini
6350: 74 69 6f 6e 3a 20 4e 61 6d 65 64 28 22 6c 6c 76  tion: Named("llv
6360: 6d 2e 78 38 36 2e 61 76 78 2e 68 73 75 62 2e 70  m.x86.avx.hsub.p
6370: 64 2e 32 35 36 22 29 0a 20 20 20 20 20 20 20 20  d.256").        
6380: 7d 2c 0a 20 20 20 20 20 20 20 20 22 5f 6d 6d 32  },.        "_mm2
6390: 35 36 5f 6d 61 78 5f 70 73 22 20 3d 3e 20 49 6e  56_max_ps" => In
63a0: 74 72 69 6e 73 69 63 20 7b 0a 20 20 20 20 20 20  trinsic {.      
63b0: 20 20 20 20 20 20 69 6e 70 75 74 73 3a 20 7b 20        inputs: { 
63c0: 73 74 61 74 69 63 20 49 4e 50 55 54 53 3a 20 5b  static INPUTS: [
63d0: 26 27 73 74 61 74 69 63 20 54 79 70 65 3b 20 32  &'static Type; 2
63e0: 5d 20 3d 20 5b 26 3a 3a 46 33 32 78 38 2c 20 26  ] = [&::F32x8, &
63f0: 3a 3a 46 33 32 78 38 5d 3b 20 26 49 4e 50 55 54  ::F32x8]; &INPUT
6400: 53 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20  S },.           
6410: 20 6f 75 74 70 75 74 3a 20 26 3a 3a 46 33 32 78   output: &::F32x
6420: 38 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 64  8,.            d
6430: 65 66 69 6e 69 74 69 6f 6e 3a 20 4e 61 6d 65 64  efinition: Named
6440: 28 22 6c 6c 76 6d 2e 78 38 36 2e 61 76 78 2e 6d  ("llvm.x86.avx.m
6450: 61 78 2e 70 73 2e 32 35 36 22 29 0a 20 20 20 20  ax.ps.256").    
6460: 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 22      },.        "
6470: 5f 6d 6d 32 35 36 5f 6d 61 78 5f 70 64 22 20 3d  _mm256_max_pd" =
6480: 3e 20 49 6e 74 72 69 6e 73 69 63 20 7b 0a 20 20  > Intrinsic {.  
6490: 20 20 20 20 20 20 20 20 20 20 69 6e 70 75 74 73            inputs
64a0: 3a 20 7b 20 73 74 61 74 69 63 20 49 4e 50 55 54  : { static INPUT
64b0: 53 3a 20 5b 26 27 73 74 61 74 69 63 20 54 79 70  S: [&'static Typ
64c0: 65 3b 20 32 5d 20 3d 20 5b 26 3a 3a 46 36 34 78  e; 2] = [&::F64x
64d0: 34 2c 20 26 3a 3a 46 36 34 78 34 5d 3b 20 26 49  4, &::F64x4]; &I
64e0: 4e 50 55 54 53 20 7d 2c 0a 20 20 20 20 20 20 20  NPUTS },.       
64f0: 20 20 20 20 20 6f 75 74 70 75 74 3a 20 26 3a 3a       output: &::
6500: 46 36 34 78 34 2c 0a 20 20 20 20 20 20 20 20 20  F64x4,.         
6510: 20 20 20 64 65 66 69 6e 69 74 69 6f 6e 3a 20 4e     definition: N
6520: 61 6d 65 64 28 22 6c 6c 76 6d 2e 78 38 36 2e 61  amed("llvm.x86.a
6530: 76 78 2e 6d 61 78 2e 70 64 2e 32 35 36 22 29 0a  vx.max.pd.256").
6540: 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20          },.     
6550: 20 20 20 22 5f 6d 6d 5f 6d 61 73 6b 6c 6f 61 64     "_mm_maskload
6560: 5f 70 73 22 20 3d 3e 20 49 6e 74 72 69 6e 73 69  _ps" => Intrinsi
6570: 63 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20  c {.            
6580: 69 6e 70 75 74 73 3a 20 7b 20 73 74 61 74 69 63  inputs: { static
6590: 20 49 4e 50 55 54 53 3a 20 5b 26 27 73 74 61 74   INPUTS: [&'stat
65a0: 69 63 20 54 79 70 65 3b 20 32 5d 20 3d 20 5b 7b  ic Type; 2] = [{
65b0: 20 73 74 61 74 69 63 20 50 54 52 3a 20 54 79 70   static PTR: Typ
65c0: 65 20 3d 20 54 79 70 65 3a 3a 50 6f 69 6e 74 65  e = Type::Pointe
65d0: 72 28 26 3a 3a 46 33 32 2c 20 53 6f 6d 65 28 26  r(&::F32, Some(&
65e0: 3a 3a 49 38 29 2c 20 74 72 75 65 29 3b 20 26 50  ::I8), true); &P
65f0: 54 52 20 7d 2c 20 26 3a 3a 49 33 32 78 34 5f 46  TR }, &::I32x4_F
6600: 33 32 5d 3b 20 26 49 4e 50 55 54 53 20 7d 2c 0a  32]; &INPUTS },.
6610: 20 20 20 20 20 20 20 20 20 20 20 20 6f 75 74 70              outp
6620: 75 74 3a 20 26 3a 3a 46 33 32 78 34 2c 0a 20 20  ut: &::F32x4,.  
6630: 20 20 20 20 20 20 20 20 20 20 64 65 66 69 6e 69            defini
6640: 74 69 6f 6e 3a 20 4e 61 6d 65 64 28 22 6c 6c 76  tion: Named("llv
6650: 6d 2e 78 38 36 2e 61 76 78 2e 6d 61 73 6b 6c 6f  m.x86.avx.masklo
6660: 61 64 2e 70 73 22 29 0a 20 20 20 20 20 20 20 20  ad.ps").        
6670: 7d 2c 0a 20 20 20 20 20 20 20 20 22 5f 6d 6d 5f  },.        "_mm_
6680: 6d 61 73 6b 6c 6f 61 64 5f 70 64 22 20 3d 3e 20  maskload_pd" => 
6690: 49 6e 74 72 69 6e 73 69 63 20 7b 0a 20 20 20 20  Intrinsic {.    
66a0: 20 20 20 20 20 20 20 20 69 6e 70 75 74 73 3a 20          inputs: 
66b0: 7b 20 73 74 61 74 69 63 20 49 4e 50 55 54 53 3a  { static INPUTS:
66c0: 20 5b 26 27 73 74 61 74 69 63 20 54 79 70 65 3b   [&'static Type;
66d0: 20 32 5d 20 3d 20 5b 7b 20 73 74 61 74 69 63 20   2] = [{ static 
66e0: 50 54 52 3a 20 54 79 70 65 20 3d 20 54 79 70 65  PTR: Type = Type
66f0: 3a 3a 50 6f 69 6e 74 65 72 28 26 3a 3a 46 36 34  ::Pointer(&::F64
6700: 2c 20 53 6f 6d 65 28 26 3a 3a 49 38 29 2c 20 74  , Some(&::I8), t
6710: 72 75 65 29 3b 20 26 50 54 52 20 7d 2c 20 26 3a  rue); &PTR }, &:
6720: 3a 49 36 34 78 32 5f 46 36 34 5d 3b 20 26 49 4e  :I64x2_F64]; &IN
6730: 50 55 54 53 20 7d 2c 0a 20 20 20 20 20 20 20 20  PUTS },.        
6740: 20 20 20 20 6f 75 74 70 75 74 3a 20 26 3a 3a 46      output: &::F
6750: 36 34 78 32 2c 0a 20 20 20 20 20 20 20 20 20 20  64x2,.          
6760: 20 20 64 65 66 69 6e 69 74 69 6f 6e 3a 20 4e 61    definition: Na
6770: 6d 65 64 28 22 6c 6c 76 6d 2e 78 38 36 2e 61 76  med("llvm.x86.av
6780: 78 2e 6d 61 73 6b 6c 6f 61 64 2e 70 64 22 29 0a  x.maskload.pd").
6790: 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20          },.     
67a0: 20 20 20 22 5f 6d 6d 32 35 36 5f 6d 61 73 6b 6c     "_mm256_maskl
67b0: 6f 61 64 5f 70 73 22 20 3d 3e 20 49 6e 74 72 69  oad_ps" => Intri
67c0: 6e 73 69 63 20 7b 0a 20 20 20 20 20 20 20 20 20  nsic {.         
67d0: 20 20 20 69 6e 70 75 74 73 3a 20 7b 20 73 74 61     inputs: { sta
67e0: 74 69 63 20 49 4e 50 55 54 53 3a 20 5b 26 27 73  tic INPUTS: [&'s
67f0: 74 61 74 69 63 20 54 79 70 65 3b 20 32 5d 20 3d  tatic Type; 2] =
6800: 20 5b 7b 20 73 74 61 74 69 63 20 50 54 52 3a 20   [{ static PTR: 
6810: 54 79 70 65 20 3d 20 54 79 70 65 3a 3a 50 6f 69  Type = Type::Poi
6820: 6e 74 65 72 28 26 3a 3a 46 33 32 2c 20 53 6f 6d  nter(&::F32, Som
6830: 65 28 26 3a 3a 49 38 29 2c 20 74 72 75 65 29 3b  e(&::I8), true);
6840: 20 26 50 54 52 20 7d 2c 20 26 3a 3a 49 33 32 78   &PTR }, &::I32x
6850: 38 5f 46 33 32 5d 3b 20 26 49 4e 50 55 54 53 20  8_F32]; &INPUTS 
6860: 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 6f  },.            o
6870: 75 74 70 75 74 3a 20 26 3a 3a 46 33 32 78 38 2c  utput: &::F32x8,
6880: 0a 20 20 20 20 20 20 20 20 20 20 20 20 64 65 66  .            def
6890: 69 6e 69 74 69 6f 6e 3a 20 4e 61 6d 65 64 28 22  inition: Named("
68a0: 6c 6c 76 6d 2e 78 38 36 2e 61 76 78 2e 6d 61 73  llvm.x86.avx.mas
68b0: 6b 6c 6f 61 64 2e 70 73 2e 32 35 36 22 29 0a 20  kload.ps.256"). 
68c0: 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20         },.      
68d0: 20 20 22 5f 6d 6d 32 35 36 5f 6d 61 73 6b 6c 6f    "_mm256_masklo
68e0: 61 64 5f 70 64 22 20 3d 3e 20 49 6e 74 72 69 6e  ad_pd" => Intrin
68f0: 73 69 63 20 7b 0a 20 20 20 20 20 20 20 20 20 20  sic {.          
6900: 20 20 69 6e 70 75 74 73 3a 20 7b 20 73 74 61 74    inputs: { stat
6910: 69 63 20 49 4e 50 55 54 53 3a 20 5b 26 27 73 74  ic INPUTS: [&'st
6920: 61 74 69 63 20 54 79 70 65 3b 20 32 5d 20 3d 20  atic Type; 2] = 
6930: 5b 7b 20 73 74 61 74 69 63 20 50 54 52 3a 20 54  [{ static PTR: T
6940: 79 70 65 20 3d 20 54 79 70 65 3a 3a 50 6f 69 6e  ype = Type::Poin
6950: 74 65 72 28 26 3a 3a 46 36 34 2c 20 53 6f 6d 65  ter(&::F64, Some
6960: 28 26 3a 3a 49 38 29 2c 20 74 72 75 65 29 3b 20  (&::I8), true); 
6970: 26 50 54 52 20 7d 2c 20 26 3a 3a 49 36 34 78 34  &PTR }, &::I64x4
6980: 5f 46 36 34 5d 3b 20 26 49 4e 50 55 54 53 20 7d  _F64]; &INPUTS }
6990: 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 6f 75  ,.            ou
69a0: 74 70 75 74 3a 20 26 3a 3a 46 36 34 78 34 2c 0a  tput: &::F64x4,.
69b0: 20 20 20 20 20 20 20 20 20 20 20 20 64 65 66 69              defi
69c0: 6e 69 74 69 6f 6e 3a 20 4e 61 6d 65 64 28 22 6c  nition: Named("l
69d0: 6c 76 6d 2e 78 38 36 2e 61 76 78 2e 6d 61 73 6b  lvm.x86.avx.mask
69e0: 6c 6f 61 64 2e 70 64 2e 32 35 36 22 29 0a 20 20  load.pd.256").  
69f0: 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20        },.       
6a00: 20 22 5f 6d 6d 5f 6d 61 73 6b 73 74 6f 72 65 5f   "_mm_maskstore_
6a10: 70 73 22 20 3d 3e 20 49 6e 74 72 69 6e 73 69 63  ps" => Intrinsic
6a20: 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69   {.            i
6a30: 6e 70 75 74 73 3a 20 7b 20 73 74 61 74 69 63 20  nputs: { static 
6a40: 49 4e 50 55 54 53 3a 20 5b 26 27 73 74 61 74 69  INPUTS: [&'stati
6a50: 63 20 54 79 70 65 3b 20 33 5d 20 3d 20 5b 7b 20  c Type; 3] = [{ 
6a60: 73 74 61 74 69 63 20 50 54 52 3a 20 54 79 70 65  static PTR: Type
6a70: 20 3d 20 54 79 70 65 3a 3a 50 6f 69 6e 74 65 72   = Type::Pointer
6a80: 28 26 3a 3a 46 33 32 2c 20 53 6f 6d 65 28 26 3a  (&::F32, Some(&:
6a90: 3a 49 38 29 2c 20 66 61 6c 73 65 29 3b 20 26 50  :I8), false); &P
6aa0: 54 52 20 7d 2c 20 26 3a 3a 49 33 32 78 34 5f 46  TR }, &::I32x4_F
6ab0: 33 32 2c 20 26 3a 3a 46 33 32 78 34 5d 3b 20 26  32, &::F32x4]; &
6ac0: 49 4e 50 55 54 53 20 7d 2c 0a 20 20 20 20 20 20  INPUTS },.      
6ad0: 20 20 20 20 20 20 6f 75 74 70 75 74 3a 20 26 3a        output: &:
6ae0: 3a 56 4f 49 44 2c 0a 20 20 20 20 20 20 20 20 20  :VOID,.         
6af0: 20 20 20 64 65 66 69 6e 69 74 69 6f 6e 3a 20 4e     definition: N
6b00: 61 6d 65 64 28 22 6c 6c 76 6d 2e 78 38 36 2e 61  amed("llvm.x86.a
6b10: 76 78 2e 6d 61 73 6b 73 74 6f 72 65 2e 70 73 22  vx.maskstore.ps"
6b20: 29 0a 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20  ).        },.   
6b30: 20 20 20 20 20 22 5f 6d 6d 5f 6d 61 73 6b 73 74       "_mm_maskst
6b40: 6f 72 65 5f 70 64 22 20 3d 3e 20 49 6e 74 72 69  ore_pd" => Intri
6b50: 6e 73 69 63 20 7b 0a 20 20 20 20 20 20 20 20 20  nsic {.         
6b60: 20 20 20 69 6e 70 75 74 73 3a 20 7b 20 73 74 61     inputs: { sta
6b70: 74 69 63 20 49 4e 50 55 54 53 3a 20 5b 26 27 73  tic INPUTS: [&'s
6b80: 74 61 74 69 63 20 54 79 70 65 3b 20 33 5d 20 3d  tatic Type; 3] =
6b90: 20 5b 7b 20 73 74 61 74 69 63 20 50 54 52 3a 20   [{ static PTR: 
6ba0: 54 79 70 65 20 3d 20 54 79 70 65 3a 3a 50 6f 69  Type = Type::Poi
6bb0: 6e 74 65 72 28 26 3a 3a 46 36 34 2c 20 53 6f 6d  nter(&::F64, Som
6bc0: 65 28 26 3a 3a 49 38 29 2c 20 66 61 6c 73 65 29  e(&::I8), false)
6bd0: 3b 20 26 50 54 52 20 7d 2c 20 26 3a 3a 49 36 34  ; &PTR }, &::I64
6be0: 78 32 5f 46 36 34 2c 20 26 3a 3a 46 36 34 78 32  x2_F64, &::F64x2
6bf0: 5d 3b 20 26 49 4e 50 55 54 53 20 7d 2c 0a 20 20  ]; &INPUTS },.  
6c00: 20 20 20 20 20 20 20 20 20 20 6f 75 74 70 75 74            output
6c10: 3a 20 26 3a 3a 56 4f 49 44 2c 0a 20 20 20 20 20  : &::VOID,.     
6c20: 20 20 20 20 20 20 20 64 65 66 69 6e 69 74 69 6f         definitio
6c30: 6e 3a 20 4e 61 6d 65 64 28 22 6c 6c 76 6d 2e 78  n: Named("llvm.x
6c40: 38 36 2e 61 76 78 2e 6d 61 73 6b 73 74 6f 72 65  86.avx.maskstore
6c50: 2e 70 64 22 29 0a 20 20 20 20 20 20 20 20 7d 2c  .pd").        },
6c60: 0a 20 20 20 20 20 20 20 20 22 5f 6d 6d 32 35 36  .        "_mm256
6c70: 5f 6d 61 73 6b 73 74 6f 72 65 5f 70 73 22 20 3d  _maskstore_ps" =
6c80: 3e 20 49 6e 74 72 69 6e 73 69 63 20 7b 0a 20 20  > Intrinsic {.  
6c90: 20 20 20 20 20 20 20 20 20 20 69 6e 70 75 74 73            inputs
6ca0: 3a 20 7b 20 73 74 61 74 69 63 20 49 4e 50 55 54  : { static INPUT
6cb0: 53 3a 20 5b 26 27 73 74 61 74 69 63 20 54 79 70  S: [&'static Typ
6cc0: 65 3b 20 33 5d 20 3d 20 5b 7b 20 73 74 61 74 69  e; 3] = [{ stati
6cd0: 63 20 50 54 52 3a 20 54 79 70 65 20 3d 20 54 79  c PTR: Type = Ty
6ce0: 70 65 3a 3a 50 6f 69 6e 74 65 72 28 26 3a 3a 46  pe::Pointer(&::F
6cf0: 33 32 2c 20 53 6f 6d 65 28 26 3a 3a 49 38 29 2c  32, Some(&::I8),
6d00: 20 66 61 6c 73 65 29 3b 20 26 50 54 52 20 7d 2c   false); &PTR },
6d10: 20 26 3a 3a 49 33 32 78 38 5f 46 33 32 2c 20 26   &::I32x8_F32, &
6d20: 3a 3a 46 33 32 78 38 5d 3b 20 26 49 4e 50 55 54  ::F32x8]; &INPUT
6d30: 53 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20  S },.           
6d40: 20 6f 75 74 70 75 74 3a 20 26 3a 3a 56 4f 49 44   output: &::VOID
6d50: 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 64 65  ,.            de
6d60: 66 69 6e 69 74 69 6f 6e 3a 20 4e 61 6d 65 64 28  finition: Named(
6d70: 22 6c 6c 76 6d 2e 78 38 36 2e 61 76 78 2e 6d 61  "llvm.x86.avx.ma
6d80: 73 6b 73 74 6f 72 65 2e 70 73 2e 32 35 36 22 29  skstore.ps.256")
6d90: 0a 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20  .        },.    
6da0: 20 20 20 20 22 5f 6d 6d 32 35 36 5f 6d 61 73 6b      "_mm256_mask
6db0: 73 74 6f 72 65 5f 70 64 22 20 3d 3e 20 49 6e 74  store_pd" => Int
6dc0: 72 69 6e 73 69 63 20 7b 0a 20 20 20 20 20 20 20  rinsic {.       
6dd0: 20 20 20 20 20 69 6e 70 75 74 73 3a 20 7b 20 73       inputs: { s
6de0: 74 61 74 69 63 20 49 4e 50 55 54 53 3a 20 5b 26  tatic INPUTS: [&
6df0: 27 73 74 61 74 69 63 20 54 79 70 65 3b 20 33 5d  'static Type; 3]
6e00: 20 3d 20 5b 7b 20 73 74 61 74 69 63 20 50 54 52   = [{ static PTR
6e10: 3a 20 54 79 70 65 20 3d 20 54 79 70 65 3a 3a 50  : Type = Type::P
6e20: 6f 69 6e 74 65 72 28 26 3a 3a 46 36 34 2c 20 53  ointer(&::F64, S
6e30: 6f 6d 65 28 26 3a 3a 49 38 29 2c 20 66 61 6c 73  ome(&::I8), fals
6e40: 65 29 3b 20 26 50 54 52 20 7d 2c 20 26 3a 3a 49  e); &PTR }, &::I
6e50: 36 34 78 34 5f 46 36 34 2c 20 26 3a 3a 46 36 34  64x4_F64, &::F64
6e60: 78 34 5d 3b 20 26 49 4e 50 55 54 53 20 7d 2c 0a  x4]; &INPUTS },.
6e70: 20 20 20 20 20 20 20 20 20 20 20 20 6f 75 74 70              outp
6e80: 75 74 3a 20 26 3a 3a 56 4f 49 44 2c 0a 20 20 20  ut: &::VOID,.   
6e90: 20 20 20 20 20 20 20 20 20 64 65 66 69 6e 69 74           definit
6ea0: 69 6f 6e 3a 20 4e 61 6d 65 64 28 22 6c 6c 76 6d  ion: Named("llvm
6eb0: 2e 78 38 36 2e 61 76 78 2e 6d 61 73 6b 73 74 6f  .x86.avx.masksto
6ec0: 72 65 2e 70 64 2e 32 35 36 22 29 0a 20 20 20 20  re.pd.256").    
6ed0: 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 22      },.        "
6ee0: 5f 6d 6d 32 35 36 5f 6d 69 6e 5f 70 73 22 20 3d  _mm256_min_ps" =
6ef0: 3e 20 49 6e 74 72 69 6e 73 69 63 20 7b 0a 20 20  > Intrinsic {.  
6f00: 20 20 20 20 20 20 20 20 20 20 69 6e 70 75 74 73            inputs
6f10: 3a 20 7b 20 73 74 61 74 69 63 20 49 4e 50 55 54  : { static INPUT
6f20: 53 3a 20 5b 26 27 73 74 61 74 69 63 20 54 79 70  S: [&'static Typ
6f30: 65 3b 20 32 5d 20 3d 20 5b 26 3a 3a 46 33 32 78  e; 2] = [&::F32x
6f40: 38 2c 20 26 3a 3a 46 33 32 78 38 5d 3b 20 26 49  8, &::F32x8]; &I
6f50: 4e 50 55 54 53 20 7d 2c 0a 20 20 20 20 20 20 20  NPUTS },.       
6f60: 20 20 20 20 20 6f 75 74 70 75 74 3a 20 26 3a 3a       output: &::
6f70: 46 33 32 78 38 2c 0a 20 20 20 20 20 20 20 20 20  F32x8,.         
6f80: 20 20 20 64 65 66 69 6e 69 74 69 6f 6e 3a 20 4e     definition: N
6f90: 61 6d 65 64 28 22 6c 6c 76 6d 2e 78 38 36 2e 61  amed("llvm.x86.a
6fa0: 76 78 2e 6d 69 6e 2e 70 73 2e 32 35 36 22 29 0a  vx.min.ps.256").
6fb0: 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20          },.     
6fc0: 20 20 20 22 5f 6d 6d 32 35 36 5f 6d 69 6e 5f 70     "_mm256_min_p
6fd0: 64 22 20 3d 3e 20 49 6e 74 72 69 6e 73 69 63 20  d" => Intrinsic 
6fe0: 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 6e  {.            in
6ff0: 70 75 74 73 3a 20 7b 20 73 74 61 74 69 63 20 49  puts: { static I
7000: 4e 50 55 54 53 3a 20 5b 26 27 73 74 61 74 69 63  NPUTS: [&'static
7010: 20 54 79 70 65 3b 20 32 5d 20 3d 20 5b 26 3a 3a   Type; 2] = [&::
7020: 46 36 34 78 34 2c 20 26 3a 3a 46 36 34 78 34 5d  F64x4, &::F64x4]
7030: 3b 20 26 49 4e 50 55 54 53 20 7d 2c 0a 20 20 20  ; &INPUTS },.   
7040: 20 20 20 20 20 20 20 20 20 6f 75 74 70 75 74 3a           output:
7050: 20 26 3a 3a 46 36 34 78 34 2c 0a 20 20 20 20 20   &::F64x4,.     
7060: 20 20 20 20 20 20 20 64 65 66 69 6e 69 74 69 6f         definitio
7070: 6e 3a 20 4e 61 6d 65 64 28 22 6c 6c 76 6d 2e 78  n: Named("llvm.x
7080: 38 36 2e 61 76 78 2e 6d 69 6e 2e 70 64 2e 32 35  86.avx.min.pd.25
7090: 36 22 29 0a 20 20 20 20 20 20 20 20 7d 2c 0a 20  6").        },. 
70a0: 20 20 20 20 20 20 20 22 5f 6d 6d 32 35 36 5f 6d         "_mm256_m
70b0: 6f 76 65 6d 61 73 6b 5f 70 73 22 20 3d 3e 20 49  ovemask_ps" => I
70c0: 6e 74 72 69 6e 73 69 63 20 7b 0a 20 20 20 20 20  ntrinsic {.     
70d0: 20 20 20 20 20 20 20 69 6e 70 75 74 73 3a 20 7b         inputs: {
70e0: 20 73 74 61 74 69 63 20 49 4e 50 55 54 53 3a 20   static INPUTS: 
70f0: 5b 26 27 73 74 61 74 69 63 20 54 79 70 65 3b 20  [&'static Type; 
7100: 31 5d 20 3d 20 5b 26 3a 3a 46 33 32 78 38 5d 3b  1] = [&::F32x8];
7110: 20 26 49 4e 50 55 54 53 20 7d 2c 0a 20 20 20 20   &INPUTS },.    
7120: 20 20 20 20 20 20 20 20 6f 75 74 70 75 74 3a 20          output: 
7130: 26 3a 3a 49 33 32 2c 0a 20 20 20 20 20 20 20 20  &::I32,.        
7140: 20 20 20 20 64 65 66 69 6e 69 74 69 6f 6e 3a 20      definition: 
7150: 4e 61 6d 65 64 28 22 6c 6c 76 6d 2e 78 38 36 2e  Named("llvm.x86.
7160: 61 76 78 2e 6d 6f 76 6d 73 6b 2e 70 73 2e 32 35  avx.movmsk.ps.25
7170: 36 22 29 0a 20 20 20 20 20 20 20 20 7d 2c 0a 20  6").        },. 
7180: 20 20 20 20 20 20 20 22 5f 6d 6d 32 35 36 5f 6d         "_mm256_m
7190: 6f 76 65 6d 61 73 6b 5f 70 64 22 20 3d 3e 20 49  ovemask_pd" => I
71a0: 6e 74 72 69 6e 73 69 63 20 7b 0a 20 20 20 20 20  ntrinsic {.     
71b0: 20 20 20 20 20 20 20 69 6e 70 75 74 73 3a 20 7b         inputs: {
71c0: 20 73 74 61 74 69 63 20 49 4e 50 55 54 53 3a 20   static INPUTS: 
71d0: 5b 26 27 73 74 61 74 69 63 20 54 79 70 65 3b 20  [&'static Type; 
71e0: 31 5d 20 3d 20 5b 26 3a 3a 46 36 34 78 34 5d 3b  1] = [&::F64x4];
71f0: 20 26 49 4e 50 55 54 53 20 7d 2c 0a 20 20 20 20   &INPUTS },.    
7200: 20 20 20 20 20 20 20 20 6f 75 74 70 75 74 3a 20          output: 
7210: 26 3a 3a 49 33 32 2c 0a 20 20 20 20 20 20 20 20  &::I32,.        
7220: 20 20 20 20 64 65 66 69 6e 69 74 69 6f 6e 3a 20      definition: 
7230: 4e 61 6d 65 64 28 22 6c 6c 76 6d 2e 78 38 36 2e  Named("llvm.x86.
7240: 61 76 78 2e 6d 6f 76 6d 73 6b 2e 70 64 2e 32 35  avx.movmsk.pd.25
7250: 36 22 29 0a 20 20 20 20 20 20 20 20 7d 2c 0a 20  6").        },. 
7260: 20 20 20 20 20 20 20 22 5f 6d 6d 5f 70 65 72 6d         "_mm_perm
7270: 75 74 65 76 61 72 5f 70 73 22 20 3d 3e 20 49 6e  utevar_ps" => In
7280: 74 72 69 6e 73 69 63 20 7b 0a 20 20 20 20 20 20  trinsic {.      
7290: 20 20 20 20 20 20 69 6e 70 75 74 73 3a 20 7b 20        inputs: { 
72a0: 73 74 61 74 69 63 20 49 4e 50 55 54 53 3a 20 5b  static INPUTS: [
72b0: 26 27 73 74 61 74 69 63 20 54 79 70 65 3b 20 32  &'static Type; 2
72c0: 5d 20 3d 20 5b 26 3a 3a 46 33 32 78 34 2c 20 26  ] = [&::F32x4, &
72d0: 3a 3a 49 33 32 78 34 5d 3b 20 26 49 4e 50 55 54  ::I32x4]; &INPUT
72e0: 53 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20  S },.           
72f0: 20 6f 75 74 70 75 74 3a 20 26 3a 3a 46 33 32 78   output: &::F32x
7300: 34 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 64  4,.            d
7310: 65 66 69 6e 69 74 69 6f 6e 3a 20 4e 61 6d 65 64  efinition: Named
7320: 28 22 6c 6c 76 6d 2e 78 38 36 2e 61 76 78 2e 76  ("llvm.x86.avx.v
7330: 70 65 72 6d 69 6c 76 61 72 2e 70 73 22 29 0a 20  permilvar.ps"). 
7340: 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20         },.      
7350: 20 20 22 5f 6d 6d 5f 70 65 72 6d 75 74 65 76 61    "_mm_permuteva
7360: 72 5f 70 64 22 20 3d 3e 20 49 6e 74 72 69 6e 73  r_pd" => Intrins
7370: 69 63 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20  ic {.           
7380: 20 69 6e 70 75 74 73 3a 20 7b 20 73 74 61 74 69   inputs: { stati
7390: 63 20 49 4e 50 55 54 53 3a 20 5b 26 27 73 74 61  c INPUTS: [&'sta
73a0: 74 69 63 20 54 79 70 65 3b 20 32 5d 20 3d 20 5b  tic Type; 2] = [
73b0: 26 3a 3a 46 36 34 78 32 2c 20 26 3a 3a 49 36 34  &::F64x2, &::I64
73c0: 78 32 5d 3b 20 26 49 4e 50 55 54 53 20 7d 2c 0a  x2]; &INPUTS },.
73d0: 20 20 20 20 20 20 20 20 20 20 20 20 6f 75 74 70              outp
73e0: 75 74 3a 20 26 3a 3a 46 36 34 78 32 2c 0a 20 20  ut: &::F64x2,.  
73f0: 20 20 20 20 20 20 20 20 20 20 64 65 66 69 6e 69            defini
7400: 74 69 6f 6e 3a 20 4e 61 6d 65 64 28 22 6c 6c 76  tion: Named("llv
7410: 6d 2e 78 38 36 2e 61 76 78 2e 76 70 65 72 6d 69  m.x86.avx.vpermi
7420: 6c 76 61 72 2e 70 64 22 29 0a 20 20 20 20 20 20  lvar.pd").      
7430: 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 22 5f 6d    },.        "_m
7440: 6d 32 35 36 5f 70 65 72 6d 75 74 65 76 61 72 5f  m256_permutevar_
7450: 70 73 22 20 3d 3e 20 49 6e 74 72 69 6e 73 69 63  ps" => Intrinsic
7460: 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69   {.            i
7470: 6e 70 75 74 73 3a 20 7b 20 73 74 61 74 69 63 20  nputs: { static 
7480: 49 4e 50 55 54 53 3a 20 5b 26 27 73 74 61 74 69  INPUTS: [&'stati
7490: 63 20 54 79 70 65 3b 20 32 5d 20 3d 20 5b 26 3a  c Type; 2] = [&:
74a0: 3a 46 33 32 78 38 2c 20 26 3a 3a 49 33 32 78 38  :F32x8, &::I32x8
74b0: 5d 3b 20 26 49 4e 50 55 54 53 20 7d 2c 0a 20 20  ]; &INPUTS },.  
74c0: 20 20 20 20 20 20 20 20 20 20 6f 75 74 70 75 74            output
74d0: 3a 20 26 3a 3a 46 33 32 78 38 2c 0a 20 20 20 20  : &::F32x8,.    
74e0: 20 20 20 20 20 20 20 20 64 65 66 69 6e 69 74 69          definiti
74f0: 6f 6e 3a 20 4e 61 6d 65 64 28 22 6c 6c 76 6d 2e  on: Named("llvm.
7500: 78 38 36 2e 61 76 78 2e 76 70 65 72 6d 69 6c 76  x86.avx.vpermilv
7510: 61 72 2e 70 73 2e 32 35 36 22 29 0a 20 20 20 20  ar.ps.256").    
7520: 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 22      },.        "
7530: 5f 6d 6d 32 35 36 5f 70 65 72 6d 75 74 65 76 61  _mm256_permuteva
7540: 72 5f 70 64 22 20 3d 3e 20 49 6e 74 72 69 6e 73  r_pd" => Intrins
7550: 69 63 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20  ic {.           
7560: 20 69 6e 70 75 74 73 3a 20 7b 20 73 74 61 74 69   inputs: { stati
7570: 63 20 49 4e 50 55 54 53 3a 20 5b 26 27 73 74 61  c INPUTS: [&'sta
7580: 74 69 63 20 54 79 70 65 3b 20 32 5d 20 3d 20 5b  tic Type; 2] = [
7590: 26 3a 3a 46 36 34 78 34 2c 20 26 3a 3a 49 36 34  &::F64x4, &::I64
75a0: 78 34 5d 3b 20 26 49 4e 50 55 54 53 20 7d 2c 0a  x4]; &INPUTS },.
75b0: 20 20 20 20 20 20 20 20 20 20 20 20 6f 75 74 70              outp
75c0: 75 74 3a 20 26 3a 3a 46 36 34 78 34 2c 0a 20 20  ut: &::F64x4,.  
75d0: 20 20 20 20 20 20 20 20 20 20 64 65 66 69 6e 69            defini
75e0: 74 69 6f 6e 3a 20 4e 61 6d 65 64 28 22 6c 6c 76  tion: Named("llv
75f0: 6d 2e 78 38 36 2e 61 76 78 2e 76 70 65 72 6d 69  m.x86.avx.vpermi
7600: 6c 76 61 72 2e 70 64 2e 32 35 36 22 29 0a 20 20  lvar.pd.256").  
7610: 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20        },.       
7620: 20 22 5f 6d 6d 32 35 36 5f 72 63 70 5f 70 73 22   "_mm256_rcp_ps"
7630: 20 3d 3e 20 49 6e 74 72 69 6e 73 69 63 20 7b 0a   => Intrinsic {.
7640: 20 20 20 20 20 20 20 20 20 20 20 20 69 6e 70 75              inpu
7650: 74 73 3a 20 7b 20 73 74 61 74 69 63 20 49 4e 50  ts: { static INP
7660: 55 54 53 3a 20 5b 26 27 73 74 61 74 69 63 20 54  UTS: [&'static T
7670: 79 70 65 3b 20 31 5d 20 3d 20 5b 26 3a 3a 46 33  ype; 1] = [&::F3
7680: 32 78 38 5d 3b 20 26 49 4e 50 55 54 53 20 7d 2c  2x8]; &INPUTS },
7690: 0a 20 20 20 20 20 20 20 20 20 20 20 20 6f 75 74  .            out
76a0: 70 75 74 3a 20 26 3a 3a 46 33 32 78 38 2c 0a 20  put: &::F32x8,. 
76b0: 20 20 20 20 20 20 20 20 20 20 20 64 65 66 69 6e             defin
76c0: 69 74 69 6f 6e 3a 20 4e 61 6d 65 64 28 22 6c 6c  ition: Named("ll
76d0: 76 6d 2e 78 38 36 2e 61 76 78 2e 72 63 70 2e 70  vm.x86.avx.rcp.p
76e0: 73 2e 32 35 36 22 29 0a 20 20 20 20 20 20 20 20  s.256").        
76f0: 7d 2c 0a 20 20 20 20 20 20 20 20 22 5f 6d 6d 32  },.        "_mm2
7700: 35 36 5f 72 73 71 72 74 5f 70 73 22 20 3d 3e 20  56_rsqrt_ps" => 
7710: 49 6e 74 72 69 6e 73 69 63 20 7b 0a 20 20 20 20  Intrinsic {.    
7720: 20 20 20 20 20 20 20 20 69 6e 70 75 74 73 3a 20          inputs: 
7730: 7b 20 73 74 61 74 69 63 20 49 4e 50 55 54 53 3a  { static INPUTS:
7740: 20 5b 26 27 73 74 61 74 69 63 20 54 79 70 65 3b   [&'static Type;
7750: 20 31 5d 20 3d 20 5b 26 3a 3a 46 33 32 78 38 5d   1] = [&::F32x8]
7760: 3b 20 26 49 4e 50 55 54 53 20 7d 2c 0a 20 20 20  ; &INPUTS },.   
7770: 20 20 20 20 20 20 20 20 20 6f 75 74 70 75 74 3a           output:
7780: 20 26 3a 3a 46 33 32 78 38 2c 0a 20 20 20 20 20   &::F32x8,.     
7790: 20 20 20 20 20 20 20 64 65 66 69 6e 69 74 69 6f         definitio
77a0: 6e 3a 20 4e 61 6d 65 64 28 22 6c 6c 76 6d 2e 78  n: Named("llvm.x
77b0: 38 36 2e 61 76 78 2e 72 73 71 72 74 2e 70 73 2e  86.avx.rsqrt.ps.
77c0: 32 35 36 22 29 0a 20 20 20 20 20 20 20 20 7d 2c  256").        },
77d0: 0a 20 20 20 20 20 20 20 20 22 5f 6d 6d 32 35 36  .        "_mm256
77e0: 5f 73 74 6f 72 65 75 5f 70 73 22 20 3d 3e 20 49  _storeu_ps" => I
77f0: 6e 74 72 69 6e 73 69 63 20 7b 0a 20 20 20 20 20  ntrinsic {.     
7800: 20 20 20 20 20 20 20 69 6e 70 75 74 73 3a 20 7b         inputs: {
7810: 20 73 74 61 74 69 63 20 49 4e 50 55 54 53 3a 20   static INPUTS: 
7820: 5b 26 27 73 74 61 74 69 63 20 54 79 70 65 3b 20  [&'static Type; 
7830: 32 5d 20 3d 20 5b 7b 20 73 74 61 74 69 63 20 50  2] = [{ static P
7840: 54 52 3a 20 54 79 70 65 20 3d 20 54 79 70 65 3a  TR: Type = Type:
7850: 3a 50 6f 69 6e 74 65 72 28 26 3a 3a 46 33 32 78  :Pointer(&::F32x
7860: 38 2c 20 53 6f 6d 65 28 26 3a 3a 55 38 29 2c 20  8, Some(&::U8), 
7870: 66 61 6c 73 65 29 3b 20 26 50 54 52 20 7d 2c 20  false); &PTR }, 
7880: 26 3a 3a 46 33 32 78 38 5d 3b 20 26 49 4e 50 55  &::F32x8]; &INPU
7890: 54 53 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20  TS },.          
78a0: 20 20 6f 75 74 70 75 74 3a 20 26 3a 3a 56 4f 49    output: &::VOI
78b0: 44 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 64  D,.            d
78c0: 65 66 69 6e 69 74 69 6f 6e 3a 20 4e 61 6d 65 64  efinition: Named
78d0: 28 22 6c 6c 76 6d 2e 78 38 36 2e 61 76 78 2e 73  ("llvm.x86.avx.s
78e0: 74 6f 72 65 75 2e 70 73 2e 32 35 36 22 29 0a 20  toreu.ps.256"). 
78f0: 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20         },.      
7900: 20 20 22 5f 6d 6d 32 35 36 5f 73 74 6f 72 65 75    "_mm256_storeu
7910: 5f 70 64 22 20 3d 3e 20 49 6e 74 72 69 6e 73 69  _pd" => Intrinsi
7920: 63 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20  c {.            
7930: 69 6e 70 75 74 73 3a 20 7b 20 73 74 61 74 69 63  inputs: { static
7940: 20 49 4e 50 55 54 53 3a 20 5b 26 27 73 74 61 74   INPUTS: [&'stat
7950: 69 63 20 54 79 70 65 3b 20 32 5d 20 3d 20 5b 7b  ic Type; 2] = [{
7960: 20 73 74 61 74 69 63 20 50 54 52 3a 20 54 79 70   static PTR: Typ
7970: 65 20 3d 20 54 79 70 65 3a 3a 50 6f 69 6e 74 65  e = Type::Pointe
7980: 72 28 26 3a 3a 46 36 34 78 34 2c 20 53 6f 6d 65  r(&::F64x4, Some
7990: 28 26 3a 3a 55 38 29 2c 20 66 61 6c 73 65 29 3b  (&::U8), false);
79a0: 20 26 50 54 52 20 7d 2c 20 26 3a 3a 46 36 34 78   &PTR }, &::F64x
79b0: 34 5d 3b 20 26 49 4e 50 55 54 53 20 7d 2c 0a 20  4]; &INPUTS },. 
79c0: 20 20 20 20 20 20 20 20 20 20 20 6f 75 74 70 75             outpu
79d0: 74 3a 20 26 3a 3a 56 4f 49 44 2c 0a 20 20 20 20  t: &::VOID,.    
79e0: 20 20 20 20 20 20 20 20 64 65 66 69 6e 69 74 69          definiti
79f0: 6f 6e 3a 20 4e 61 6d 65 64 28 22 6c 6c 76 6d 2e  on: Named("llvm.
7a00: 78 38 36 2e 61 76 78 2e 73 74 6f 72 65 75 2e 70  x86.avx.storeu.p
7a10: 73 2e 32 35 36 22 29 0a 20 20 20 20 20 20 20 20  s.256").        
7a20: 7d 2c 0a 20 20 20 20 20 20 20 20 22 5f 6d 6d 32  },.        "_mm2
7a30: 35 36 5f 73 74 6f 72 65 75 5f 73 69 32 35 36 22  56_storeu_si256"
7a40: 20 3d 3e 20 49 6e 74 72 69 6e 73 69 63 20 7b 0a   => Intrinsic {.
7a50: 20 20 20 20 20 20 20 20 20 20 20 20 69 6e 70 75              inpu
7a60: 74 73 3a 20 7b 20 73 74 61 74 69 63 20 49 4e 50  ts: { static INP
7a70: 55 54 53 3a 20 5b 26 27 73 74 61 74 69 63 20 54  UTS: [&'static T
7a80: 79 70 65 3b 20 32 5d 20 3d 20 5b 7b 20 73 74 61  ype; 2] = [{ sta
7a90: 74 69 63 20 50 54 52 3a 20 54 79 70 65 20 3d 20  tic PTR: Type = 
7aa0: 54 79 70 65 3a 3a 50 6f 69 6e 74 65 72 28 26 3a  Type::Pointer(&:
7ab0: 3a 55 38 78 33 32 2c 20 53 6f 6d 65 28 26 3a 3a  :U8x32, Some(&::
7ac0: 55 38 29 2c 20 66 61 6c 73 65 29 3b 20 26 50 54  U8), false); &PT
7ad0: 52 20 7d 2c 20 26 3a 3a 55 38 78 33 32 5d 3b 20  R }, &::U8x32]; 
7ae0: 26 49 4e 50 55 54 53 20 7d 2c 0a 20 20 20 20 20  &INPUTS },.     
7af0: 20 20 20 20 20 20 20 6f 75 74 70 75 74 3a 20 26         output: &
7b00: 3a 3a 56 4f 49 44 2c 0a 20 20 20 20 20 20 20 20  ::VOID,.        
7b10: 20 20 20 20 64 65 66 69 6e 69 74 69 6f 6e 3a 20      definition: 
7b20: 4e 61 6d 65 64 28 22 6c 6c 76 6d 2e 78 38 36 2e  Named("llvm.x86.
7b30: 61 76 78 2e 73 74 6f 72 65 75 2e 64 71 2e 32 35  avx.storeu.dq.25
7b40: 36 22 29 0a 20 20 20 20 20 20 20 20 7d 2c 0a 20  6").        },. 
7b50: 20 20 20 20 20 20 20 22 5f 6d 6d 32 35 36 5f 73         "_mm256_s
7b60: 71 72 74 5f 70 73 22 20 3d 3e 20 49 6e 74 72 69  qrt_ps" => Intri
7b70: 6e 73 69 63 20 7b 0a 20 20 20 20 20 20 20 20 20  nsic {.         
7b80: 20 20 20 69 6e 70 75 74 73 3a 20 7b 20 73 74 61     inputs: { sta
7b90: 74 69 63 20 49 4e 50 55 54 53 3a 20 5b 26 27 73  tic INPUTS: [&'s
7ba0: 74 61 74 69 63 20 54 79 70 65 3b 20 31 5d 20 3d  tatic Type; 1] =
7bb0: 20 5b 26 3a 3a 46 33 32 78 38 5d 3b 20 26 49 4e   [&::F32x8]; &IN
7bc0: 50 55 54 53 20 7d 2c 0a 20 20 20 20 20 20 20 20  PUTS },.        
7bd0: 20 20 20 20 6f 75 74 70 75 74 3a 20 26 3a 3a 46      output: &::F
7be0: 33 32 78 38 2c 0a 20 20 20 20 20 20 20 20 20 20  32x8,.          
7bf0: 20 20 64 65 66 69 6e 69 74 69 6f 6e 3a 20 4e 61    definition: Na
7c00: 6d 65 64 28 22 6c 6c 76 6d 2e 73 71 72 74 2e 76  med("llvm.sqrt.v
7c10: 38 66 33 32 22 29 0a 20 20 20 20 20 20 20 20 7d  8f32").        }
7c20: 2c 0a 20 20 20 20 20 20 20 20 22 5f 6d 6d 32 35  ,.        "_mm25
7c30: 36 5f 73 71 72 74 5f 70 64 22 20 3d 3e 20 49 6e  6_sqrt_pd" => In
7c40: 74 72 69 6e 73 69 63 20 7b 0a 20 20 20 20 20 20  trinsic {.      
7c50: 20 20 20 20 20 20 69 6e 70 75 74 73 3a 20 7b 20        inputs: { 
7c60: 73 74 61 74 69 63 20 49 4e 50 55 54 53 3a 20 5b  static INPUTS: [
7c70: 26 27 73 74 61 74 69 63 20 54 79 70 65 3b 20 31  &'static Type; 1
7c80: 5d 20 3d 20 5b 26 3a 3a 46 36 34 78 34 5d 3b 20  ] = [&::F64x4]; 
7c90: 26 49 4e 50 55 54 53 20 7d 2c 0a 20 20 20 20 20  &INPUTS },.     
7ca0: 20 20 20 20 20 20 20 6f 75 74 70 75 74 3a 20 26         output: &
7cb0: 3a 3a 46 36 34 78 34 2c 0a 20 20 20 20 20 20 20  ::F64x4,.       
7cc0: 20 20 20 20 20 64 65 66 69 6e 69 74 69 6f 6e 3a       definition:
7cd0: 20 4e 61 6d 65 64 28 22 6c 6c 76 6d 2e 73 71 72   Named("llvm.sqr
7ce0: 74 2e 76 34 66 36 34 22 29 0a 20 20 20 20 20 20  t.v4f64").      
7cf0: 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 22 5f 6d    },.        "_m
7d00: 6d 5f 74 65 73 74 63 5f 70 73 22 20 3d 3e 20 49  m_testc_ps" => I
7d10: 6e 74 72 69 6e 73 69 63 20 7b 0a 20 20 20 20 20  ntrinsic {.     
7d20: 20 20 20 20 20 20 20 69 6e 70 75 74 73 3a 20 7b         inputs: {
7d30: 20 73 74 61 74 69 63 20 49 4e 50 55 54 53 3a 20   static INPUTS: 
7d40: 5b 26 27 73 74 61 74 69 63 20 54 79 70 65 3b 20  [&'static Type; 
7d50: 32 5d 20 3d 20 5b 26 3a 3a 46 33 32 78 34 2c 20  2] = [&::F32x4, 
7d60: 26 3a 3a 46 33 32 78 34 5d 3b 20 26 49 4e 50 55  &::F32x4]; &INPU
7d70: 54 53 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20  TS },.          
7d80: 20 20 6f 75 74 70 75 74 3a 20 26 3a 3a 49 33 32    output: &::I32
7d90: 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 64 65  ,.            de
7da0: 66 69 6e 69 74 69 6f 6e 3a 20 4e 61 6d 65 64 28  finition: Named(
7db0: 22 6c 6c 76 6d 2e 78 38 36 2e 61 76 78 2e 76 74  "llvm.x86.avx.vt
7dc0: 65 73 74 63 2e 70 73 22 29 0a 20 20 20 20 20 20  estc.ps").      
7dd0: 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 22 5f 6d    },.        "_m
7de0: 6d 32 35 36 5f 74 65 73 74 63 5f 70 73 22 20 3d  m256_testc_ps" =
7df0: 3e 20 49 6e 74 72 69 6e 73 69 63 20 7b 0a 20 20  > Intrinsic {.  
7e00: 20 20 20 20 20 20 20 20 20 20 69 6e 70 75 74 73            inputs
7e10: 3a 20 7b 20 73 74 61 74 69 63 20 49 4e 50 55 54  : { static INPUT
7e20: 53 3a 20 5b 26 27 73 74 61 74 69 63 20 54 79 70  S: [&'static Typ
7e30: 65 3b 20 32 5d 20 3d 20 5b 26 3a 3a 46 33 32 78  e; 2] = [&::F32x
7e40: 38 2c 20 26 3a 3a 46 33 32 78 38 5d 3b 20 26 49  8, &::F32x8]; &I
7e50: 4e 50 55 54 53 20 7d 2c 0a 20 20 20 20 20 20 20  NPUTS },.       
7e60: 20 20 20 20 20 6f 75 74 70 75 74 3a 20 26 3a 3a       output: &::
7e70: 49 33 32 2c 0a 20 20 20 20 20 20 20 20 20 20 20  I32,.           
7e80: 20 64 65 66 69 6e 69 74 69 6f 6e 3a 20 4e 61 6d   definition: Nam
7e90: 65 64 28 22 6c 6c 76 6d 2e 78 38 36 2e 61 76 78  ed("llvm.x86.avx
7ea0: 2e 76 74 65 73 74 63 2e 70 73 2e 32 35 36 22 29  .vtestc.ps.256")
7eb0: 0a 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20  .        },.    
7ec0: 20 20 20 20 22 5f 6d 6d 5f 74 65 73 74 63 5f 70      "_mm_testc_p
7ed0: 64 22 20 3d 3e 20 49 6e 74 72 69 6e 73 69 63 20  d" => Intrinsic 
7ee0: 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 6e  {.            in
7ef0: 70 75 74 73 3a 20 7b 20 73 74 61 74 69 63 20 49  puts: { static I
7f00: 4e 50 55 54 53 3a 20 5b 26 27 73 74 61 74 69 63  NPUTS: [&'static
7f10: 20 54 79 70 65 3b 20 32 5d 20 3d 20 5b 26 3a 3a   Type; 2] = [&::
7f20: 46 36 34 78 32 2c 20 26 3a 3a 46 36 34 78 32 5d  F64x2, &::F64x2]
7f30: 3b 20 26 49 4e 50 55 54 53 20 7d 2c 0a 20 20 20  ; &INPUTS },.   
7f40: 20 20 20 20 20 20 20 20 20 6f 75 74 70 75 74 3a           output:
7f50: 20 26 3a 3a 49 33 32 2c 0a 20 20 20 20 20 20 20   &::I32,.       
7f60: 20 20 20 20 20 64 65 66 69 6e 69 74 69 6f 6e 3a       definition:
7f70: 20 4e 61 6d 65 64 28 22 6c 6c 76 6d 2e 78 38 36   Named("llvm.x86
7f80: 2e 61 76 78 2e 76 74 65 73 74 63 2e 70 64 22 29  .avx.vtestc.pd")
7f90: 0a 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20  .        },.    
7fa0: 20 20 20 20 22 5f 6d 6d 32 35 36 5f 74 65 73 74      "_mm256_test
7fb0: 63 5f 70 64 22 20 3d 3e 20 49 6e 74 72 69 6e 73  c_pd" => Intrins
7fc0: 69 63 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20  ic {.           
7fd0: 20 69 6e 70 75 74 73 3a 20 7b 20 73 74 61 74 69   inputs: { stati
7fe0: 63 20 49 4e 50 55 54 53 3a 20 5b 26 27 73 74 61  c INPUTS: [&'sta
7ff0: 74 69 63 20 54 79 70 65 3b 20 32 5d 20 3d 20 5b  tic Type; 2] = [
8000: 26 3a 3a 46 36 34 78 34 2c 20 26 3a 3a 46 36 34  &::F64x4, &::F64
8010: 78 34 5d 3b 20 26 49 4e 50 55 54 53 20 7d 2c 0a  x4]; &INPUTS },.
8020: 20 20 20 20 20 20 20 20 20 20 20 20 6f 75 74 70              outp
8030: 75 74 3a 20 26 3a 3a 49 33 32 2c 0a 20 20 20 20  ut: &::I32,.    
8040: 20 20 20 20 20 20 20 20 64 65 66 69 6e 69 74 69          definiti
8050: 6f 6e 3a 20 4e 61 6d 65 64 28 22 6c 6c 76 6d 2e  on: Named("llvm.
8060: 78 38 36 2e 61 76 78 2e 76 74 65 73 74 63 2e 70  x86.avx.vtestc.p
8070: 64 2e 32 35 36 22 29 0a 20 20 20 20 20 20 20 20  d.256").        
8080: 7d 2c 0a 20 20 20 20 20 20 20 20 22 5f 6d 6d 32  },.        "_mm2
8090: 35 36 5f 74 65 73 74 63 5f 73 69 32 35 36 22 20  56_testc_si256" 
80a0: 3d 3e 20 49 6e 74 72 69 6e 73 69 63 20 7b 0a 20  => Intrinsic {. 
80b0: 20 20 20 20 20 20 20 20 20 20 20 69 6e 70 75 74             input
80c0: 73 3a 20 7b 20 73 74 61 74 69 63 20 49 4e 50 55  s: { static INPU
80d0: 54 53 3a 20 5b 26 27 73 74 61 74 69 63 20 54 79  TS: [&'static Ty
80e0: 70 65 3b 20 32 5d 20 3d 20 5b 26 3a 3a 55 36 34  pe; 2] = [&::U64
80f0: 78 34 2c 20 26 3a 3a 55 36 34 78 34 5d 3b 20 26  x4, &::U64x4]; &
8100: 49 4e 50 55 54 53 20 7d 2c 0a 20 20 20 20 20 20  INPUTS },.      
8110: 20 20 20 20 20 20 6f 75 74 70 75 74 3a 20 26 3a        output: &:
8120: 3a 49 33 32 2c 0a 20 20 20 20 20 20 20 20 20 20  :I32,.          
8130: 20 20 64 65 66 69 6e 69 74 69 6f 6e 3a 20 4e 61    definition: Na
8140: 6d 65 64 28 22 6c 6c 76 6d 2e 78 38 36 2e 61 76  med("llvm.x86.av
8150: 78 2e 70 74 65 73 74 63 2e 32 35 36 22 29 0a 20  x.ptestc.256"). 
8160: 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20         },.      
8170: 20 20 22 5f 6d 6d 5f 74 65 73 74 6e 7a 63 5f 70    "_mm_testnzc_p
8180: 73 22 20 3d 3e 20 49 6e 74 72 69 6e 73 69 63 20  s" => Intrinsic 
8190: 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 6e  {.            in
81a0: 70 75 74 73 3a 20 7b 20 73 74 61 74 69 63 20 49  puts: { static I
81b0: 4e 50 55 54 53 3a 20 5b 26 27 73 74 61 74 69 63  NPUTS: [&'static
81c0: 20 54 79 70 65 3b 20 32 5d 20 3d 20 5b 26 3a 3a   Type; 2] = [&::
81d0: 46 33 32 78 34 2c 20 26 3a 3a 46 33 32 78 34 5d  F32x4, &::F32x4]
81e0: 3b 20 26 49 4e 50 55 54 53 20 7d 2c 0a 20 20 20  ; &INPUTS },.   
81f0: 20 20 20 20 20 20 20 20 20 6f 75 74 70 75 74 3a           output:
8200: 20 26 3a 3a 49 33 32 2c 0a 20 20 20 20 20 20 20   &::I32,.       
8210: 20 20 20 20 20 64 65 66 69 6e 69 74 69 6f 6e 3a       definition:
8220: 20 4e 61 6d 65 64 28 22 6c 6c 76 6d 2e 78 38 36   Named("llvm.x86
8230: 2e 61 76 78 2e 76 74 65 73 74 6e 7a 63 2e 70 73  .avx.vtestnzc.ps
8240: 22 29 0a 20 20 20 20 20 20 20 20 7d 2c 0a 20 20  ").        },.  
8250: 20 20 20 20 20 20 22 5f 6d 6d 32 35 36 5f 74 65        "_mm256_te
8260: 73 74 6e 7a 63 5f 70 73 22 20 3d 3e 20 49 6e 74  stnzc_ps" => Int
8270: 72 69 6e 73 69 63 20 7b 0a 20 20 20 20 20 20 20  rinsic {.       
8280: 20 20 20 20 20 69 6e 70 75 74 73 3a 20 7b 20 73       inputs: { s
8290: 74 61 74 69 63 20 49 4e 50 55 54 53 3a 20 5b 26  tatic INPUTS: [&
82a0: 27 73 74 61 74 69 63 20 54 79 70 65 3b 20 32 5d  'static Type; 2]
82b0: 20 3d 20 5b 26 3a 3a 46 33 32 78 38 2c 20 26 3a   = [&::F32x8, &:
82c0: 3a 46 33 32 78 38 5d 3b 20 26 49 4e 50 55 54 53  :F32x8]; &INPUTS
82d0: 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20   },.            
82e0: 6f 75 74 70 75 74 3a 20 26 3a 3a 49 33 32 2c 0a  output: &::I32,.
82f0: 20 20 20 20 20 20 20 20 20 20 20 20 64 65 66 69              defi
8300: 6e 69 74 69 6f 6e 3a 20 4e 61 6d 65 64 28 22 6c  nition: Named("l
8310: 6c 76 6d 2e 78 38 36 2e 61 76 78 2e 76 74 65 73  lvm.x86.avx.vtes
8320: 74 6e 7a 63 2e 70 73 2e 32 35 36 22 29 0a 20 20  tnzc.ps.256").  
8330: 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20        },.       
8340: 20 22 5f 6d 6d 5f 74 65 73 74 6e 7a 63 5f 70 64   "_mm_testnzc_pd
8350: 22 20 3d 3e 20 49 6e 74 72 69 6e 73 69 63 20 7b  " => Intrinsic {
8360: 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 6e 70  .            inp
8370: 75 74 73 3a 20 7b 20 73 74 61 74 69 63 20 49 4e  uts: { static IN
8380: 50 55 54 53 3a 20 5b 26 27 73 74 61 74 69 63 20  PUTS: [&'static 
8390: 54 79 70 65 3b 20 32 5d 20 3d 20 5b 26 3a 3a 46  Type; 2] = [&::F
83a0: 36 34 78 32 2c 20 26 3a 3a 46 36 34 78 32 5d 3b  64x2, &::F64x2];
83b0: 20 26 49 4e 50 55 54 53 20 7d 2c 0a 20 20 20 20   &INPUTS },.    
83c0: 20 20 20 20 20 20 20 20 6f 75 74 70 75 74 3a 20          output: 
83d0: 26 3a 3a 49 33 32 2c 0a 20 20 20 20 20 20 20 20  &::I32,.        
83e0: 20 20 20 20 64 65 66 69 6e 69 74 69 6f 6e 3a 20      definition: 
83f0: 4e 61 6d 65 64 28 22 6c 6c 76 6d 2e 78 38 36 2e  Named("llvm.x86.
8400: 61 76 78 2e 76 74 65 73 74 6e 7a 63 2e 70 64 22  avx.vtestnzc.pd"
8410: 29 0a 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20  ).        },.   
8420: 20 20 20 20 20 22 5f 6d 6d 32 35 36 5f 74 65 73       "_mm256_tes
8430: 74 6e 7a 63 5f 70 64 22 20 3d 3e 20 49 6e 74 72  tnzc_pd" => Intr
8440: 69 6e 73 69 63 20 7b 0a 20 20 20 20 20 20 20 20  insic {.        
8450: 20 20 20 20 69 6e 70 75 74 73 3a 20 7b 20 73 74      inputs: { st
8460: 61 74 69 63 20 49 4e 50 55 54 53 3a 20 5b 26 27  atic INPUTS: [&'
8470: 73 74 61 74 69 63 20 54 79 70 65 3b 20 32 5d 20  static Type; 2] 
8480: 3d 20 5b 26 3a 3a 46 36 34 78 34 2c 20 26 3a 3a  = [&::F64x4, &::
8490: 46 36 34 78 34 5d 3b 20 26 49 4e 50 55 54 53 20  F64x4]; &INPUTS 
84a0: 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 6f  },.            o
84b0: 75 74 70 75 74 3a 20 26 3a 3a 49 33 32 2c 0a 20  utput: &::I32,. 
84c0: 20 20 20 20 20 20 20 20 20 20 20 64 65 66 69 6e             defin
84d0: 69 74 69 6f 6e 3a 20 4e 61 6d 65 64 28 22 6c 6c  ition: Named("ll
84e0: 76 6d 2e 78 38 36 2e 61 76 78 2e 76 74 65 73 74  vm.x86.avx.vtest
84f0: 6e 7a 63 2e 70 64 2e 32 35 36 22 29 0a 20 20 20  nzc.pd.256").   
8500: 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20       },.        
8510: 22 5f 6d 6d 32 35 36 5f 74 65 73 74 6e 7a 63 5f  "_mm256_testnzc_
8520: 73 69 32 35 36 22 20 3d 3e 20 49 6e 74 72 69 6e  si256" => Intrin
8530: 73 69 63 20 7b 0a 20 20 20 20 20 20 20 20 20 20  sic {.          
8540: 20 20 69 6e 70 75 74 73 3a 20 7b 20 73 74 61 74    inputs: { stat
8550: 69 63 20 49 4e 50 55 54 53 3a 20 5b 26 27 73 74  ic INPUTS: [&'st
8560: 61 74 69 63 20 54 79 70 65 3b 20 32 5d 20 3d 20  atic Type; 2] = 
8570: 5b 26 3a 3a 55 36 34 78 34 2c 20 26 3a 3a 55 36  [&::U64x4, &::U6
8580: 34 78 34 5d 3b 20 26 49 4e 50 55 54 53 20 7d 2c  4x4]; &INPUTS },
8590: 0a 20 20 20 20 20 20 20 20 20 20 20 20 6f 75 74  .            out
85a0: 70 75 74 3a 20 26 3a 3a 49 33 32 2c 0a 20 20 20  put: &::I32,.   
85b0: 20 20 20 20 20 20 20 20 20 64 65 66 69 6e 69 74           definit
85c0: 69 6f 6e 3a 20 4e 61 6d 65 64 28 22 6c 6c 76 6d  ion: Named("llvm
85d0: 2e 78 38 36 2e 61 76 78 2e 70 74 65 73 74 6e 7a  .x86.avx.ptestnz
85e0: 63 2e 32 35 36 22 29 0a 20 20 20 20 20 20 20 20  c.256").        
85f0: 7d 2c 0a 20 20 20 20 20 20 20 20 22 5f 6d 6d 5f  },.        "_mm_
8600: 74 65 73 74 7a 5f 70 73 22 20 3d 3e 20 49 6e 74  testz_ps" => Int
8610: 72 69 6e 73 69 63 20 7b 0a 20 20 20 20 20 20 20  rinsic {.       
8620: 20 20 20 20 20 69 6e 70 75 74 73 3a 20 7b 20 73       inputs: { s
8630: 74 61 74 69 63 20 49 4e 50 55 54 53 3a 20 5b 26  tatic INPUTS: [&
8640: 27 73 74 61 74 69 63 20 54 79 70 65 3b 20 32 5d  'static Type; 2]
8650: 20 3d 20 5b 26 3a 3a 46 33 32 78 34 2c 20 26 3a   = [&::F32x4, &:
8660: 3a 46 33 32 78 34 5d 3b 20 26 49 4e 50 55 54 53  :F32x4]; &INPUTS
8670: 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20   },.            
8680: 6f 75 74 70 75 74 3a 20 26 3a 3a 49 33 32 2c 0a  output: &::I32,.
8690: 20 20 20 20 20 20 20 20 20 20 20 20 64 65 66 69              defi
86a0: 6e 69 74 69 6f 6e 3a 20 4e 61 6d 65 64 28 22 6c  nition: Named("l
86b0: 6c 76 6d 2e 78 38 36 2e 61 76 78 2e 76 74 65 73  lvm.x86.avx.vtes
86c0: 74 7a 2e 70 73 22 29 0a 20 20 20 20 20 20 20 20  tz.ps").        
86d0: 7d 2c 0a 20 20 20 20 20 20 20 20 22 5f 6d 6d 32  },.        "_mm2
86e0: 35 36 5f 74 65 73 74 7a 5f 70 73 22 20 3d 3e 20  56_testz_ps" => 
86f0: 49 6e 74 72 69 6e 73 69 63 20 7b 0a 20 20 20 20  Intrinsic {.    
8700: 20 20 20 20 20 20 20 20 69 6e 70 75 74 73 3a 20          inputs: 
8710: 7b 20 73 74 61 74 69 63 20 49 4e 50 55 54 53 3a  { static INPUTS:
8720: 20 5b 26 27 73 74 61 74 69 63 20 54 79 70 65 3b   [&'static Type;
8730: 20 32 5d 20 3d 20 5b 26 3a 3a 46 33 32 78 38 2c   2] = [&::F32x8,
8740: 20 26 3a 3a 46 33 32 78 38 5d 3b 20 26 49 4e 50   &::F32x8]; &INP
8750: 55 54 53 20 7d 2c 0a 20 20 20 20 20 20 20 20 20  UTS },.         
8760: 20 20 20 6f 75 74 70 75 74 3a 20 26 3a 3a 49 33     output: &::I3
8770: 32 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 64  2,.            d
8780: 65 66 69 6e 69 74 69 6f 6e 3a 20 4e 61 6d 65 64  efinition: Named
8790: 28 22 6c 6c 76 6d 2e 78 38 36 2e 61 76 78 2e 76  ("llvm.x86.avx.v
87a0: 74 65 73 74 7a 2e 70 73 2e 32 35 36 22 29 0a 20  testz.ps.256"). 
87b0: 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20         },.      
87c0: 20 20 22 5f 6d 6d 5f 74 65 73 74 7a 5f 70 64 22    "_mm_testz_pd"
87d0: 20 3d 3e 20 49 6e 74 72 69 6e 73 69 63 20 7b 0a   => Intrinsic {.
87e0: 20 20 20 20 20 20 20 20 20 20 20 20 69 6e 70 75              inpu
87f0: 74 73 3a 20 7b 20 73 74 61 74 69 63 20 49 4e 50  ts: { static INP
8800: 55 54 53 3a 20 5b 26 27 73 74 61 74 69 63 20 54  UTS: [&'static T
8810: 79 70 65 3b 20 32 5d 20 3d 20 5b 26 3a 3a 46 36  ype; 2] = [&::F6
8820: 34 78 32 2c 20 26 3a 3a 46 36 34 78 32 5d 3b 20  4x2, &::F64x2]; 
8830: 26 49 4e 50 55 54 53 20 7d 2c 0a 20 20 20 20 20  &INPUTS },.     
8840: 20 20 20 20 20 20 20 6f 75 74 70 75 74 3a 20 26         output: &
8850: 3a 3a 49 33 32 2c 0a 20 20 20 20 20 20 20 20 20  ::I32,.         
8860: 20 20 20 64 65 66 69 6e 69 74 69 6f 6e 3a 20 4e     definition: N
8870: 61 6d 65 64 28 22 6c 6c 76 6d 2e 78 38 36 2e 61  amed("llvm.x86.a
8880: 76 78 2e 76 74 65 73 74 7a 2e 70 64 22 29 0a 20  vx.vtestz.pd"). 
8890: 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20         },.      
88a0: 20 20 22 5f 6d 6d 32 35 36 5f 74 65 73 74 7a 5f    "_mm256_testz_
88b0: 70 64 22 20 3d 3e 20 49 6e 74 72 69 6e 73 69 63  pd" => Intrinsic
88c0: 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69   {.            i
88d0: 6e 70 75 74 73 3a 20 7b 20 73 74 61 74 69 63 20  nputs: { static 
88e0: 49 4e 50 55 54 53 3a 20 5b 26 27 73 74 61 74 69  INPUTS: [&'stati
88f0: 63 20 54 79 70 65 3b 20 32 5d 20 3d 20 5b 26 3a  c Type; 2] = [&:
8900: 3a 46 36 34 78 34 2c 20 26 3a 3a 46 36 34 78 34  :F64x4, &::F64x4
8910: 5d 3b 20 26 49 4e 50 55 54 53 20 7d 2c 0a 20 20  ]; &INPUTS },.  
8920: 20 20 20 20 20 20 20 20 20 20 6f 75 74 70 75 74            output
8930: 3a 20 26 3a 3a 49 33 32 2c 0a 20 20 20 20 20 20  : &::I32,.      
8940: 20 20 20 20 20 20 64 65 66 69 6e 69 74 69 6f 6e        definition
8950: 3a 20 4e 61 6d 65 64 28 22 6c 6c 76 6d 2e 78 38  : Named("llvm.x8
8960: 36 2e 61 76 78 2e 76 74 65 73 74 7a 2e 70 64 2e  6.avx.vtestz.pd.
8970: 32 35 36 22 29 0a 20 20 20 20 20 20 20 20 7d 2c  256").        },
8980: 0a 20 20 20 20 20 20 20 20 22 5f 6d 6d 32 35 36  .        "_mm256
8990: 5f 74 65 73 74 7a 5f 73 69 32 35 36 22 20 3d 3e  _testz_si256" =>
89a0: 20 49 6e 74 72 69 6e 73 69 63 20 7b 0a 20 20 20   Intrinsic {.   
89b0: 20 20 20 20 20 20 20 20 20 69 6e 70 75 74 73 3a           inputs:
89c0: 20 7b 20 73 74 61 74 69 63 20 49 4e 50 55 54 53   { static INPUTS
89d0: 3a 20 5b 26 27 73 74 61 74 69 63 20 54 79 70 65  : [&'static Type
89e0: 3b 20 32 5d 20 3d 20 5b 26 3a 3a 55 36 34 78 34  ; 2] = [&::U64x4
89f0: 2c 20 26 3a 3a 55 36 34 78 34 5d 3b 20 26 49 4e  , &::U64x4]; &IN
8a00: 50 55 54 53 20 7d 2c 0a 20 20 20 20 20 20 20 20  PUTS },.        
8a10: 20 20 20 20 6f 75 74 70 75 74 3a 20 26 3a 3a 49      output: &::I
8a20: 33 32 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20  32,.            
8a30: 64 65 66 69 6e 69 74 69 6f 6e 3a 20 4e 61 6d 65  definition: Name
8a40: 64 28 22 6c 6c 76 6d 2e 78 38 36 2e 61 76 78 2e  d("llvm.x86.avx.
8a50: 70 74 65 73 74 7a 2e 32 35 36 22 29 0a 20 20 20  ptestz.256").   
8a60: 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20       },.        
8a70: 22 5f 6d 6d 32 35 36 5f 7a 65 72 6f 61 6c 6c 22  "_mm256_zeroall"
8a80: 20 3d 3e 20 49 6e 74 72 69 6e 73 69 63 20 7b 0a   => Intrinsic {.
8a90: 20 20 20 20 20 20 20 20 20 20 20 20 69 6e 70 75              inpu
8aa0: 74 73 3a 20 7b 20 73 74 61 74 69 63 20 49 4e 50  ts: { static INP
8ab0: 55 54 53 3a 20 5b 26 27 73 74 61 74 69 63 20 54  UTS: [&'static T
8ac0: 79 70 65 3b 20 30 5d 20 3d 20 5b 5d 3b 20 26 49  ype; 0] = []; &I
8ad0: 4e 50 55 54 53 20 7d 2c 0a 20 20 20 20 20 20 20  NPUTS },.       
8ae0: 20 20 20 20 20 6f 75 74 70 75 74 3a 20 26 3a 3a       output: &::
8af0: 56 4f 49 44 2c 0a 20 20 20 20 20 20 20 20 20 20  VOID,.          
8b00: 20 20 64 65 66 69 6e 69 74 69 6f 6e 3a 20 4e 61    definition: Na
8b10: 6d 65 64 28 22 6c 6c 76 6d 2e 78 38 36 2e 61 76  med("llvm.x86.av
8b20: 78 2e 76 7a 65 72 6f 61 6c 6c 22 29 0a 20 20 20  x.vzeroall").   
8b30: 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20       },.        
8b40: 22 5f 6d 6d 32 35 36 5f 7a 65 72 6f 75 70 70 65  "_mm256_zerouppe
8b50: 72 22 20 3d 3e 20 49 6e 74 72 69 6e 73 69 63 20  r" => Intrinsic 
8b60: 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 6e  {.            in
8b70: 70 75 74 73 3a 20 7b 20 73 74 61 74 69 63 20 49  puts: { static I
8b80: 4e 50 55 54 53 3a 20 5b 26 27 73 74 61 74 69 63  NPUTS: [&'static
8b90: 20 54 79 70 65 3b 20 30 5d 20 3d 20 5b 5d 3b 20   Type; 0] = []; 
8ba0: 26 49 4e 50 55 54 53 20 7d 2c 0a 20 20 20 20 20  &INPUTS },.     
8bb0: 20 20 20 20 20 20 20 6f 75 74 70 75 74 3a 20 26         output: &
8bc0: 3a 3a 56 4f 49 44 2c 0a 20 20 20 20 20 20 20 20  ::VOID,.        
8bd0: 20 20 20 20 64 65 66 69 6e 69 74 69 6f 6e 3a 20      definition: 
8be0: 4e 61 6d 65 64 28 22 6c 6c 76 6d 2e 78 38 36 2e  Named("llvm.x86.
8bf0: 61 76 78 2e 76 7a 65 72 6f 75 70 70 65 72 22 29  avx.vzeroupper")
8c00: 0a 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20  .        },.    
8c10: 20 20 20 20 22 5f 62 6d 69 32 5f 62 7a 68 69 5f      "_bmi2_bzhi_
8c20: 33 32 22 20 3d 3e 20 49 6e 74 72 69 6e 73 69 63  32" => Intrinsic
8c30: 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69   {.            i
8c40: 6e 70 75 74 73 3a 20 7b 20 73 74 61 74 69 63 20  nputs: { static 
8c50: 49 4e 50 55 54 53 3a 20 5b 26 27 73 74 61 74 69  INPUTS: [&'stati
8c60: 63 20 54 79 70 65 3b 20 32 5d 20 3d 20 5b 26 3a  c Type; 2] = [&:
8c70: 3a 55 33 32 2c 20 26 3a 3a 55 33 32 5d 3b 20 26  :U32, &::U32]; &
8c80: 49 4e 50 55 54 53 20 7d 2c 0a 20 20 20 20 20 20  INPUTS },.      
8c90: 20 20 20 20 20 20 6f 75 74 70 75 74 3a 20 26 3a        output: &:
8ca0: 3a 55 33 32 2c 0a 20 20 20 20 20 20 20 20 20 20  :U32,.          
8cb0: 20 20 64 65 66 69 6e 69 74 69 6f 6e 3a 20 4e 61    definition: Na
8cc0: 6d 65 64 28 22 6c 6c 76 6d 2e 78 38 36 2e 62 6d  med("llvm.x86.bm
8cd0: 69 2e 62 7a 68 69 2e 33 32 22 29 0a 20 20 20 20  i.bzhi.32").    
8ce0: 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 22      },.        "
8cf0: 5f 62 6d 69 32 5f 62 7a 68 69 5f 36 34 22 20 3d  _bmi2_bzhi_64" =
8d00: 3e 20 49 6e 74 72 69 6e 73 69 63 20 7b 0a 20 20  > Intrinsic {.  
8d10: 20 20 20 20 20 20 20 20 20 20 69 6e 70 75 74 73            inputs
8d20: 3a 20 7b 20 73 74 61 74 69 63 20 49 4e 50 55 54  : { static INPUT
8d30: 53 3a 20 5b 26 27 73 74 61 74 69 63 20 54 79 70  S: [&'static Typ
8d40: 65 3b 20 32 5d 20 3d 20 5b 26 3a 3a 55 36 34 2c  e; 2] = [&::U64,
8d50: 20 26 3a 3a 55 36 34 5d 3b 20 26 49 4e 50 55 54   &::U64]; &INPUT
8d60: 53 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20  S },.           
8d70: 20 6f 75 74 70 75 74 3a 20 26 3a 3a 55 36 34 2c   output: &::U64,
8d80: 0a 20 20 20 20 20 20 20 20 20 20 20 20 64 65 66  .            def
8d90: 69 6e 69 74 69 6f 6e 3a 20 4e 61 6d 65 64 28 22  inition: Named("
8da0: 6c 6c 76 6d 2e 78 38 36 2e 62 6d 69 2e 62 7a 68  llvm.x86.bmi.bzh
8db0: 69 2e 36 34 22 29 0a 20 20 20 20 20 20 20 20 7d  i.64").        }
8dc0: 2c 0a 20 20 20 20 20 20 20 20 22 5f 62 6d 69 32  ,.        "_bmi2
8dd0: 5f 70 64 65 70 5f 33 32 22 20 3d 3e 20 49 6e 74  _pdep_32" => Int
8de0: 72 69 6e 73 69 63 20 7b 0a 20 20 20 20 20 20 20  rinsic {.       
8df0: 20 20 20 20 20 69 6e 70 75 74 73 3a 20 7b 20 73       inputs: { s
8e00: 74 61 74 69 63 20 49 4e 50 55 54 53 3a 20 5b 26  tatic INPUTS: [&
8e10: 27 73 74 61 74 69 63 20 54 79 70 65 3b 20 32 5d  'static Type; 2]
8e20: 20 3d 20 5b 26 3a 3a 55 33 32 2c 20 26 3a 3a 55   = [&::U32, &::U
8e30: 33 32 5d 3b 20 26 49 4e 50 55 54 53 20 7d 2c 0a  32]; &INPUTS },.
8e40: 20 20 20 20 20 20 20 20 20 20 20 20 6f 75 74 70              outp
8e50: 75 74 3a 20 26 3a 3a 55 33 32 2c 0a 20 20 20 20  ut: &::U32,.    
8e60: 20 20 20 20 20 20 20 20 64 65 66 69 6e 69 74 69          definiti
8e70: 6f 6e 3a 20 4e 61 6d 65 64 28 22 6c 6c 76 6d 2e  on: Named("llvm.
8e80: 78 38 36 2e 62 6d 69 2e 70 64 65 70 2e 33 32 22  x86.bmi.pdep.32"
8e90: 29 0a 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20  ).        },.   
8ea0: 20 20 20 20 20 22 5f 62 6d 69 32 5f 70 64 65 70       "_bmi2_pdep
8eb0: 5f 36 34 22 20 3d 3e 20 49 6e 74 72 69 6e 73 69  _64" => Intrinsi
8ec0: 63 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20  c {.            
8ed0: 69 6e 70 75 74 73 3a 20 7b 20 73 74 61 74 69 63  inputs: { static
8ee0: 20 49 4e 50 55 54 53 3a 20 5b 26 27 73 74 61 74   INPUTS: [&'stat
8ef0: 69 63 20 54 79 70 65 3b 20 32 5d 20 3d 20 5b 26  ic Type; 2] = [&
8f00: 3a 3a 55 36 34 2c 20 26 3a 3a 55 36 34 5d 3b 20  ::U64, &::U64]; 
8f10: 26 49 4e 50 55 54 53 20 7d 2c 0a 20 20 20 20 20  &INPUTS },.     
8f20: 20 20 20 20 20 20 20 6f 75 74 70 75 74 3a 20 26         output: &
8f30: 3a 3a 55 36 34 2c 0a 20 20 20 20 20 20 20 20 20  ::U64,.         
8f40: 20 20 20 64 65 66 69 6e 69 74 69 6f 6e 3a 20 4e     definition: N
8f50: 61 6d 65 64 28 22 6c 6c 76 6d 2e 78 38 36 2e 62  amed("llvm.x86.b
8f60: 6d 69 2e 70 64 65 70 2e 36 34 22 29 0a 20 20 20  mi.pdep.64").   
8f70: 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20       },.        
8f80: 22 5f 62 6d 69 32 5f 70 65 78 74 5f 33 32 22 20  "_bmi2_pext_32" 
8f90: 3d 3e 20 49 6e 74 72 69 6e 73 69 63 20 7b 0a 20  => Intrinsic {. 
8fa0: 20 20 20 20 20 20 20 20 20 20 20 69 6e 70 75 74             input
8fb0: 73 3a 20 7b 20 73 74 61 74 69 63 20 49 4e 50 55  s: { static INPU
8fc0: 54 53 3a 20 5b 26 27 73 74 61 74 69 63 20 54 79  TS: [&'static Ty
8fd0: 70 65 3b 20 32 5d 20 3d 20 5b 26 3a 3a 55 33 32  pe; 2] = [&::U32
8fe0: 2c 20 26 3a 3a 55 33 32 5d 3b 20 26 49 4e 50 55  , &::U32]; &INPU
8ff0: 54 53 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20  TS },.          
9000: 20 20 6f 75 74 70 75 74 3a 20 26 3a 3a 55 33 32    output: &::U32
9010: 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 64 65  ,.            de
9020: 66 69 6e 69 74 69 6f 6e 3a 20 4e 61 6d 65 64 28  finition: Named(
9030: 22 6c 6c 76 6d 2e 78 38 36 2e 62 6d 69 2e 70 65  "llvm.x86.bmi.pe
9040: 78 74 2e 33 32 22 29 0a 20 20 20 20 20 20 20 20  xt.32").        
9050: 7d 2c 0a 20 20 20 20 20 20 20 20 22 5f 62 6d 69  },.        "_bmi
9060: 32 5f 70 65 78 74 5f 36 34 22 20 3d 3e 20 49 6e  2_pext_64" => In
9070: 74 72 69 6e 73 69 63 20 7b 0a 20 20 20 20 20 20  trinsic {.      
9080: 20 20 20 20 20 20 69 6e 70 75 74 73 3a 20 7b 20        inputs: { 
9090: 73 74 61 74 69 63 20 49 4e 50 55 54 53 3a 20 5b  static INPUTS: [
90a0: 26 27 73 74 61 74 69 63 20 54 79 70 65 3b 20 32  &'static Type; 2
90b0: 5d 20 3d 20 5b 26 3a 3a 55 36 34 2c 20 26 3a 3a  ] = [&::U64, &::
90c0: 55 36 34 5d 3b 20 26 49 4e 50 55 54 53 20 7d 2c  U64]; &INPUTS },
90d0: 0a 20 20 20 20 20 20 20 20 20 20 20 20 6f 75 74  .            out
90e0: 70 75 74 3a 20 26 3a 3a 55 36 34 2c 0a 20 20 20  put: &::U64,.   
90f0: 20 20 20 20 20 20 20 20 20 64 65 66 69 6e 69 74           definit
9100: 69 6f 6e 3a 20 4e 61 6d 65 64 28 22 6c 6c 76 6d  ion: Named("llvm
9110: 2e 78 38 36 2e 62 6d 69 2e 70 65 78 74 2e 36 34  .x86.bmi.pext.64
9120: 22 29 0a 20 20 20 20 20 20 20 20 7d 2c 0a 20 20  ").        },.  
9130: 20 20 20 20 20 20 22 5f 62 6d 69 5f 62 65 78 74        "_bmi_bext
9140: 72 5f 33 32 22 20 3d 3e 20 49 6e 74 72 69 6e 73  r_32" => Intrins
9150: 69 63 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20  ic {.           
9160: 20 69 6e 70 75 74 73 3a 20 7b 20 73 74 61 74 69   inputs: { stati
9170: 63 20 49 4e 50 55 54 53 3a 20 5b 26 27 73 74 61  c INPUTS: [&'sta
9180: 74 69 63 20 54 79 70 65 3b 20 32 5d 20 3d 20 5b  tic Type; 2] = [
9190: 26 3a 3a 55 33 32 2c 20 26 3a 3a 55 33 32 5d 3b  &::U32, &::U32];
91a0: 20 26 49 4e 50 55 54 53 20 7d 2c 0a 20 20 20 20   &INPUTS },.    
91b0: 20 20 20 20 20 20 20 20 6f 75 74 70 75 74 3a 20          output: 
91c0: 26 3a 3a 55 33 32 2c 0a 20 20 20 20 20 20 20 20  &::U32,.        
91d0: 20 20 20 20 64 65 66 69 6e 69 74 69 6f 6e 3a 20      definition: 
91e0: 4e 61 6d 65 64 28 22 6c 6c 76 6d 2e 78 38 36 2e  Named("llvm.x86.
91f0: 62 6d 69 2e 62 65 78 74 72 2e 33 32 22 29 0a 20  bmi.bextr.32"). 
9200: 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20         },.      
9210: 20 20 22 5f 62 6d 69 5f 62 65 78 74 72 5f 36 34    "_bmi_bextr_64
9220: 22 20 3d 3e 20 49 6e 74 72 69 6e 73 69 63 20 7b  " => Intrinsic {
9230: 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 6e 70  .            inp
9240: 75 74 73 3a 20 7b 20 73 74 61 74 69 63 20 49 4e  uts: { static IN
9250: 50 55 54 53 3a 20 5b 26 27 73 74 61 74 69 63 20  PUTS: [&'static 
9260: 54 79 70 65 3b 20 32 5d 20 3d 20 5b 26 3a 3a 55  Type; 2] = [&::U
9270: 36 34 2c 20 26 3a 3a 55 36 34 5d 3b 20 26 49 4e  64, &::U64]; &IN
9280: 50 55 54 53 20 7d 2c 0a 20 20 20 20 20 20 20 20  PUTS },.        
9290: 20 20 20 20 6f 75 74 70 75 74 3a 20 26 3a 3a 55      output: &::U
92a0: 36 34 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20  64,.            
92b0: 64 65 66 69 6e 69 74 69 6f 6e 3a 20 4e 61 6d 65  definition: Name
92c0: 64 28 22 6c 6c 76 6d 2e 78 38 36 2e 62 6d 69 2e  d("llvm.x86.bmi.
92d0: 62 65 78 74 72 2e 36 34 22 29 0a 20 20 20 20 20  bextr.64").     
92e0: 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 22 5f     },.        "_
92f0: 6d 6d 5f 66 6d 61 64 64 5f 70 73 22 20 3d 3e 20  mm_fmadd_ps" => 
9300: 49 6e 74 72 69 6e 73 69 63 20 7b 0a 20 20 20 20  Intrinsic {.    
9310: 20 20 20 20 20 20 20 20 69 6e 70 75 74 73 3a 20          inputs: 
9320: 7b 20 73 74 61 74 69 63 20 49 4e 50 55 54 53 3a  { static INPUTS:
9330: 20 5b 26 27 73 74 61 74 69 63 20 54 79 70 65 3b   [&'static Type;
9340: 20 33 5d 20 3d 20 5b 26 3a 3a 46 33 32 78 34 2c   3] = [&::F32x4,
9350: 20 26 3a 3a 46 33 32 78 34 2c 20 26 3a 3a 46 33   &::F32x4, &::F3
9360: 32 78 34 5d 3b 20 26 49 4e 50 55 54 53 20 7d 2c  2x4]; &INPUTS },
9370: 0a 20 20 20 20 20 20 20 20 20 20 20 20 6f 75 74  .            out
9380: 70 75 74 3a 20 26 3a 3a 46 33 32 78 34 2c 0a 20  put: &::F32x4,. 
9390: 20 20 20 20 20 20 20 20 20 20 20 64 65 66 69 6e             defin
93a0: 69 74 69 6f 6e 3a 20 4e 61 6d 65 64 28 22 6c 6c  ition: Named("ll
93b0: 76 6d 2e 78 38 36 2e 66 6d 61 2e 76 66 6d 61 64  vm.x86.fma.vfmad
93c0: 64 2e 70 73 22 29 0a 20 20 20 20 20 20 20 20 7d  d.ps").        }
93d0: 2c 0a 20 20 20 20 20 20 20 20 22 5f 6d 6d 5f 66  ,.        "_mm_f
93e0: 6d 61 64 64 5f 70 64 22 20 3d 3e 20 49 6e 74 72  madd_pd" => Intr
93f0: 69 6e 73 69 63 20 7b 0a 20 20 20 20 20 20 20 20  insic {.        
9400: 20 20 20 20 69 6e 70 75 74 73 3a 20 7b 20 73 74      inputs: { st
9410: 61 74 69 63 20 49 4e 50 55 54 53 3a 20 5b 26 27  atic INPUTS: [&'
9420: 73 74 61 74 69 63 20 54 79 70 65 3b 20 33 5d 20  static Type; 3] 
9430: 3d 20 5b 26 3a 3a 46 36 34 78 32 2c 20 26 3a 3a  = [&::F64x2, &::
9440: 46 36 34 78 32 2c 20 26 3a 3a 46 36 34 78 32 5d  F64x2, &::F64x2]
9450: 3b 20 26 49 4e 50 55 54 53 20 7d 2c 0a 20 20 20  ; &INPUTS },.   
9460: 20 20 20 20 20 20 20 20 20 6f 75 74 70 75 74 3a           output:
9470: 20 26 3a 3a 46 36 34 78 32 2c 0a 20 20 20 20 20   &::F64x2,.     
9480: 20 20 20 20 20 20 20 64 65 66 69 6e 69 74 69 6f         definitio
9490: 6e 3a 20 4e 61 6d 65 64 28 22 6c 6c 76 6d 2e 78  n: Named("llvm.x
94a0: 38 36 2e 66 6d 61 2e 76 66 6d 61 64 64 2e 70 64  86.fma.vfmadd.pd
94b0: 22 29 0a 20 20 20 20 20 20 20 20 7d 2c 0a 20 20  ").        },.  
94c0: 20 20 20 20 20 20 22 5f 6d 6d 32 35 36 5f 66 6d        "_mm256_fm
94d0: 61 64 64 5f 70 73 22 20 3d 3e 20 49 6e 74 72 69  add_ps" => Intri
94e0: 6e 73 69 63 20 7b 0a 20 20 20 20 20 20 20 20 20  nsic {.         
94f0: 20 20 20 69 6e 70 75 74 73 3a 20 7b 20 73 74 61     inputs: { sta
9500: 74 69 63 20 49 4e 50 55 54 53 3a 20 5b 26 27 73  tic INPUTS: [&'s
9510: 74 61 74 69 63 20 54 79 70 65 3b 20 33 5d 20 3d  tatic Type; 3] =
9520: 20 5b 26 3a 3a 46 33 32 78 38 2c 20 26 3a 3a 46   [&::F32x8, &::F
9530: 33 32 78 38 2c 20 26 3a 3a 46 33 32 78 38 5d 3b  32x8, &::F32x8];
9540: 20 26 49 4e 50 55 54 53 20 7d 2c 0a 20 20 20 20   &INPUTS },.    
9550: 20 20 20 20 20 20 20 20 6f 75 74 70 75 74 3a 20          output: 
9560: 26 3a 3a 46 33 32 78 38 2c 0a 20 20 20 20 20 20  &::F32x8,.      
9570: 20 20 20 20 20 20 64 65 66 69 6e 69 74 69 6f 6e        definition
9580: 3a 20 4e 61 6d 65 64 28 22 6c 6c 76 6d 2e 78 38  : Named("llvm.x8
9590: 36 2e 66 6d 61 2e 76 66 6d 61 64 64 2e 70 73 2e  6.fma.vfmadd.ps.
95a0: 32 35 36 22 29 0a 20 20 20 20 20 20 20 20 7d 2c  256").        },
95b0: 0a 20 20 20 20 20 20 20 20 22 5f 6d 6d 32 35 36  .        "_mm256
95c0: 5f 66 6d 61 64 64 5f 70 64 22 20 3d 3e 20 49 6e  _fmadd_pd" => In
95d0: 74 72 69 6e 73 69 63 20 7b 0a 20 20 20 20 20 20  trinsic {.      
95e0: 20 20 20 20 20 20 69 6e 70 75 74 73 3a 20 7b 20        inputs: { 
95f0: 73 74 61 74 69 63 20 49 4e 50 55 54 53 3a 20 5b  static INPUTS: [
9600: 26 27 73 74 61 74 69 63 20 54 79 70 65 3b 20 33  &'static Type; 3
9610: 5d 20 3d 20 5b 26 3a 3a 46 36 34 78 34 2c 20 26  ] = [&::F64x4, &
9620: 3a 3a 46 36 34 78 34 2c 20 26 3a 3a 46 36 34 78  ::F64x4, &::F64x
9630: 34 5d 3b 20 26 49 4e 50 55 54 53 20 7d 2c 0a 20  4]; &INPUTS },. 
9640: 20 20 20 20 20 20 20 20 20 20 20 6f 75 74 70 75             outpu
9650: 74 3a 20 26 3a 3a 46 36 34 78 34 2c 0a 20 20 20  t: &::F64x4,.   
9660: 20 20 20 20 20 20 20 20 20 64 65 66 69 6e 69 74           definit
9670: 69 6f 6e 3a 20 4e 61 6d 65 64 28 22 6c 6c 76 6d  ion: Named("llvm
9680: 2e 78 38 36 2e 66 6d 61 2e 76 66 6d 61 64 64 2e  .x86.fma.vfmadd.
9690: 70 64 2e 32 35 36 22 29 0a 20 20 20 20 20 20 20  pd.256").       
96a0: 20 7d 2c 0a 20 20 20 20 20 20 20 20 22 5f 6d 6d   },.        "_mm
96b0: 5f 66 6d 61 64 64 73 75 62 5f 70 73 22 20 3d 3e  _fmaddsub_ps" =>
96c0: 20 49 6e 74 72 69 6e 73 69 63 20 7b 0a 20 20 20   Intrinsic {.   
96d0: 20 20 20 20 20 20 20 20 20 69 6e 70 75 74 73 3a           inputs:
96e0: 20 7b 20 73 74 61 74 69 63 20 49 4e 50 55 54 53   { static INPUTS
96f0: 3a 20 5b 26 27 73 74 61 74 69 63 20 54 79 70 65  : [&'static Type
9700: 3b 20 33 5d 20 3d 20 5b 26 3a 3a 46 33 32 78 34  ; 3] = [&::F32x4
9710: 2c 20 26 3a 3a 46 33 32 78 34 2c 20 26 3a 3a 46  , &::F32x4, &::F
9720: 33 32 78 34 5d 3b 20 26 49 4e 50 55 54 53 20 7d  32x4]; &INPUTS }
9730: 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 6f 75  ,.            ou
9740: 74 70 75 74 3a 20 26 3a 3a 46 33 32 78 34 2c 0a  tput: &::F32x4,.
9750: 20 20 20 20 20 20 20 20 20 20 20 20 64 65 66 69              defi
9760: 6e 69 74 69 6f 6e 3a 20 4e 61 6d 65 64 28 22 6c  nition: Named("l
9770: 6c 76 6d 2e 78 38 36 2e 66 6d 61 2e 76 66 6d 61  lvm.x86.fma.vfma
9780: 64 64 73 75 62 2e 70 73 22 29 0a 20 20 20 20 20  ddsub.ps").     
9790: 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 22 5f     },.        "_
97a0: 6d 6d 5f 66 6d 61 64 64 73 75 62 5f 70 64 22 20  mm_fmaddsub_pd" 
97b0: 3d 3e 20 49 6e 74 72 69 6e 73 69 63 20 7b 0a 20  => Intrinsic {. 
97c0: 20 20 20 20 20 20 20 20 20 20 20 69 6e 70 75 74             input
97d0: 73 3a 20 7b 20 73 74 61 74 69 63 20 49 4e 50 55  s: { static INPU
97e0: 54 53 3a 20 5b 26 27 73 74 61 74 69 63 20 54 79  TS: [&'static Ty
97f0: 70 65 3b 20 33 5d 20 3d 20 5b 26 3a 3a 46 36 34  pe; 3] = [&::F64
9800: 78 32 2c 20 26 3a 3a 46 36 34 78 32 2c 20 26 3a  x2, &::F64x2, &:
9810: 3a 46 36 34 78 32 5d 3b 20 26 49 4e 50 55 54 53  :F64x2]; &INPUTS
9820: 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20   },.            
9830: 6f 75 74 70 75 74 3a 20 26 3a 3a 46 36 34 78 32  output: &::F64x2
9840: 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 64 65  ,.            de
9850: 66 69 6e 69 74 69 6f 6e 3a 20 4e 61 6d 65 64 28  finition: Named(
9860: 22 6c 6c 76 6d 2e 78 38 36 2e 66 6d 61 2e 76 66  "llvm.x86.fma.vf
9870: 6d 61 64 64 73 75 62 2e 70 64 22 29 0a 20 20 20  maddsub.pd").   
9880: 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20       },.        
9890: 22 5f 6d 6d 32 35 36 5f 66 6d 61 64 64 73 75 62  "_mm256_fmaddsub
98a0: 5f 70 73 22 20 3d 3e 20 49 6e 74 72 69 6e 73 69  _ps" => Intrinsi
98b0: 63 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20  c {.            
98c0: 69 6e 70 75 74 73 3a 20 7b 20 73 74 61 74 69 63  inputs: { static
98d0: 20 49 4e 50 55 54 53 3a 20 5b 26 27 73 74 61 74   INPUTS: [&'stat
98e0: 69 63 20 54 79 70 65 3b 20 33 5d 20 3d 20 5b 26  ic Type; 3] = [&
98f0: 3a 3a 46 33 32 78 38 2c 20 26 3a 3a 46 33 32 78  ::F32x8, &::F32x
9900: 38 2c 20 26 3a 3a 46 33 32 78 38 5d 3b 20 26 49  8, &::F32x8]; &I
9910: 4e 50 55 54 53 20 7d 2c 0a 20 20 20 20 20 20 20  NPUTS },.       
9920: 20 20 20 20 20 6f 75 74 70 75 74 3a 20 26 3a 3a       output: &::
9930: 46 33 32 78 38 2c 0a 20 20 20 20 20 20 20 20 20  F32x8,.         
9940: 20 20 20 64 65 66 69 6e 69 74 69 6f 6e 3a 20 4e     definition: N
9950: 61 6d 65 64 28 22 6c 6c 76 6d 2e 78 38 36 2e 66  amed("llvm.x86.f
9960: 6d 61 2e 76 66 6d 61 64 64 73 75 62 2e 70 73 2e  ma.vfmaddsub.ps.
9970: 32 35 36 22 29 0a 20 20 20 20 20 20 20 20 7d 2c  256").        },
9980: 0a 20 20 20 20 20 20 20 20 22 5f 6d 6d 32 35 36  .        "_mm256
9990: 5f 66 6d 61 64 64 73 75 62 5f 70 64 22 20 3d 3e  _fmaddsub_pd" =>
99a0: 20 49 6e 74 72 69 6e 73 69 63 20 7b 0a 20 20 20   Intrinsic {.   
99b0: 20 20 20 20 20 20 20 20 20 69 6e 70 75 74 73 3a           inputs:
99c0: 20 7b 20 73 74 61 74 69 63 20 49 4e 50 55 54 53   { static INPUTS
99d0: 3a 20 5b 26 27 73 74 61 74 69 63 20 54 79 70 65  : [&'static Type
99e0: 3b 20 33 5d 20 3d 20 5b 26 3a 3a 46 36 34 78 34  ; 3] = [&::F64x4
99f0: 2c 20 26 3a 3a 46 36 34 78 34 2c 20 26 3a 3a 46  , &::F64x4, &::F
9a00: 36 34 78 34 5d 3b 20 26 49 4e 50 55 54 53 20 7d  64x4]; &INPUTS }
9a10: 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 6f 75  ,.            ou
9a20: 74 70 75 74 3a 20 26 3a 3a 46 36 34 78 34 2c 0a  tput: &::F64x4,.
9a30: 20 20 20 20 20 20 20 20 20 20 20 20 64 65 66 69              defi
9a40: 6e 69 74 69 6f 6e 3a 20 4e 61 6d 65 64 28 22 6c  nition: Named("l
9a50: 6c 76 6d 2e 78 38 36 2e 66 6d 61 2e 76 66 6d 61  lvm.x86.fma.vfma
9a60: 64 64 73 75 62 2e 70 64 2e 32 35 36 22 29 0a 20  ddsub.pd.256"). 
9a70: 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20         },.      
9a80: 20 20 22 5f 6d 6d 5f 66 6d 73 75 62 5f 70 73 22    "_mm_fmsub_ps"
9a90: 20 3d 3e 20 49 6e 74 72 69 6e 73 69 63 20 7b 0a   => Intrinsic {.
9aa0: 20 20 20 20 20 20 20 20 20 20 20 20 69 6e 70 75              inpu
9ab0: 74 73 3a 20 7b 20 73 74 61 74 69 63 20 49 4e 50  ts: { static INP
9ac0: 55 54 53 3a 20 5b 26 27 73 74 61 74 69 63 20 54  UTS: [&'static T
9ad0: 79 70 65 3b 20 33 5d 20 3d 20 5b 26 3a 3a 46 33  ype; 3] = [&::F3
9ae0: 32 78 34 2c 20 26 3a 3a 46 33 32 78 34 2c 20 26  2x4, &::F32x4, &
9af0: 3a 3a 46 33 32 78 34 5d 3b 20 26 49 4e 50 55 54  ::F32x4]; &INPUT
9b00: 53 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20  S },.           
9b10: 20 6f 75 74 70 75 74 3a 20 26 3a 3a 46 33 32 78   output: &::F32x
9b20: 34 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 64  4,.            d
9b30: 65 66 69 6e 69 74 69 6f 6e 3a 20 4e 61 6d 65 64  efinition: Named
9b40: 28 22 6c 6c 76 6d 2e 78 38 36 2e 66 6d 61 2e 76  ("llvm.x86.fma.v
9b50: 66 6d 73 75 62 2e 70 73 22 29 0a 20 20 20 20 20  fmsub.ps").     
9b60: 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 22 5f     },.        "_
9b70: 6d 6d 5f 66 6d 73 75 62 5f 70 64 22 20 3d 3e 20  mm_fmsub_pd" => 
9b80: 49 6e 74 72 69 6e 73 69 63 20 7b 0a 20 20 20 20  Intrinsic {.    
9b90: 20 20 20 20 20 20 20 20 69 6e 70 75 74 73 3a 20          inputs: 
9ba0: 7b 20 73 74 61 74 69 63 20 49 4e 50 55 54 53 3a  { static INPUTS:
9bb0: 20 5b 26 27 73 74 61 74 69 63 20 54 79 70 65 3b   [&'static Type;
9bc0: 20 33 5d 20 3d 20 5b 26 3a 3a 46 36 34 78 32 2c   3] = [&::F64x2,
9bd0: 20 26 3a 3a 46 36 34 78 32 2c 20 26 3a 3a 46 36   &::F64x2, &::F6
9be0: 34 78 32 5d 3b 20 26 49 4e 50 55 54 53 20 7d 2c  4x2]; &INPUTS },
9bf0: 0a 20 20 20 20 20 20 20 20 20 20 20 20 6f 75 74  .            out
9c00: 70 75 74 3a 20 26 3a 3a 46 36 34 78 32 2c 0a 20  put: &::F64x2,. 
9c10: 20 20 20 20 20 20 20 20 20 20 20 64 65 66 69 6e             defin
9c20: 69 74 69 6f 6e 3a 20 4e 61 6d 65 64 28 22 6c 6c  ition: Named("ll
9c30: 76 6d 2e 78 38 36 2e 66 6d 61 2e 76 66 6d 73 75  vm.x86.fma.vfmsu
9c40: 62 2e 70 64 22 29 0a 20 20 20 20 20 20 20 20 7d  b.pd").        }
9c50: 2c 0a 20 20 20 20 20 20 20 20 22 5f 6d 6d 32 35  ,.        "_mm25
9c60: 36 5f 66 6d 73 75 62 5f 70 73 22 20 3d 3e 20 49  6_fmsub_ps" => I
9c70: 6e 74 72 69 6e 73 69 63 20 7b 0a 20 20 20 20 20  ntrinsic {.     
9c80: 20 20 20 20 20 20 20 69 6e 70 75 74 73 3a 20 7b         inputs: {
9c90: 20 73 74 61 74 69 63 20 49 4e 50 55 54 53 3a 20   static INPUTS: 
9ca0: 5b 26 27 73 74 61 74 69 63 20 54 79 70 65 3b 20  [&'static Type; 
9cb0: 33 5d 20 3d 20 5b 26 3a 3a 46 33 32 78 38 2c 20  3] = [&::F32x8, 
9cc0: 26 3a 3a 46 33 32 78 38 2c 20 26 3a 3a 46 33 32  &::F32x8, &::F32
9cd0: 78 38 5d 3b 20 26 49 4e 50 55 54 53 20 7d 2c 0a  x8]; &INPUTS },.
9ce0: 20 20 20 20 20 20 20 20 20 20 20 20 6f 75 74 70              outp
9cf0: 75 74 3a 20 26 3a 3a 46 33 32 78 38 2c 0a 20 20  ut: &::F32x8,.  
9d00: 20 20 20 20 20 20 20 20 20 20 64 65 66 69 6e 69            defini
9d10: 74 69 6f 6e 3a 20 4e 61 6d 65 64 28 22 6c 6c 76  tion: Named("llv
9d20: 6d 2e 78 38 36 2e 66 6d 61 2e 76 66 6d 73 75 62  m.x86.fma.vfmsub
9d30: 2e 70 73 2e 32 35 36 22 29 0a 20 20 20 20 20 20  .ps.256").      
9d40: 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 22 5f 6d    },.        "_m
9d50: 6d 32 35 36 5f 66 6d 73 75 62 5f 70 64 22 20 3d  m256_fmsub_pd" =
9d60: 3e 20 49 6e 74 72 69 6e 73 69 63 20 7b 0a 20 20  > Intrinsic {.  
9d70: 20 20 20 20 20 20 20 20 20 20 69 6e 70 75 74 73            inputs
9d80: 3a 20 7b 20 73 74 61 74 69 63 20 49 4e 50 55 54  : { static INPUT
9d90: 53 3a 20 5b 26 27 73 74 61 74 69 63 20 54 79 70  S: [&'static Typ
9da0: 65 3b 20 33 5d 20 3d 20 5b 26 3a 3a 46 36 34 78  e; 3] = [&::F64x
9db0: 34 2c 20 26 3a 3a 46 36 34 78 34 2c 20 26 3a 3a  4, &::F64x4, &::
9dc0: 46 36 34 78 34 5d 3b 20 26 49 4e 50 55 54 53 20  F64x4]; &INPUTS 
9dd0: 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 6f  },.            o
9de0: 75 74 70 75 74 3a 20 26 3a 3a 46 36 34 78 34 2c  utput: &::F64x4,
9df0: 0a 20 20 20 20 20 20 20 20 20 20 20 20 64 65 66  .            def
9e00: 69 6e 69 74 69 6f 6e 3a 20 4e 61 6d 65 64 28 22  inition: Named("
9e10: 6c 6c 76 6d 2e 78 38 36 2e 66 6d 61 2e 76 66 6d  llvm.x86.fma.vfm
9e20: 73 75 62 2e 70 64 2e 32 35 36 22 29 0a 20 20 20  sub.pd.256").   
9e30: 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20       },.        
9e40: 22 5f 6d 6d 5f 66 6d 73 75 62 61 64 64 5f 70 73  "_mm_fmsubadd_ps
9e50: 22 20 3d 3e 20 49 6e 74 72 69 6e 73 69 63 20 7b  " => Intrinsic {
9e60: 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 6e 70  .            inp
9e70: 75 74 73 3a 20 7b 20 73 74 61 74 69 63 20 49 4e  uts: { static IN
9e80: 50 55 54 53 3a 20 5b 26 27 73 74 61 74 69 63 20  PUTS: [&'static 
9e90: 54 79 70 65 3b 20 33 5d 20 3d 20 5b 26 3a 3a 46  Type; 3] = [&::F
9ea0: 33 32 78 34 2c 20 26 3a 3a 46 33 32 78 34 2c 20  32x4, &::F32x4, 
9eb0: 26 3a 3a 46 33 32 78 34 5d 3b 20 26 49 4e 50 55  &::F32x4]; &INPU
9ec0: 54 53 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20  TS },.          
9ed0: 20 20 6f 75 74 70 75 74 3a 20 26 3a 3a 46 33 32    output: &::F32
9ee0: 78 34 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20  x4,.            
9ef0: 64 65 66 69 6e 69 74 69 6f 6e 3a 20 4e 61 6d 65  definition: Name
9f00: 64 28 22 6c 6c 76 6d 2e 78 38 36 2e 66 6d 61 2e  d("llvm.x86.fma.
9f10: 76 66 6d 73 75 62 61 64 64 2e 70 73 22 29 0a 20  vfmsubadd.ps"). 
9f20: 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20         },.      
9f30: 20 20 22 5f 6d 6d 5f 66 6d 73 75 62 61 64 64 5f    "_mm_fmsubadd_
9f40: 70 64 22 20 3d 3e 20 49 6e 74 72 69 6e 73 69 63  pd" => Intrinsic
9f50: 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69   {.            i
9f60: 6e 70 75 74 73 3a 20 7b 20 73 74 61 74 69 63 20  nputs: { static 
9f70: 49 4e 50 55 54 53 3a 20 5b 26 27 73 74 61 74 69  INPUTS: [&'stati
9f80: 63 20 54 79 70 65 3b 20 33 5d 20 3d 20 5b 26 3a  c Type; 3] = [&:
9f90: 3a 46 36 34 78 32 2c 20 26 3a 3a 46 36 34 78 32  :F64x2, &::F64x2
9fa0: 2c 20 26 3a 3a 46 36 34 78 32 5d 3b 20 26 49 4e  , &::F64x2]; &IN
9fb0: 50 55 54 53 20 7d 2c 0a 20 20 20 20 20 20 20 20  PUTS },.        
9fc0: 20 20 20 20 6f 75 74 70 75 74 3a 20 26 3a 3a 46      output: &::F
9fd0: 36 34 78 32 2c 0a 20 20 20 20 20 20 20 20 20 20  64x2,.          
9fe0: 20 20 64 65 66 69 6e 69 74 69 6f 6e 3a 20 4e 61    definition: Na
9ff0: 6d 65 64 28 22 6c 6c 76 6d 2e 78 38 36 2e 66 6d  med("llvm.x86.fm
a000: 61 2e 76 66 6d 73 75 62 61 64 64 2e 70 64 22 29  a.vfmsubadd.pd")
a010: 0a 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20  .        },.    
a020: 20 20 20 20 22 5f 6d 6d 32 35 36 5f 66 6d 73 75      "_mm256_fmsu
a030: 62 61 64 64 5f 70 73 22 20 3d 3e 20 49 6e 74 72  badd_ps" => Intr
a040: 69 6e 73 69 63 20 7b 0a 20 20 20 20 20 20 20 20  insic {.        
a050: 20 20 20 20 69 6e 70 75 74 73 3a 20 7b 20 73 74      inputs: { st
a060: 61 74 69 63 20 49 4e 50 55 54 53 3a 20 5b 26 27  atic INPUTS: [&'
a070: 73 74 61 74 69 63 20 54 79 70 65 3b 20 33 5d 20  static Type; 3] 
a080: 3d 20 5b 26 3a 3a 46 33 32 78 38 2c 20 26 3a 3a  = [&::F32x8, &::
a090: 46 33 32 78 38 2c 20 26 3a 3a 46 33 32 78 38 5d  F32x8, &::F32x8]
a0a0: 3b 20 26 49 4e 50 55 54 53 20 7d 2c 0a 20 20 20  ; &INPUTS },.   
a0b0: 20 20 20 20 20 20 20 20 20 6f 75 74 70 75 74 3a           output:
a0c0: 20 26 3a 3a 46 33 32 78 38 2c 0a 20 20 20 20 20   &::F32x8,.     
a0d0: 20 20 20 20 20 20 20 64 65 66 69 6e 69 74 69 6f         definitio
a0e0: 6e 3a 20 4e 61 6d 65 64 28 22 6c 6c 76 6d 2e 78  n: Named("llvm.x
a0f0: 38 36 2e 66 6d 61 2e 76 66 6d 73 75 62 61 64 64  86.fma.vfmsubadd
a100: 2e 70 73 2e 32 35 36 22 29 0a 20 20 20 20 20 20  .ps.256").      
a110: 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 22 5f 6d    },.        "_m
a120: 6d 32 35 36 5f 66 6d 73 75 62 61 64 64 5f 70 64  m256_fmsubadd_pd
a130: 22 20 3d 3e 20 49 6e 74 72 69 6e 73 69 63 20 7b  " => Intrinsic {
a140: 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 6e 70  .            inp
a150: 75 74 73 3a 20 7b 20 73 74 61 74 69 63 20 49 4e  uts: { static IN
a160: 50 55 54 53 3a 20 5b 26 27 73 74 61 74 69 63 20  PUTS: [&'static 
a170: 54 79 70 65 3b 20 33 5d 20 3d 20 5b 26 3a 3a 46  Type; 3] = [&::F
a180: 36 34 78 34 2c 20 26 3a 3a 46 36 34 78 34 2c 20  64x4, &::F64x4, 
a190: 26 3a 3a 46 36 34 78 34 5d 3b 20 26 49 4e 50 55  &::F64x4]; &INPU
a1a0: 54 53 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20  TS },.          
a1b0: 20 20 6f 75 74 70 75 74 3a 20 26 3a 3a 46 36 34    output: &::F64
a1c0: 78 34 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20  x4,.            
a1d0: 64 65 66 69 6e 69 74 69 6f 6e 3a 20 4e 61 6d 65  definition: Name
a1e0: 64 28 22 6c 6c 76 6d 2e 78 38 36 2e 66 6d 61 2e  d("llvm.x86.fma.
a1f0: 76 66 6d 73 75 62 61 64 64 2e 70 64 2e 32 35 36  vfmsubadd.pd.256
a200: 22 29 0a 20 20 20 20 20 20 20 20 7d 2c 0a 20 20  ").        },.  
a210: 20 20 20 20 20 20 22 5f 6d 6d 5f 66 6e 6d 61 64        "_mm_fnmad
a220: 64 5f 70 73 22 20 3d 3e 20 49 6e 74 72 69 6e 73  d_ps" => Intrins
a230: 69 63 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20  ic {.           
a240: 20 69 6e 70 75 74 73 3a 20 7b 20 73 74 61 74 69   inputs: { stati
a250: 63 20 49 4e 50 55 54 53 3a 20 5b 26 27 73 74 61  c INPUTS: [&'sta
a260: 74 69 63 20 54 79 70 65 3b 20 33 5d 20 3d 20 5b  tic Type; 3] = [
a270: 26 3a 3a 46 33 32 78 34 2c 20 26 3a 3a 46 33 32  &::F32x4, &::F32
a280: 78 34 2c 20 26 3a 3a 46 33 32 78 34 5d 3b 20 26  x4, &::F32x4]; &
a290: 49 4e 50 55 54 53 20 7d 2c 0a 20 20 20 20 20 20  INPUTS },.      
a2a0: 20 20 20 20 20 20 6f 75 74 70 75 74 3a 20 26 3a        output: &:
a2b0: 3a 46 33 32 78 34 2c 0a 20 20 20 20 20 20 20 20  :F32x4,.        
a2c0: 20 20 20 20 64 65 66 69 6e 69 74 69 6f 6e 3a 20      definition: 
a2d0: 4e 61 6d 65 64 28 22 6c 6c 76 6d 2e 78 38 36 2e  Named("llvm.x86.
a2e0: 66 6d 61 2e 76 66 6e 6d 61 64 64 2e 70 73 22 29  fma.vfnmadd.ps")
a2f0: 0a 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20  .        },.    
a300: 20 20 20 20 22 5f 6d 6d 5f 66 6e 6d 61 64 64 5f      "_mm_fnmadd_
a310: 70 64 22 20 3d 3e 20 49 6e 74 72 69 6e 73 69 63  pd" => Intrinsic
a320: 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69   {.            i
a330: 6e 70 75 74 73 3a 20 7b 20 73 74 61 74 69 63 20  nputs: { static 
a340: 49 4e 50 55 54 53 3a 20 5b 26 27 73 74 61 74 69  INPUTS: [&'stati
a350: 63 20 54 79 70 65 3b 20 33 5d 20 3d 20 5b 26 3a  c Type; 3] = [&:
a360: 3a 46 36 34 78 32 2c 20 26 3a 3a 46 36 34 78 32  :F64x2, &::F64x2
a370: 2c 20 26 3a 3a 46 36 34 78 32 5d 3b 20 26 49 4e  , &::F64x2]; &IN
a380: 50 55 54 53 20 7d 2c 0a 20 20 20 20 20 20 20 20  PUTS },.        
a390: 20 20 20 20 6f 75 74 70 75 74 3a 20 26 3a 3a 46      output: &::F
a3a0: 36 34 78 32 2c 0a 20 20 20 20 20 20 20 20 20 20  64x2,.          
a3b0: 20 20 64 65 66 69 6e 69 74 69 6f 6e 3a 20 4e 61    definition: Na
a3c0: 6d 65 64 28 22 6c 6c 76 6d 2e 78 38 36 2e 66 6d  med("llvm.x86.fm
a3d0: 61 2e 76 66 6e 6d 61 64 64 2e 70 64 22 29 0a 20  a.vfnmadd.pd"). 
a3e0: 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20         },.      
a3f0: 20 20 22 5f 6d 6d 32 35 36 5f 66 6e 6d 61 64 64    "_mm256_fnmadd
a400: 5f 70 73 22 20 3d 3e 20 49 6e 74 72 69 6e 73 69  _ps" => Intrinsi
a410: 63 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20  c {.            
a420: 69 6e 70 75 74 73 3a 20 7b 20 73 74 61 74 69 63  inputs: { static
a430: 20 49 4e 50 55 54 53 3a 20 5b 26 27 73 74 61 74   INPUTS: [&'stat
a440: 69 63 20 54 79 70 65 3b 20 33 5d 20 3d 20 5b 26  ic Type; 3] = [&
a450: 3a 3a 46 33 32 78 38 2c 20 26 3a 3a 46 33 32 78  ::F32x8, &::F32x
a460: 38 2c 20 26 3a 3a 46 33 32 78 38 5d 3b 20 26 49  8, &::F32x8]; &I
a470: 4e 50 55 54 53 20 7d 2c 0a 20 20 20 20 20 20 20  NPUTS },.       
a480: 20 20 20 20 20 6f 75 74 70 75 74 3a 20 26 3a 3a       output: &::
a490: 46 33 32 78 38 2c 0a 20 20 20 20 20 20 20 20 20  F32x8,.         
a4a0: 20 20 20 64 65 66 69 6e 69 74 69 6f 6e 3a 20 4e     definition: N
a4b0: 61 6d 65 64 28 22 6c 6c 76 6d 2e 78 38 36 2e 66  amed("llvm.x86.f
a4c0: 6d 61 2e 76 66 6e 6d 61 64 64 2e 70 73 2e 32 35  ma.vfnmadd.ps.25
a4d0: 36 22 29 0a 20 20 20 20 20 20 20 20 7d 2c 0a 20  6").        },. 
a4e0: 20 20 20 20 20 20 20 22 5f 6d 6d 32 35 36 5f 66         "_mm256_f
a4f0: 6e 6d 61 64 64 5f 70 64 22 20 3d 3e 20 49 6e 74  nmadd_pd" => Int
a500: 72 69 6e 73 69 63 20 7b 0a 20 20 20 20 20 20 20  rinsic {.       
a510: 20 20 20 20 20 69 6e 70 75 74 73 3a 20 7b 20 73       inputs: { s
a520: 74 61 74 69 63 20 49 4e 50 55 54 53 3a 20 5b 26  tatic INPUTS: [&
a530: 27 73 74 61 74 69 63 20 54 79 70 65 3b 20 33 5d  'static Type; 3]
a540: 20 3d 20 5b 26 3a 3a 46 36 34 78 34 2c 20 26 3a   = [&::F64x4, &:
a550: 3a 46 36 34 78 34 2c 20 26 3a 3a 46 36 34 78 34  :F64x4, &::F64x4
a560: 5d 3b 20 26 49 4e 50 55 54 53 20 7d 2c 0a 20 20  ]; &INPUTS },.  
a570: 20 20 20 20 20 20 20 20 20 20 6f 75 74 70 75 74            output
a580: 3a 20 26 3a 3a 46 36 34 78 34 2c 0a 20 20 20 20  : &::F64x4,.    
a590: 20 20 20 20 20 20 20 20 64 65 66 69 6e 69 74 69          definiti
a5a0: 6f 6e 3a 20 4e 61 6d 65 64 28 22 6c 6c 76 6d 2e  on: Named("llvm.
a5b0: 78 38 36 2e 66 6d 61 2e 76 66 6e 6d 61 64 64 2e  x86.fma.vfnmadd.
a5c0: 70 64 2e 32 35 36 22 29 0a 20 20 20 20 20 20 20  pd.256").       
a5d0: 20 7d 2c 0a 20 20 20 20 20 20 20 20 22 5f 6d 6d   },.        "_mm
a5e0: 5f 66 6e 6d 73 75 62 5f 70 73 22 20 3d 3e 20 49  _fnmsub_ps" => I
a5f0: 6e 74 72 69 6e 73 69 63 20 7b 0a 20 20 20 20 20  ntrinsic {.     
a600: 20 20 20 20 20 20 20 69 6e 70 75 74 73 3a 20 7b         inputs: {
a610: 20 73 74 61 74 69 63 20 49 4e 50 55 54 53 3a 20   static INPUTS: 
a620: 5b 26 27 73 74 61 74 69 63 20 54 79 70 65 3b 20  [&'static Type; 
a630: 33 5d 20 3d 20 5b 26 3a 3a 46 33 32 78 34 2c 20  3] = [&::F32x4, 
a640: 26 3a 3a 46 33 32 78 34 2c 20 26 3a 3a 46 33 32  &::F32x4, &::F32
a650: 78 34 5d 3b 20 26 49 4e 50 55 54 53 20 7d 2c 0a  x4]; &INPUTS },.
a660: 20 20 20 20 20 20 20 20 20 20 20 20 6f 75 74 70              outp
a670: 75 74 3a 20 26 3a 3a 46 33 32 78 34 2c 0a 20 20  ut: &::F32x4,.  
a680: 20 20 20 20 20 20 20 20 20 20 64 65 66 69 6e 69            defini
a690: 74 69 6f 6e 3a 20 4e 61 6d 65 64 28 22 6c 6c 76  tion: Named("llv
a6a0: 6d 2e 78 38 36 2e 66 6d 61 2e 76 66 6e 6d 73 75  m.x86.fma.vfnmsu
a6b0: 62 2e 70 73 22 29 0a 20 20 20 20 20 20 20 20 7d  b.ps").        }
a6c0: 2c 0a 20 20 20 20 20 20 20 20 22 5f 6d 6d 5f 66  ,.        "_mm_f
a6d0: 6e 6d 73 75 62 5f 70 64 22 20 3d 3e 20 49 6e 74  nmsub_pd" => Int
a6e0: 72 69 6e 73 69 63 20 7b 0a 20 20 20 20 20 20 20  rinsic {.       
a6f0: 20 20 20 20 20 69 6e 70 75 74 73 3a 20 7b 20 73       inputs: { s
a700: 74 61 74 69 63 20 49 4e 50 55 54 53 3a 20 5b 26  tatic INPUTS: [&
a710: 27 73 74 61 74 69 63 20 54 79 70 65 3b 20 33 5d  'static Type; 3]
a720: 20 3d 20 5b 26 3a 3a 46 36 34 78 32 2c 20 26 3a   = [&::F64x2, &:
a730: 3a 46 36 34 78 32 2c 20 26 3a 3a 46 36 34 78 32  :F64x2, &::F64x2
a740: 5d 3b 20 26 49 4e 50 55 54 53 20 7d 2c 0a 20 20  ]; &INPUTS },.  
a750: 20 20 20 20 20 20 20 20 20 20 6f 75 74 70 75 74            output
a760: 3a 20 26 3a 3a 46 36 34 78 32 2c 0a 20 20 20 20  : &::F64x2,.    
a770: 20 20 20 20 20 20 20 20 64 65 66 69 6e 69 74 69          definiti
a780: 6f 6e 3a 20 4e 61 6d 65 64 28 22 6c 6c 76 6d 2e  on: Named("llvm.
a790: 78 38 36 2e 66 6d 61 2e 76 66 6e 6d 73 75 62 2e  x86.fma.vfnmsub.
a7a0: 70 64 22 29 0a 20 20 20 20 20 20 20 20 7d 2c 0a  pd").        },.
a7b0: 20 20 20 20 20 20 20 20 22 5f 6d 6d 32 35 36 5f          "_mm256_
a7c0: 66 6e 6d 73 75 62 5f 70 73 22 20 3d 3e 20 49 6e  fnmsub_ps" => In
a7d0: 74 72 69 6e 73 69 63 20 7b 0a 20 20 20 20 20 20  trinsic {.      
a7e0: 20 20 20 20 20 20 69 6e 70 75 74 73 3a 20 7b 20        inputs: { 
a7f0: 73 74 61 74 69 63 20 49 4e 50 55 54 53 3a 20 5b  static INPUTS: [
a800: 26 27 73 74 61 74 69 63 20 54 79 70 65 3b 20 33  &'static Type; 3
a810: 5d 20 3d 20 5b 26 3a 3a 46 33 32 78 38 2c 20 26  ] = [&::F32x8, &
a820: 3a 3a 46 33 32 78 38 2c 20 26 3a 3a 46 33 32 78  ::F32x8, &::F32x
a830: 38 5d 3b 20 26 49 4e 50 55 54 53 20 7d 2c 0a 20  8]; &INPUTS },. 
a840: 20 20 20 20 20 20 20 20 20 20 20 6f 75 74 70 75             outpu
a850: 74 3a 20 26 3a 3a 46 33 32 78 38 2c 0a 20 20 20  t: &::F32x8,.   
a860: 20 20 20 20 20 20 20 20 20 64 65 66 69 6e 69 74           definit
a870: 69 6f 6e 3a 20 4e 61 6d 65 64 28 22 6c 6c 76 6d  ion: Named("llvm
a880: 2e 78 38 36 2e 66 6d 61 2e 76 66 6e 6d 73 75 62  .x86.fma.vfnmsub
a890: 2e 70 73 2e 32 35 36 22 29 0a 20 20 20 20 20 20  .ps.256").      
a8a0: 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 22 5f 6d    },.        "_m
a8b0: 6d 32 35 36 5f 66 6e 6d 73 75 62 5f 70 64 22 20  m256_fnmsub_pd" 
a8c0: 3d 3e 20 49 6e 74 72 69 6e 73 69 63 20 7b 0a 20  => Intrinsic {. 
a8d0: 20 20 20 20 20 20 20 20 20 20 20 69 6e 70 75 74             input
a8e0: 73 3a 20 7b 20 73 74 61 74 69 63 20 49 4e 50 55  s: { static INPU
a8f0: 54 53 3a 20 5b 26 27 73 74 61 74 69 63 20 54 79  TS: [&'static Ty
a900: 70 65 3b 20 33 5d 20 3d 20 5b 26 3a 3a 46 36 34  pe; 3] = [&::F64
a910: 78 34 2c 20 26 3a 3a 46 36 34 78 34 2c 20 26 3a  x4, &::F64x4, &:
a920: 3a 46 36 34 78 34 5d 3b 20 26 49 4e 50 55 54 53  :F64x4]; &INPUTS
a930: 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20   },.            
a940: 6f 75 74 70 75 74 3a 20 26 3a 3a 46 36 34 78 34  output: &::F64x4
a950: 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 64 65  ,.            de
a960: 66 69 6e 69 74 69 6f 6e 3a 20 4e 61 6d 65 64 28  finition: Named(
a970: 22 6c 6c 76 6d 2e 78 38 36 2e 66 6d 61 2e 76 66  "llvm.x86.fma.vf
a980: 6e 6d 73 75 62 2e 70 64 2e 32 35 36 22 29 0a 20  nmsub.pd.256"). 
a990: 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20         },.      
a9a0: 20 20 22 5f 72 64 72 61 6e 64 31 36 5f 73 74 65    "_rdrand16_ste
a9b0: 70 22 20 3d 3e 20 49 6e 74 72 69 6e 73 69 63 20  p" => Intrinsic 
a9c0: 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 6e  {.            in
a9d0: 70 75 74 73 3a 20 7b 20 73 74 61 74 69 63 20 49  puts: { static I
a9e0: 4e 50 55 54 53 3a 20 5b 26 27 73 74 61 74 69 63  NPUTS: [&'static
a9f0: 20 54 79 70 65 3b 20 30 5d 20 3d 20 5b 5d 3b 20   Type; 0] = []; 
aa00: 26 49 4e 50 55 54 53 20 7d 2c 0a 20 20 20 20 20  &INPUTS },.     
aa10: 20 20 20 20 20 20 20 6f 75 74 70 75 74 3a 20 7b         output: {
aa20: 20 73 74 61 74 69 63 20 41 47 47 3a 20 54 79 70   static AGG: Typ
aa30: 65 20 3d 20 54 79 70 65 3a 3a 41 67 67 72 65 67  e = Type::Aggreg
aa40: 61 74 65 28 66 61 6c 73 65 2c 20 7b 20 73 74 61  ate(false, { sta
aa50: 74 69 63 20 50 41 52 54 53 3a 20 5b 26 27 73 74  tic PARTS: [&'st
aa60: 61 74 69 63 20 54 79 70 65 3b 20 32 5d 20 3d 20  atic Type; 2] = 
aa70: 5b 26 3a 3a 55 31 36 2c 20 26 3a 3a 49 33 32 5d  [&::U16, &::I32]
aa80: 3b 20 26 50 41 52 54 53 20 7d 29 3b 20 26 41 47  ; &PARTS }); &AG
aa90: 47 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20  G },.           
aaa0: 20 64 65 66 69 6e 69 74 69 6f 6e 3a 20 4e 61 6d   definition: Nam
aab0: 65 64 28 22 6c 6c 76 6d 2e 78 38 36 2e 72 64 72  ed("llvm.x86.rdr
aac0: 61 6e 64 2e 31 36 22 29 0a 20 20 20 20 20 20 20  and.16").       
aad0: 20 7d 2c 0a 20 20 20 20 20 20 20 20 22 5f 72 64   },.        "_rd
aae0: 72 61 6e 64 33 32 5f 73 74 65 70 22 20 3d 3e 20  rand32_step" => 
aaf0: 49 6e 74 72 69 6e 73 69 63 20 7b 0a 20 20 20 20  Intrinsic {.    
ab00: 20 20 20 20 20 20 20 20 69 6e 70 75 74 73 3a 20          inputs: 
ab10: 7b 20 73 74 61 74 69 63 20 49 4e 50 55 54 53 3a  { static INPUTS:
ab20: 20 5b 26 27 73 74 61 74 69 63 20 54 79 70 65 3b   [&'static Type;
ab30: 20 30 5d 20 3d 20 5b 5d 3b 20 26 49 4e 50 55 54   0] = []; &INPUT
ab40: 53 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20  S },.           
ab50: 20 6f 75 74 70 75 74 3a 20 7b 20 73 74 61 74 69   output: { stati
ab60: 63 20 41 47 47 3a 20 54 79 70 65 20 3d 20 54 79  c AGG: Type = Ty
ab70: 70 65 3a 3a 41 67 67 72 65 67 61 74 65 28 66 61  pe::Aggregate(fa
ab80: 6c 73 65 2c 20 7b 20 73 74 61 74 69 63 20 50 41  lse, { static PA
ab90: 52 54 53 3a 20 5b 26 27 73 74 61 74 69 63 20 54  RTS: [&'static T
aba0: 79 70 65 3b 20 32 5d 20 3d 20 5b 26 3a 3a 55 33  ype; 2] = [&::U3
abb0: 32 2c 20 26 3a 3a 49 33 32 5d 3b 20 26 50 41 52  2, &::I32]; &PAR
abc0: 54 53 20 7d 29 3b 20 26 41 47 47 20 7d 2c 0a 20  TS }); &AGG },. 
abd0: 20 20 20 20 20 20 20 20 20 20 20 64 65 66 69 6e             defin
abe0: 69 74 69 6f 6e 3a 20 4e 61 6d 65 64 28 22 6c 6c  ition: Named("ll
abf0: 76 6d 2e 78 38 36 2e 72 64 72 61 6e 64 2e 33 32  vm.x86.rdrand.32
ac00: 22 29 0a 20 20 20 20 20 20 20 20 7d 2c 0a 20 20  ").        },.  
ac10: 20 20 20 20 20 20 22 5f 72 64 72 61 6e 64 36 34        "_rdrand64
ac20: 5f 73 74 65 70 22 20 3d 3e 20 49 6e 74 72 69 6e  _step" => Intrin
ac30: 73 69 63 20 7b 0a 20 20 20 20 20 20 20 20 20 20  sic {.          
ac40: 20 20 69 6e 70 75 74 73 3a 20 7b 20 73 74 61 74    inputs: { stat
ac50: 69 63 20 49 4e 50 55 54 53 3a 20 5b 26 27 73 74  ic INPUTS: [&'st
ac60: 61 74 69 63 20 54 79 70 65 3b 20 30 5d 20 3d 20  atic Type; 0] = 
ac70: 5b 5d 3b 20 26 49 4e 50 55 54 53 20 7d 2c 0a 20  []; &INPUTS },. 
ac80: 20 20 20 20 20 20 20 20 20 20 20 6f 75 74 70 75             outpu
ac90: 74 3a 20 7b 20 73 74 61 74 69 63 20 41 47 47 3a  t: { static AGG:
aca0: 20 54 79 70 65 20 3d 20 54 79 70 65 3a 3a 41 67   Type = Type::Ag
acb0: 67 72 65 67 61 74 65 28 66 61 6c 73 65 2c 20 7b  gregate(false, {
acc0: 20 73 74 61 74 69 63 20 50 41 52 54 53 3a 20 5b   static PARTS: [
acd0: 26 27 73 74 61 74 69 63 20 54 79 70 65 3b 20 32  &'static Type; 2
ace0: 5d 20 3d 20 5b 26 3a 3a 55 36 34 2c 20 26 3a 3a  ] = [&::U64, &::
acf0: 49 33 32 5d 3b 20 26 50 41 52 54 53 20 7d 29 3b  I32]; &PARTS });
ad00: 20 26 41 47 47 20 7d 2c 0a 20 20 20 20 20 20 20   &AGG },.       
ad10: 20 20 20 20 20 64 65 66 69 6e 69 74 69 6f 6e 3a       definition:
ad20: 20 4e 61 6d 65 64 28 22 6c 6c 76 6d 2e 78 38 36   Named("llvm.x86
ad30: 2e 72 64 72 61 6e 64 2e 36 34 22 29 0a 20 20 20  .rdrand.64").   
ad40: 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20       },.        
ad50: 22 5f 72 64 73 65 65 64 31 36 5f 73 74 65 70 22  "_rdseed16_step"
ad60: 20 3d 3e 20 49 6e 74 72 69 6e 73 69 63 20 7b 0a   => Intrinsic {.
ad70: 20 20 20 20 20 20 20 20 20 20 20 20 69 6e 70 75              inpu
ad80: 74 73 3a 20 7b 20 73 74 61 74 69 63 20 49 4e 50  ts: { static INP
ad90: 55 54 53 3a 20 5b 26 27 73 74 61 74 69 63 20 54  UTS: [&'static T
ada0: 79 70 65 3b 20 30 5d 20 3d 20 5b 5d 3b 20 26 49  ype; 0] = []; &I
adb0: 4e 50 55 54 53 20 7d 2c 0a 20 20 20 20 20 20 20  NPUTS },.       
adc0: 20 20 20 20 20 6f 75 74 70 75 74 3a 20 7b 20 73       output: { s
add0: 74 61 74 69 63 20 41 47 47 3a 20 54 79 70 65 20  tatic AGG: Type 
ade0: 3d 20 54 79 70 65 3a 3a 41 67 67 72 65 67 61 74  = Type::Aggregat
adf0: 65 28 66 61 6c 73 65 2c 20 7b 20 73 74 61 74 69  e(false, { stati
ae00: 63 20 50 41 52 54 53 3a 20 5b 26 27 73 74 61 74  c PARTS: [&'stat
ae10: 69 63 20 54 79 70 65 3b 20 32 5d 20 3d 20 5b 26  ic Type; 2] = [&
ae20: 3a 3a 55 31 36 2c 20 26 3a 3a 49 33 32 5d 3b 20  ::U16, &::I32]; 
ae30: 26 50 41 52 54 53 20 7d 29 3b 20 26 41 47 47 20  &PARTS }); &AGG 
ae40: 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 64  },.            d
ae50: 65 66 69 6e 69 74 69 6f 6e 3a 20 4e 61 6d 65 64  efinition: Named
ae60: 28 22 6c 6c 76 6d 2e 78 38 36 2e 72 64 73 65 65  ("llvm.x86.rdsee
ae70: 64 2e 31 36 22 29 0a 20 20 20 20 20 20 20 20 7d  d.16").        }
ae80: 2c 0a 20 20 20 20 20 20 20 20 22 5f 72 64 73 65  ,.        "_rdse
ae90: 65 64 33 32 5f 73 74 65 70 22 20 3d 3e 20 49 6e  ed32_step" => In
aea0: 74 72 69 6e 73 69 63 20 7b 0a 20 20 20 20 20 20  trinsic {.      
aeb0: 20 20 20 20 20 20 69 6e 70 75 74 73 3a 20 7b 20        inputs: { 
aec0: 73 74 61 74 69 63 20 49 4e 50 55 54 53 3a 20 5b  static INPUTS: [
aed0: 26 27 73 74 61 74 69 63 20 54 79 70 65 3b 20 30  &'static Type; 0
aee0: 5d 20 3d 20 5b 5d 3b 20 26 49 4e 50 55 54 53 20  ] = []; &INPUTS 
aef0: 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 6f  },.            o
af00: 75 74 70 75 74 3a 20 7b 20 73 74 61 74 69 63 20  utput: { static 
af10: 41 47 47 3a 20 54 79 70 65 20 3d 20 54 79 70 65  AGG: Type = Type
af20: 3a 3a 41 67 67 72 65 67 61 74 65 28 66 61 6c 73  ::Aggregate(fals
af30: 65 2c 20 7b 20 73 74 61 74 69 63 20 50 41 52 54  e, { static PART
af40: 53 3a 20 5b 26 27 73 74 61 74 69 63 20 54 79 70  S: [&'static Typ
af50: 65 3b 20 32 5d 20 3d 20 5b 26 3a 3a 55 33 32 2c  e; 2] = [&::U32,
af60: 20 26 3a 3a 49 33 32 5d 3b 20 26 50 41 52 54 53   &::I32]; &PARTS
af70: 20 7d 29 3b 20 26 41 47 47 20 7d 2c 0a 20 20 20   }); &AGG },.   
af80: 20 20 20 20 20 20 20 20 20 64 65 66 69 6e 69 74           definit
af90: 69 6f 6e 3a 20 4e 61 6d 65 64 28 22 6c 6c 76 6d  ion: Named("llvm
afa0: 2e 78 38 36 2e 72 64 73 65 65 64 2e 33 32 22 29  .x86.rdseed.32")
afb0: 0a 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20  .        },.    
afc0: 20 20 20 20 22 5f 72 64 73 65 65 64 36 34 5f 73      "_rdseed64_s
afd0: 74 65 70 22 20 3d 3e 20 49 6e 74 72 69 6e 73 69  tep" => Intrinsi
afe0: 63 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20  c {.            
aff0: 69 6e 70 75 74 73 3a 20 7b 20 73 74 61 74 69 63  inputs: { static
b000: 20 49 4e 50 55 54 53 3a 20 5b 26 27 73 74 61 74   INPUTS: [&'stat
b010: 69 63 20 54 79 70 65 3b 20 30 5d 20 3d 20 5b 5d  ic Type; 0] = []
b020: 3b 20 26 49 4e 50 55 54 53 20 7d 2c 0a 20 20 20  ; &INPUTS },.   
b030: 20 20 20 20 20 20 20 20 20 6f 75 74 70 75 74 3a           output:
b040: 20 7b 20 73 74 61 74 69 63 20 41 47 47 3a 20 54   { static AGG: T
b050: 79 70 65 20 3d 20 54 79 70 65 3a 3a 41 67 67 72  ype = Type::Aggr
b060: 65 67 61 74 65 28 66 61 6c 73 65 2c 20 7b 20 73  egate(false, { s
b070: 74 61 74 69 63 20 50 41 52 54 53 3a 20 5b 26 27  tatic PARTS: [&'
b080: 73 74 61 74 69 63 20 54 79 70 65 3b 20 32 5d 20  static Type; 2] 
b090: 3d 20 5b 26 3a 3a 55 36 34 2c 20 26 3a 3a 49 33  = [&::U64, &::I3
b0a0: 32 5d 3b 20 26 50 41 52 54 53 20 7d 29 3b 20 26  2]; &PARTS }); &
b0b0: 41 47 47 20 7d 2c 0a 20 20 20 20 20 20 20 20 20  AGG },.         
b0c0: 20 20 20 64 65 66 69 6e 69 74 69 6f 6e 3a 20 4e     definition: N
b0d0: 61 6d 65 64 28 22 6c 6c 76 6d 2e 78 38 36 2e 72  amed("llvm.x86.r
b0e0: 64 73 65 65 64 2e 36 34 22 29 0a 20 20 20 20 20  dseed.64").     
b0f0: 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 22 5f     },.        "_
b100: 6d 6d 5f 61 64 64 73 5f 65 70 69 38 22 20 3d 3e  mm_adds_epi8" =>
b110: 20 49 6e 74 72 69 6e 73 69 63 20 7b 0a 20 20 20   Intrinsic {.   
b120: 20 20 20 20 20 20 20 20 20 69 6e 70 75 74 73 3a           inputs:
b130: 20 7b 20 73 74 61 74 69 63 20 49 4e 50 55 54 53   { static INPUTS
b140: 3a 20 5b 26 27 73 74 61 74 69 63 20 54 79 70 65  : [&'static Type
b150: 3b 20 32 5d 20 3d 20 5b 26 3a 3a 49 38 78 31 36  ; 2] = [&::I8x16
b160: 2c 20 26 3a 3a 49 38 78 31 36 5d 3b 20 26 49 4e  , &::I8x16]; &IN
b170: 50 55 54 53 20 7d 2c 0a 20 20 20 20 20 20 20 20  PUTS },.        
b180: 20 20 20 20 6f 75 74 70 75 74 3a 20 26 3a 3a 49      output: &::I
b190: 38 78 31 36 2c 0a 20 20 20 20 20 20 20 20 20 20  8x16,.          
b1a0: 20 20 64 65 66 69 6e 69 74 69 6f 6e 3a 20 4e 61    definition: Na
b1b0: 6d 65 64 28 22 6c 6c 76 6d 2e 78 38 36 2e 73 73  med("llvm.x86.ss
b1c0: 65 32 2e 70 61 64 64 73 2e 62 22 29 0a 20 20 20  e2.padds.b").   
b1d0: 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20       },.        
b1e0: 22 5f 6d 6d 5f 61 64 64 73 5f 65 70 75 38 22 20  "_mm_adds_epu8" 
b1f0: 3d 3e 20 49 6e 74 72 69 6e 73 69 63 20 7b 0a 20  => Intrinsic {. 
b200: 20 20 20 20 20 20 20 20 20 20 20 69 6e 70 75 74             input
b210: 73 3a 20 7b 20 73 74 61 74 69 63 20 49 4e 50 55  s: { static INPU
b220: 54 53 3a 20 5b 26 27 73 74 61 74 69 63 20 54 79  TS: [&'static Ty
b230: 70 65 3b 20 32 5d 20 3d 20 5b 26 3a 3a 55 38 78  pe; 2] = [&::U8x
b240: 31 36 2c 20 26 3a 3a 55 38 78 31 36 5d 3b 20 26  16, &::U8x16]; &
b250: 49 4e 50 55 54 53 20 7d 2c 0a 20 20 20 20 20 20  INPUTS },.      
b260: 20 20 20 20 20 20 6f 75 74 70 75 74 3a 20 26 3a        output: &:
b270: 3a 55 38 78 31 36 2c 0a 20 20 20 20 20 20 20 20  :U8x16,.        
b280: 20 20 20 20 64 65 66 69 6e 69 74 69 6f 6e 3a 20      definition: 
b290: 4e 61 6d 65 64 28 22 6c 6c 76 6d 2e 78 38 36 2e  Named("llvm.x86.
b2a0: 73 73 65 32 2e 70 61 64 64 75 73 2e 62 22 29 0a  sse2.paddus.b").
b2b0: 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20          },.     
b2c0: 20 20 20 22 5f 6d 6d 5f 61 64 64 73 5f 65 70 69     "_mm_adds_epi
b2d0: 31 36 22 20 3d 3e 20 49 6e 74 72 69 6e 73 69 63  16" => Intrinsic
b2e0: 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69   {.            i
b2f0: 6e 70 75 74 73 3a 20 7b 20 73 74 61 74 69 63 20  nputs: { static 
b300: 49 4e 50 55 54 53 3a 20 5b 26 27 73 74 61 74 69  INPUTS: [&'stati
b310: 63 20 54 79 70 65 3b 20 32 5d 20 3d 20 5b 26 3a  c Type; 2] = [&:
b320: 3a 49 31 36 78 38 2c 20 26 3a 3a 49 31 36 78 38  :I16x8, &::I16x8
b330: 5d 3b 20 26 49 4e 50 55 54 53 20 7d 2c 0a 20 20  ]; &INPUTS },.  
b340: 20 20 20 20 20 20 20 20 20 20 6f 75 74 70 75 74            output
b350: 3a 20 26 3a 3a 49 31 36 78 38 2c 0a 20 20 20 20  : &::I16x8,.    
b360: 20 20 20 20 20 20 20 20 64 65 66 69 6e 69 74 69          definiti
b370: 6f 6e 3a 20 4e 61 6d 65 64 28 22 6c 6c 76 6d 2e  on: Named("llvm.
b380: 78 38 36 2e 73 73 65 32 2e 70 61 64 64 73 2e 77  x86.sse2.padds.w
b390: 22 29 0a 20 20 20 20 20 20 20 20 7d 2c 0a 20 20  ").        },.  
b3a0: 20 20 20 20 20 20 22 5f 6d 6d 5f 61 64 64 73 5f        "_mm_adds_
b3b0: 65 70 75 31 36 22 20 3d 3e 20 49 6e 74 72 69 6e  epu16" => Intrin
b3c0: 73 69 63 20 7b 0a 20 20 20 20 20 20 20 20 20 20  sic {.          
b3d0: 20 20 69 6e 70 75 74 73 3a 20 7b 20 73 74 61 74    inputs: { stat
b3e0: 69 63 20 49 4e 50 55 54 53 3a 20 5b 26 27 73 74  ic INPUTS: [&'st
b3f0: 61 74 69 63 20 54 79 70 65 3b 20 32 5d 20 3d 20  atic Type; 2] = 
b400: 5b 26 3a 3a 55 31 36 78 38 2c 20 26 3a 3a 55 31  [&::U16x8, &::U1
b410: 36 78 38 5d 3b 20 26 49 4e 50 55 54 53 20 7d 2c  6x8]; &INPUTS },
b420: 0a 20 20 20 20 20 20 20 20 20 20 20 20 6f 75 74  .            out
b430: 70 75 74 3a 20 26 3a 3a 55 31 36 78 38 2c 0a 20  put: &::U16x8,. 
b440: 20 20 20 20 20 20 20 20 20 20 20 64 65 66 69 6e             defin
b450: 69 74 69 6f 6e 3a 20 4e 61 6d 65 64 28 22 6c 6c  ition: Named("ll
b460: 76 6d 2e 78 38 36 2e 73 73 65 32 2e 70 61 64 64  vm.x86.sse2.padd
b470: 75 73 2e 77 22 29 0a 20 20 20 20 20 20 20 20 7d  us.w").        }
b480: 2c 0a 20 20 20 20 20 20 20 20 22 5f 6d 6d 5f 61  ,.        "_mm_a
b490: 76 67 5f 65 70 75 38 22 20 3d 3e 20 49 6e 74 72  vg_epu8" => Intr
b4a0: 69 6e 73 69 63 20 7b 0a 20 20 20 20 20 20 20 20  insic {.        
b4b0: 20 20 20 20 69 6e 70 75 74 73 3a 20 7b 20 73 74      inputs: { st
b4c0: 61 74 69 63 20 49 4e 50 55 54 53 3a 20 5b 26 27  atic INPUTS: [&'
b4d0: 73 74 61 74 69 63 20 54 79 70 65 3b 20 32 5d 20  static Type; 2] 
b4e0: 3d 20 5b 26 3a 3a 55 38 78 31 36 2c 20 26 3a 3a  = [&::U8x16, &::
b4f0: 55 38 78 31 36 5d 3b 20 26 49 4e 50 55 54 53 20  U8x16]; &INPUTS 
b500: 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 6f  },.            o
b510: 75 74 70 75 74 3a 20 26 3a 3a 55 38 78 31 36 2c  utput: &::U8x16,
b520: 0a 20 20 20 20 20 20 20 20 20 20 20 20 64 65 66  .            def
b530: 69 6e 69 74 69 6f 6e 3a 20 4e 61 6d 65 64 28 22  inition: Named("
b540: 6c 6c 76 6d 2e 78 38 36 2e 73 73 65 32 2e 70 61  llvm.x86.sse2.pa
b550: 76 67 2e 62 22 29 0a 20 20 20 20 20 20 20 20 7d  vg.b").        }
b560: 2c 0a 20 20 20 20 20 20 20 20 22 5f 6d 6d 5f 61  ,.        "_mm_a
b570: 76 67 5f 65 70 75 31 36 22 20 3d 3e 20 49 6e 74  vg_epu16" => Int
b580: 72 69 6e 73 69 63 20 7b 0a 20 20 20 20 20 20 20  rinsic {.       
b590: 20 20 20 20 20 69 6e 70 75 74 73 3a 20 7b 20 73       inputs: { s
b5a0: 74 61 74 69 63 20 49 4e 50 55 54 53 3a 20 5b 26  tatic INPUTS: [&
b5b0: 27 73 74 61 74 69 63 20 54 79 70 65 3b 20 32 5d  'static Type; 2]
b5c0: 20 3d 20 5b 26 3a 3a 55 31 36 78 38 2c 20 26 3a   = [&::U16x8, &:
b5d0: 3a 55 31 36 78 38 5d 3b 20 26 49 4e 50 55 54 53  :U16x8]; &INPUTS
b5e0: 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20   },.            
b5f0: 6f 75 74 70 75 74 3a 20 26 3a 3a 55 31 36 78 38  output: &::U16x8
b600: 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 64 65  ,.            de
b610: 66 69 6e 69 74 69 6f 6e 3a 20 4e 61 6d 65 64 28  finition: Named(
b620: 22 6c 6c 76 6d 2e 78 38 36 2e 73 73 65 32 2e 70  "llvm.x86.sse2.p
b630: 61 76 67 2e 77 22 29 0a 20 20 20 20 20 20 20 20  avg.w").        
b640: 7d 2c 0a 20 20 20 20 20 20 20 20 22 5f 6d 6d 5f  },.        "_mm_
b650: 6c 66 65 6e 63 65 22 20 3d 3e 20 49 6e 74 72 69  lfence" => Intri
b660: 6e 73 69 63 20 7b 0a 20 20 20 20 20 20 20 20 20  nsic {.         
b670: 20 20 20 69 6e 70 75 74 73 3a 20 7b 20 73 74 61     inputs: { sta
b680: 74 69 63 20 49 4e 50 55 54 53 3a 20 5b 26 27 73  tic INPUTS: [&'s
b690: 74 61 74 69 63 20 54 79 70 65 3b 20 30 5d 20 3d  tatic Type; 0] =
b6a0: 20 5b 5d 3b 20 26 49 4e 50 55 54 53 20 7d 2c 0a   []; &INPUTS },.
b6b0: 20 20 20 20 20 20 20 20 20 20 20 20 6f 75 74 70              outp
b6c0: 75 74 3a 20 26 3a 3a 56 4f 49 44 2c 0a 20 20 20  ut: &::VOID,.   
b6d0: 20 20 20 20 20 20 20 20 20 64 65 66 69 6e 69 74           definit
b6e0: 69 6f 6e 3a 20 4e 61 6d 65 64 28 22 6c 6c 76 6d  ion: Named("llvm
b6f0: 2e 78 38 36 2e 73 73 65 32 2e 6c 66 65 6e 63 65  .x86.sse2.lfence
b700: 22 29 0a 20 20 20 20 20 20 20 20 7d 2c 0a 20 20  ").        },.  
b710: 20 20 20 20 20 20 22 5f 6d 6d 5f 6d 61 64 64 5f        "_mm_madd_
b720: 65 70 69 31 36 22 20 3d 3e 20 49 6e 74 72 69 6e  epi16" => Intrin
b730: 73 69 63 20 7b 0a 20 20 20 20 20 20 20 20 20 20  sic {.          
b740: 20 20 69 6e 70 75 74 73 3a 20 7b 20 73 74 61 74    inputs: { stat
b750: 69 63 20 49 4e 50 55 54 53 3a 20 5b 26 27 73 74  ic INPUTS: [&'st
b760: 61 74 69 63 20 54 79 70 65 3b 20 32 5d 20 3d 20  atic Type; 2] = 
b770: 5b 26 3a 3a 49 31 36 78 38 2c 20 26 3a 3a 49 31  [&::I16x8, &::I1
b780: 36 78 38 5d 3b 20 26 49 4e 50 55 54 53 20 7d 2c  6x8]; &INPUTS },
b790: 0a 20 20 20 20 20 20 20 20 20 20 20 20 6f 75 74  .            out
b7a0: 70 75 74 3a 20 26 3a 3a 49 33 32 78 34 2c 0a 20  put: &::I32x4,. 
b7b0: 20 20 20 20 20 20 20 20 20 20 20 64 65 66 69 6e             defin
b7c0: 69 74 69 6f 6e 3a 20 4e 61 6d 65 64 28 22 6c 6c  ition: Named("ll
b7d0: 76 6d 2e 78 38 36 2e 73 73 65 32 2e 70 6d 61 64  vm.x86.sse2.pmad
b7e0: 64 2e 77 64 22 29 0a 20 20 20 20 20 20 20 20 7d  d.wd").        }
b7f0: 2c 0a 20 20 20 20 20 20 20 20 22 5f 6d 6d 5f 6d  ,.        "_mm_m
b800: 61 73 6b 6d 6f 76 65 75 5f 73 69 31 32 38 22 20  askmoveu_si128" 
b810: 3d 3e 20 49 6e 74 72 69 6e 73 69 63 20 7b 0a 20  => Intrinsic {. 
b820: 20 20 20 20 20 20 20 20 20 20 20 69 6e 70 75 74             input
b830: 73 3a 20 7b 20 73 74 61 74 69 63 20 49 4e 50 55  s: { static INPU
b840: 54 53 3a 20 5b 26 27 73 74 61 74 69 63 20 54 79  TS: [&'static Ty
b850: 70 65 3b 20 33 5d 20 3d 20 5b 26 3a 3a 55 38 78  pe; 3] = [&::U8x
b860: 31 36 2c 20 26 3a 3a 55 38 78 31 36 2c 20 7b 20  16, &::U8x16, { 
b870: 73 74 61 74 69 63 20 50 54 52 3a 20 54 79 70 65  static PTR: Type
b880: 20 3d 20 54 79 70 65 3a 3a 50 6f 69 6e 74 65 72   = Type::Pointer
b890: 28 26 3a 3a 55 38 2c 20 4e 6f 6e 65 2c 20 66 61  (&::U8, None, fa
b8a0: 6c 73 65 29 3b 20 26 50 54 52 20 7d 5d 3b 20 26  lse); &PTR }]; &
b8b0: 49 4e 50 55 54 53 20 7d 2c 0a 20 20 20 20 20 20  INPUTS },.      
b8c0: 20 20 20 20 20 20 6f 75 74 70 75 74 3a 20 26 3a        output: &:
b8d0: 3a 56 4f 49 44 2c 0a 20 20 20 20 20 20 20 20 20  :VOID,.         
b8e0: 20 20 20 64 65 66 69 6e 69 74 69 6f 6e 3a 20 4e     definition: N
b8f0: 61 6d 65 64 28 22 6c 6c 76 6d 2e 78 38 36 2e 73  amed("llvm.x86.s
b900: 73 65 32 2e 6d 61 73 6b 6d 6f 76 2e 64 71 75 22  se2.maskmov.dqu"
b910: 29 0a 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20  ).        },.   
b920: 20 20 20 20 20 22 5f 6d 6d 5f 6d 61 78 5f 65 70       "_mm_max_ep
b930: 69 31 36 22 20 3d 3e 20 49 6e 74 72 69 6e 73 69  i16" => Intrinsi
b940: 63 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20  c {.            
b950: 69 6e 70 75 74 73 3a 20 7b 20 73 74 61 74 69 63  inputs: { static
b960: 20 49 4e 50 55 54 53 3a 20 5b 26 27 73 74 61 74   INPUTS: [&'stat
b970: 69 63 20 54 79 70 65 3b 20 32 5d 20 3d 20 5b 26  ic Type; 2] = [&
b980: 3a 3a 49 31 36 78 38 2c 20 26 3a 3a 49 31 36 78  ::I16x8, &::I16x
b990: 38 5d 3b 20 26 49 4e 50 55 54 53 20 7d 2c 0a 20  8]; &INPUTS },. 
b9a0: 20 20 20 20 20 20 20 20 20 20 20 6f 75 74 70 75             outpu
b9b0: 74 3a 20 26 3a 3a 49 31 36 78 38 2c 0a 20 20 20  t: &::I16x8,.   
b9c0: 20 20 20 20 20 20 20 20 20 64 65 66 69 6e 69 74           definit
b9d0: 69 6f 6e 3a 20 4e 61 6d 65 64 28 22 6c 6c 76 6d  ion: Named("llvm
b9e0: 2e 78 38 36 2e 73 73 65 32 2e 70 6d 61 78 73 2e  .x86.sse2.pmaxs.
b9f0: 77 22 29 0a 20 20 20 20 20 20 20 20 7d 2c 0a 20  w").        },. 
ba00: 20 20 20 20 20 20 20 22 5f 6d 6d 5f 6d 61 78 5f         "_mm_max_
ba10: 65 70 75 38 22 20 3d 3e 20 49 6e 74 72 69 6e 73  epu8" => Intrins
ba20: 69 63 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20  ic {.           
ba30: 20 69 6e 70 75 74 73 3a 20 7b 20 73 74 61 74 69   inputs: { stati
ba40: 63 20 49 4e 50 55 54 53 3a 20 5b 26 27 73 74 61  c INPUTS: [&'sta
ba50: 74 69 63 20 54 79 70 65 3b 20 32 5d 20 3d 20 5b  tic Type; 2] = [
ba60: 26 3a 3a 55 38 78 31 36 2c 20 26 3a 3a 55 38 78  &::U8x16, &::U8x
ba70: 31 36 5d 3b 20 26 49 4e 50 55 54 53 20 7d 2c 0a  16]; &INPUTS },.
ba80: 20 20 20 20 20 20 20 20 20 20 20 20 6f 75 74 70              outp
ba90: 75 74 3a 20 26 3a 3a 55 38 78 31 36 2c 0a 20 20  ut: &::U8x16,.  
baa0: 20 20 20 20 20 20 20 20 20 20 64 65 66 69 6e 69            defini
bab0: 74 69 6f 6e 3a 20 4e 61 6d 65 64 28 22 6c 6c 76  tion: Named("llv
bac0: 6d 2e 78 38 36 2e 73 73 65 32 2e 70 6d 61 78 75  m.x86.sse2.pmaxu
bad0: 2e 62 22 29 0a 20 20 20 20 20 20 20 20 7d 2c 0a  .b").        },.
bae0: 20 20 20 20 20 20 20 20 22 5f 6d 6d 5f 6d 61 78          "_mm_max
baf0: 5f 70 64 22 20 3d 3e 20 49 6e 74 72 69 6e 73 69  _pd" => Intrinsi
bb00: 63 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20  c {.            
bb10: 69 6e 70 75 74 73 3a 20 7b 20 73 74 61 74 69 63  inputs: { static
bb20: 20 49 4e 50 55 54 53 3a 20 5b 26 27 73 74 61 74   INPUTS: [&'stat
bb30: 69 63 20 54 79 70 65 3b 20 32 5d 20 3d 20 5b 26  ic Type; 2] = [&
bb40: 3a 3a 46 36 34 78 32 2c 20 26 3a 3a 46 36 34 78  ::F64x2, &::F64x
bb50: 32 5d 3b 20 26 49 4e 50 55 54 53 20 7d 2c 0a 20  2]; &INPUTS },. 
bb60: 20 20 20 20 20 20 20 20 20 20 20 6f 75 74 70 75             outpu
bb70: 74 3a 20 26 3a 3a 46 36 34 78 32 2c 0a 20 20 20  t: &::F64x2,.   
bb80: 20 20 20 20 20 20 20 20 20 64 65 66 69 6e 69 74           definit
bb90: 69 6f 6e 3a 20 4e 61 6d 65 64 28 22 6c 6c 76 6d  ion: Named("llvm
bba0: 2e 78 38 36 2e 73 73 65 32 2e 6d 61 78 2e 70 64  .x86.sse2.max.pd
bbb0: 22 29 0a 20 20 20 20 20 20 20 20 7d 2c 0a 20 20  ").        },.  
bbc0: 20 20 20 20 20 20 22 5f 6d 6d 5f 6d 66 65 6e 63        "_mm_mfenc
bbd0: 65 22 20 3d 3e 20 49 6e 74 72 69 6e 73 69 63 20  e" => Intrinsic 
bbe0: 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 6e  {.            in
bbf0: 70 75 74 73 3a 20 7b 20 73 74 61 74 69 63 20 49  puts: { static I
bc00: 4e 50 55 54 53 3a 20 5b 26 27 73 74 61 74 69 63  NPUTS: [&'static
bc10: 20 54 79 70 65 3b 20 30 5d 20 3d 20 5b 5d 3b 20   Type; 0] = []; 
bc20: 26 49 4e 50 55 54 53 20 7d 2c 0a 20 20 20 20 20  &INPUTS },.     
bc30: 20 20 20 20 20 20 20 6f 75 74 70 75 74 3a 20 26         output: &
bc40: 3a 3a 56 4f 49 44 2c 0a 20 20 20 20 20 20 20 20  ::VOID,.        
bc50: 20 20 20 20 64 65 66 69 6e 69 74 69 6f 6e 3a 20      definition: 
bc60: 4e 61 6d 65 64 28 22 6c 6c 76 6d 2e 78 38 36 2e  Named("llvm.x86.
bc70: 73 73 65 32 2e 66 65 6e 63 65 22 29 0a 20 20 20  sse2.fence").   
bc80: 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20       },.        
bc90: 22 5f 6d 6d 5f 6d 69 6e 5f 65 70 69 31 36 22 20  "_mm_min_epi16" 
bca0: 3d 3e 20 49 6e 74 72 69 6e 73 69 63 20 7b 0a 20  => Intrinsic {. 
bcb0: 20 20 20 20 20 20 20 20 20 20 20 69 6e 70 75 74             input
bcc0: 73 3a 20 7b 20 73 74 61 74 69 63 20 49 4e 50 55  s: { static INPU
bcd0: 54 53 3a 20 5b 26 27 73 74 61 74 69 63 20 54 79  TS: [&'static Ty
bce0: 70 65 3b 20 32 5d 20 3d 20 5b 26 3a 3a 49 31 36  pe; 2] = [&::I16
bcf0: 78 38 2c 20 26 3a 3a 49 31 36 78 38 5d 3b 20 26  x8, &::I16x8]; &
bd00: 49 4e 50 55 54 53 20 7d 2c 0a 20 20 20 20 20 20  INPUTS },.      
bd10: 20 20 20 20 20 20 6f 75 74 70 75 74 3a 20 26 3a        output: &:
bd20: 3a 49 31 36 78 38 2c 0a 20 20 20 20 20 20 20 20  :I16x8,.        
bd30: 20 20 20 20 64 65 66 69 6e 69 74 69 6f 6e 3a 20      definition: 
bd40: 4e 61 6d 65 64 28 22 6c 6c 76 6d 2e 78 38 36 2e  Named("llvm.x86.
bd50: 73 73 65 32 2e 70 6d 69 6e 73 2e 77 22 29 0a 20  sse2.pmins.w"). 
bd60: 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20         },.      
bd70: 20 20 22 5f 6d 6d 5f 6d 69 6e 5f 65 70 75 38 22    "_mm_min_epu8"
bd80: 20 3d 3e 20 49 6e 74 72 69 6e 73 69 63 20 7b 0a   => Intrinsic {.
bd90: 20 20 20 20 20 20 20 20 20 20 20 20 69 6e 70 75              inpu
bda0: 74 73 3a 20 7b 20 73 74 61 74 69 63 20 49 4e 50  ts: { static INP
bdb0: 55 54 53 3a 20 5b 26 27 73 74 61 74 69 63 20 54  UTS: [&'static T
bdc0: 79 70 65 3b 20 32 5d 20 3d 20 5b 26 3a 3a 55 38  ype; 2] = [&::U8
bdd0: 78 31 36 2c 20 26 3a 3a 55 38 78 31 36 5d 3b 20  x16, &::U8x16]; 
bde0: 26 49 4e 50 55 54 53 20 7d 2c 0a 20 20 20 20 20  &INPUTS },.     
bdf0: 20 20 20 20 20 20 20 6f 75 74 70 75 74 3a 20 26         output: &
be00: 3a 3a 55 38 78 31 36 2c 0a 20 20 20 20 20 20 20  ::U8x16,.       
be10: 20 20 20 20 20 64 65 66 69 6e 69 74 69 6f 6e 3a       definition:
be20: 20 4e 61 6d 65 64 28 22 6c 6c 76 6d 2e 78 38 36   Named("llvm.x86
be30: 2e 73 73 65 32 2e 70 6d 69 6e 75 2e 62 22 29 0a  .sse2.pminu.b").
be40: 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20          },.     
be50: 20 20 20 22 5f 6d 6d 5f 6d 69 6e 5f 70 64 22 20     "_mm_min_pd" 
be60: 3d 3e 20 49 6e 74 72 69 6e 73 69 63 20 7b 0a 20  => Intrinsic {. 
be70: 20 20 20 20 20 20 20 20 20 20 20 69 6e 70 75 74             input
be80: 73 3a 20 7b 20 73 74 61 74 69 63 20 49 4e 50 55  s: { static INPU
be90: 54 53 3a 20 5b 26 27 73 74 61 74 69 63 20 54 79  TS: [&'static Ty
bea0: 70 65 3b 20 32 5d 20 3d 20 5b 26 3a 3a 46 36 34  pe; 2] = [&::F64
beb0: 78 32 2c 20 26 3a 3a 46 36 34 78 32 5d 3b 20 26  x2, &::F64x2]; &
bec0: 49 4e 50 55 54 53 20 7d 2c 0a 20 20 20 20 20 20  INPUTS },.      
bed0: 20 20 20 20 20 20 6f 75 74 70 75 74 3a 20 26 3a        output: &:
bee0: 3a 46 36 34 78 32 2c 0a 20 20 20 20 20 20 20 20  :F64x2,.        
bef0: 20 20 20 20 64 65 66 69 6e 69 74 69 6f 6e 3a 20      definition: 
bf00: 4e 61 6d 65 64 28 22 6c 6c 76 6d 2e 78 38 36 2e  Named("llvm.x86.
bf10: 73 73 65 32 2e 6d 69 6e 2e 70 64 22 29 0a 20 20  sse2.min.pd").  
bf20: 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20        },.       
bf30: 20 22 5f 6d 6d 5f 6d 6f 76 65 6d 61 73 6b 5f 70   "_mm_movemask_p
bf40: 64 22 20 3d 3e 20 49 6e 74 72 69 6e 73 69 63 20  d" => Intrinsic 
bf50: 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 6e  {.            in
bf60: 70 75 74 73 3a 20 7b 20 73 74 61 74 69 63 20 49  puts: { static I
bf70: 4e 50 55 54 53 3a 20 5b 26 27 73 74 61 74 69 63  NPUTS: [&'static
bf80: 20 54 79 70 65 3b 20 31 5d 20 3d 20 5b 26 3a 3a   Type; 1] = [&::
bf90: 46 36 34 78 32 5d 3b 20 26 49 4e 50 55 54 53 20  F64x2]; &INPUTS 
bfa0: 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 6f  },.            o
bfb0: 75 74 70 75 74 3a 20 26 3a 3a 49 33 32 2c 0a 20  utput: &::I32,. 
bfc0: 20 20 20 20 20 20 20 20 20 20 20 64 65 66 69 6e             defin
bfd0: 69 74 69 6f 6e 3a 20 4e 61 6d 65 64 28 22 6c 6c  ition: Named("ll
bfe0: 76 6d 2e 78 38 36 2e 73 73 65 32 2e 6d 6f 76 6d  vm.x86.sse2.movm
bff0: 73 6b 2e 70 64 22 29 0a 20 20 20 20 20 20 20 20  sk.pd").        
c000: 7d 2c 0a 20 20 20 20 20 20 20 20 22 5f 6d 6d 5f  },.        "_mm_
c010: 6d 6f 76 65 6d 61 73 6b 5f 65 70 69 38 22 20 3d  movemask_epi8" =
c020: 3e 20 49 6e 74 72 69 6e 73 69 63 20 7b 0a 20 20  > Intrinsic {.  
c030: 20 20 20 20 20 20 20 20 20 20 69 6e 70 75 74 73            inputs
c040: 3a 20 7b 20 73 74 61 74 69 63 20 49 4e 50 55 54  : { static INPUT
c050: 53 3a 20 5b 26 27 73 74 61 74 69 63 20 54 79 70  S: [&'static Typ
c060: 65 3b 20 31 5d 20 3d 20 5b 26 3a 3a 49 38 78 31  e; 1] = [&::I8x1
c070: 36 5d 3b 20 26 49 4e 50 55 54 53 20 7d 2c 0a 20  6]; &INPUTS },. 
c080: 20 20 20 20 20 20 20 20 20 20 20 6f 75 74 70 75             outpu
c090: 74 3a 20 26 3a 3a 49 33 32 2c 0a 20 20 20 20 20  t: &::I32,.     
c0a0: 20 20 20 20 20 20 20 64 65 66 69 6e 69 74 69 6f         definitio
c0b0: 6e 3a 20 4e 61 6d 65 64 28 22 6c 6c 76 6d 2e 78  n: Named("llvm.x
c0c0: 38 36 2e 73 73 65 32 2e 70 6d 6f 76 6d 73 6b 62  86.sse2.pmovmskb
c0d0: 2e 31 32 38 22 29 0a 20 20 20 20 20 20 20 20 7d  .128").        }
c0e0: 2c 0a 20 20 20 20 20 20 20 20 22 5f 6d 6d 5f 6d  ,.        "_mm_m
c0f0: 75 6c 5f 65 70 75 33 32 22 20 3d 3e 20 49 6e 74  ul_epu32" => Int
c100: 72 69 6e 73 69 63 20 7b 0a 20 20 20 20 20 20 20  rinsic {.       
c110: 20 20 20 20 20 69 6e 70 75 74 73 3a 20 7b 20 73       inputs: { s
c120: 74 61 74 69 63 20 49 4e 50 55 54 53 3a 20 5b 26  tatic INPUTS: [&
c130: 27 73 74 61 74 69 63 20 54 79 70 65 3b 20 32 5d  'static Type; 2]
c140: 20 3d 20 5b 26 3a 3a 55 33 32 78 34 2c 20 26 3a   = [&::U32x4, &:
c150: 3a 55 33 32 78 34 5d 3b 20 26 49 4e 50 55 54 53  :U32x4]; &INPUTS
c160: 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20   },.            
c170: 6f 75 74 70 75 74 3a 20 26 3a 3a 55 36 34 78 32  output: &::U64x2
c180: 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 64 65  ,.            de
c190: 66 69 6e 69 74 69 6f 6e 3a 20 4e 61 6d 65 64 28  finition: Named(
c1a0: 22 6c 6c 76 6d 2e 78 38 36 2e 73 73 65 32 2e 70  "llvm.x86.sse2.p
c1b0: 6d 75 6c 75 2e 64 71 22 29 0a 20 20 20 20 20 20  mulu.dq").      
c1c0: 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 22 5f 6d    },.        "_m
c1d0: 6d 5f 6d 75 6c 68 69 5f 65 70 69 31 36 22 20 3d  m_mulhi_epi16" =
c1e0: 3e 20 49 6e 74 72 69 6e 73 69 63 20 7b 0a 20 20  > Intrinsic {.  
c1f0: 20 20 20 20 20 20 20 20 20 20 69 6e 70 75 74 73            inputs
c200: 3a 20 7b 20 73 74 61 74 69 63 20 49 4e 50 55 54  : { static INPUT
c210: 53 3a 20 5b 26 27 73 74 61 74 69 63 20 54 79 70  S: [&'static Typ
c220: 65 3b 20 32 5d 20 3d 20 5b 26 3a 3a 49 31 36 78  e; 2] = [&::I16x
c230: 38 2c 20 26 3a 3a 49 31 36 78 38 5d 3b 20 26 49  8, &::I16x8]; &I
c240: 4e 50 55 54 53 20 7d 2c 0a 20 20 20 20 20 20 20  NPUTS },.       
c250: 20 20 20 20 20 6f 75 74 70 75 74 3a 20 26 3a 3a       output: &::
c260: 49 31 36 78 38 2c 0a 20 20 20 20 20 20 20 20 20  I16x8,.         
c270: 20 20 20 64 65 66 69 6e 69 74 69 6f 6e 3a 20 4e     definition: N
c280: 61 6d 65 64 28 22 6c 6c 76 6d 2e 78 38 36 2e 73  amed("llvm.x86.s
c290: 73 65 32 2e 70 6d 75 6c 68 2e 77 22 29 0a 20 20  se2.pmulh.w").  
c2a0: 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20        },.       
c2b0: 20 22 5f 6d 6d 5f 6d 75 6c 68 69 5f 65 70 75 31   "_mm_mulhi_epu1
c2c0: 36 22 20 3d 3e 20 49 6e 74 72 69 6e 73 69 63 20  6" => Intrinsic 
c2d0: 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 6e  {.            in
c2e0: 70 75 74 73 3a 20 7b 20 73 74 61 74 69 63 20 49  puts: { static I
c2f0: 4e 50 55 54 53 3a 20 5b 26 27 73 74 61 74 69 63  NPUTS: [&'static
c300: 20 54 79 70 65 3b 20 32 5d 20 3d 20 5b 26 3a 3a   Type; 2] = [&::
c310: 55 31 36 78 38 2c 20 26 3a 3a 55 31 36 78 38 5d  U16x8, &::U16x8]
c320: 3b 20 26 49 4e 50 55 54 53 20 7d 2c 0a 20 20 20  ; &INPUTS },.   
c330: 20 20 20 20 20 20 20 20 20 6f 75 74 70 75 74 3a           output:
c340: 20 26 3a 3a 55 31 36 78 38 2c 0a 20 20 20 20 20   &::U16x8,.     
c350: 20 20 20 20 20 20 20 64 65 66 69 6e 69 74 69 6f         definitio
c360: 6e 3a 20 4e 61 6d 65 64 28 22 6c 6c 76 6d 2e 78  n: Named("llvm.x
c370: 38 36 2e 73 73 65 32 2e 70 6d 75 6c 68 75 2e 77  86.sse2.pmulhu.w
c380: 22 29 0a 20 20 20 20 20 20 20 20 7d 2c 0a 20 20  ").        },.  
c390: 20 20 20 20 20 20 22 5f 6d 6d 5f 70 61 63 6b 73        "_mm_packs
c3a0: 5f 65 70 69 31 36 22 20 3d 3e 20 49 6e 74 72 69  _epi16" => Intri
c3b0: 6e 73 69 63 20 7b 0a 20 20 20 20 20 20 20 20 20  nsic {.         
c3c0: 20 20 20 69 6e 70 75 74 73 3a 20 7b 20 73 74 61     inputs: { sta
c3d0: 74 69 63 20 49 4e 50 55 54 53 3a 20 5b 26 27 73  tic INPUTS: [&'s
c3e0: 74 61 74 69 63 20 54 79 70 65 3b 20 32 5d 20 3d  tatic Type; 2] =
c3f0: 20 5b 26 3a 3a 49 31 36 78 38 2c 20 26 3a 3a 49   [&::I16x8, &::I
c400: 31 36 78 38 5d 3b 20 26 49 4e 50 55 54 53 20 7d  16x8]; &INPUTS }
c410: 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 6f 75  ,.            ou
c420: 74 70 75 74 3a 20 26 3a 3a 49 38 78 31 36 2c 0a  tput: &::I8x16,.
c430: 20 20 20 20 20 20 20 20 20 20 20 20 64 65 66 69              defi
c440: 6e 69 74 69 6f 6e 3a 20 4e 61 6d 65 64 28 22 6c  nition: Named("l
c450: 6c 76 6d 2e 78 38 36 2e 73 73 65 32 2e 70 61 63  lvm.x86.sse2.pac
c460: 6b 73 73 77 62 2e 31 32 38 22 29 0a 20 20 20 20  ksswb.128").    
c470: 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 22      },.        "
c480: 5f 6d 6d 5f 70 61 63 6b 73 5f 65 70 69 33 32 22  _mm_packs_epi32"
c490: 20 3d 3e 20 49 6e 74 72 69 6e 73 69 63 20 7b 0a   => Intrinsic {.
c4a0: 20 20 20 20 20 20 20 20 20 20 20 20 69 6e 70 75              inpu
c4b0: 74 73 3a 20 7b 20 73 74 61 74 69 63 20 49 4e 50  ts: { static INP
c4c0: 55 54 53 3a 20 5b 26 27 73 74 61 74 69 63 20 54  UTS: [&'static T
c4d0: 79 70 65 3b 20 32 5d 20 3d 20 5b 26 3a 3a 49 33  ype; 2] = [&::I3
c4e0: 32 78 34 2c 20 26 3a 3a 49 33 32 78 34 5d 3b 20  2x4, &::I32x4]; 
c4f0: 26 49 4e 50 55 54 53 20 7d 2c 0a 20 20 20 20 20  &INPUTS },.     
c500: 20 20 20 20 20 20 20 6f 75 74 70 75 74 3a 20 26         output: &
c510: 3a 3a 49 31 36 78 38 2c 0a 20 20 20 20 20 20 20  ::I16x8,.       
c520: 20 20 20 20 20 64 65 66 69 6e 69 74 69 6f 6e 3a       definition:
c530: 20 4e 61 6d 65 64 28 22 6c 6c 76 6d 2e 78 38 36   Named("llvm.x86
c540: 2e 73 73 65 32 2e 70 61 63 6b 73 73 64 77 2e 31  .sse2.packssdw.1
c550: 32 38 22 29 0a 20 20 20 20 20 20 20 20 7d 2c 0a  28").        },.
c560: 20 20 20 20 20 20 20 20 22 5f 6d 6d 5f 70 61 63          "_mm_pac
c570: 6b 75 73 5f 65 70 69 31 36 22 20 3d 3e 20 49 6e  kus_epi16" => In
c580: 74 72 69 6e 73 69 63 20 7b 0a 20 20 20 20 20 20  trinsic {.      
c590: 20 20 20 20 20 20 69 6e 70 75 74 73 3a 20 7b 20        inputs: { 
c5a0: 73 74 61 74 69 63 20 49 4e 50 55 54 53 3a 20 5b  static INPUTS: [
c5b0: 26 27 73 74 61 74 69 63 20 54 79 70 65 3b 20 32  &'static Type; 2
c5c0: 5d 20 3d 20 5b 26 3a 3a 49 31 36 78 38 2c 20 26  ] = [&::I16x8, &
c5d0: 3a 3a 49 31 36 78 38 5d 3b 20 26 49 4e 50 55 54  ::I16x8]; &INPUT
c5e0: 53 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20  S },.           
c5f0: 20 6f 75 74 70 75 74 3a 20 26 3a 3a 55 38 78 31   output: &::U8x1
c600: 36 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 64  6,.            d
c610: 65 66 69 6e 69 74 69 6f 6e 3a 20 4e 61 6d 65 64  efinition: Named
c620: 28 22 6c 6c 76 6d 2e 78 38 36 2e 73 73 65 32 2e  ("llvm.x86.sse2.
c630: 70 61 63 6b 75 73 77 62 2e 31 32 38 22 29 0a 20  packuswb.128"). 
c640: 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20         },.      
c650: 20 20 22 5f 6d 6d 5f 73 61 64 5f 65 70 75 38 22    "_mm_sad_epu8"
c660: 20 3d 3e 20 49 6e 74 72 69 6e 73 69 63 20 7b 0a   => Intrinsic {.
c670: 20 20 20 20 20 20 20 20 20 20 20 20 69 6e 70 75              inpu
c680: 74 73 3a 20 7b 20 73 74 61 74 69 63 20 49 4e 50  ts: { static INP
c690: 55 54 53 3a 20 5b 26 27 73 74 61 74 69 63 20 54  UTS: [&'static T
c6a0: 79 70 65 3b 20 32 5d 20 3d 20 5b 26 3a 3a 55 38  ype; 2] = [&::U8
c6b0: 78 31 36 2c 20 26 3a 3a 55 38 78 31 36 5d 3b 20  x16, &::U8x16]; 
c6c0: 26 49 4e 50 55 54 53 20 7d 2c 0a 20 20 20 20 20  &INPUTS },.     
c6d0: 20 20 20 20 20 20 20 6f 75 74 70 75 74 3a 20 26         output: &
c6e0: 3a 3a 55 36 34 78 32 2c 0a 20 20 20 20 20 20 20  ::U64x2,.       
c6f0: 20 20 20 20 20 64 65 66 69 6e 69 74 69 6f 6e 3a       definition:
c700: 20 4e 61 6d 65 64 28 22 6c 6c 76 6d 2e 78 38 36   Named("llvm.x86
c710: 2e 73 73 65 32 2e 70 73 61 64 2e 62 77 22 29 0a  .sse2.psad.bw").
c720: 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20          },.     
c730: 20 20 20 22 5f 6d 6d 5f 73 66 65 6e 63 65 22 20     "_mm_sfence" 
c740: 3d 3e 20 49 6e 74 72 69 6e 73 69 63 20 7b 0a 20  => Intrinsic {. 
c750: 20 20 20 20 20 20 20 20 20 20 20 69 6e 70 75 74             input
c760: 73 3a 20 7b 20 73 74 61 74 69 63 20 49 4e 50 55  s: { static INPU
c770: 54 53 3a 20 5b 26 27 73 74 61 74 69 63 20 54 79  TS: [&'static Ty
c780: 70 65 3b 20 30 5d 20 3d 20 5b 5d 3b 20 26 49 4e  pe; 0] = []; &IN
c790: 50 55 54 53 20 7d 2c 0a 20 20 20 20 20 20 20 20  PUTS },.        
c7a0: 20 20 20 20 6f 75 74 70 75 74 3a 20 26 3a 3a 56      output: &::V
c7b0: 4f 49 44 2c 0a 20 20 20 20 20 20 20 20 20 20 20  OID,.           
c7c0: 20 64 65 66 69 6e 69 74 69 6f 6e 3a 20 4e 61 6d   definition: Nam
c7d0: 65 64 28 22 6c 6c 76 6d 2e 78 38 36 2e 73 73 65  ed("llvm.x86.sse
c7e0: 32 2e 73 66 65 6e 63 65 22 29 0a 20 20 20 20 20  2.sfence").     
c7f0: 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 22 5f     },.        "_
c800: 6d 6d 5f 73 71 72 74 5f 70 64 22 20 3d 3e 20 49  mm_sqrt_pd" => I
c810: 6e 74 72 69 6e 73 69 63 20 7b 0a 20 20 20 20 20  ntrinsic {.     
c820: 20 20 20 20 20 20 20 69 6e 70 75 74 73 3a 20 7b         inputs: {
c830: 20 73 74 61 74 69 63 20 49 4e 50 55 54 53 3a 20   static INPUTS: 
c840: 5b 26 27 73 74 61 74 69 63 20 54 79 70 65 3b 20  [&'static Type; 
c850: 31 5d 20 3d 20 5b 26 3a 3a 46 36 34 78 32 5d 3b  1] = [&::F64x2];
c860: 20 26 49 4e 50 55 54 53 20 7d 2c 0a 20 20 20 20   &INPUTS },.    
c870: 20 20 20 20 20 20 20 20 6f 75 74 70 75 74 3a 20          output: 
c880: 26 3a 3a 46 36 34 78 32 2c 0a 20 20 20 20 20 20  &::F64x2,.      
c890: 20 20 20 20 20 20 64 65 66 69 6e 69 74 69 6f 6e        definition
c8a0: 3a 20 4e 61 6d 65 64 28 22 6c 6c 76 6d 2e 73 71  : Named("llvm.sq
c8b0: 72 74 2e 76 32 66 36 34 22 29 0a 20 20 20 20 20  rt.v2f64").     
c8c0: 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 22 5f     },.        "_
c8d0: 6d 6d 5f 73 74 6f 72 65 75 5f 70 64 22 20 3d 3e  mm_storeu_pd" =>
c8e0: 20 49 6e 74 72 69 6e 73 69 63 20 7b 0a 20 20 20   Intrinsic {.   
c8f0: 20 20 20 20 20 20 20 20 20 69 6e 70 75 74 73 3a           inputs:
c900: 20 7b 20 73 74 61 74 69 63 20 49 4e 50 55 54 53   { static INPUTS
c910: 3a 20 5b 26 27 73 74 61 74 69 63 20 54 79 70 65  : [&'static Type
c920: 3b 20 32 5d 20 3d 20 5b 7b 20 73 74 61 74 69 63  ; 2] = [{ static
c930: 20 50 54 52 3a 20 54 79 70 65 20 3d 20 54 79 70   PTR: Type = Typ
c940: 65 3a 3a 50 6f 69 6e 74 65 72 28 26 3a 3a 46 36  e::Pointer(&::F6
c950: 34 2c 20 53 6f 6d 65 28 26 3a 3a 55 38 29 2c 20  4, Some(&::U8), 
c960: 66 61 6c 73 65 29 3b 20 26 50 54 52 20 7d 2c 20  false); &PTR }, 
c970: 26 3a 3a 46 36 34 78 32 5d 3b 20 26 49 4e 50 55  &::F64x2]; &INPU
c980: 54 53 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20  TS },.          
c990: 20 20 6f 75 74 70 75 74 3a 20 26 3a 3a 56 4f 49    output: &::VOI
c9a0: 44 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 64  D,.            d
c9b0: 65 66 69 6e 69 74 69 6f 6e 3a 20 4e 61 6d 65 64  efinition: Named
c9c0: 28 22 6c 6c 76 6d 2e 78 38 36 2e 73 73 65 32 2e  ("llvm.x86.sse2.
c9d0: 73 74 6f 72 65 75 2e 70 64 22 29 0a 20 20 20 20  storeu.pd").    
c9e0: 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 22      },.        "
c9f0: 5f 6d 6d 5f 73 74 6f 72 65 75 5f 73 69 31 32 38  _mm_storeu_si128
ca00: 22 20 3d 3e 20 49 6e 74 72 69 6e 73 69 63 20 7b  " => Intrinsic {
ca10: 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 6e 70  .            inp
ca20: 75 74 73 3a 20 7b 20 73 74 61 74 69 63 20 49 4e  uts: { static IN
ca30: 50 55 54 53 3a 20 5b 26 27 73 74 61 74 69 63 20  PUTS: [&'static 
ca40: 54 79 70 65 3b 20 32 5d 20 3d 20 5b 7b 20 73 74  Type; 2] = [{ st
ca50: 61 74 69 63 20 50 54 52 3a 20 54 79 70 65 20 3d  atic PTR: Type =
ca60: 20 54 79 70 65 3a 3a 50 6f 69 6e 74 65 72 28 26   Type::Pointer(&
ca70: 3a 3a 55 38 78 31 36 2c 20 53 6f 6d 65 28 26 3a  ::U8x16, Some(&:
ca80: 3a 55 38 29 2c 20 66 61 6c 73 65 29 3b 20 26 50  :U8), false); &P
ca90: 54 52 20 7d 2c 20 26 3a 3a 55 38 78 31 36 5d 3b  TR }, &::U8x16];
caa0: 20 26 49 4e 50 55 54 53 20 7d 2c 0a 20 20 20 20   &INPUTS },.    
cab0: 20 20 20 20 20 20 20 20 6f 75 74 70 75 74 3a 20          output: 
cac0: 26 3a 3a 56 4f 49 44 2c 0a 20 20 20 20 20 20 20  &::VOID,.       
cad0: 20 20 20 20 20 64 65 66 69 6e 69 74 69 6f 6e 3a       definition:
cae0: 20 4e 61 6d 65 64 28 22 6c 6c 76 6d 2e 78 38 36   Named("llvm.x86
caf0: 2e 73 73 65 32 2e 73 74 6f 72 65 75 2e 64 71 22  .sse2.storeu.dq"
cb00: 29 0a 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20  ).        },.   
cb10: 20 20 20 20 20 22 5f 6d 6d 5f 73 75 62 73 5f 65       "_mm_subs_e
cb20: 70 69 38 22 20 3d 3e 20 49 6e 74 72 69 6e 73 69  pi8" => Intrinsi
cb30: 63 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20  c {.            
cb40: 69 6e 70 75 74 73 3a 20 7b 20 73 74 61 74 69 63  inputs: { static
cb50: 20 49 4e 50 55 54 53 3a 20 5b 26 27 73 74 61 74   INPUTS: [&'stat
cb60: 69 63 20 54 79 70 65 3b 20 32 5d 20 3d 20 5b 26  ic Type; 2] = [&
cb70: 3a 3a 49 38 78 31 36 2c 20 26 3a 3a 49 38 78 31  ::I8x16, &::I8x1
cb80: 36 5d 3b 20 26 49 4e 50 55 54 53 20 7d 2c 0a 20  6]; &INPUTS },. 
cb90: 20 20 20 20 20 20 20 20 20 20 20 6f 75 74 70 75             outpu
cba0: 74 3a 20 26 3a 3a 49 38 78 31 36 2c 0a 20 20 20  t: &::I8x16,.   
cbb0: 20 20 20 20 20 20 20 20 20 64 65 66 69 6e 69 74           definit
cbc0: 69 6f 6e 3a 20 4e 61 6d 65 64 28 22 6c 6c 76 6d  ion: Named("llvm
cbd0: 2e 78 38 36 2e 73 73 65 32 2e 70 73 75 62 73 2e  .x86.sse2.psubs.
cbe0: 62 22 29 0a 20 20 20 20 20 20 20 20 7d 2c 0a 20  b").        },. 
cbf0: 20 20 20 20 20 20 20 22 5f 6d 6d 5f 73 75 62 73         "_mm_subs
cc00: 5f 65 70 75 38 22 20 3d 3e 20 49 6e 74 72 69 6e  _epu8" => Intrin
cc10: 73 69 63 20 7b 0a 20 20 20 20 20 20 20 20 20 20  sic {.          
cc20: 20 20 69 6e 70 75 74 73 3a 20 7b 20 73 74 61 74    inputs: { stat
cc30: 69 63 20 49 4e 50 55 54 53 3a 20 5b 26 27 73 74  ic INPUTS: [&'st
cc40: 61 74 69 63 20 54 79 70 65 3b 20 32 5d 20 3d 20  atic Type; 2] = 
cc50: 5b 26 3a 3a 55 38 78 31 36 2c 20 26 3a 3a 55 38  [&::U8x16, &::U8
cc60: 78 31 36 5d 3b 20 26 49 4e 50 55 54 53 20 7d 2c  x16]; &INPUTS },
cc70: 0a 20 20 20 20 20 20 20 20 20 20 20 20 6f 75 74  .            out
cc80: 70 75 74 3a 20 26 3a 3a 55 38 78 31 36 2c 0a 20  put: &::U8x16,. 
cc90: 20 20 20 20 20 20 20 20 20 20 20 64 65 66 69 6e             defin
cca0: 69 74 69 6f 6e 3a 20 4e 61 6d 65 64 28 22 6c 6c  ition: Named("ll
ccb0: 76 6d 2e 78 38 36 2e 73 73 65 32 2e 70 73 75 62  vm.x86.sse2.psub
ccc0: 75 73 2e 62 22 29 0a 20 20 20 20 20 20 20 20 7d  us.b").        }
ccd0: 2c 0a 20 20 20 20 20 20 20 20 22 5f 6d 6d 5f 73  ,.        "_mm_s
cce0: 75 62 73 5f 65 70 69 31 36 22 20 3d 3e 20 49 6e  ubs_epi16" => In
ccf0: 74 72 69 6e 73 69 63 20 7b 0a 20 20 20 20 20 20  trinsic {.      
cd00: 20 20 20 20 20 20 69 6e 70 75 74 73 3a 20 7b 20        inputs: { 
cd10: 73 74 61 74 69 63 20 49 4e 50 55 54 53 3a 20 5b  static INPUTS: [
cd20: 26 27 73 74 61 74 69 63 20 54 79 70 65 3b 20 32  &'static Type; 2
cd30: 5d 20 3d 20 5b 26 3a 3a 49 31 36 78 38 2c 20 26  ] = [&::I16x8, &
cd40: 3a 3a 49 31 36 78 38 5d 3b 20 26 49 4e 50 55 54  ::I16x8]; &INPUT
cd50: 53 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20  S },.           
cd60: 20 6f 75 74 70 75 74 3a 20 26 3a 3a 49 31 36 78   output: &::I16x
cd70: 38 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 64  8,.            d
cd80: 65 66 69 6e 69 74 69 6f 6e 3a 20 4e 61 6d 65 64  efinition: Named
cd90: 28 22 6c 6c 76 6d 2e 78 38 36 2e 73 73 65 32 2e  ("llvm.x86.sse2.
cda0: 70 73 75 62 73 2e 77 22 29 0a 20 20 20 20 20 20  psubs.w").      
cdb0: 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 22 5f 6d    },.        "_m
cdc0: 6d 5f 73 75 62 73 5f 65 70 75 31 36 22 20 3d 3e  m_subs_epu16" =>
cdd0: 20 49 6e 74 72 69 6e 73 69 63 20 7b 0a 20 20 20   Intrinsic {.   
cde0: 20 20 20 20 20 20 20 20 20 69 6e 70 75 74 73 3a           inputs:
cdf0: 20 7b 20 73 74 61 74 69 63 20 49 4e 50 55 54 53   { static INPUTS
ce00: 3a 20 5b 26 27 73 74 61 74 69 63 20 54 79 70 65  : [&'static Type
ce10: 3b 20 32 5d 20 3d 20 5b 26 3a 3a 55 31 36 78 38  ; 2] = [&::U16x8
ce20: 2c 20 26 3a 3a 55 31 36 78 38 5d 3b 20 26 49 4e  , &::U16x8]; &IN
ce30: 50 55 54 53 20 7d 2c 0a 20 20 20 20 20 20 20 20  PUTS },.        
ce40: 20 20 20 20 6f 75 74 70 75 74 3a 20 26 3a 3a 55      output: &::U
ce50: 31 36 78 38 2c 0a 20 20 20 20 20 20 20 20 20 20  16x8,.          
ce60: 20 20 64 65 66 69 6e 69 74 69 6f 6e 3a 20 4e 61    definition: Na
ce70: 6d 65 64 28 22 6c 6c 76 6d 2e 78 38 36 2e 73 73  med("llvm.x86.ss
ce80: 65 32 2e 70 73 75 62 75 73 2e 77 22 29 0a 20 20  e2.psubus.w").  
ce90: 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20        },.       
cea0: 20 22 5f 6d 6d 5f 61 64 64 73 75 62 5f 70 73 22   "_mm_addsub_ps"
ceb0: 20 3d 3e 20 49 6e 74 72 69 6e 73 69 63 20 7b 0a   => Intrinsic {.
cec0: 20 20 20 20 20 20 20 20 20 20 20 20 69 6e 70 75              inpu
ced0: 74 73 3a 20 7b 20 73 74 61 74 69 63 20 49 4e 50  ts: { static INP
cee0: 55 54 53 3a 20 5b 26 27 73 74 61 74 69 63 20 54  UTS: [&'static T
cef0: 79 70 65 3b 20 32 5d 20 3d 20 5b 26 3a 3a 46 33  ype; 2] = [&::F3
cf00: 32 78 34 2c 20 26 3a 3a 46 33 32 78 34 5d 3b 20  2x4, &::F32x4]; 
cf10: 26 49 4e 50 55 54 53 20 7d 2c 0a 20 20 20 20 20  &INPUTS },.     
cf20: 20 20 20 20 20 20 20 6f 75 74 70 75 74 3a 20 26         output: &
cf30: 3a 3a 46 33 32 78 34 2c 0a 20 20 20 20 20 20 20  ::F32x4,.       
cf40: 20 20 20 20 20 64 65 66 69 6e 69 74 69 6f 6e 3a       definition:
cf50: 20 4e 61 6d 65 64 28 22 6c 6c 76 6d 2e 78 38 36   Named("llvm.x86
cf60: 2e 73 73 65 33 2e 61 64 64 73 75 62 2e 70 73 22  .sse3.addsub.ps"
cf70: 29 0a 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20  ).        },.   
cf80: 20 20 20 20 20 22 5f 6d 6d 5f 61 64 64 73 75 62       "_mm_addsub
cf90: 5f 70 64 22 20 3d 3e 20 49 6e 74 72 69 6e 73 69  _pd" => Intrinsi
cfa0: 63 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20  c {.            
cfb0: 69 6e 70 75 74 73 3a 20 7b 20 73 74 61 74 69 63  inputs: { static
cfc0: 20 49 4e 50 55 54 53 3a 20 5b 26 27 73 74 61 74   INPUTS: [&'stat
cfd0: 69 63 20 54 79 70 65 3b 20 32 5d 20 3d 20 5b 26  ic Type; 2] = [&
cfe0: 3a 3a 46 36 34 78 32 2c 20 26 3a 3a 46 36 34 78  ::F64x2, &::F64x
cff0: 32 5d 3b 20 26 49 4e 50 55 54 53 20 7d 2c 0a 20  2]; &INPUTS },. 
d000: 20 20 20 20 20 20 20 20 20 20 20 6f 75 74 70 75             outpu
d010: 74 3a 20 26 3a 3a 46 36 34 78 32 2c 0a 20 20 20  t: &::F64x2,.   
d020: 20 20 20 20 20 20 20 20 20 64 65 66 69 6e 69 74           definit
d030: 69 6f 6e 3a 20 4e 61 6d 65 64 28 22 6c 6c 76 6d  ion: Named("llvm
d040: 2e 78 38 36 2e 73 73 65 33 2e 61 64 64 73 75 62  .x86.sse3.addsub
d050: 2e 70 64 22 29 0a 20 20 20 20 20 20 20 20 7d 2c  .pd").        },
d060: 0a 20 20 20 20 20 20 20 20 22 5f 6d 6d 5f 68 61  .        "_mm_ha
d070: 64 64 5f 70 73 22 20 3d 3e 20 49 6e 74 72 69 6e  dd_ps" => Intrin
d080: 73 69 63 20 7b 0a 20 20 20 20 20 20 20 20 20 20  sic {.          
d090: 20 20 69 6e 70 75 74 73 3a 20 7b 20 73 74 61 74    inputs: { stat
d0a0: 69 63 20 49 4e 50 55 54 53 3a 20 5b 26 27 73 74  ic INPUTS: [&'st
d0b0: 61 74 69 63 20 54 79 70 65 3b 20 32 5d 20 3d 20  atic Type; 2] = 
d0c0: 5b 26 3a 3a 46 33 32 78 34 2c 20 26 3a 3a 46 33  [&::F32x4, &::F3
d0d0: 32 78 34 5d 3b 20 26 49 4e 50 55 54 53 20 7d 2c  2x4]; &INPUTS },
d0e0: 0a 20 20 20 20 20 20 20 20 20 20 20 20 6f 75 74  .            out
d0f0: 70 75 74 3a 20 26 3a 3a 46 33 32 78 34 2c 0a 20  put: &::F32x4,. 
d100: 20 20 20 20 20 20 20 20 20 20 20 64 65 66 69 6e             defin
d110: 69 74 69 6f 6e 3a 20 4e 61 6d 65 64 28 22 6c 6c  ition: Named("ll
d120: 76 6d 2e 78 38 36 2e 73 73 65 33 2e 68 61 64 64  vm.x86.sse3.hadd
d130: 2e 70 73 22 29 0a 20 20 20 20 20 20 20 20 7d 2c  .ps").        },
d140: 0a 20 20 20 20 20 20 20 20 22 5f 6d 6d 5f 68 61  .        "_mm_ha
d150: 64 64 5f 70 64 22 20 3d 3e 20 49 6e 74 72 69 6e  dd_pd" => Intrin
d160: 73 69 63 20 7b 0a 20 20 20 20 20 20 20 20 20 20  sic {.          
d170: 20 20 69 6e 70 75 74 73 3a 20 7b 20 73 74 61 74    inputs: { stat
d180: 69 63 20 49 4e 50 55 54 53 3a 20 5b 26 27 73 74  ic INPUTS: [&'st
d190: 61 74 69 63 20 54 79 70 65 3b 20 32 5d 20 3d 20  atic Type; 2] = 
d1a0: 5b 26 3a 3a 46 36 34 78 32 2c 20 26 3a 3a 46 36  [&::F64x2, &::F6
d1b0: 34 78 32 5d 3b 20 26 49 4e 50 55 54 53 20 7d 2c  4x2]; &INPUTS },
d1c0: 0a 20 20 20 20 20 20 20 20 20 20 20 20 6f 75 74  .            out
d1d0: 70 75 74 3a 20 26 3a 3a 46 36 34 78 32 2c 0a 20  put: &::F64x2,. 
d1e0: 20 20 20 20 20 20 20 20 20 20 20 64 65 66 69 6e             defin
d1f0: 69 74 69 6f 6e 3a 20 4e 61 6d 65 64 28 22 6c 6c  ition: Named("ll
d200: 76 6d 2e 78 38 36 2e 73 73 65 33 2e 68 61 64 64  vm.x86.sse3.hadd
d210: 2e 70 64 22 29 0a 20 20 20 20 20 20 20 20 7d 2c  .pd").        },
d220: 0a 20 20 20 20 20 20 20 20 22 5f 6d 6d 5f 68 73  .        "_mm_hs
d230: 75 62 5f 70 73 22 20 3d 3e 20 49 6e 74 72 69 6e  ub_ps" => Intrin
d240: 73 69 63 20 7b 0a 20 20 20 20 20 20 20 20 20 20  sic {.          
d250: 20 20 69 6e 70 75 74 73 3a 20 7b 20 73 74 61 74    inputs: { stat
d260: 69 63 20 49 4e 50 55 54 53 3a 20 5b 26 27 73 74  ic INPUTS: [&'st
d270: 61 74 69 63 20 54 79 70 65 3b 20 32 5d 20 3d 20  atic Type; 2] = 
d280: 5b 26 3a 3a 46 33 32 78 34 2c 20 26 3a 3a 46 33  [&::F32x4, &::F3
d290: 32 78 34 5d 3b 20 26 49 4e 50 55 54 53 20 7d 2c  2x4]; &INPUTS },
d2a0: 0a 20 20 20 20 20 20 20 20 20 20 20 20 6f 75 74  .            out
d2b0: 70 75 74 3a 20 26 3a 3a 46 33 32 78 34 2c 0a 20  put: &::F32x4,. 
d2c0: 20 20 20 20 20 20 20 20 20 20 20 64 65 66 69 6e             defin
d2d0: 69 74 69 6f 6e 3a 20 4e 61 6d 65 64 28 22 6c 6c  ition: Named("ll
d2e0: 76 6d 2e 78 38 36 2e 73 73 65 33 2e 68 73 75 62  vm.x86.sse3.hsub
d2f0: 2e 70 73 22 29 0a 20 20 20 20 20 20 20 20 7d 2c  .ps").        },
d300: 0a 20 20 20 20 20 20 20 20 22 5f 6d 6d 5f 68 73  .        "_mm_hs
d310: 75 62 5f 70 64 22 20 3d 3e 20 49 6e 74 72 69 6e  ub_pd" => Intrin
d320: 73 69 63 20 7b 0a 20 20 20 20 20 20 20 20 20 20  sic {.          
d330: 20 20 69 6e 70 75 74 73 3a 20 7b 20 73 74 61 74    inputs: { stat
d340: 69 63 20 49 4e 50 55 54 53 3a 20 5b 26 27 73 74  ic INPUTS: [&'st
d350: 61 74 69 63 20 54 79 70 65 3b 20 32 5d 20 3d 20  atic Type; 2] = 
d360: 5b 26 3a 3a 46 36 34 78 32 2c 20 26 3a 3a 46 36  [&::F64x2, &::F6
d370: 34 78 32 5d 3b 20 26 49 4e 50 55 54 53 20 7d 2c  4x2]; &INPUTS },
d380: 0a 20 20 20 20 20 20 20 20 20 20 20 20 6f 75 74  .            out
d390: 70 75 74 3a 20 26 3a 3a 46 36 34 78 32 2c 0a 20  put: &::F64x2,. 
d3a0: 20 20 20 20 20 20 20 20 20 20 20 64 65 66 69 6e             defin
d3b0: 69 74 69 6f 6e 3a 20 4e 61 6d 65 64 28 22 6c 6c  ition: Named("ll
d3c0: 76 6d 2e 78 38 36 2e 73 73 65 33 2e 68 73 75 62  vm.x86.sse3.hsub
d3d0: 2e 70 64 22 29 0a 20 20 20 20 20 20 20 20 7d 2c  .pd").        },
d3e0: 0a 20 20 20 20 20 20 20 20 22 5f 6d 6d 5f 6c 64  .        "_mm_ld
d3f0: 64 71 75 5f 73 69 31 32 38 22 20 3d 3e 20 49 6e  dqu_si128" => In
d400: 74 72 69 6e 73 69 63 20 7b 0a 20 20 20 20 20 20  trinsic {.      
d410: 20 20 20 20 20 20 69 6e 70 75 74 73 3a 20 7b 20        inputs: { 
d420: 73 74 61 74 69 63 20 49 4e 50 55 54 53 3a 20 5b  static INPUTS: [
d430: 26 27 73 74 61 74 69 63 20 54 79 70 65 3b 20 31  &'static Type; 1
d440: 5d 20 3d 20 5b 7b 20 73 74 61 74 69 63 20 50 54  ] = [{ static PT
d450: 52 3a 20 54 79 70 65 20 3d 20 54 79 70 65 3a 3a  R: Type = Type::
d460: 50 6f 69 6e 74 65 72 28 26 3a 3a 55 38 78 31 36  Pointer(&::U8x16
d470: 2c 20 53 6f 6d 65 28 26 3a 3a 49 38 29 2c 20 74  , Some(&::I8), t
d480: 72 75 65 29 3b 20 26 50 54 52 20 7d 5d 3b 20 26  rue); &PTR }]; &
d490: 49 4e 50 55 54 53 20 7d 2c 0a 20 20 20 20 20 20  INPUTS },.      
d4a0: 20 20 20 20 20 20 6f 75 74 70 75 74 3a 20 26 3a        output: &:
d4b0: 3a 55 38 78 31 36 2c 0a 20 20 20 20 20 20 20 20  :U8x16,.        
d4c0: 20 20 20 20 64 65 66 69 6e 69 74 69 6f 6e 3a 20      definition: 
d4d0: 4e 61 6d 65 64 28 22 6c 6c 76 6d 2e 78 38 36 2e  Named("llvm.x86.
d4e0: 73 73 65 33 2e 6c 64 75 2e 64 71 22 29 0a 20 20  sse3.ldu.dq").  
d4f0: 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20        },.       
d500: 20 22 5f 6d 6d 5f 64 70 5f 70 73 22 20 3d 3e 20   "_mm_dp_ps" => 
d510: 49 6e 74 72 69 6e 73 69 63 20 7b 0a 20 20 20 20  Intrinsic {.    
d520: 20 20 20 20 20 20 20 20 69 6e 70 75 74 73 3a 20          inputs: 
d530: 7b 20 73 74 61 74 69 63 20 49 4e 50 55 54 53 3a  { static INPUTS:
d540: 20 5b 26 27 73 74 61 74 69 63 20 54 79 70 65 3b   [&'static Type;
d550: 20 33 5d 20 3d 20 5b 26 3a 3a 46 33 32 78 34 2c   3] = [&::F32x4,
d560: 20 26 3a 3a 46 33 32 78 34 2c 20 26 3a 3a 49 33   &::F32x4, &::I3
d570: 32 5f 38 5d 3b 20 26 49 4e 50 55 54 53 20 7d 2c  2_8]; &INPUTS },
d580: 0a 20 20 20 20 20 20 20 20 20 20 20 20 6f 75 74  .            out
d590: 70 75 74 3a 20 26 3a 3a 46 33 32 78 34 2c 0a 20  put: &::F32x4,. 
d5a0: 20 20 20 20 20 20 20 20 20 20 20 64 65 66 69 6e             defin
d5b0: 69 74 69 6f 6e 3a 20 4e 61 6d 65 64 28 22 6c 6c  ition: Named("ll
d5c0: 76 6d 2e 78 38 36 2e 73 73 65 34 31 2e 64 70 70  vm.x86.sse41.dpp
d5d0: 73 22 29 0a 20 20 20 20 20 20 20 20 7d 2c 0a 20  s").        },. 
d5e0: 20 20 20 20 20 20 20 22 5f 6d 6d 5f 64 70 5f 70         "_mm_dp_p
d5f0: 64 22 20 3d 3e 20 49 6e 74 72 69 6e 73 69 63 20  d" => Intrinsic 
d600: 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 6e  {.            in
d610: 70 75 74 73 3a 20 7b 20 73 74 61 74 69 63 20 49  puts: { static I
d620: 4e 50 55 54 53 3a 20 5b 26 27 73 74 61 74 69 63  NPUTS: [&'static
d630: 20 54 79 70 65 3b 20 33 5d 20 3d 20 5b 26 3a 3a   Type; 3] = [&::
d640: 46 36 34 78 32 2c 20 26 3a 3a 46 36 34 78 32 2c  F64x2, &::F64x2,
d650: 20 26 3a 3a 49 33 32 5f 38 5d 3b 20 26 49 4e 50   &::I32_8]; &INP
d660: 55 54 53 20 7d 2c 0a 20 20 20 20 20 20 20 20 20  UTS },.         
d670: 20 20 20 6f 75 74 70 75 74 3a 20 26 3a 3a 46 36     output: &::F6
d680: 34 78 32 2c 0a 20 20 20 20 20 20 20 20 20 20 20  4x2,.           
d690: 20 64 65 66 69 6e 69 74 69 6f 6e 3a 20 4e 61 6d   definition: Nam
d6a0: 65 64 28 22 6c 6c 76 6d 2e 78 38 36 2e 73 73 65  ed("llvm.x86.sse
d6b0: 34 31 2e 64 70 70 64 22 29 0a 20 20 20 20 20 20  41.dppd").      
d6c0: 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 22 5f 6d    },.        "_m
d6d0: 6d 5f 6d 61 78 5f 65 70 69 38 22 20 3d 3e 20 49  m_max_epi8" => I
d6e0: 6e 74 72 69 6e 73 69 63 20 7b 0a 20 20 20 20 20  ntrinsic {.     
d6f0: 20 20 20 20 20 20 20 69 6e 70 75 74 73 3a 20 7b         inputs: {
d700: 20 73 74 61 74 69 63 20 49 4e 50 55 54 53 3a 20   static INPUTS: 
d710: 5b 26 27 73 74 61 74 69 63 20 54 79 70 65 3b 20  [&'static Type; 
d720: 32 5d 20 3d 20 5b 26 3a 3a 49 38 78 31 36 2c 20  2] = [&::I8x16, 
d730: 26 3a 3a 49 38 78 31 36 5d 3b 20 26 49 4e 50 55  &::I8x16]; &INPU
d740: 54 53 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20  TS },.          
d750: 20 20 6f 75 74 70 75 74 3a 20 26 3a 3a 49 38 78    output: &::I8x
d760: 31 36 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20  16,.            
d770: 64 65 66 69 6e 69 74 69 6f 6e 3a 20 4e 61 6d 65  definition: Name
d780: 64 28 22 6c 6c 76 6d 2e 78 38 36 2e 73 73 65 34  d("llvm.x86.sse4
d790: 31 2e 70 6d 61 78 73 62 22 29 0a 20 20 20 20 20  1.pmaxsb").     
d7a0: 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 22 5f     },.        "_
d7b0: 6d 6d 5f 6d 61 78 5f 65 70 75 31 36 22 20 3d 3e  mm_max_epu16" =>
d7c0: 20 49 6e 74 72 69 6e 73 69 63 20 7b 0a 20 20 20   Intrinsic {.   
d7d0: 20 20 20 20 20 20 20 20 20 69 6e 70 75 74 73 3a           inputs:
d7e0: 20 7b 20 73 74 61 74 69 63 20 49 4e 50 55 54 53   { static INPUTS
d7f0: 3a 20 5b 26 27 73 74 61 74 69 63 20 54 79 70 65  : [&'static Type
d800: 3b 20 32 5d 20 3d 20 5b 26 3a 3a 55 31 36 78 38  ; 2] = [&::U16x8
d810: 2c 20 26 3a 3a 55 31 36 78 38 5d 3b 20 26 49 4e  , &::U16x8]; &IN
d820: 50 55 54 53 20 7d 2c 0a 20 20 20 20 20 20 20 20  PUTS },.        
d830: 20 20 20 20 6f 75 74 70 75 74 3a 20 26 3a 3a 55      output: &::U
d840: 31 36 78 38 2c 0a 20 20 20 20 20 20 20 20 20 20  16x8,.          
d850: 20 20 64 65 66 69 6e 69 74 69 6f 6e 3a 20 4e 61    definition: Na
d860: 6d 65 64 28 22 6c 6c 76 6d 2e 78 38 36 2e 73 73  med("llvm.x86.ss
d870: 65 34 31 2e 70 6d 61 78 75 77 22 29 0a 20 20 20  e41.pmaxuw").   
d880: 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20       },.        
d890: 22 5f 6d 6d 5f 6d 61 78 5f 65 70 69 33 32 22 20  "_mm_max_epi32" 
d8a0: 3d 3e 20 49 6e 74 72 69 6e 73 69 63 20 7b 0a 20  => Intrinsic {. 
d8b0: 20 20 20 20 20 20 20 20 20 20 20 69 6e 70 75 74             input
d8c0: 73 3a 20 7b 20 73 74 61 74 69 63 20 49 4e 50 55  s: { static INPU
d8d0: 54 53 3a 20 5b 26 27 73 74 61 74 69 63 20 54 79  TS: [&'static Ty
d8e0: 70 65 3b 20 32 5d 20 3d 20 5b 26 3a 3a 49 33 32  pe; 2] = [&::I32
d8f0: 78 34 2c 20 26 3a 3a 49 33 32 78 34 5d 3b 20 26  x4, &::I32x4]; &
d900: 49 4e 50 55 54 53 20 7d 2c 0a 20 20 20 20 20 20  INPUTS },.      
d910: 20 20 20 20 20 20 6f 75 74 70 75 74 3a 20 26 3a        output: &:
d920: 3a 49 33 32 78 34 2c 0a 20 20 20 20 20 20 20 20  :I32x4,.        
d930: 20 20 20 20 64 65 66 69 6e 69 74 69 6f 6e 3a 20      definition: 
d940: 4e 61 6d 65 64 28 22 6c 6c 76 6d 2e 78 38 36 2e  Named("llvm.x86.
d950: 73 73 65 34 31 2e 70 6d 61 78 73 64 22 29 0a 20  sse41.pmaxsd"). 
d960: 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20         },.      
d970: 20 20 22 5f 6d 6d 5f 6d 61 78 5f 65 70 75 33 32    "_mm_max_epu32
d980: 22 20 3d 3e 20 49 6e 74 72 69 6e 73 69 63 20 7b  " => Intrinsic {
d990: 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 6e 70  .            inp
d9a0: 75 74 73 3a 20 7b 20 73 74 61 74 69 63 20 49 4e  uts: { static IN
d9b0: 50 55 54 53 3a 20 5b 26 27 73 74 61 74 69 63 20  PUTS: [&'static 
d9c0: 54 79 70 65 3b 20 32 5d 20 3d 20 5b 26 3a 3a 55  Type; 2] = [&::U
d9d0: 33 32 78 34 2c 20 26 3a 3a 55 33 32 78 34 5d 3b  32x4, &::U32x4];
d9e0: 20 26 49 4e 50 55 54 53 20 7d 2c 0a 20 20 20 20   &INPUTS },.    
d9f0: 20 20 20 20 20 20 20 20 6f 75 74 70 75 74 3a 20          output: 
da00: 26 3a 3a 55 33 32 78 34 2c 0a 20 20 20 20 20 20  &::U32x4,.      
da10: 20 20 20 20 20 20 64 65 66 69 6e 69 74 69 6f 6e        definition
da20: 3a 20 4e 61 6d 65 64 28 22 6c 6c 76 6d 2e 78 38  : Named("llvm.x8
da30: 36 2e 73 73 65 34 31 2e 70 6d 61 78 75 64 22 29  6.sse41.pmaxud")
da40: 0a 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20  .        },.    
da50: 20 20 20 20 22 5f 6d 6d 5f 6d 69 6e 5f 65 70 69      "_mm_min_epi
da60: 38 22 20 3d 3e 20 49 6e 74 72 69 6e 73 69 63 20  8" => Intrinsic 
da70: 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 6e  {.            in
da80: 70 75 74 73 3a 20 7b 20 73 74 61 74 69 63 20 49  puts: { static I
da90: 4e 50 55 54 53 3a 20 5b 26 27 73 74 61 74 69 63  NPUTS: [&'static
daa0: 20 54 79 70 65 3b 20 32 5d 20 3d 20 5b 26 3a 3a   Type; 2] = [&::
dab0: 49 38 78 31 36 2c 20 26 3a 3a 49 38 78 31 36 5d  I8x16, &::I8x16]
dac0: 3b 20 26 49 4e 50 55 54 53 20 7d 2c 0a 20 20 20  ; &INPUTS },.   
dad0: 20 20 20 20 20 20 20 20 20 6f 75 74 70 75 74 3a           output:
dae0: 20 26 3a 3a 49 38 78 31 36 2c 0a 20 20 20 20 20   &::I8x16,.     
daf0: 20 20 20 20 20 20 20 64 65 66 69 6e 69 74 69 6f         definitio
db00: 6e 3a 20 4e 61 6d 65 64 28 22 6c 6c 76 6d 2e 78  n: Named("llvm.x
db10: 38 36 2e 73 73 65 34 31 2e 70 6d 69 6e 73 62 22  86.sse41.pminsb"
db20: 29 0a 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20  ).        },.   
db30: 20 20 20 20 20 22 5f 6d 6d 5f 6d 69 6e 5f 65 70       "_mm_min_ep
db40: 75 31 36 22 20 3d 3e 20 49 6e 74 72 69 6e 73 69  u16" => Intrinsi
db50: 63 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20  c {.            
db60: 69 6e 70 75 74 73 3a 20 7b 20 73 74 61 74 69 63  inputs: { static
db70: 20 49 4e 50 55 54 53 3a 20 5b 26 27 73 74 61 74   INPUTS: [&'stat
db80: 69 63 20 54 79 70 65 3b 20 32 5d 20 3d 20 5b 26  ic Type; 2] = [&
db90: 3a 3a 55 31 36 78 38 2c 20 26 3a 3a 55 31 36 78  ::U16x8, &::U16x
dba0: 38 5d 3b 20 26 49 4e 50 55 54 53 20 7d 2c 0a 20  8]; &INPUTS },. 
dbb0: 20 20 20 20 20 20 20 20 20 20 20 6f 75 74 70 75             outpu
dbc0: 74 3a 20 26 3a 3a 55 31 36 78 38 2c 0a 20 20 20  t: &::U16x8,.   
dbd0: 20 20 20 20 20 20 20 20 20 64 65 66 69 6e 69 74           definit
dbe0: 69 6f 6e 3a 20 4e 61 6d 65 64 28 22 6c 6c 76 6d  ion: Named("llvm
dbf0: 2e 78 38 36 2e 73 73 65 34 31 2e 70 6d 69 6e 75  .x86.sse41.pminu
dc00: 77 22 29 0a 20 20 20 20 20 20 20 20 7d 2c 0a 20  w").        },. 
dc10: 20 20 20 20 20 20 20 22 5f 6d 6d 5f 6d 69 6e 5f         "_mm_min_
dc20: 65 70 69 33 32 22 20 3d 3e 20 49 6e 74 72 69 6e  epi32" => Intrin
dc30: 73 69 63 20 7b 0a 20 20 20 20 20 20 20 20 20 20  sic {.          
dc40: 20 20 69 6e 70 75 74 73 3a 20 7b 20 73 74 61 74    inputs: { stat
dc50: 69 63 20 49 4e 50 55 54 53 3a 20 5b 26 27 73 74  ic INPUTS: [&'st
dc60: 61 74 69 63 20 54 79 70 65 3b 20 32 5d 20 3d 20  atic Type; 2] = 
dc70: 5b 26 3a 3a 49 33 32 78 34 2c 20 26 3a 3a 49 33  [&::I32x4, &::I3
dc80: 32 78 34 5d 3b 20 26 49 4e 50 55 54 53 20 7d 2c  2x4]; &INPUTS },
dc90: 0a 20 20 20 20 20 20 20 20 20 20 20 20 6f 75 74  .            out
dca0: 70 75 74 3a 20 26 3a 3a 49 33 32 78 34 2c 0a 20  put: &::I32x4,. 
dcb0: 20 20 20 20 20 20 20 20 20 20 20 64 65 66 69 6e             defin
dcc0: 69 74 69 6f 6e 3a 20 4e 61 6d 65 64 28 22 6c 6c  ition: Named("ll
dcd0: 76 6d 2e 78 38 36 2e 73 73 65 34 31 2e 70 6d 69  vm.x86.sse41.pmi
dce0: 6e 73 64 22 29 0a 20 20 20 20 20 20 20 20 7d 2c  nsd").        },
dcf0: 0a 20 20 20 20 20 20 20 20 22 5f 6d 6d 5f 6d 69  .        "_mm_mi
dd00: 6e 5f 65 70 75 33 32 22 20 3d 3e 20 49 6e 74 72  n_epu32" => Intr
dd10: 69 6e 73 69 63 20 7b 0a 20 20 20 20 20 20 20 20  insic {.        
dd20: 20 20 20 20 69 6e 70 75 74 73 3a 20 7b 20 73 74      inputs: { st
dd30: 61 74 69 63 20 49 4e 50 55 54 53 3a 20 5b 26 27  atic INPUTS: [&'
dd40: 73 74 61 74 69 63 20 54 79 70 65 3b 20 32 5d 20  static Type; 2] 
dd50: 3d 20 5b 26 3a 3a 55 33 32 78 34 2c 20 26 3a 3a  = [&::U32x4, &::
dd60: 55 33 32 78 34 5d 3b 20 26 49 4e 50 55 54 53 20  U32x4]; &INPUTS 
dd70: 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 6f  },.            o
dd80: 75 74 70 75 74 3a 20 26 3a 3a 55 33 32 78 34 2c  utput: &::U32x4,
dd90: 0a 20 20 20 20 20 20 20 20 20 20 20 20 64 65 66  .            def
dda0: 69 6e 69 74 69 6f 6e 3a 20 4e 61 6d 65 64 28 22  inition: Named("
ddb0: 6c 6c 76 6d 2e 78 38 36 2e 73 73 65 34 31 2e 70  llvm.x86.sse41.p
ddc0: 6d 69 6e 75 64 22 29 0a 20 20 20 20 20 20 20 20  minud").        
ddd0: 7d 2c 0a 20 20 20 20 20 20 20 20 22 5f 6d 6d 5f  },.        "_mm_
dde0: 6d 69 6e 70 6f 73 5f 65 70 75 31 36 22 20 3d 3e  minpos_epu16" =>
ddf0: 20 49 6e 74 72 69 6e 73 69 63 20 7b 0a 20 20 20   Intrinsic {.   
de00: 20 20 20 20 20 20 20 20 20 69 6e 70 75 74 73 3a           inputs:
de10: 20 7b 20 73 74 61 74 69 63 20 49 4e 50 55 54 53   { static INPUTS
de20: 3a 20 5b 26 27 73 74 61 74 69 63 20 54 79 70 65  : [&'static Type
de30: 3b 20 31 5d 20 3d 20 5b 26 3a 3a 55 31 36 78 38  ; 1] = [&::U16x8
de40: 5d 3b 20 26 49 4e 50 55 54 53 20 7d 2c 0a 20 20  ]; &INPUTS },.  
de50: 20 20 20 20 20 20 20 20 20 20 6f 75 74 70 75 74            output
de60: 3a 20 26 3a 3a 55 31 36 78 38 2c 0a 20 20 20 20  : &::U16x8,.    
de70: 20 20 20 20 20 20 20 20 64 65 66 69 6e 69 74 69          definiti
de80: 6f 6e 3a 20 4e 61 6d 65 64 28 22 6c 6c 76 6d 2e  on: Named("llvm.
de90: 78 38 36 2e 73 73 65 34 31 2e 70 68 6d 69 6e 70  x86.sse41.phminp
dea0: 6f 73 75 77 22 29 0a 20 20 20 20 20 20 20 20 7d  osuw").        }
deb0: 2c 0a 20 20 20 20 20 20 20 20 22 5f 6d 6d 5f 6d  ,.        "_mm_m
dec0: 70 73 61 64 62 77 5f 65 70 75 38 22 20 3d 3e 20  psadbw_epu8" => 
ded0: 49 6e 74 72 69 6e 73 69 63 20 7b 0a 20 20 20 20  Intrinsic {.    
dee0: 20 20 20 20 20 20 20 20 69 6e 70 75 74 73 3a 20          inputs: 
def0: 7b 20 73 74 61 74 69 63 20 49 4e 50 55 54 53 3a  { static INPUTS:
df00: 20 5b 26 27 73 74 61 74 69 63 20 54 79 70 65 3b   [&'static Type;
df10: 20 33 5d 20 3d 20 5b 26 3a 3a 55 38 78 31 36 2c   3] = [&::U8x16,
df20: 20 26 3a 3a 55 38 78 31 36 2c 20 26 3a 3a 49 33   &::U8x16, &::I3
df30: 32 5f 38 5d 3b 20 26 49 4e 50 55 54 53 20 7d 2c  2_8]; &INPUTS },
df40: 0a 20 20 20 20 20 20 20 20 20 20 20 20 6f 75 74  .            out
df50: 70 75 74 3a 20 26 3a 3a 55 31 36 78 38 2c 0a 20  put: &::U16x8,. 
df60: 20 20 20 20 20 20 20 20 20 20 20 64 65 66 69 6e             defin
df70: 69 74 69 6f 6e 3a 20 4e 61 6d 65 64 28 22 6c 6c  ition: Named("ll
df80: 76 6d 2e 78 38 36 2e 73 73 65 34 31 2e 6d 70 73  vm.x86.sse41.mps
df90: 61 64 62 77 22 29 0a 20 20 20 20 20 20 20 20 7d  adbw").        }
dfa0: 2c 0a 20 20 20 20 20 20 20 20 22 5f 6d 6d 5f 6d  ,.        "_mm_m
dfb0: 75 6c 5f 65 70 69 33 32 22 20 3d 3e 20 49 6e 74  ul_epi32" => Int
dfc0: 72 69 6e 73 69 63 20 7b 0a 20 20 20 20 20 20 20  rinsic {.       
dfd0: 20 20 20 20 20 69 6e 70 75 74 73 3a 20 7b 20 73       inputs: { s
dfe0: 74 61 74 69 63 20 49 4e 50 55 54 53 3a 20 5b 26  tatic INPUTS: [&
dff0: 27 73 74 61 74 69 63 20 54 79 70 65 3b 20 32 5d  'static Type; 2]
e000: 20 3d 20 5b 26 3a 3a 49 33 32 78 34 2c 20 26 3a   = [&::I32x4, &:
e010: 3a 49 33 32 78 34 5d 3b 20 26 49 4e 50 55 54 53  :I32x4]; &INPUTS
e020: 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20   },.            
e030: 6f 75 74 70 75 74 3a 20 26 3a 3a 49 36 34 78 32  output: &::I64x2
e040: 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 64 65  ,.            de
e050: 66 69 6e 69 74 69 6f 6e 3a 20 4e 61 6d 65 64 28  finition: Named(
e060: 22 6c 6c 76 6d 2e 78 38 36 2e 73 73 65 34 31 2e  "llvm.x86.sse41.
e070: 70 6d 75 6c 64 71 22 29 0a 20 20 20 20 20 20 20  pmuldq").       
e080: 20 7d 2c 0a 20 20 20 20 20 20 20 20 22 5f 6d 6d   },.        "_mm
e090: 5f 70 61 63 6b 75 73 5f 65 70 69 33 32 22 20 3d  _packus_epi32" =
e0a0: 3e 20 49 6e 74 72 69 6e 73 69 63 20 7b 0a 20 20  > Intrinsic {.  
e0b0: 20 20 20 20 20 20 20 20 20 20 69 6e 70 75 74 73            inputs
e0c0: 3a 20 7b 20 73 74 61 74 69 63 20 49 4e 50 55 54  : { static INPUT
e0d0: 53 3a 20 5b 26 27 73 74 61 74 69 63 20 54 79 70  S: [&'static Typ
e0e0: 65 3b 20 32 5d 20 3d 20 5b 26 3a 3a 49 33 32 78  e; 2] = [&::I32x
e0f0: 34 2c 20 26 3a 3a 49 33 32 78 34 5d 3b 20 26 49  4, &::I32x4]; &I
e100: 4e 50 55 54 53 20 7d 2c 0a 20 20 20 20 20 20 20  NPUTS },.       
e110: 20 20 20 20 20 6f 75 74 70 75 74 3a 20 26 3a 3a       output: &::
e120: 55 31 36 78 38 2c 0a 20 20 20 20 20 20 20 20 20  U16x8,.         
e130: 20 20 20 64 65 66 69 6e 69 74 69 6f 6e 3a 20 4e     definition: N
e140: 61 6d 65 64 28 22 6c 6c 76 6d 2e 78 38 36 2e 73  amed("llvm.x86.s
e150: 73 65 34 31 2e 70 61 63 6b 75 73 64 77 22 29 0a  se41.packusdw").
e160: 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20          },.     
e170: 20 20 20 22 5f 6d 6d 5f 74 65 73 74 63 5f 73 69     "_mm_testc_si
e180: 31 32 38 22 20 3d 3e 20 49 6e 74 72 69 6e 73 69  128" => Intrinsi
e190: 63 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20  c {.            
e1a0: 69 6e 70 75 74 73 3a 20 7b 20 73 74 61 74 69 63  inputs: { static
e1b0: 20 49 4e 50 55 54 53 3a 20 5b 26 27 73 74 61 74   INPUTS: [&'stat
e1c0: 69 63 20 54 79 70 65 3b 20 32 5d 20 3d 20 5b 26  ic Type; 2] = [&
e1d0: 3a 3a 55 36 34 78 32 2c 20 26 3a 3a 55 36 34 78  ::U64x2, &::U64x
e1e0: 32 5d 3b 20 26 49 4e 50 55 54 53 20 7d 2c 0a 20  2]; &INPUTS },. 
e1f0: 20 20 20 20 20 20 20 20 20 20 20 6f 75 74 70 75             outpu
e200: 74 3a 20 26 3a 3a 49 33 32 2c 0a 20 20 20 20 20  t: &::I32,.     
e210: 20 20 20 20 20 20 20 64 65 66 69 6e 69 74 69 6f         definitio
e220: 6e 3a 20 4e 61 6d 65 64 28 22 6c 6c 76 6d 2e 78  n: Named("llvm.x
e230: 38 36 2e 73 73 65 34 31 2e 70 74 65 73 74 63 22  86.sse41.ptestc"
e240: 29 0a 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20  ).        },.   
e250: 20 20 20 20 20 22 5f 6d 6d 5f 74 65 73 74 6e 7a       "_mm_testnz
e260: 63 5f 73 69 31 32 38 22 20 3d 3e 20 49 6e 74 72  c_si128" => Intr
e270: 69 6e 73 69 63 20 7b 0a 20 20 20 20 20 20 20 20  insic {.        
e280: 20 20 20 20 69 6e 70 75 74 73 3a 20 7b 20 73 74      inputs: { st
e290: 61 74 69 63 20 49 4e 50 55 54 53 3a 20 5b 26 27  atic INPUTS: [&'
e2a0: 73 74 61 74 69 63 20 54 79 70 65 3b 20 32 5d 20  static Type; 2] 
e2b0: 3d 20 5b 26 3a 3a 55 36 34 78 32 2c 20 26 3a 3a  = [&::U64x2, &::
e2c0: 55 36 34 78 32 5d 3b 20 26 49 4e 50 55 54 53 20  U64x2]; &INPUTS 
e2d0: 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 6f  },.            o
e2e0: 75 74 70 75 74 3a 20 26 3a 3a 49 33 32 2c 0a 20  utput: &::I32,. 
e2f0: 20 20 20 20 20 20 20 20 20 20 20 64 65 66 69 6e             defin
e300: 69 74 69 6f 6e 3a 20 4e 61 6d 65 64 28 22 6c 6c  ition: Named("ll
e310: 76 6d 2e 78 38 36 2e 73 73 65 34 31 2e 70 74 65  vm.x86.sse41.pte
e320: 73 74 6e 7a 63 22 29 0a 20 20 20 20 20 20 20 20  stnzc").        
e330: 7d 2c 0a 20 20 20 20 20 20 20 20 22 5f 6d 6d 5f  },.        "_mm_
e340: 74 65 73 74 7a 5f 73 69 31 32 38 22 20 3d 3e 20  testz_si128" => 
e350: 49 6e 74 72 69 6e 73 69 63 20 7b 0a 20 20 20 20  Intrinsic {.    
e360: 20 20 20 20 20 20 20 20 69 6e 70 75 74 73 3a 20          inputs: 
e370: 7b 20 73 74 61 74 69 63 20 49 4e 50 55 54 53 3a  { static INPUTS:
e380: 20 5b 26 27 73 74 61 74 69 63 20 54 79 70 65 3b   [&'static Type;
e390: 20 32 5d 20 3d 20 5b 26 3a 3a 55 36 34 78 32 2c   2] = [&::U64x2,
e3a0: 20 26 3a 3a 55 36 34 78 32 5d 3b 20 26 49 4e 50   &::U64x2]; &INP
e3b0: 55 54 53 20 7d 2c 0a 20 20 20 20 20 20 20 20 20  UTS },.         
e3c0: 20 20 20 6f 75 74 70 75 74 3a 20 26 3a 3a 49 33     output: &::I3
e3d0: 32 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 64  2,.            d
e3e0: 65 66 69 6e 69 74 69 6f 6e 3a 20 4e 61 6d 65 64  efinition: Named
e3f0: 28 22 6c 6c 76 6d 2e 78 38 36 2e 73 73 65 34 31  ("llvm.x86.sse41
e400: 2e 70 74 65 73 74 7a 22 29 0a 20 20 20 20 20 20  .ptestz").      
e410: 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 22 5f 6d    },.        "_m
e420: 6d 5f 63 6d 70 65 73 74 72 61 22 20 3d 3e 20 49  m_cmpestra" => I
e430: 6e 74 72 69 6e 73 69 63 20 7b 0a 20 20 20 20 20  ntrinsic {.     
e440: 20 20 20 20 20 20 20 69 6e 70 75 74 73 3a 20 7b         inputs: {
e450: 20 73 74 61 74 69 63 20 49 4e 50 55 54 53 3a 20   static INPUTS: 
e460: 5b 26 27 73 74 61 74 69 63 20 54 79 70 65 3b 20  [&'static Type; 
e470: 35 5d 20 3d 20 5b 26 3a 3a 49 38 78 31 36 2c 20  5] = [&::I8x16, 
e480: 26 3a 3a 49 33 32 2c 20 26 3a 3a 49 38 78 31 36  &::I32, &::I8x16
e490: 2c 20 26 3a 3a 49 33 32 2c 20 26 3a 3a 49 33 32  , &::I32, &::I32
e4a0: 5f 38 5d 3b 20 26 49 4e 50 55 54 53 20 7d 2c 0a  _8]; &INPUTS },.
e4b0: 20 20 20 20 20 20 20 20 20 20 20 20 6f 75 74 70              outp
e4c0: 75 74 3a 20 26 3a 3a 49 33 32 2c 0a 20 20 20 20  ut: &::I32,.    
e4d0: 20 20 20 20 20 20 20 20 64 65 66 69 6e 69 74 69          definiti
e4e0: 6f 6e 3a 20 4e 61 6d 65 64 28 22 6c 6c 76 6d 2e  on: Named("llvm.
e4f0: 78 38 36 2e 73 73 65 34 32 2e 70 63 6d 70 65 73  x86.sse42.pcmpes
e500: 74 72 69 61 31 32 38 22 29 0a 20 20 20 20 20 20  tria128").      
e510: 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 22 5f 6d    },.        "_m
e520: 6d 5f 63 6d 70 65 73 74 72 63 22 20 3d 3e 20 49  m_cmpestrc" => I
e530: 6e 74 72 69 6e 73 69 63 20 7b 0a 20 20 20 20 20  ntrinsic {.     
e540: 20 20 20 20 20 20 20 69 6e 70 75 74 73 3a 20 7b         inputs: {
e550: 20 73 74 61 74 69 63 20 49 4e 50 55 54 53 3a 20   static INPUTS: 
e560: 5b 26 27 73 74 61 74 69 63 20 54 79 70 65 3b 20  [&'static Type; 
e570: 35 5d 20 3d 20 5b 26 3a 3a 49 38 78 31 36 2c 20  5] = [&::I8x16, 
e580: 26 3a 3a 49 33 32 2c 20 26 3a 3a 49 38 78 31 36  &::I32, &::I8x16
e590: 2c 20 26 3a 3a 49 33 32 2c 20 26 3a 3a 49 33 32  , &::I32, &::I32
e5a0: 5f 38 5d 3b 20 26 49 4e 50 55 54 53 20 7d 2c 0a  _8]; &INPUTS },.
e5b0: 20 20 20 20 20 20 20 20 20 20 20 20 6f 75 74 70              outp
e5c0: 75 74 3a 20 26 3a 3a 49 33 32 2c 0a 20 20 20 20  ut: &::I32,.    
e5d0: 20 20 20 20 20 20 20 20 64 65 66 69 6e 69 74 69          definiti
e5e0: 6f 6e 3a 20 4e 61 6d 65 64 28 22 6c 6c 76 6d 2e  on: Named("llvm.
e5f0: 78 38 36 2e 73 73 65 34 32 2e 70 63 6d 70 65 73  x86.sse42.pcmpes
e600: 74 72 69 63 31 32 38 22 29 0a 20 20 20 20 20 20  tric128").      
e610: 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 22 5f 6d    },.        "_m
e620: 6d 5f 63 6d 70 65 73 74 72 69 22 20 3d 3e 20 49  m_cmpestri" => I
e630: 6e 74 72 69 6e 73 69 63 20 7b 0a 20 20 20 20 20  ntrinsic {.     
e640: 20 20 20 20 20 20 20 69 6e 70 75 74 73 3a 20 7b         inputs: {
e650: 20 73 74 61 74 69 63 20 49 4e 50 55 54 53 3a 20   static INPUTS: 
e660: 5b 26 27 73 74 61 74 69 63 20 54 79 70 65 3b 20  [&'static Type; 
e670: 35 5d 20 3d 20 5b 26 3a 3a 49 38 78 31 36 2c 20  5] = [&::I8x16, 
e680: 26 3a 3a 49 33 32 2c 20 26 3a 3a 49 38 78 31 36  &::I32, &::I8x16
e690: 2c 20 26 3a 3a 49 33 32 2c 20 26 3a 3a 49 33 32  , &::I32, &::I32
e6a0: 5f 38 5d 3b 20 26 49 4e 50 55 54 53 20 7d 2c 0a  _8]; &INPUTS },.
e6b0: 20 20 20 20 20 20 20 20 20 20 20 20 6f 75 74 70              outp
e6c0: 75 74 3a 20 26 3a 3a 49 33 32 2c 0a 20 20 20 20  ut: &::I32,.    
e6d0: 20 20 20 20 20 20 20 20 64 65 66 69 6e 69 74 69          definiti
e6e0: 6f 6e 3a 20 4e 61 6d 65 64 28 22 6c 6c 76 6d 2e  on: Named("llvm.
e6f0: 78 38 36 2e 73 73 65 34 32 2e 70 63 6d 70 65 73  x86.sse42.pcmpes
e700: 74 72 69 31 32 38 22 29 0a 20 20 20 20 20 20 20  tri128").       
e710: 20 7d 2c 0a 20 20 20 20 20 20 20 20 22 5f 6d 6d   },.        "_mm
e720: 5f 63 6d 70 65 73 74 72 6d 22 20 3d 3e 20 49 6e  _cmpestrm" => In
e730: 74 72 69 6e 73 69 63 20 7b 0a 20 20 20 20 20 20  trinsic {.      
e740: 20 20 20 20 20 20 69 6e 70 75 74 73 3a 20 7b 20        inputs: { 
e750: 73 74 61 74 69 63 20 49 4e 50 55 54 53 3a 20 5b  static INPUTS: [
e760: 26 27 73 74 61 74 69 63 20 54 79 70 65 3b 20 35  &'static Type; 5
e770: 5d 20 3d 20 5b 26 3a 3a 49 38 78 31 36 2c 20 26  ] = [&::I8x16, &
e780: 3a 3a 49 33 32 2c 20 26 3a 3a 49 38 78 31 36 2c  ::I32, &::I8x16,
e790: 20 26 3a 3a 49 33 32 2c 20 26 3a 3a 49 33 32 5f   &::I32, &::I32_
e7a0: 38 5d 3b 20 26 49 4e 50 55 54 53 20 7d 2c 0a 20  8]; &INPUTS },. 
e7b0: 20 20 20 20 20 20 20 20 20 20 20 6f 75 74 70 75             outpu
e7c0: 74 3a 20 26 3a 3a 49 38 78 31 36 2c 0a 20 20 20  t: &::I8x16,.   
e7d0: 20 20 20 20 20 20 20 20 20 64 65 66 69 6e 69 74           definit
e7e0: 69 6f 6e 3a 20 4e 61 6d 65 64 28 22 6c 6c 76 6d  ion: Named("llvm
e7f0: 2e 78 38 36 2e 73 73 65 34 32 2e 70 63 6d 70 65  .x86.sse42.pcmpe
e800: 73 74 72 6d 31 32 38 22 29 0a 20 20 20 20 20 20  strm128").      
e810: 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 22 5f 6d    },.        "_m
e820: 6d 5f 63 6d 70 65 73 74 72 6f 22 20 3d 3e 20 49  m_cmpestro" => I
e830: 6e 74 72 69 6e 73 69 63 20 7b 0a 20 20 20 20 20  ntrinsic {.     
e840: 20 20 20 20 20 20 20 69 6e 70 75 74 73 3a 20 7b         inputs: {
e850: 20 73 74 61 74 69 63 20 49 4e 50 55 54 53 3a 20   static INPUTS: 
e860: 5b 26 27 73 74 61 74 69 63 20 54 79 70 65 3b 20  [&'static Type; 
e870: 35 5d 20 3d 20 5b 26 3a 3a 49 38 78 31 36 2c 20  5] = [&::I8x16, 
e880: 26 3a 3a 49 33 32 2c 20 26 3a 3a 49 38 78 31 36  &::I32, &::I8x16
e890: 2c 20 26 3a 3a 49 33 32 2c 20 26 3a 3a 49 33 32  , &::I32, &::I32
e8a0: 5f 38 5d 3b 20 26 49 4e 50 55 54 53 20 7d 2c 0a  _8]; &INPUTS },.
e8b0: 20 20 20 20 20 20 20 20 20 20 20 20 6f 75 74 70              outp
e8c0: 75 74 3a 20 26 3a 3a 49 33 32 2c 0a 20 20 20 20  ut: &::I32,.    
e8d0: 20 20 20 20 20 20 20 20 64 65 66 69 6e 69 74 69          definiti
e8e0: 6f 6e 3a 20 4e 61 6d 65 64 28 22 6c 6c 76 6d 2e  on: Named("llvm.
e8f0: 78 38 36 2e 73 73 65 34 32 2e 70 63 6d 70 65 73  x86.sse42.pcmpes
e900: 74 72 69 6f 31 32 38 22 29 0a 20 20 20 20 20 20  trio128").      
e910: 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 22 5f 6d    },.        "_m
e920: 6d 5f 63 6d 70 65 73 74 72 73 22 20 3d 3e 20 49  m_cmpestrs" => I
e930: 6e 74 72 69 6e 73 69 63 20 7b 0a 20 20 20 20 20  ntrinsic {.     
e940: 20 20 20 20 20 20 20 69 6e 70 75 74 73 3a 20 7b         inputs: {
e950: 20 73 74 61 74 69 63 20 49 4e 50 55 54 53 3a 20   static INPUTS: 
e960: 5b 26 27 73 74 61 74 69 63 20 54 79 70 65 3b 20  [&'static Type; 
e970: 35 5d 20 3d 20 5b 26 3a 3a 49 38 78 31 36 2c 20  5] = [&::I8x16, 
e980: 26 3a 3a 49 33 32 2c 20 26 3a 3a 49 38 78 31 36  &::I32, &::I8x16
e990: 2c 20 26 3a 3a 49 33 32 2c 20 26 3a 3a 49 33 32  , &::I32, &::I32
e9a0: 5f 38 5d 3b 20 26 49 4e 50 55 54 53 20 7d 2c 0a  _8]; &INPUTS },.
e9b0: 20 20 20 20 20 20 20 20 20 20 20 20 6f 75 74 70              outp
e9c0: 75 74 3a 20 26 3a 3a 49 33 32 2c 0a 20 20 20 20  ut: &::I32,.    
e9d0: 20 20 20 20 20 20 20 20 64 65 66 69 6e 69 74 69          definiti
e9e0: 6f 6e 3a 20 4e 61 6d 65 64 28 22 6c 6c 76 6d 2e  on: Named("llvm.
e9f0: 78 38 36 2e 73 73 65 34 32 2e 70 63 6d 70 65 73  x86.sse42.pcmpes
ea00: 74 72 69 73 31 32 38 22 29 0a 20 20 20 20 20 20  tris128").      
ea10: 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 22 5f 6d    },.        "_m
ea20: 6d 5f 63 6d 70 65 73 74 72 7a 22 20 3d 3e 20 49  m_cmpestrz" => I
ea30: 6e 74 72 69 6e 73 69 63 20 7b 0a 20 20 20 20 20  ntrinsic {.     
ea40: 20 20 20 20 20 20 20 69 6e 70 75 74 73 3a 20 7b         inputs: {
ea50: 20 73 74 61 74 69 63 20 49 4e 50 55 54 53 3a 20   static INPUTS: 
ea60: 5b 26 27 73 74 61 74 69 63 20 54 79 70 65 3b 20  [&'static Type; 
ea70: 35 5d 20 3d 20 5b 26 3a 3a 49 38 78 31 36 2c 20  5] = [&::I8x16, 
ea80: 26 3a 3a 49 33 32 2c 20 26 3a 3a 49 38 78 31 36  &::I32, &::I8x16
ea90: 2c 20 26 3a 3a 49 33 32 2c 20 26 3a 3a 49 33 32  , &::I32, &::I32
eaa0: 5f 38 5d 3b 20 26 49 4e 50 55 54 53 20 7d 2c 0a  _8]; &INPUTS },.
eab0: 20 20 20 20 20 20 20 20 20 20 20 20 6f 75 74 70              outp
eac0: 75 74 3a 20 26 3a 3a 49 33 32 2c 0a 20 20 20 20  ut: &::I32,.    
ead0: 20 20 20 20 20 20 20 20 64 65 66 69 6e 69 74 69          definiti
eae0: 6f 6e 3a 20 4e 61 6d 65 64 28 22 6c 6c 76 6d 2e  on: Named("llvm.
eaf0: 78 38 36 2e 73 73 65 34 32 2e 70 63 6d 70 65 73  x86.sse42.pcmpes
eb00: 74 72 69 7a 31 32 38 22 29 0a 20 20 20 20 20 20  triz128").      
eb10: 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 22 5f 6d    },.        "_m
eb20: 6d 5f 63 6d 70 69 73 74 72 61 22 20 3d 3e 20 49  m_cmpistra" => I
eb30: 6e 74 72 69 6e 73 69 63 20 7b 0a 20 20 20 20 20  ntrinsic {.     
eb40: 20 20 20 20 20 20 20 69 6e 70 75 74 73 3a 20 7b         inputs: {
eb50: 20 73 74 61 74 69 63 20 49 4e 50 55 54 53 3a 20   static INPUTS: 
eb60: 5b 26 27 73 74 61 74 69 63 20 54 79 70 65 3b 20  [&'static Type; 
eb70: 33 5d 20 3d 20 5b 26 3a 3a 49 38 78 31 36 2c 20  3] = [&::I8x16, 
eb80: 26 3a 3a 49 38 78 31 36 2c 20 26 3a 3a 49 33 32  &::I8x16, &::I32
eb90: 5f 38 5d 3b 20 26 49 4e 50 55 54 53 20 7d 2c 0a  _8]; &INPUTS },.
eba0: 20 20 20 20 20 20 20 20 20 20 20 20 6f 75 74 70              outp
ebb0: 75 74 3a 20 26 3a 3a 49 33 32 2c 0a 20 20 20 20  ut: &::I32,.    
ebc0: 20 20 20 20 20 20 20 20 64 65 66 69 6e 69 74 69          definiti
ebd0: 6f 6e 3a 20 4e 61 6d 65 64 28 22 6c 6c 76 6d 2e  on: Named("llvm.
ebe0: 78 38 36 2e 73 73 65 34 32 2e 70 63 6d 70 69 73  x86.sse42.pcmpis
ebf0: 74 72 69 61 31 32 38 22 29 0a 20 20 20 20 20 20  tria128").      
ec00: 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 22 5f 6d    },.        "_m
ec10: 6d 5f 63 6d 70 69 73 74 72 63 22 20 3d 3e 20 49  m_cmpistrc" => I
ec20: 6e 74 72 69 6e 73 69 63 20 7b 0a 20 20 20 20 20  ntrinsic {.     
ec30: 20 20 20 20 20 20 20 69 6e 70 75 74 73 3a 20 7b         inputs: {
ec40: 20 73 74 61 74 69 63 20 49 4e 50 55 54 53 3a 20   static INPUTS: 
ec50: 5b 26 27 73 74 61 74 69 63 20 54 79 70 65 3b 20  [&'static Type; 
ec60: 33 5d 20 3d 20 5b 26 3a 3a 49 38 78 31 36 2c 20  3] = [&::I8x16, 
ec70: 26 3a 3a 49 38 78 31 36 2c 20 26 3a 3a 49 33 32  &::I8x16, &::I32
ec80: 5f 38 5d 3b 20 26 49 4e 50 55 54 53 20 7d 2c 0a  _8]; &INPUTS },.
ec90: 20 20 20 20 20 20 20 20 20 20 20 20 6f 75 74 70              outp
eca0: 75 74 3a 20 26 3a 3a 49 33 32 2c 0a 20 20 20 20  ut: &::I32,.    
ecb0: 20 20 20 20 20 20 20 20 64 65 66 69 6e 69 74 69          definiti
ecc0: 6f 6e 3a 20 4e 61 6d 65 64 28 22 6c 6c 76 6d 2e  on: Named("llvm.
ecd0: 78 38 36 2e 73 73 65 34 32 2e 70 63 6d 70 69 73  x86.sse42.pcmpis
ece0: 74 72 69 63 31 32 38 22 29 0a 20 20 20 20 20 20  tric128").      
ecf0: 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 22 5f 6d    },.        "_m
ed00: 6d 5f 63 6d 70 69 73 74 72 69 22 20 3d 3e 20 49  m_cmpistri" => I
ed10: 6e 74 72 69 6e 73 69 63 20 7b 0a 20 20 20 20 20  ntrinsic {.     
ed20: 20 20 20 20 20 20 20 69 6e 70 75 74 73 3a 20 7b         inputs: {
ed30: 20 73 74 61 74 69 63 20 49 4e 50 55 54 53 3a 20   static INPUTS: 
ed40: 5b 26 27 73 74 61 74 69 63 20 54 79 70 65 3b 20  [&'static Type; 
ed50: 33 5d 20 3d 20 5b 26 3a 3a 49 38 78 31 36 2c 20  3] = [&::I8x16, 
ed60: 26 3a 3a 49 38 78 31 36 2c 20 26 3a 3a 49 33 32  &::I8x16, &::I32
ed70: 5f 38 5d 3b 20 26 49 4e 50 55 54 53 20 7d 2c 0a  _8]; &INPUTS },.
ed80: 20 20 20 20 20 20 20 20 20 20 20 20 6f 75 74 70              outp
ed90: 75 74 3a 20 26 3a 3a 49 33 32 2c 0a 20 20 20 20  ut: &::I32,.    
eda0: 20 20 20 20 20 20 20 20 64 65 66 69 6e 69 74 69          definiti
edb0: 6f 6e 3a 20 4e 61 6d 65 64 28 22 6c 6c 76 6d 2e  on: Named("llvm.
edc0: 78 38 36 2e 73 73 65 34 32 2e 70 63 6d 70 69 73  x86.sse42.pcmpis
edd0: 74 72 69 31 32 38 22 29 0a 20 20 20 20 20 20 20  tri128").       
ede0: 20 7d 2c 0a 20 20 20 20 20 20 20 20 22 5f 6d 6d   },.        "_mm
edf0: 5f 63 6d 70 69 73 74 72 6d 22 20 3d 3e 20 49 6e  _cmpistrm" => In
ee00: 74 72 69 6e 73 69 63 20 7b 0a 20 20 20 20 20 20  trinsic {.      
ee10: 20 20 20 20 20 20 69 6e 70 75 74 73 3a 20 7b 20        inputs: { 
ee20: 73 74 61 74 69 63 20 49 4e 50 55 54 53 3a 20 5b  static INPUTS: [
ee30: 26 27 73 74 61 74 69 63 20 54 79 70 65 3b 20 33  &'static Type; 3
ee40: 5d 20 3d 20 5b 26 3a 3a 49 38 78 31 36 2c 20 26  ] = [&::I8x16, &
ee50: 3a 3a 49 38 78 31 36 2c 20 26 3a 3a 49 33 32 5f  ::I8x16, &::I32_
ee60: 38 5d 3b 20 26 49 4e 50 55 54 53 20 7d 2c 0a 20  8]; &INPUTS },. 
ee70: 20 20 20 20 20 20 20 20 20 20 20 6f 75 74 70 75             outpu
ee80: 74 3a 20 26 3a 3a 49 38 78 31 36 2c 0a 20 20 20  t: &::I8x16,.   
ee90: 20 20 20 20 20 20 20 20 20 64 65 66 69 6e 69 74           definit
eea0: 69 6f 6e 3a 20 4e 61 6d 65 64 28 22 6c 6c 76 6d  ion: Named("llvm
eeb0: 2e 78 38 36 2e 73 73 65 34 32 2e 70 63 6d 70 69  .x86.sse42.pcmpi
eec0: 73 74 72 6d 31 32 38 22 29 0a 20 20 20 20 20 20  strm128").      
eed0: 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 22 5f 6d    },.        "_m
eee0: 6d 5f 63 6d 70 69 73 74 72 6f 22 20 3d 3e 20 49  m_cmpistro" => I
eef0: 6e 74 72 69 6e 73 69 63 20 7b 0a 20 20 20 20 20  ntrinsic {.     
ef00: 20 20 20 20 20 20 20 69 6e 70 75 74 73 3a 20 7b         inputs: {
ef10: 20 73 74 61 74 69 63 20 49 4e 50 55 54 53 3a 20   static INPUTS: 
ef20: 5b 26 27 73 74 61 74 69 63 20 54 79 70 65 3b 20  [&'static Type; 
ef30: 33 5d 20 3d 20 5b 26 3a 3a 49 38 78 31 36 2c 20  3] = [&::I8x16, 
ef40: 26 3a 3a 49 38 78 31 36 2c 20 26 3a 3a 49 33 32  &::I8x16, &::I32
ef50: 5f 38 5d 3b 20 26 49 4e 50 55 54 53 20 7d 2c 0a  _8]; &INPUTS },.
ef60: 20 20 20 20 20 20 20 20 20 20 20 20 6f 75 74 70              outp
ef70: 75 74 3a 20 26 3a 3a 49 33 32 2c 0a 20 20 20 20  ut: &::I32,.    
ef80: 20 20 20 20 20 20 20 20 64 65 66 69 6e 69 74 69          definiti
ef90: 6f 6e 3a 20 4e 61 6d 65 64 28 22 6c 6c 76 6d 2e  on: Named("llvm.
efa0: 78 38 36 2e 73 73 65 34 32 2e 70 63 6d 70 69 73  x86.sse42.pcmpis
efb0: 74 72 69 6f 31 32 38 22 29 0a 20 20 20 20 20 20  trio128").      
efc0: 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 22 5f 6d    },.        "_m
efd0: 6d 5f 63 6d 70 69 73 74 72 73 22 20 3d 3e 20 49  m_cmpistrs" => I
efe0: 6e 74 72 69 6e 73 69 63 20 7b 0a 20 20 20 20 20  ntrinsic {.     
eff0: 20 20 20 20 20 20 20 69 6e 70 75 74 73 3a 20 7b         inputs: {
f000: 20 73 74 61 74 69 63 20 49 4e 50 55 54 53 3a 20   static INPUTS: 
f010: 5b 26 27 73 74 61 74 69 63 20 54 79 70 65 3b 20  [&'static Type; 
f020: 33 5d 20 3d 20 5b 26 3a 3a 49 38 78 31 36 2c 20  3] = [&::I8x16, 
f030: 26 3a 3a 49 38 78 31 36 2c 20 26 3a 3a 49 33 32  &::I8x16, &::I32
f040: 5f 38 5d 3b 20 26 49 4e 50 55 54 53 20 7d 2c 0a  _8]; &INPUTS },.
f050: 20 20 20 20 20 20 20 20 20 20 20 20 6f 75 74 70              outp
f060: 75 74 3a 20 26 3a 3a 49 33 32 2c 0a 20 20 20 20  ut: &::I32,.    
f070: 20 20 20 20 20 20 20 20 64 65 66 69 6e 69 74 69          definiti
f080: 6f 6e 3a 20 4e 61 6d 65 64 28 22 6c 6c 76 6d 2e  on: Named("llvm.
f090: 78 38 36 2e 73 73 65 34 32 2e 70 63 6d 70 69 73  x86.sse42.pcmpis
f0a0: 74 72 69 73 31 32 38 22 29 0a 20 20 20 20 20 20  tris128").      
f0b0: 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 22 5f 6d    },.        "_m
f0c0: 6d 5f 63 6d 70 69 73 74 72 7a 22 20 3d 3e 20 49  m_cmpistrz" => I
f0d0: 6e 74 72 69 6e 73 69 63 20 7b 0a 20 20 20 20 20  ntrinsic {.     
f0e0: 20 20 20 20 20 20 20 69 6e 70 75 74 73 3a 20 7b         inputs: {
f0f0: 20 73 74 61 74 69 63 20 49 4e 50 55 54 53 3a 20   static INPUTS: 
f100: 5b 26 27 73 74 61 74 69 63 20 54 79 70 65 3b 20  [&'static Type; 
f110: 33 5d 20 3d 20 5b 26 3a 3a 49 38 78 31 36 2c 20  3] = [&::I8x16, 
f120: 26 3a 3a 49 38 78 31 36 2c 20 26 3a 3a 49 33 32  &::I8x16, &::I32
f130: 5f 38 5d 3b 20 26 49 4e 50 55 54 53 20 7d 2c 0a  _8]; &INPUTS },.
f140: 20 20 20 20 20 20 20 20 20 20 20 20 6f 75 74 70              outp
f150: 75 74 3a 20 26 3a 3a 49 33 32 2c 0a 20 20 20 20  ut: &::I32,.    
f160: 20 20 20 20 20 20 20 20 64 65 66 69 6e 69 74 69          definiti
f170: 6f 6e 3a 20 4e 61 6d 65 64 28 22 6c 6c 76 6d 2e  on: Named("llvm.
f180: 78 38 36 2e 73 73 65 34 32 2e 70 63 6d 70 69 73  x86.sse42.pcmpis
f190: 74 72 69 7a 31 32 38 22 29 0a 20 20 20 20 20 20  triz128").      
f1a0: 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 22 5f 6d    },.        "_m
f1b0: 6d 5f 6d 6f 76 65 6d 61 73 6b 5f 70 73 22 20 3d  m_movemask_ps" =
f1c0: 3e 20 49 6e 74 72 69 6e 73 69 63 20 7b 0a 20 20  > Intrinsic {.  
f1d0: 20 20 20 20 20 20 20 20 20 20 69 6e 70 75 74 73            inputs
f1e0: 3a 20 7b 20 73 74 61 74 69 63 20 49 4e 50 55 54  : { static INPUT
f1f0: 53 3a 20 5b 26 27 73 74 61 74 69 63 20 54 79 70  S: [&'static Typ
f200: 65 3b 20 31 5d 20 3d 20 5b 26 3a 3a 46 33 32 78  e; 1] = [&::F32x
f210: 34 5d 3b 20 26 49 4e 50 55 54 53 20 7d 2c 0a 20  4]; &INPUTS },. 
f220: 20 20 20 20 20 20 20 20 20 20 20 6f 75 74 70 75             outpu
f230: 74 3a 20 26 3a 3a 49 33 32 2c 0a 20 20 20 20 20  t: &::I32,.     
f240: 20 20 20 20 20 20 20 64 65 66 69 6e 69 74 69 6f         definitio
f250: 6e 3a 20 4e 61 6d 65 64 28 22 6c 6c 76 6d 2e 78  n: Named("llvm.x
f260: 38 36 2e 73 73 65 2e 6d 6f 76 6d 73 6b 2e 70 73  86.sse.movmsk.ps
f270: 22 29 0a 20 20 20 20 20 20 20 20 7d 2c 0a 20 20  ").        },.  
f280: 20 20 20 20 20 20 22 5f 6d 6d 5f 6d 61 78 5f 70        "_mm_max_p
f290: 73 22 20 3d 3e 20 49 6e 74 72 69 6e 73 69 63 20  s" => Intrinsic 
f2a0: 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 6e  {.            in
f2b0: 70 75 74 73 3a 20 7b 20 73 74 61 74 69 63 20 49  puts: { static I
f2c0: 4e 50 55 54 53 3a 20 5b 26 27 73 74 61 74 69 63  NPUTS: [&'static
f2d0: 20 54 79 70 65 3b 20 32 5d 20 3d 20 5b 26 3a 3a   Type; 2] = [&::
f2e0: 46 33 32 78 34 2c 20 26 3a 3a 46 33 32 78 34 5d  F32x4, &::F32x4]
f2f0: 3b 20 26 49 4e 50 55 54 53 20 7d 2c 0a 20 20 20  ; &INPUTS },.   
f300: 20 20 20 20 20 20 20 20 20 6f 75 74 70 75 74 3a           output:
f310: 20 26 3a 3a 46 33 32 78 34 2c 0a 20 20 20 20 20   &::F32x4,.     
f320: 20 20 20 20 20 20 20 64 65 66 69 6e 69 74 69 6f         definitio
f330: 6e 3a 20 4e 61 6d 65 64 28 22 6c 6c 76 6d 2e 78  n: Named("llvm.x
f340: 38 36 2e 73 73 65 2e 6d 61 78 2e 70 73 22 29 0a  86.sse.max.ps").
f350: 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20          },.     
f360: 20 20 20 22 5f 6d 6d 5f 6d 69 6e 5f 70 73 22 20     "_mm_min_ps" 
f370: 3d 3e 20 49 6e 74 72 69 6e 73 69 63 20 7b 0a 20  => Intrinsic {. 
f380: 20 20 20 20 20 20 20 20 20 20 20 69 6e 70 75 74             input
f390: 73 3a 20 7b 20 73 74 61 74 69 63 20 49 4e 50 55  s: { static INPU
f3a0: 54 53 3a 20 5b 26 27 73 74 61 74 69 63 20 54 79  TS: [&'static Ty
f3b0: 70 65 3b 20 32 5d 20 3d 20 5b 26 3a 3a 46 33 32  pe; 2] = [&::F32
f3c0: 78 34 2c 20 26 3a 3a 46 33 32 78 34 5d 3b 20 26  x4, &::F32x4]; &
f3d0: 49 4e 50 55 54 53 20 7d 2c 0a 20 20 20 20 20 20  INPUTS },.      
f3e0: 20 20 20 20 20 20 6f 75 74 70 75 74 3a 20 26 3a        output: &:
f3f0: 3a 46 33 32 78 34 2c 0a 20 20 20 20 20 20 20 20  :F32x4,.        
f400: 20 20 20 20 64 65 66 69 6e 69 74 69 6f 6e 3a 20      definition: 
f410: 4e 61 6d 65 64 28 22 6c 6c 76 6d 2e 78 38 36 2e  Named("llvm.x86.
f420: 73 73 65 2e 6d 69 6e 2e 70 73 22 29 0a 20 20 20  sse.min.ps").   
f430: 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20       },.        
f440: 22 5f 6d 6d 5f 72 73 71 72 74 5f 70 73 22 20 3d  "_mm_rsqrt_ps" =
f450: 3e 20 49 6e 74 72 69 6e 73 69 63 20 7b 0a 20 20  > Intrinsic {.  
f460: 20 20 20 20 20 20 20 20 20 20 69 6e 70 75 74 73            inputs
f470: 3a 20 7b 20 73 74 61 74 69 63 20 49 4e 50 55 54  : { static INPUT
f480: 53 3a 20 5b 26 27 73 74 61 74 69 63 20 54 79 70  S: [&'static Typ
f490: 65 3b 20 31 5d 20 3d 20 5b 26 3a 3a 46 33 32 78  e; 1] = [&::F32x
f4a0: 34 5d 3b 20 26 49 4e 50 55 54 53 20 7d 2c 0a 20  4]; &INPUTS },. 
f4b0: 20 20 20 20 20 20 20 20 20 20 20 6f 75 74 70 75             outpu
f4c0: 74 3a 20 26 3a 3a 46 33 32 78 34 2c 0a 20 20 20  t: &::F32x4,.   
f4d0: 20 20 20 20 20 20 20 20 20 64 65 66 69 6e 69 74           definit
f4e0: 69 6f 6e 3a 20 4e 61 6d 65 64 28 22 6c 6c 76 6d  ion: Named("llvm
f4f0: 2e 78 38 36 2e 73 73 65 2e 72 73 71 72 74 2e 70  .x86.sse.rsqrt.p
f500: 73 22 29 0a 20 20 20 20 20 20 20 20 7d 2c 0a 20  s").        },. 
f510: 20 20 20 20 20 20 20 22 5f 6d 6d 5f 72 63 70 5f         "_mm_rcp_
f520: 70 73 22 20 3d 3e 20 49 6e 74 72 69 6e 73 69 63  ps" => Intrinsic
f530: 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69   {.            i
f540: 6e 70 75 74 73 3a 20 7b 20 73 74 61 74 69 63 20  nputs: { static 
f550: 49 4e 50 55 54 53 3a 20 5b 26 27 73 74 61 74 69  INPUTS: [&'stati
f560: 63 20 54 79 70 65 3b 20 31 5d 20 3d 20 5b 26 3a  c Type; 1] = [&:
f570: 3a 46 33 32 78 34 5d 3b 20 26 49 4e 50 55 54 53  :F32x4]; &INPUTS
f580: 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20   },.            
f590: 6f 75 74 70 75 74 3a 20 26 3a 3a 46 33 32 78 34  output: &::F32x4
f5a0: 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 64 65  ,.            de
f5b0: 66 69 6e 69 74 69 6f 6e 3a 20 4e 61 6d 65 64 28  finition: Named(
f5c0: 22 6c 6c 76 6d 2e 78 38 36 2e 73 73 65 2e 72 63  "llvm.x86.sse.rc
f5d0: 70 2e 70 73 22 29 0a 20 20 20 20 20 20 20 20 7d  p.ps").        }
f5e0: 2c 0a 20 20 20 20 20 20 20 20 22 5f 6d 6d 5f 73  ,.        "_mm_s
f5f0: 71 72 74 5f 70 73 22 20 3d 3e 20 49 6e 74 72 69  qrt_ps" => Intri
f600: 6e 73 69 63 20 7b 0a 20 20 20 20 20 20 20 20 20  nsic {.         
f610: 20 20 20 69 6e 70 75 74 73 3a 20 7b 20 73 74 61     inputs: { sta
f620: 74 69 63 20 49 4e 50 55 54 53 3a 20 5b 26 27 73  tic INPUTS: [&'s
f630: 74 61 74 69 63 20 54 79 70 65 3b 20 31 5d 20 3d  tatic Type; 1] =
f640: 20 5b 26 3a 3a 46 33 32 78 34 5d 3b 20 26 49 4e   [&::F32x4]; &IN
f650: 50 55 54 53 20 7d 2c 0a 20 20 20 20 20 20 20 20  PUTS },.        
f660: 20 20 20 20 6f 75 74 70 75 74 3a 20 26 3a 3a 46      output: &::F
f670: 33 32 78 34 2c 0a 20 20 20 20 20 20 20 20 20 20  32x4,.          
f680: 20 20 64 65 66 69 6e 69 74 69 6f 6e 3a 20 4e 61    definition: Na
f690: 6d 65 64 28 22 6c 6c 76 6d 2e 73 71 72 74 2e 76  med("llvm.sqrt.v
f6a0: 34 66 33 32 22 29 0a 20 20 20 20 20 20 20 20 7d  4f32").        }
f6b0: 2c 0a 20 20 20 20 20 20 20 20 22 5f 6d 6d 5f 73  ,.        "_mm_s
f6c0: 74 6f 72 65 75 5f 70 73 22 20 3d 3e 20 49 6e 74  toreu_ps" => Int
f6d0: 72 69 6e 73 69 63 20 7b 0a 20 20 20 20 20 20 20  rinsic {.       
f6e0: 20 20 20 20 20 69 6e 70 75 74 73 3a 20 7b 20 73       inputs: { s
f6f0: 74 61 74 69 63 20 49 4e 50 55 54 53 3a 20 5b 26  tatic INPUTS: [&
f700: 27 73 74 61 74 69 63 20 54 79 70 65 3b 20 32 5d  'static Type; 2]
f710: 20 3d 20 5b 7b 20 73 74 61 74 69 63 20 50 54 52   = [{ static PTR
f720: 3a 20 54 79 70 65 20 3d 20 54 79 70 65 3a 3a 50  : Type = Type::P
f730: 6f 69 6e 74 65 72 28 26 3a 3a 46 33 32 2c 20 53  ointer(&::F32, S
f740: 6f 6d 65 28 26 3a 3a 49 38 29 2c 20 66 61 6c 73  ome(&::I8), fals
f750: 65 29 3b 20 26 50 54 52 20 7d 2c 20 26 3a 3a 46  e); &PTR }, &::F
f760: 33 32 78 34 5d 3b 20 26 49 4e 50 55 54 53 20 7d  32x4]; &INPUTS }
f770: 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 6f 75  ,.            ou
f780: 74 70 75 74 3a 20 26 3a 3a 56 4f 49 44 2c 0a 20  tput: &::VOID,. 
f790: 20 20 20 20 20 20 20 20 20 20 20 64 65 66 69 6e             defin
f7a0: 69 74 69 6f 6e 3a 20 4e 61 6d 65 64 28 22 6c 6c  ition: Named("ll
f7b0: 76 6d 2e 78 38 36 2e 73 73 65 2e 73 74 6f 72 65  vm.x86.sse.store
f7c0: 75 2e 70 73 22 29 0a 20 20 20 20 20 20 20 20 7d  u.ps").        }
f7d0: 2c 0a 20 20 20 20 20 20 20 20 22 5f 6d 6d 5f 61  ,.        "_mm_a
f7e0: 62 73 5f 65 70 69 38 22 20 3d 3e 20 49 6e 74 72  bs_epi8" => Intr
f7f0: 69 6e 73 69 63 20 7b 0a 20 20 20 20 20 20 20 20  insic {.        
f800: 20 20 20 20 69 6e 70 75 74 73 3a 20 7b 20 73 74      inputs: { st
f810: 61 74 69 63 20 49 4e 50 55 54 53 3a 20 5b 26 27  atic INPUTS: [&'
f820: 73 74 61 74 69 63 20 54 79 70 65 3b 20 31 5d 20  static Type; 1] 
f830: 3d 20 5b 26 3a 3a 49 38 78 31 36 5d 3b 20 26 49  = [&::I8x16]; &I
f840: 4e 50 55 54 53 20 7d 2c 0a 20 20 20 20 20 20 20  NPUTS },.       
f850: 20 20 20 20 20 6f 75 74 70 75 74 3a 20 26 3a 3a       output: &::
f860: 49 38 78 31 36 2c 0a 20 20 20 20 20 20 20 20 20  I8x16,.         
f870: 20 20 20 64 65 66 69 6e 69 74 69 6f 6e 3a 20 4e     definition: N
f880: 61 6d 65 64 28 22 6c 6c 76 6d 2e 78 38 36 2e 73  amed("llvm.x86.s
f890: 73 73 65 33 2e 70 61 62 73 2e 62 2e 31 32 38 22  sse3.pabs.b.128"
f8a0: 29 0a 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20  ).        },.   
f8b0: 20 20 20 20 20 22 5f 6d 6d 5f 61 62 73 5f 65 70       "_mm_abs_ep
f8c0: 69 31 36 22 20 3d 3e 20 49 6e 74 72 69 6e 73 69  i16" => Intrinsi
f8d0: 63 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20  c {.            
f8e0: 69 6e 70 75 74 73 3a 20 7b 20 73 74 61 74 69 63  inputs: { static
f8f0: 20 49 4e 50 55 54 53 3a 20 5b 26 27 73 74 61 74   INPUTS: [&'stat
f900: 69 63 20 54 79 70 65 3b 20 31 5d 20 3d 20 5b 26  ic Type; 1] = [&
f910: 3a 3a 49 31 36 78 38 5d 3b 20 26 49 4e 50 55 54  ::I16x8]; &INPUT
f920: 53 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20  S },.           
f930: 20 6f 75 74 70 75 74 3a 20 26 3a 3a 49 31 36 78   output: &::I16x
f940: 38 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 64  8,.            d
f950: 65 66 69 6e 69 74 69 6f 6e 3a 20 4e 61 6d 65 64  efinition: Named
f960: 28 22 6c 6c 76 6d 2e 78 38 36 2e 73 73 73 65 33  ("llvm.x86.ssse3
f970: 2e 70 61 62 73 2e 77 2e 31 32 38 22 29 0a 20 20  .pabs.w.128").  
f980: 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20        },.       
f990: 20 22 5f 6d 6d 5f 61 62 73 5f 65 70 69 33 32 22   "_mm_abs_epi32"
f9a0: 20 3d 3e 20 49 6e 74 72 69 6e 73 69 63 20 7b 0a   => Intrinsic {.
f9b0: 20 20 20 20 20 20 20 20 20 20 20 20 69 6e 70 75              inpu
f9c0: 74 73 3a 20 7b 20 73 74 61 74 69 63 20 49 4e 50  ts: { static INP
f9d0: 55 54 53 3a 20 5b 26 27 73 74 61 74 69 63 20 54  UTS: [&'static T
f9e0: 79 70 65 3b 20 31 5d 20 3d 20 5b 26 3a 3a 49 33  ype; 1] = [&::I3
f9f0: 32 78 34 5d 3b 20 26 49 4e 50 55 54 53 20 7d 2c  2x4]; &INPUTS },
fa00: 0a 20 20 20 20 20 20 20 20 20 20 20 20 6f 75 74  .            out
fa10: 70 75 74 3a 20 26 3a 3a 49 33 32 78 34 2c 0a 20  put: &::I32x4,. 
fa20: 20 20 20 20 20 20 20 20 20 20 20 64 65 66 69 6e             defin
fa30: 69 74 69 6f 6e 3a 20 4e 61 6d 65 64 28 22 6c 6c  ition: Named("ll
fa40: 76 6d 2e 78 38 36 2e 73 73 73 65 33 2e 70 61 62  vm.x86.ssse3.pab
fa50: 73 2e 64 2e 31 32 38 22 29 0a 20 20 20 20 20 20  s.d.128").      
fa60: 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 22 5f 6d    },.        "_m
fa70: 6d 5f 68 61 64 64 5f 65 70 69 31 36 22 20 3d 3e  m_hadd_epi16" =>
fa80: 20 49 6e 74 72 69 6e 73 69 63 20 7b 0a 20 20 20   Intrinsic {.   
fa90: 20 20 20 20 20 20 20 20 20 69 6e 70 75 74 73 3a           inputs:
faa0: 20 7b 20 73 74 61 74 69 63 20 49 4e 50 55 54 53   { static INPUTS
fab0: 3a 20 5b 26 27 73 74 61 74 69 63 20 54 79 70 65  : [&'static Type
fac0: 3b 20 32 5d 20 3d 20 5b 26 3a 3a 49 31 36 78 38  ; 2] = [&::I16x8
fad0: 2c 20 26 3a 3a 49 31 36 78 38 5d 3b 20 26 49 4e  , &::I16x8]; &IN
fae0: 50 55 54 53 20 7d 2c 0a 20 20 20 20 20 20 20 20  PUTS },.        
faf0: 20 20 20 20 6f 75 74 70 75 74 3a 20 26 3a 3a 49      output: &::I
fb00: 31 36 78 38 2c 0a 20 20 20 20 20 20 20 20 20 20  16x8,.          
fb10: 20 20 64 65 66 69 6e 69 74 69 6f 6e 3a 20 4e 61    definition: Na
fb20: 6d 65 64 28 22 6c 6c 76 6d 2e 78 38 36 2e 73 73  med("llvm.x86.ss
fb30: 73 65 33 2e 70 68 61 64 64 2e 77 2e 31 32 38 22  se3.phadd.w.128"
fb40: 29 0a 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20  ).        },.   
fb50: 20 20 20 20 20 22 5f 6d 6d 5f 68 61 64 64 5f 65       "_mm_hadd_e
fb60: 70 69 33 32 22 20 3d 3e 20 49 6e 74 72 69 6e 73  pi32" => Intrins
fb70: 69 63 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20  ic {.           
fb80: 20 69 6e 70 75 74 73 3a 20 7b 20 73 74 61 74 69   inputs: { stati
fb90: 63 20 49 4e 50 55 54 53 3a 20 5b 26 27 73 74 61  c INPUTS: [&'sta
fba0: 74 69 63 20 54 79 70 65 3b 20 32 5d 20 3d 20 5b  tic Type; 2] = [
fbb0: 26 3a 3a 49 33 32 78 34 2c 20 26 3a 3a 49 33 32  &::I32x4, &::I32
fbc0: 78 34 5d 3b 20 26 49 4e 50 55 54 53 20 7d 2c 0a  x4]; &INPUTS },.
fbd0: 20 20 20 20 20 20 20 20 20 20 20 20 6f 75 74 70              outp
fbe0: 75 74 3a 20 26 3a 3a 49 33 32 78 34 2c 0a 20 20  ut: &::I32x4,.  
fbf0: 20 20 20 20 20 20 20 20 20 20 64 65 66 69 6e 69            defini
fc00: 74 69 6f 6e 3a 20 4e 61 6d 65 64 28 22 6c 6c 76  tion: Named("llv
fc10: 6d 2e 78 38 36 2e 73 73 73 65 33 2e 70 68 61 64  m.x86.ssse3.phad
fc20: 64 2e 64 2e 31 32 38 22 29 0a 20 20 20 20 20 20  d.d.128").      
fc30: 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 22 5f 6d    },.        "_m
fc40: 6d 5f 68 61 64 64 73 5f 65 70 69 31 36 22 20 3d  m_hadds_epi16" =
fc50: 3e 20 49 6e 74 72 69 6e 73 69 63 20 7b 0a 20 20  > Intrinsic {.  
fc60: 20 20 20 20 20 20 20 20 20 20 69 6e 70 75 74 73            inputs
fc70: 3a 20 7b 20 73 74 61 74 69 63 20 49 4e 50 55 54  : { static INPUT
fc80: 53 3a 20 5b 26 27 73 74 61 74 69 63 20 54 79 70  S: [&'static Typ
fc90: 65 3b 20 32 5d 20 3d 20 5b 26 3a 3a 49 31 36 78  e; 2] = [&::I16x
fca0: 38 2c 20 26 3a 3a 49 31 36 78 38 5d 3b 20 26 49  8, &::I16x8]; &I
fcb0: 4e 50 55 54 53 20 7d 2c 0a 20 20 20 20 20 20 20  NPUTS },.       
fcc0: 20 20 20 20 20 6f 75 74 70 75 74 3a 20 26 3a 3a       output: &::
fcd0: 49 31 36 78 38 2c 0a 20 20 20 20 20 20 20 20 20  I16x8,.         
fce0: 20 20 20 64 65 66 69 6e 69 74 69 6f 6e 3a 20 4e     definition: N
fcf0: 61 6d 65 64 28 22 6c 6c 76 6d 2e 78 38 36 2e 73  amed("llvm.x86.s
fd00: 73 73 65 33 2e 70 68 61 64 64 2e 73 77 2e 31 32  sse3.phadd.sw.12
fd10: 38 22 29 0a 20 20 20 20 20 20 20 20 7d 2c 0a 20  8").        },. 
fd20: 20 20 20 20 20 20 20 22 5f 6d 6d 5f 68 73 75 62         "_mm_hsub
fd30: 5f 65 70 69 31 36 22 20 3d 3e 20 49 6e 74 72 69  _epi16" => Intri
fd40: 6e 73 69 63 20 7b 0a 20 20 20 20 20 20 20 20 20  nsic {.         
fd50: 20 20 20 69 6e 70 75 74 73 3a 20 7b 20 73 74 61     inputs: { sta
fd60: 74 69 63 20 49 4e 50 55 54 53 3a 20 5b 26 27 73  tic INPUTS: [&'s
fd70: 74 61 74 69 63 20 54 79 70 65 3b 20 32 5d 20 3d  tatic Type; 2] =
fd80: 20 5b 26 3a 3a 49 31 36 78 38 2c 20 26 3a 3a 49   [&::I16x8, &::I
fd90: 31 36 78 38 5d 3b 20 26 49 4e 50 55 54 53 20 7d  16x8]; &INPUTS }
fda0: 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 6f 75  ,.            ou
fdb0: 74 70 75 74 3a 20 26 3a 3a 49 31 36 78 38 2c 0a  tput: &::I16x8,.
fdc0: 20 20 20 20 20 20 20 20 20 20 20 20 64 65 66 69              defi
fdd0: 6e 69 74 69 6f 6e 3a 20 4e 61 6d 65 64 28 22 6c  nition: Named("l
fde0: 6c 76 6d 2e 78 38 36 2e 73 73 73 65 33 2e 70 68  lvm.x86.ssse3.ph
fdf0: 73 75 62 2e 77 2e 31 32 38 22 29 0a 20 20 20 20  sub.w.128").    
fe00: 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 22      },.        "
fe10: 5f 6d 6d 5f 68 73 75 62 5f 65 70 69 33 32 22 20  _mm_hsub_epi32" 
fe20: 3d 3e 20 49 6e 74 72 69 6e 73 69 63 20 7b 0a 20  => Intrinsic {. 
fe30: 20 20 20 20 20 20 20 20 20 20 20 69 6e 70 75 74             input
fe40: 73 3a 20 7b 20 73 74 61 74 69 63 20 49 4e 50 55  s: { static INPU
fe50: 54 53 3a 20 5b 26 27 73 74 61 74 69 63 20 54 79  TS: [&'static Ty
fe60: 70 65 3b 20 32 5d 20 3d 20 5b 26 3a 3a 49 33 32  pe; 2] = [&::I32
fe70: 78 34 2c 20 26 3a 3a 49 33 32 78 34 5d 3b 20 26  x4, &::I32x4]; &
fe80: 49 4e 50 55 54 53 20 7d 2c 0a 20 20 20 20 20 20  INPUTS },.      
fe90: 20 20 20 20 20 20 6f 75 74 70 75 74 3a 20 26 3a        output: &:
fea0: 3a 49 33 32 78 34 2c 0a 20 20 20 20 20 20 20 20  :I32x4,.        
feb0: 20 20 20 20 64 65 66 69 6e 69 74 69 6f 6e 3a 20      definition: 
fec0: 4e 61 6d 65 64 28 22 6c 6c 76 6d 2e 78 38 36 2e  Named("llvm.x86.
fed0: 73 73 73 65 33 2e 70 68 73 75 62 2e 64 2e 31 32  ssse3.phsub.d.12
fee0: 38 22 29 0a 20 20 20 20 20 20 20 20 7d 2c 0a 20  8").        },. 
fef0: 20 20 20 20 20 20 20 22 5f 6d 6d 5f 68 73 75 62         "_mm_hsub
ff00: 73 5f 65 70 69 31 36 22 20 3d 3e 20 49 6e 74 72  s_epi16" => Intr
ff10: 69 6e 73 69 63 20 7b 0a 20 20 20 20 20 20 20 20  insic {.        
ff20: 20 20 20 20 69 6e 70 75 74 73 3a 20 7b 20 73 74      inputs: { st
ff30: 61 74 69 63 20 49 4e 50 55 54 53 3a 20 5b 26 27  atic INPUTS: [&'
ff40: 73 74 61 74 69 63 20 54 79 70 65 3b 20 32 5d 20  static Type; 2] 
ff50: 3d 20 5b 26 3a 3a 49 31 36 78 38 2c 20 26 3a 3a  = [&::I16x8, &::
ff60: 49 31 36 78 38 5d 3b 20 26 49 4e 50 55 54 53 20  I16x8]; &INPUTS 
ff70: 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 6f  },.            o
ff80: 75 74 70 75 74 3a 20 26 3a 3a 49 31 36 78 38 2c  utput: &::I16x8,
ff90: 0a 20 20 20 20 20 20 20 20 20 20 20 20 64 65 66  .            def
ffa0: 69 6e 69 74 69 6f 6e 3a 20 4e 61 6d 65 64 28 22  inition: Named("
ffb0: 6c 6c 76 6d 2e 78 38 36 2e 73 73 73 65 33 2e 70  llvm.x86.ssse3.p
ffc0: 68 73 75 62 2e 73 77 2e 31 32 38 22 29 0a 20 20  hsub.sw.128").  
ffd0: 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20        },.       
ffe0: 20 22 5f 6d 6d 5f 6d 61 64 64 75 62 73 5f 65 70   "_mm_maddubs_ep
fff0: 69 31 36 22 20 3d 3e 20 49 6e 74 72 69 6e 73 69  i16" => Intrinsi
10000 63 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20  c {.            
10010 69 6e 70 75 74 73 3a 20 7b 20 73 74 61 74 69 63  inputs: { static
10020 20 49 4e 50 55 54 53 3a 20 5b 26 27 73 74 61 74   INPUTS: [&'stat
10030 69 63 20 54 79 70 65 3b 20 32 5d 20 3d 20 5b 26  ic Type; 2] = [&
10040 3a 3a 55 38 78 31 36 2c 20 26 3a 3a 49 38 78 31  ::U8x16, &::I8x1
10050 36 5d 3b 20 26 49 4e 50 55 54 53 20 7d 2c 0a 20  6]; &INPUTS },. 
10060 20 20 20 20 20 20 20 20 20 20 20 6f 75 74 70 75             outpu
10070 74 3a 20 26 3a 3a 49 31 36 78 38 2c 0a 20 20 20  t: &::I16x8,.   
10080 20 20 20 20 20 20 20 20 20 64 65 66 69 6e 69 74           definit
10090 69 6f 6e 3a 20 4e 61 6d 65 64 28 22 6c 6c 76 6d  ion: Named("llvm
100a0 2e 78 38 36 2e 73 73 73 65 33 2e 70 6d 61 64 64  .x86.ssse3.pmadd
100b0 2e 75 62 2e 73 77 2e 31 32 38 22 29 0a 20 20 20  .ub.sw.128").   
100c0 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20       },.        
100d0 22 5f 6d 6d 5f 6d 75 6c 68 72 73 5f 65 70 69 31  "_mm_mulhrs_epi1
100e0 36 22 20 3d 3e 20 49 6e 74 72 69 6e 73 69 63 20  6" => Intrinsic 
100f0 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 6e  {.            in
10100 70 75 74 73 3a 20 7b 20 73 74 61 74 69 63 20 49  puts: { static I
10110 4e 50 55 54 53 3a 20 5b 26 27 73 74 61 74 69 63  NPUTS: [&'static
10120 20 54 79 70 65 3b 20 32 5d 20 3d 20 5b 26 3a 3a   Type; 2] = [&::
10130 49 31 36 78 38 2c 20 26 3a 3a 49 31 36 78 38 5d  I16x8, &::I16x8]
10140 3b 20 26 49 4e 50 55 54 53 20 7d 2c 0a 20 20 20  ; &INPUTS },.   
10150 20 20 20 20 20 20 20 20 20 6f 75 74 70 75 74 3a           output:
10160 20 26 3a 3a 49 31 36 78 38 2c 0a 20 20 20 20 20   &::I16x8,.     
10170 20 20 20 20 20 20 20 64 65 66 69 6e 69 74 69 6f         definitio
10180 6e 3a 20 4e 61 6d 65 64 28 22 6c 6c 76 6d 2e 78  n: Named("llvm.x
10190 38 36 2e 73 73 73 65 33 2e 70 6d 75 6c 2e 68 72  86.ssse3.pmul.hr
101a0 2e 73 77 2e 31 32 38 22 29 0a 20 20 20 20 20 20  .sw.128").      
101b0 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 22 5f 6d    },.        "_m
101c0 6d 5f 73 68 75 66 66 6c 65 5f 65 70 69 38 22 20  m_shuffle_epi8" 
101d0 3d 3e 20 49 6e 74 72 69 6e 73 69 63 20 7b 0a 20  => Intrinsic {. 
101e0 20 20 20 20 20 20 20 20 20 20 20 69 6e 70 75 74             input
101f0 73 3a 20 7b 20 73 74 61 74 69 63 20 49 4e 50 55  s: { static INPU
10200 54 53 3a 20 5b 26 27 73 74 61 74 69 63 20 54 79  TS: [&'static Ty
10210 70 65 3b 20 32 5d 20 3d 20 5b 26 3a 3a 49 38 78  pe; 2] = [&::I8x
10220 31 36 2c 20 26 3a 3a 49 38 78 31 36 5d 3b 20 26  16, &::I8x16]; &
10230 49 4e 50 55 54 53 20 7d 2c 0a 20 20 20 20 20 20  INPUTS },.      
10240 20 20 20 20 20 20 6f 75 74 70 75 74 3a 20 26 3a        output: &:
10250 3a 49 38 78 31 36 2c 0a 20 20 20 20 20 20 20 20  :I8x16,.        
10260 20 20 20 20 64 65 66 69 6e 69 74 69 6f 6e 3a 20      definition: 
10270 4e 61 6d 65 64 28 22 6c 6c 76 6d 2e 78 38 36 2e  Named("llvm.x86.
10280 73 73 73 65 33 2e 70 73 68 75 66 2e 62 2e 31 32  ssse3.pshuf.b.12
10290 38 22 29 0a 20 20 20 20 20 20 20 20 7d 2c 0a 20  8").        },. 
102a0 20 20 20 20 20 20 20 22 5f 6d 6d 5f 73 69 67 6e         "_mm_sign
102b0 5f 65 70 69 38 22 20 3d 3e 20 49 6e 74 72 69 6e  _epi8" => Intrin
102c0 73 69 63 20 7b 0a 20 20 20 20 20 20 20 20 20 20  sic {.          
102d0 20 20 69 6e 70 75 74 73 3a 20 7b 20 73 74 61 74    inputs: { stat
102e0 69 63 20 49 4e 50 55 54 53 3a 20 5b 26 27 73 74  ic INPUTS: [&'st
102f0 61 74 69 63 20 54 79 70 65 3b 20 32 5d 20 3d 20  atic Type; 2] = 
10300 5b 26 3a 3a 49 38 78 31 36 2c 20 26 3a 3a 49 38  [&::I8x16, &::I8
10310 78 31 36 5d 3b 20 26 49 4e 50 55 54 53 20 7d 2c  x16]; &INPUTS },
10320 0a 20 20 20 20 20 20 20 20 20 20 20 20 6f 75 74  .            out
10330 70 75 74 3a 20 26 3a 3a 49 38 78 31 36 2c 0a 20  put: &::I8x16,. 
10340 20 20 20 20 20 20 20 20 20 20 20 64 65 66 69 6e             defin
10350 69 74 69 6f 6e 3a 20 4e 61 6d 65 64 28 22 6c 6c  ition: Named("ll
10360 76 6d 2e 78 38 36 2e 73 73 73 65 33 2e 70 73 69  vm.x86.ssse3.psi
10370 67 6e 2e 62 2e 31 32 38 22 29 0a 20 20 20 20 20  gn.b.128").     
10380 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 22 5f     },.        "_
10390 6d 6d 5f 73 69 67 6e 5f 65 70 69 31 36 22 20 3d  mm_sign_epi16" =
103a0 3e 20 49 6e 74 72 69 6e 73 69 63 20 7b 0a 20 20  > Intrinsic {.  
103b0 20 20 20 20 20 20 20 20 20 20 69 6e 70 75 74 73            inputs
103c0 3a 20 7b 20 73 74 61 74 69 63 20 49 4e 50 55 54  : { static INPUT
103d0 53 3a 20 5b 26 27 73 74 61 74 69 63 20 54 79 70  S: [&'static Typ
103e0 65 3b 20 32 5d 20 3d 20 5b 26 3a 3a 49 31 36 78  e; 2] = [&::I16x
103f0 38 2c 20 26 3a 3a 49 31 36 78 38 5d 3b 20 26 49  8, &::I16x8]; &I
10400 4e 50 55 54 53 20 7d 2c 0a 20 20 20 20 20 20 20  NPUTS },.       
10410 20 20 20 20 20 6f 75 74 70 75 74 3a 20 26 3a 3a       output: &::
10420 49 31 36 78 38 2c 0a 20 20 20 20 20 20 20 20 20  I16x8,.         
10430 20 20 20 64 65 66 69 6e 69 74 69 6f 6e 3a 20 4e     definition: N
10440 61 6d 65 64 28 22 6c 6c 76 6d 2e 78 38 36 2e 73  amed("llvm.x86.s
10450 73 73 65 33 2e 70 73 69 67 6e 2e 77 2e 31 32 38  sse3.psign.w.128
10460 22 29 0a 20 20 20 20 20 20 20 20 7d 2c 0a 20 20  ").        },.  
10470 20 20 20 20 20 20 22 5f 6d 6d 5f 73 69 67 6e 5f        "_mm_sign_
10480 65 70 69 33 32 22 20 3d 3e 20 49 6e 74 72 69 6e  epi32" => Intrin
10490 73 69 63 20 7b 0a 20 20 20 20 20 20 20 20 20 20  sic {.          
104a0 20 20 69 6e 70 75 74 73 3a 20 7b 20 73 74 61 74    inputs: { stat
104b0 69 63 20 49 4e 50 55 54 53 3a 20 5b 26 27 73 74  ic INPUTS: [&'st
104c0 61 74 69 63 20 54 79 70 65 3b 20 32 5d 20 3d 20  atic Type; 2] = 
104d0 5b 26 3a 3a 49 33 32 78 34 2c 20 26 3a 3a 49 33  [&::I32x4, &::I3
104e0 32 78 34 5d 3b 20 26 49 4e 50 55 54 53 20 7d 2c  2x4]; &INPUTS },
104f0 0a 20 20 20 20 20 20 20 20 20 20 20 20 6f 75 74  .            out
10500 70 75 74 3a 20 26 3a 3a 49 33 32 78 34 2c 0a 20  put: &::I32x4,. 
10510 20 20 20 20 20 20 20 20 20 20 20 64 65 66 69 6e             defin
10520 69 74 69 6f 6e 3a 20 4e 61 6d 65 64 28 22 6c 6c  ition: Named("ll
10530 76 6d 2e 78 38 36 2e 73 73 73 65 33 2e 70 73 69  vm.x86.ssse3.psi
10540 67 6e 2e 64 2e 31 32 38 22 29 0a 20 20 20 20 20  gn.d.128").     
10550 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 22 5f     },.        "_
10560 74 62 6d 5f 62 65 78 74 72 69 5f 75 33 32 22 20  tbm_bextri_u32" 
10570 3d 3e 20 49 6e 74 72 69 6e 73 69 63 20 7b 0a 20  => Intrinsic {. 
10580 20 20 20 20 20 20 20 20 20 20 20 69 6e 70 75 74             input
10590 73 3a 20 7b 20 73 74 61 74 69 63 20 49 4e 50 55  s: { static INPU
105a0 54 53 3a 20 5b 26 27 73 74 61 74 69 63 20 54 79  TS: [&'static Ty
105b0 70 65 3b 20 32 5d 20 3d 20 5b 26 3a 3a 55 33 32  pe; 2] = [&::U32
105c0 2c 20 26 3a 3a 55 33 32 5d 3b 20 26 49 4e 50 55  , &::U32]; &INPU
105d0 54 53 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20  TS },.          
105e0 20 20 6f 75 74 70 75 74 3a 20 26 3a 3a 55 33 32    output: &::U32
105f0 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 64 65  ,.            de
10600 66 69 6e 69 74 69 6f 6e 3a 20 4e 61 6d 65 64 28  finition: Named(
10610 22 6c 6c 76 6d 2e 78 38 36 2e 74 62 6d 2e 62 65  "llvm.x86.tbm.be
10620 78 74 72 69 2e 75 33 32 22 29 0a 20 20 20 20 20  xtri.u32").     
10630 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 22 5f     },.        "_
10640 74 62 6d 5f 62 65 78 74 72 69 5f 75 36 34 22 20  tbm_bextri_u64" 
10650 3d 3e 20 49 6e 74 72 69 6e 73 69 63 20 7b 0a 20  => Intrinsic {. 
10660 20 20 20 20 20 20 20 20 20 20 20 69 6e 70 75 74             input
10670 73 3a 20 7b 20 73 74 61 74 69 63 20 49 4e 50 55  s: { static INPU
10680 54 53 3a 20 5b 26 27 73 74 61 74 69 63 20 54 79  TS: [&'static Ty
10690 70 65 3b 20 32 5d 20 3d 20 5b 26 3a 3a 55 36 34  pe; 2] = [&::U64
106a0 2c 20 26 3a 3a 55 36 34 5d 3b 20 26 49 4e 50 55  , &::U64]; &INPU
106b0 54 53 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20  TS },.          
106c0 20 20 6f 75 74 70 75 74 3a 20 26 3a 3a 55 36 34    output: &::U64
106d0 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 64 65  ,.            de
106e0 66 69 6e 69 74 69 6f 6e 3a 20 4e 61 6d 65 64 28  finition: Named(
106f0 22 6c 6c 76 6d 2e 78 38 36 2e 74 62 6d 2e 62 65  "llvm.x86.tbm.be
10700 78 74 72 69 2e 75 36 34 22 29 0a 20 20 20 20 20  xtri.u64").     
10710 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 5f 20     },.        _ 
10720 3d 3e 20 72 65 74 75 72 6e 20 4e 6f 6e 65 2c 0a  => return None,.
10730 20 20 20 20 7d 29 0a 7d 0a                           }).}.