2 "llvm_prefix": "llvm.x86.avx.",
5 "intrinsic": "256_addsub_{0.data_type}",
7 "llvm": "addsub.{0.data_type}.256",
12 "intrinsic": "256_blendv_{0.data_type}",
14 "llvm": "blendv.{0.data_type}.256",
16 "args": ["0", "0", "0"]
19 "intrinsic": "256_broadcast_{0.data_type}",
21 "llvm": "vbroadcastf128.{0.data_type}.256",
26 "intrinsic": "256_cmp_{0.data_type}",
28 "llvm": "cmp.{1.data_type}.256",
30 "args": ["0", "0", "s8S"]
33 "intrinsic": "256_cvtepi32_pd",
35 "llvm": "cvtdq2.pd.256",
40 "intrinsic": "256_cvtepi32_ps",
42 "llvm": "cvtdq2.ps.256",
47 "intrinsic": "256_cvtpd_epi32",
49 "llvm": "cvt.pd2dq.256",
54 "intrinsic": "256_cvtpd_ps",
56 "llvm": "cvt.pd2.ps.256",
61 "intrinsic": "256_cvtps_epi32",
63 "llvm": "cvt.ps2dq.256",
68 "intrinsic": "256_cvtps_pd",
70 "llvm": "cvt.ps2.pd.256",
75 "intrinsic": "256_cvttpd_epi32",
77 "llvm": "cvtt.pd2dq.256",
82 "intrinsic": "256_cvttps_epi32",
84 "llvm": "cvtt.ps2dq.256",
89 "intrinsic": "256_dp_ps",
93 "args": ["0", "0", "S32/8"]
96 "intrinsic": "256_hadd_{0.data_type}",
98 "llvm": "hadd.{0.data_type}.256",
103 "intrinsic": "256_hsub_{0.data_type}",
105 "llvm": "hsub.{0.data_type}.256",
110 "intrinsic": "256_max_{0.data_type}",
112 "llvm": "max.{0.data_type}.256",
117 "intrinsic": "{0.width_mm}_maskload_{0.data_type}",
119 "llvm": "maskload.{0.data_type_short}{0.width_suffix}",
121 "args": ["0SPc/S8", "0s->0"]
124 "intrinsic": "{3.width_mm}_maskstore_{3.data_type}",
126 "llvm": "maskstore.{3.data_type_short}{3.width_suffix}",
128 "args": ["F(32-64)Pm/S8", "1Dsv->1Dv", "1Dv"]
131 "intrinsic": "256_min_{0.data_type}",
133 "llvm": "min.{0.data_type}.256",
138 "intrinsic": "256_movemask_ps",
140 "llvm": "movmsk.ps.256",
145 "intrinsic": "256_movemask_pd",
147 "llvm": "movmsk.pd.256",
152 "intrinsic": "{0.width_mm}_permutevar_{0.data_type}",
154 "llvm": "vpermilvar.{0.data_type}{0.width_suffix}",
159 "intrinsic": "256_rcp_ps",
161 "llvm": "rcp.ps.256",
166 "intrinsic": "256_rsqrt_ps",
168 "llvm": "rsqrt.ps.256",
173 "intrinsic": "256_storeu_{2.data_type}",
175 "llvm": "storeu.ps.256",
177 "args": ["f(32-64)Pm/U8", "1D"]
180 "intrinsic": "256_storeu_si256",
182 "llvm": "storeu.dq.256",
184 "args": ["u8Pm/U8", "1D"]
187 "intrinsic": "256_sqrt_{0.data_type}",
189 "llvm": "!llvm.sqrt.{0.llvm_name}",
194 "intrinsic": "{1.width_mm}_testc_ps",
196 "llvm": "vtestc.ps{1.width_suffix}",
198 "args": ["f32", "f32"]
201 "intrinsic": "{1.width_mm}_testc_pd",
203 "llvm": "vtestc.pd{1.width_suffix}",
205 "args": ["f64", "f64"]
208 "intrinsic": "256_testc_si256",
210 "llvm": "ptestc.256",
212 "args": ["u64", "u64"]
215 "intrinsic": "{1.width_mm}_testnzc_ps",
217 "llvm": "vtestnzc.ps{1.width_suffix}",
219 "args": ["f32", "f32"]
222 "intrinsic": "{1.width_mm}_testnzc_pd",
224 "llvm": "vtestnzc.pd{1.width_suffix}",
226 "args": ["f64", "f64"]
229 "intrinsic": "256_testnzc_si256",
231 "llvm": "ptestnzc.256",
233 "args": ["u64", "u64"]
236 "intrinsic": "{1.width_mm}_testz_ps",
238 "llvm": "vtestz.ps{1.width_suffix}",
240 "args": ["f32", "f32"]
243 "intrinsic": "{1.width_mm}_testz_pd",
245 "llvm": "vtestz.pd{1.width_suffix}",
247 "args": ["f64", "f64"]
250 "intrinsic": "256_testz_si256",
252 "llvm": "ptestz.256",
254 "args": ["u64", "u64"]
257 "intrinsic": "256_zeroall",
264 "intrinsic": "256_zeroupper",
266 "llvm": "vzeroupper",