{ "llvm_prefix": "llvm.x86.avx.", "intrinsics": [ { "intrinsic": "256_addsub_{0.data_type}", "width": [256], "llvm": "addsub.{0.data_type}.256", "ret": "f(32-64)", "args": ["0", "0"] }, { "intrinsic": "256_blendv_{0.data_type}", "width": [256], "llvm": "blendv.{0.data_type}.256", "ret": "f(32-64)", "args": ["0", "0", "0"] }, { "intrinsic": "256_broadcast_{0.data_type}", "width": [256], "llvm": "vbroadcastf128.{0.data_type}.256", "ret": "f(32-64)", "args": ["s8SPc"] }, { "intrinsic": "256_cmp_{0.data_type}", "width": [256], "llvm": "cmp.{1.data_type}.256", "ret": "f(32-64)", "args": ["0", "0", "s8S"] }, { "intrinsic": "256_cvtepi32_pd", "width": [256], "llvm": "cvtdq2.pd.256", "ret": "f64", "args": ["s32h"] }, { "intrinsic": "256_cvtepi32_ps", "width": [256], "llvm": "cvtdq2.ps.256", "ret": "f32", "args": ["s32"] }, { "intrinsic": "256_cvtpd_epi32", "width": [256], "llvm": "cvt.pd2dq.256", "ret": "s32h", "args": ["f64"] }, { "intrinsic": "256_cvtpd_ps", "width": [256], "llvm": "cvt.pd2.ps.256", "ret": "f32h", "args": ["f64"] }, { "intrinsic": "256_cvtps_epi32", "width": [256], "llvm": "cvt.ps2dq.256", "ret": "s32", "args": ["f32"] }, { "intrinsic": "256_cvtps_pd", "width": [256], "llvm": "cvt.ps2.pd.256", "ret": "f64", "args": ["f32h"] }, { "intrinsic": "256_cvttpd_epi32", "width": [256], "llvm": "cvtt.pd2dq.256", "ret": "s32h", "args": ["f64"] }, { "intrinsic": "256_cvttps_epi32", "width": [256], "llvm": "cvtt.ps2dq.256", "ret": "s32", "args": ["f32"] }, { "intrinsic": "256_dp_ps", "width": [256], "llvm": "dp.ps.256", "ret": "f32", "args": ["0", "0", "S32/8"] }, { "intrinsic": "256_hadd_{0.data_type}", "width": [256], "llvm": "hadd.{0.data_type}.256", "ret": "f(32-64)", "args": ["0", "0"] }, { "intrinsic": "256_hsub_{0.data_type}", "width": [256], "llvm": "hsub.{0.data_type}.256", "ret": "f(32-64)", "args": ["0", "0"] }, { "intrinsic": "256_max_{0.data_type}", "width": [256], "llvm": "max.{0.data_type}.256", "ret": "f(32-64)", "args": ["0", "0"] }, { "intrinsic": "{0.width_mm}_maskload_{0.data_type}", "width": [128, 256], "llvm": "maskload.{0.data_type_short}{0.width_suffix}", "ret": ["f(32-64)"], "args": ["0SPc/S8", "0s->0"] }, { "intrinsic": "{3.width_mm}_maskstore_{3.data_type}", "width": [128, 256], "llvm": "maskstore.{3.data_type_short}{3.width_suffix}", "ret": "V", "args": ["F(32-64)Pm/S8", "1Dsv->1Dv", "1Dv"] }, { "intrinsic": "256_min_{0.data_type}", "width": [256], "llvm": "min.{0.data_type}.256", "ret": "f(32-64)", "args": ["0", "0"] }, { "intrinsic": "256_movemask_ps", "width": [256], "llvm": "movmsk.ps.256", "ret": "S32", "args": ["f32"] }, { "intrinsic": "256_movemask_pd", "width": [256], "llvm": "movmsk.pd.256", "ret": "S32", "args": ["f64"] }, { "intrinsic": "{0.width_mm}_permutevar_{0.data_type}", "width": [128, 256], "llvm": "vpermilvar.{0.data_type}{0.width_suffix}", "ret": "f(32-64)", "args": ["0", "0s"] }, { "intrinsic": "256_rcp_ps", "width": [256], "llvm": "rcp.ps.256", "ret": "f32", "args": ["f32"] }, { "intrinsic": "256_rsqrt_ps", "width": [256], "llvm": "rsqrt.ps.256", "ret": "f32", "args": ["f32"] }, { "intrinsic": "256_storeu_{2.data_type}", "width": [256], "llvm": "storeu.ps.256", "ret": "V", "args": ["f(32-64)Pm/U8", "1D"] }, { "intrinsic": "256_storeu_si256", "width": [256], "llvm": "storeu.dq.256", "ret": "V", "args": ["u8Pm/U8", "1D"] }, { "intrinsic": "256_sqrt_{0.data_type}", "width": [256], "llvm": "!llvm.sqrt.{0.llvm_name}", "ret": "f(32-64)", "args": ["0"] }, { "intrinsic": "{1.width_mm}_testc_ps", "width": [128, 256], "llvm": "vtestc.ps{1.width_suffix}", "ret": "S32", "args": ["f32", "f32"] }, { "intrinsic": "{1.width_mm}_testc_pd", "width": [128, 256], "llvm": "vtestc.pd{1.width_suffix}", "ret": "S32", "args": ["f64", "f64"] }, { "intrinsic": "256_testc_si256", "width": [256], "llvm": "ptestc.256", "ret": "S32", "args": ["u64", "u64"] }, { "intrinsic": "{1.width_mm}_testnzc_ps", "width": [128, 256], "llvm": "vtestnzc.ps{1.width_suffix}", "ret": "S32", "args": ["f32", "f32"] }, { "intrinsic": "{1.width_mm}_testnzc_pd", "width": [128, 256], "llvm": "vtestnzc.pd{1.width_suffix}", "ret": "S32", "args": ["f64", "f64"] }, { "intrinsic": "256_testnzc_si256", "width": [256], "llvm": "ptestnzc.256", "ret": "S32", "args": ["u64", "u64"] }, { "intrinsic": "{1.width_mm}_testz_ps", "width": [128, 256], "llvm": "vtestz.ps{1.width_suffix}", "ret": "S32", "args": ["f32", "f32"] }, { "intrinsic": "{1.width_mm}_testz_pd", "width": [128, 256], "llvm": "vtestz.pd{1.width_suffix}", "ret": "S32", "args": ["f64", "f64"] }, { "intrinsic": "256_testz_si256", "width": [256], "llvm": "ptestz.256", "ret": "S32", "args": ["u64", "u64"] }, { "intrinsic": "256_zeroall", "width": [256], "llvm": "vzeroall", "ret": "V", "args": [] }, { "intrinsic": "256_zeroupper", "width": [256], "llvm": "vzeroupper", "ret": "V", "args": [] } ] }