2 "llvm_prefix": "llvm.x86.avx2.",
5 "intrinsic": "256_abs_{0.data_type}",
7 "llvm": "pabs.{0.data_type_short}",
12 "intrinsic": "256_adds_{0.data_type}",
14 "llvm": "padd{0.kind_short}s.{0.data_type_short}",
19 "intrinsic": "256_avg_{0.data_type}",
21 "llvm": "pavg.{0.data_type_short}",
26 "intrinsic": "256_hadd_{0.data_type}",
28 "llvm": "phadd.{0.data_type_short}",
33 "intrinsic": "256_hadds_epi16",
40 "intrinsic": "256_hsub_{0.data_type}",
42 "llvm": "phsub.{0.data_type_short}",
47 "intrinsic": "256_hsubs_epi16",
54 "intrinsic": "256_madd_epi16",
58 "args": ["s16", "s16"]
61 "intrinsic": "256_maddubs_epi16",
63 "llvm": "pmadd.ub.sw",
68 "intrinsic": "{0.width_mm}_mask_i32gather_{0.data_type}",
70 "llvm": "gather.d.{0.data_type_short}{0.width_suffix}",
71 "ret": ["s32", "f32"],
72 "args": ["0", "0SPc/S8", "s32", "0s->0", "S32/8"]
75 "intrinsic": "{0.width_mm}_mask_i32gather_{0.data_type}",
77 "llvm": "gather.d.{0.data_type_short}{0.width_suffix}",
78 "ret": ["s64", "f64"],
79 "args": ["0", "0SPc/S8", "s32x128", "0s->0", "S32/8"]
82 "intrinsic": "{3.width_mm}_mask_i64gather_{0.data_type}",
84 "llvm": "gather.q.{0.data_type_short}{0.width_suffix}",
85 "ret": ["s32x128", "f32x128"],
86 "args": ["0", "0SPc/S8", "s64", "0s->0", "S32/8"]
89 "intrinsic": "{0.width_mm}_mask_i64gather_{0.data_type}",
91 "llvm": "gather.q.{0.data_type_short}{0.width_suffix}",
92 "ret": ["s64", "f64"],
93 "args": ["0", "0SPc/S8", "s64", "0s->0", "S32/8"]
96 "intrinsic": "{0.width_mm}_maskload_{0.data_type}",
98 "llvm": "maskload.{0.data_type_short}{0.width_suffix}",
100 "args": ["0Pc/S8", "0"]
103 "intrinsic": "{2.width_mm}_maskstore_{2.data_type}",
105 "llvm": "maskstore.{2.data_type_short}{2.width_suffix}",
107 "args": ["S(32-64)Pm/S8", "1Dv", "2"]
110 "intrinsic": "256_max_{0.data_type}",
112 "llvm": "pmax{0.kind}.{0.data_type_short}",
117 "intrinsic": "256_min_{0.data_type}",
119 "llvm": "pmin{0.kind}.{0.data_type_short}",
124 "intrinsic": "256_movemask_epi8",
131 "intrinsic": "256_mpsadbw_epu8",
135 "args": ["u8", "u8", "S32/8"]
138 "intrinsic": "256_mul_{0.data_type}",
140 "llvm": "pmul{0.data_type_short}.dq",
142 "args": ["0dn", "0dn"]
145 "intrinsic": "256_mulhi_{0.data_type}",
147 "llvm": "pmulh{0.data_type_short}.w",
152 "intrinsic": "256_mulhrs_epi16",
154 "llvm": "pmul.hr.sw",
159 "intrinsic": "256_pack{0.kind_short}s_{1.data_type}",
161 "llvm": "pack{0.kind}s{1.data_type_short}{0.data_type_short}",
163 "args": ["0hws", "0hws"]
166 "intrinsic": "256_permutevar8x32_{0.data_type}",
168 "llvm": "perm{0.data_type_short}",
169 "ret": ["s32", "f32"],
173 "intrinsic": "256_sad_epu8",
180 "intrinsic": "256_shuffle_epi8",
187 "intrinsic": "256_sign_{0.data_type}",
189 "llvm": "psign.{0.data_type_short}",
194 "intrinsic": "256_subs_{0.data_type}",
196 "llvm": "psub{0.kind_short}s.{0.data_type_short}",