blob: b499637e0d3c6f5046a5a3107c5da7cfaf2afacf [file] [log] [blame]
{
"intrinsic_prefix": "_mm",
"llvm_prefix": "llvm.x86.sse41.",
"intrinsics": [
{
"intrinsic": "_dp_{0.data_type}",
"width": [128],
"llvm": "dp{0.data_type}",
"ret": "f(32-64)",
"args": ["0", "0", "S32/8"]
},
{
"intrinsic": "_max_{0.data_type}",
"width": [128],
"llvm": "pmax{0.kind}{0.data_type_short}",
"ret": ["s8", "u16", "i32"],
"args": ["0", "0"]
},
{
"intrinsic": "_min_{0.data_type}",
"width": [128],
"llvm": "pmin{0.kind}{0.data_type_short}",
"ret": ["s8", "u16", "i32"],
"args": ["0", "0"]
},
{
"intrinsic": "_minpos_epu16",
"width": [128],
"llvm": "phminposuw",
"ret": "u16",
"args": ["0"]
},
{
"intrinsic": "_mpsadbw_epu8",
"width": [128],
"llvm": "mpsadbw",
"ret": "u16",
"args": ["u8", "u8", "S32/8"]
},
{
"intrinsic": "_mul_epi32",
"width": [128],
"llvm": "pmuldq",
"ret": "s64",
"args": ["s32", "s32"]
},
{
"intrinsic": "_packus_epi32",
"width": [128],
"llvm": "packusdw",
"ret": "u16",
"args": ["s32", "s32"]
},
{
"intrinsic": "_testc_si128",
"width": [128],
"llvm": "ptestc",
"ret": "S32",
"args": ["u64", "u64"]
},
{
"intrinsic": "_testnzc_si128",
"width": [128],
"llvm": "ptestnzc",
"ret": "S32",
"args": ["u64", "u64"]
},
{
"intrinsic": "_testz_si128",
"width": [128],
"llvm": "ptestz",
"ret": "S32",
"args": ["u64", "u64"]
}
]
}