blob: a1897e6bf6100bd692a34e7f9899bdf5eee9afc6 [file] [log] [blame]
{
"platform": "Q6_",
"intrinsic_prefix": "",
"llvm_prefix": "llvm.hexagon.V6.",
"number_info": {
"signed": {
"kind": "s",
"data_type": { "8": "b", "16": "h", "32": "w" },
"data_type_plain": { "8": "b", "16": "h", "32": "w" }
},
"unsigned": {
"kind": "u",
"data_type": { "8": "ub", "16": "uh", "32": "uw" },
"data_type_plain": { "8": "b", "16": "h", "32": "w" }
},
"float": {
"kind": "f",
"data_type": { "8": "b", "16": "h", "32": "w" },
"data_type_plain": { "8": "b", "16": "h", "32": "w" }
}
},
"width_info": {
"64": { "width_b": "64", "width_suffix": "" },
"128": { "width_b": "128", "width_suffix": ".128B" },
"512": { "width_b": "64", "width_suffix": "" },
"1024": { "widthd_b": "64", "width_b": "128", "width_suffix": ".128B", "widthd_suffix": "" },
"2048": { "widthd_b": "128", "widthd_suffix": ".128B" }
},
"intrinsics": [
{
"intrinsic": "R_vextract{1.width_b}",
"width": [512, 1024],
"llvm": "extractw{1.width_suffix}",
"ret": "U32",
"args": ["u32", "U32"]
},
{
"intrinsic": "V_lo{0.width_b}",
"width": [512, 1024],
"llvm": "lo{0.width_suffix}",
"ret": "u32",
"args": ["0d"]
},
{
"intrinsic": "V_hi{0.width_b}",
"width": [512, 1024],
"llvm": "hi{0.width_suffix}",
"ret": "u32",
"args": ["0d"]
},
{
"intrinsic": "V_vsplat_R{0.width_b}",
"width": [512, 1024],
"llvm": "lvsplat{1.data_type}{0.width_suffix}",
"ret": "u32",
"args": ["0S"]
},
{
"intrinsic": "Q_and_QQ{0.width_b}",
"width": [64, 128],
"llvm": "pred.and{0.width_suffix}",
"ret": "u32",
"args": ["0", "0"]
},
{
"intrinsic": "Q_not_Q{0.width_b}",
"width": [64, 128],
"llvm": "pred.not{0.width_suffix}",
"ret": "u32",
"args": ["0"]
},
{
"intrinsic": "Q_or_QQ{0.width_b}",
"width": [64, 128],
"llvm": "pred.or{0.width_suffix}",
"ret": "u32",
"args": ["0", "0"]
},
{
"intrinsic": "Q_xor_QQ{0.width_b}",
"width": [64, 128],
"llvm": "pred.xor{0.width_suffix}",
"ret": "u32",
"args": ["0", "0"]
},
{
"intrinsic": "V{0.data_type}_vabsdiff_V{1.data_type}V{2.data_type}{0.width_b}",
"width": [512, 1024],
"llvm": "vabsdiff{1.data_type}{0.width_suffix}",
"ret": "u(8-16)",
"args": ["0", "0"]
},
{
"intrinsic": "V{0.data_type}_vabsdiff_V{1.data_type}V{2.data_type}{0.width_b}",
"width": [512, 1024],
"llvm": "vabsdiff{1.data_type}{0.width_suffix}",
"ret": "u(16-32)",
"args": ["0s", "0s"]
},
{
"intrinsic": "V{0.data_type}_vabs_V{1.data_type}{0.width_b}",
"width": [512, 1024],
"llvm": "vabs{1.data_type}{0.width_suffix}",
"ret": "s(16-32)",
"args": ["0"]
},
{
"intrinsic": "V{0.data_type}_vabs_V{1.data_type}_sat{0.width_b}",
"width": [512, 1024],
"llvm": "vabs{1.data_type}.sat{0.width_suffix}",
"ret": "s(16-32)",
"args": ["0"]
},
{
"intrinsic": "V{0.data_type}_vadd_V{1.data_type}V{2.data_type}{0.width_b}",
"width": [512, 1024],
"llvm": "vadd{0.data_type}{0.width_suffix}",
"ret": "s(8-32)",
"args": ["0", "0"]
},
{
"intrinsic": "V{0.data_type}_vadd_V{1.data_type}V{2.data_type}_sat{0.width_b}",
"width": [512, 1024],
"llvm": "vadd{0.data_type}sat{0.width_suffix}",
"ret": "s(16-32)",
"args": ["0", "0"]
},
{
"intrinsic": "V{0.data_type}_vadd_V{1.data_type}V{2.data_type}_sat{0.width_b}",
"width": [512, 1024],
"llvm": "vadd{0.data_type}sat{0.width_suffix}",
"ret": "u(8-16)",
"args": ["0", "0"]
},
{
"intrinsic": "W{0.data_type}_vadd_W{1.data_type}W{2.data_type}{0.widthd_b}",
"width": [512, 1024],
"llvm": "vadd{0.data_type}.dv{0.widthd_suffix}",
"ret": "s(8-32)d",
"args": ["0", "0"]
},
{
"intrinsic": "W{0.data_type}_vadd_W{1.data_type}W{2.data_type}_sat{0.widthd_b}",
"width": [512, 1024],
"llvm": "vadd{0.data_type}sat.dv{0.widthd_suffix}",
"ret": "s(16-32)d",
"args": ["0", "0"]
},
{
"intrinsic": "W{0.data_type}_vadd_W{1.data_type}W{2.data_type}_sat{0.widthd_b}",
"width": [512, 1024],
"llvm": "vadd{0.data_type}sat.dv{0.widthd_suffix}",
"ret": "u(8-16)d",
"args": ["0", "0"]
},
{
"intrinsic": "V_valign_VVR{0.width_b}",
"width": [512, 1024],
"llvm": "valignb{0.width_suffix}",
"ret": "u8",
"args": ["0", "0", "U32"]
},
{
"intrinsic": "V_valign_VVI{0.width_b}",
"width": [512, 1024],
"llvm": "valignbi{0.width_suffix}",
"ret": "u8",
"args": ["0", "0", "U32"]
},
{
"intrinsic": "V_vlalign_VVR{0.width_b}",
"width": [512, 1024],
"llvm": "vlalignb{0.width_suffix}",
"ret": "u8",
"args": ["0", "0", "U32"]
},
{
"intrinsic": "V_vlalign_VVI{0.width_b}",
"width": [512, 1024],
"llvm": "vlalignbi{0.width_suffix}",
"ret": "u8",
"args": ["0", "0", "U32"]
},
{
"intrinsic": "V_vand_VV{0.width_b}",
"width": [512, 1024],
"llvm": "vand{0.width_suffix}",
"ret": "u16",
"args": ["0", "0"]
},
{
"intrinsic": "V_vand_QR{0.width_b}",
"width": [512, 1024],
"llvm": "vandqrt{0.width_suffix}",
"ret": "u8",
"args": ["u32hhh", "U32"]
},
{
"intrinsic": "V_vandor_VQR{0.width_b}",
"width": [512, 1024],
"llvm": "vandqrt.acc{0.width_suffix}",
"ret": "u8",
"args": ["0", "u32hhh", "U32"]
},
{
"intrinsic": "Q_vand_VR{0.width_b}",
"width": [512, 1024],
"llvm": "vandvrt{0.width_suffix}",
"ret": "u32hhh",
"args": ["u8", "U32"]
},
{
"intrinsic": "Q_vandor_QVR{0.width_b}",
"width": [512, 1024],
"llvm": "vandvrt{0.width_suffix}",
"ret": "u32hhh",
"args": ["0", "u8", "U32"]
},
{
"intrinsic": "V{0.data_type}_vasl_V{1.data_type}R{0.width_b}",
"width": [512, 1024],
"llvm": "vasl{0.data_type}{0.width_suffix}",
"ret": "s(16-32)",
"args": ["0", "U32"]
},
{
"intrinsic": "V{0.data_type}_vasl_V{1.data_type}V{2.data_type}{0.width_b}",
"width": [512, 1024],
"llvm": "vasl{0.data_type}v{0.width_suffix}",
"ret": "s(16-32)",
"args": ["0", "0"]
},
{
"intrinsic": "V{0.data_type}_vaslacc_V{1.data_type}V{2.data_type}R{0.width_b}",
"width": [512, 1024],
"llvm": "vasl{0.data_type}.acc{0.width_suffix}",
"ret": "s32",
"args": ["0", "0", "U32"]
},
{
"intrinsic": "V{0.data_type}_vasr_V{1.data_type}R{0.width_b}",
"width": [512, 1024],
"llvm": "vasr{0.data_type}{0.width_suffix}",
"ret": "s(16-32)",
"args": ["0", "U32"]
},
{
"intrinsic": "V{0.data_type}_vasr_V{1.data_type}V{2.data_type}{0.width_b}",
"width": [512, 1024],
"llvm": "vasr{0.data_type}v{0.width_suffix}",
"ret": "s(16-32)",
"args": ["0", "0"]
},
{
"intrinsic": "V{0.data_type}_vasracc_V{1.data_type}V{2.data_type}R{0.width_b}",
"width": [512, 1024],
"llvm": "vasr{0.data_type}.acc{0.width_suffix}",
"ret": "s32",
"args": ["0", "0", "U32"]
},
{
"intrinsic": "V{0.data_type}_vasr_V{1.data_type}V{2.data_type}R{0.width_b}",
"width": [512, 1024],
"llvm": "vasr{0.data_type}{1.data_type}{0.width_suffix}",
"ret": "s16",
"args": ["0hw", "0hw", "U32"]
},
{
"intrinsic": "V{0.data_type}_vasr_V{1.data_type}V{2.data_type}R_sat{0.width_b}",
"width": [512, 1024],
"llvm": "vasr{1.data_type}{0.data_type_plain}sat{0.width_suffix}",
"ret": "i(8-16)",
"args": ["0hws", "0hws", "U32"]
},
{
"intrinsic": "V{0.data_type}_vasr_V{1.data_type}V{2.data_type}R_rnd_sat{0.width_b}",
"width": [512, 1024],
"llvm": "vasr{1.data_type}{0.data_type_plain}rndsat{0.width_suffix}",
"ret": "i(8-16)",
"args": ["0hws", "0hws", "U32"]
},
{
"intrinsic": "V_equals_V{0.width_b}",
"width": [512, 1024],
"llvm": "vassign{0.width_suffix}",
"ret": "u32",
"args": ["0"]
},
{
"intrinsic": "W_equals_W{0.widthd_b}",
"width": [512, 1024],
"llvm": "vassignp{0.widthd_suffix}",
"ret": "u32d",
"args": ["0"]
},
{
"intrinsic": "V{0.data_type}_vavg_V{1.data_type}V{2.data_type}{0.width_b}",
"width": [512, 1024],
"llvm": "vavg{0.data_type}{0.width_suffix}",
"ret": "s(16-32)",
"args": ["0", "0"]
},
{
"intrinsic": "V{0.data_type}_vavg_V{1.data_type}V{2.data_type}{0.width_b}",
"width": [512, 1024],
"llvm": "vavg{0.data_type}{0.width_suffix}",
"ret": "u(8-16)",
"args": ["0", "0"]
},
{
"intrinsic": "V{0.data_type}_vavg_V{1.data_type}V{2.data_type}_rnd{0.width_b}",
"width": [512, 1024],
"llvm": "vavgrnd{0.data_type}{0.width_suffix}",
"ret": "s(16-32)",
"args": ["0", "0"]
},
{
"intrinsic": "V{0.data_type}_vavg_V{1.data_type}V{2.data_type}_rnd{0.width_b}",
"width": [512, 1024],
"llvm": "vavgrnd{0.data_type}{0.width_suffix}",
"ret": "u(8-16)",
"args": ["0", "0"]
},
{
"intrinsic": "V{0.data_type}_vcl0_V{1.data_type}{0.width_b}",
"width": [512, 1024],
"llvm": "vcl0{0.data_type_plain}{0.width_suffix}",
"ret": "u(16-32)",
"args": ["0"]
},
{
"intrinsic": "W_vcombine_VV{0.widthd_b}",
"width": [512, 1024],
"llvm": "vcombine{0.widthd_suffix}",
"ret": "u8d",
"args": ["0h", "0h"]
},
{
"intrinsic": "V_vzero{0.width_b}",
"width": [512, 1024],
"llvm": "vd0{0.width_suffix}",
"ret": "u32",
"args": []
},
{
"intrinsic": "V{0.data_type}_vdeal_V{1.data_type}{0.width_b}",
"width": [512, 1024],
"llvm": "vdeal{1.data_type}{0.width_suffix}",
"ret": "s(8-16)",
"args": ["0"]
},
{
"intrinsic": "V{0.data_type}_vdeale_V{1.data_type}V{2.data_type}{0.width_b}",
"width": [512, 1024],
"llvm": "vdeal{1.data_type}4w{0.width_suffix}",
"ret": "s8",
"args": ["0", "0"]
},
{
"intrinsic": "W_vdeal_VVR{0.widthd_b}",
"width": [512, 1024],
"llvm": "vdealvdd{0.widthd_suffix}",
"ret": "u8d",
"args": ["0h", "0h", "U32"]
},
{
"intrinsic": "V_vdelta_VV{0.width_b}",
"width": [512, 1024],
"llvm": "vdelta{0.width_suffix}",
"ret": "u8",
"args": ["0", "0"]
},
{
"intrinsic": "V{0.data_type}_vdmpy_V{1.data_type}Rb{0.width_b}",
"width": [512, 1024],
"llvm": "vdmpybus{0.width_suffix}",
"ret": "s16",
"args": ["u8", "U32"]
},
{
"intrinsic": "V{0.data_type}_vdmpyacc_V{1.data_type}V{2.data_type}Rb{0.width_b}",
"width": [512, 1024],
"llvm": "vdmpybus.acc{0.width_suffix}",
"ret": "s16",
"args": ["s16", "u8", "U32"]
},
{
"intrinsic": "W{0.data_type}_vdmpy_W{1.data_type}Rb{0.widthd_b}",
"width": [512, 1024],
"llvm": "vdmpybus.dv{0.widthd_suffix}",
"ret": "s16d",
"args": ["u8d", "U32"]
},
{
"intrinsic": "W{0.data_type}_vdmpyacc_W{1.data_type}W{2.data_type}Rb{0.widthd_b}",
"width": [512, 1024],
"llvm": "vdmpybus.dv.acc{0.widthd_suffix}",
"ret": "s16d",
"args": ["s16d", "u8d", "U32"]
},
{
"intrinsic": "V{0.data_type}_vdmpy_V{1.data_type}Rb{0.width_b}",
"width": [512, 1024],
"llvm": "vdmpyhb{0.width_suffix}",
"ret": "s32",
"args": ["s16", "U32"]
},
{
"intrinsic": "V{0.data_type}_vdmpyacc_V{1.data_type}V{2.data_type}Rb{0.width_b}",
"width": [512, 1024],
"llvm": "vdmpyhb.acc{0.width_suffix}",
"ret": "s32",
"args": ["s32", "s16", "U32"]
},
{
"intrinsic": "W{0.data_type}_vdmpy_W{1.data_type}Rb{0.widthd_b}",
"width": [512, 1024],
"llvm": "vdmpyhb.dv{0.widthd_suffix}",
"ret": "s32d",
"args": ["s16d", "U32"]
},
{
"intrinsic": "W{0.data_type}_vdmpyacc_W{1.data_type}W{2.data_type}Rb{0.widthd_b}",
"width": [512, 1024],
"llvm": "vdmpyhb.dv.acc{0.widthd_suffix}",
"ret": "s32d",
"args": ["s32d", "s16d", "U32"]
},
{
"intrinsic": "V{0.data_type}_vdmpy_W{1.data_type}Rh_sat{0.width_b}",
"width": [512, 1024],
"llvm": "vdmpyhisat{0.width_suffix}",
"ret": "s32",
"args": ["0d", "U32"]
},
{
"intrinsic": "V{0.data_type}_vdmpy_V{1.data_type}Rh_sat{0.width_b}",
"width": [512, 1024],
"llvm": "vdmpyhsat{0.width_suffix}",
"ret": "s32",
"args": ["s16", "U32"]
},
{
"intrinsic": "V{0.data_type}_vdmpy_W{1.data_type}Ruh_sat{0.width_b}",
"width": [512, 1024],
"llvm": "vdmpyhsuisat{0.width_suffix}",
"ret": "s32",
"args": ["s16d", "U32"]
},
{
"intrinsic": "V{0.data_type}_vdmpy_V{1.data_type}Ruh_sat{0.width_b}",
"width": [512, 1024],
"llvm": "vdmpyhsusat{0.width_suffix}",
"ret": "s32",
"args": ["s16", "U32"]
},
{
"intrinsic": "V{0.data_type}_vdmpy_V{1.data_type}V{2.data_type}_sat{0.width_b}",
"width": [512, 1024],
"llvm": "vdmpyhvsat{0.width_suffix}",
"ret": "s32",
"args": ["s16", "s16"]
},
{
"intrinsic": "V{0.data_type}_vdmpyacc_V{1.data_type}W{2.data_type}Rh_sat{0.width_b}",
"width": [512, 1024],
"llvm": "vdmpyhisat_acc{0.width_suffix}",
"ret": "s32",
"args": ["0", "0d", "U32"]
},
{
"intrinsic": "W{0.data_type}_vdsad_W{1.data_type}Ruh{0.widthd_b}",
"width": [512, 1024],
"llvm": "vdsaduh{0.widthd_suffix}",
"ret": "u32d",
"args": ["u16d", "U32"]
},
{
"intrinsic": "W{0.data_type}_vdsadacc_W{1.data_type}W{2.data_type}Ruh{0.widthd_b}",
"width": [512, 1024],
"llvm": "vdsaduh.acc{0.widthd_suffix}",
"ret": "u32d",
"args": ["0", "u16d", "U32"]
},
{
"intrinsic": "V{0.data_type}_vdmpyacc_V{1.data_type}V{2.data_type}Rh_sat{0.width_b}",
"width": [512, 1024],
"llvm": "vdmpyhsat_acc{0.width_suffix}",
"ret": "s32",
"args": ["0", "s16", "U32"]
},
{
"intrinsic": "V{0.data_type}_vdmpyacc_V{1.data_type}W{2.data_type}Ruh_sat{0.width_b}",
"width": [512, 1024],
"llvm": "vdmpyhsuisat_acc{0.width_suffix}",
"ret": "s32",
"args": ["0", "s16d", "U32"]
},
{
"intrinsic": "V{0.data_type}_vdmpyacc_V{1.data_type}V{2.data_type}Ruh_sat{0.width_b}",
"width": [512, 1024],
"llvm": "vdmpyhsusat_acc{0.width_suffix}",
"ret": "s32",
"args": ["0", "s16", "U32"]
},
{
"intrinsic": "V{0.data_type}_vdmpyacc_V{1.data_type}V{2.data_type}V{3.data_type}_sat{0.width_b}",
"width": [512, 1024],
"llvm": "vdmpyhvsat_acc{0.width_suffix}",
"ret": "s32",
"args": ["0", "s16", "s16"]
},
{
"intrinsic": "Q_vcmp_eq_V{1.data_type}V{2.data_type}{0.width_b}",
"width": [512, 1024],
"llvm": "veq{1.data_type}{0.width_suffix}",
"ret": "u32hhh",
"args": ["s(8-32)", "1"]
},
{
"intrinsic": "Q_vcmp_eqand_QV{2.data_type}V{3.data_type}{0.width_b}",
"width": [512, 1024],
"llvm": "veq{2.data_type}.and{0.width_suffix}",
"ret": "u32hhh",
"args": ["0", "s(8-32)", "2"]
},
{
"intrinsic": "Q_vcmp_eqor_QV{2.data_type}V{3.data_type}{0.width_b}",
"width": [512, 1024],
"llvm": "veq{2.data_type}.or{0.width_suffix}",
"ret": "u32hhh",
"args": ["0", "s(8-32)", "2"]
},
{
"intrinsic": "Q_vcmp_eqxacc_QV{2.data_type}V{3.data_type}{0.width_b}",
"width": [512, 1024],
"llvm": "veq{2.data_type}.xor{0.width_suffix}",
"ret": "u32hhh",
"args": ["0", "s(8-32)", "2"]
},
{
"intrinsic": "Q_vcmp_gt_V{1.data_type}V{2.data_type}{0.width_b}",
"width": [512, 1024],
"llvm": "vgt{1.data_type}{0.width_suffix}",
"ret": "u32hhh",
"args": ["s(8-32)", "1"]
},
{
"intrinsic": "Q_vcmp_gt_V{1.data_type}V{2.data_type}{0.width_b}",
"width": [512, 1024],
"llvm": "vgt{1.data_type}{0.width_suffix}",
"ret": "u32hhh",
"args": ["u(8-16)", "1"]
},
{
"intrinsic": "Q_vcmp_gtand_QV{2.data_type}V{3.data_type}{0.width_b}",
"width": [512, 1024],
"llvm": "vgt{2.data_type}.and{0.width_suffix}",
"ret": "u32hhh",
"args": ["0", "s(8-32)", "2"]
},
{
"intrinsic": "Q_vcmp_gtand_QV{2.data_type}V{3.data_type}{0.width_b}",
"width": [512, 1024],
"llvm": "vgt{2.data_type}.and{0.width_suffix}",
"ret": "u32hhh",
"args": ["0", "u(8-16)", "2"]
},
{
"intrinsic": "Q_vcmp_gtor_QV{2.data_type}V{3.data_type}{0.width_b}",
"width": [512, 1024],
"llvm": "vgt{2.data_type}.or{0.width_suffix}",
"ret": "u32hhh",
"args": ["0", "s(8-32)", "2"]
},
{
"intrinsic": "Q_vcmp_gtor_QV{2.data_type}V{3.data_type}{0.width_b}",
"width": [512, 1024],
"llvm": "vgt{2.data_type}.or{0.width_suffix}",
"ret": "u32hhh",
"args": ["0", "u(8-16)", "2"]
},
{
"intrinsic": "Q_vcmp_gtxacc_QV{2.data_type}V{3.data_type}{0.width_b}",
"width": [512, 1024],
"llvm": "vgt{2.data_type}.xor{0.width_suffix}",
"ret": "u32hhh",
"args": ["0", "s(8-32)", "2"]
},
{
"intrinsic": "Q_vcmp_gtxacc_QV{2.data_type}V{3.data_type}{0.width_b}",
"width": [512, 1024],
"llvm": "vgt{2.data_type}.xor{0.width_suffix}",
"ret": "u32hhh",
"args": ["0", "u(8-16)", "2"]
},
{
"intrinsic": "V{0.data_type}_vinsert_V{1.data_type}R{0.width_b}",
"width": [512, 1024],
"llvm": "vinsertwr{0.width_suffix}",
"ret": "s32",
"args": ["S32"]
},
{
"intrinsic": "V{0.data_type}_vlsr_V{1.data_type}R{0.width_b}",
"width": [512, 1024],
"llvm": "vlsr{0.data_type_plain}{0.width_suffix}",
"ret": "u(16-32)",
"args": ["0", "U32"]
},
{
"intrinsic": "V{0.data_type}_vlsr_V{1.data_type}V{2.data_type}{0.width_b}",
"width": [512, 1024],
"llvm": "vlsr{0.data_type}v{0.width_suffix}",
"ret": "s(16-32)",
"args": ["0", "0"]
},
{
"intrinsic": "V{0.data_type}_vlut32_V{1.data_type}V{2.data_type}R{0.width_b}",
"width": [512, 1024],
"llvm": "vlutvv{0.data_type}{0.width_suffix}",
"ret": "s8",
"args": ["0", "0", "U32"]
},
{
"intrinsic": "W{0.data_type}_vlut16_V{1.data_type}V{2.data_type}R{0.widthd_b}",
"width": [512, 1024],
"llvm": "vlutvw{0.data_type}{0.widthd_suffix}",
"ret": "s16d",
"args": ["s8", "s16", "U32"]
},
{
"intrinsic": "V{0.data_type}_vlut32or_V{1.data_type}V{2.data_type}V{3.data_type}R{0.width_b}",
"width": [512, 1024],
"llvm": "vlutvv{0.data_type}.oracc{0.width_suffix}",
"ret": "s8",
"args": ["0", "0", "0", "U32"]
},
{
"intrinsic": "W{0.data_type}_vlut16or_W{1.data_type}V{2.data_type}V{3.data_type}R{0.widthd_b}",
"width": [512, 1024],
"llvm": "vlutvw{0.data_type}.oracc{0.widthd_suffix}",
"ret": "s16d",
"args": ["0", "s8", "s16", "U32"]
},
{
"intrinsic": "V{0.data_type}_vmax_V{1.data_type}V{2.data_type}{0.width_b}",
"width": [512, 1024],
"llvm": "vmax{0.data_type}{0.width_suffix}",
"ret": "s(16-32)",
"args": ["0", "0"]
},
{
"intrinsic": "V{0.data_type}_vmax_V{1.data_type}V{2.data_type}{0.width_b}",
"width": [512, 1024],
"llvm": "vmax{0.data_type}{0.width_suffix}",
"ret": "u(8-16)",
"args": ["0", "0"]
},
{
"intrinsic": "V{0.data_type}_vmin_V{1.data_type}V{2.data_type}{0.width_b}",
"width": [512, 1024],
"llvm": "vmin{0.data_type}{0.width_suffix}",
"ret": "s(16-32)",
"args": ["0", "0"]
},
{
"intrinsic": "V{0.data_type}_vmin_V{1.data_type}V{2.data_type}{0.width_b}",
"width": [512, 1024],
"llvm": "vmin{0.data_type}{0.width_suffix}",
"ret": "u(8-16)",
"args": ["0", "0"]
},
{
"intrinsic": "W{0.data_type}_vmpa_W{1.data_type}Rb{0.widthd_b}",
"width": [512, 1024],
"llvm": "vmpabus{0.widthd_suffix}",
"ret": "s16d",
"args": ["u8d", "U32"]
},
{
"intrinsic": "W{0.data_type}_vmpaacc_W{1.data_type}W{2.data_type}Rb{0.widthd_b}",
"width": [512, 1024],
"llvm": "vmpabus.acc{0.widthd_suffix}",
"ret": "s16d",
"args": ["0", "u8d", "U32"]
},
{
"intrinsic": "W{0.data_type}_vmpa_W{1.data_type}W{2.data_type}{0.widthd_b}",
"width": [512, 1024],
"llvm": "vmpab{1.kind}{2.kind}v{0.widthd_suffix}",
"ret": "s16d",
"args": ["u8d", "i8d"]
},
{
"intrinsic": "W{0.data_type}_vmpa_W{1.data_type}Rb{0.widthd_b}",
"width": [512, 1024],
"llvm": "vmpahb{0.widthd_suffix}",
"ret": "s32d",
"args": ["s16d", "U32"]
},
{
"intrinsic": "W{0.data_type}_vmpaacc_W{1.data_type}W{2.data_type}Rb{0.widthd_b}",
"width": [512, 1024],
"llvm": "vmpahb.acc{0.widthd_suffix}",
"ret": "s32d",
"args": ["0", "s16d", "U32"]
},
{
"intrinsic": "W{0.data_type}_vmpy_V{1.data_type}V{2.data_type}{0.widthd_b}",
"width": [512, 1024],
"llvm": "vmpy{1.data_type}us{0.widthd_suffix}",
"ret": "s(16-32)d",
"args": ["0n", "0nu"]
},
{
"intrinsic": "W{0.data_type}_vmpyacc_W{1.data_type}V{2.data_type}V{3.data_type}{0.widthd_b}",
"width": [512, 1024],
"llvm": "vmpy{2.data_type}us.acc{0.widthd_suffix}",
"ret": "s(16-32)d",
"args": ["0", "0n", "0nu"]
},
{
"intrinsic": "W{0.data_type}_vmpy_V{1.data_type}V{2.data_type}{0.widthd_b}",
"width": [512, 1024],
"llvm": "vmpybusv{0.widthd_suffix}",
"ret": "s16d",
"args": ["u8", "s8"]
},
{
"intrinsic": "W{0.data_type}_vmpyacc_W{1.data_type}V{2.data_type}V{3.data_type}{0.widthd_b}",
"width": [512, 1024],
"llvm": "vmpybusv.acc{0.widthd_suffix}",
"ret": "s16d",
"args": ["0", "0nu", "0n"]
},
{
"intrinsic": "W{0.data_type}_vmpy_V{1.data_type}V{2.data_type}{0.widthd_b}",
"width": [512, 1024],
"llvm": "vmpy{1.data_type}v{0.widthd_suffix}",
"ret": "i(16-32)d",
"args": ["0n", "0n"]
},
{
"intrinsic": "W{0.data_type}_vmpyacc_W{1.data_type}V{2.data_type}V{3.data_type}{0.widthd_b}",
"width": [512, 1024],
"llvm": "vmpy{2.data_type}v.acc{0.widthd_suffix}",
"ret": "i(16-32)d",
"args": ["0", "0n", "0n"]
},
{
"intrinsic": "V{0.data_type}_vmpye_V{1.data_type}V{2.data_type}{0.width_b}",
"width": [512, 1024],
"llvm": "vmpyewuh{0.width_suffix}",
"ret": "s32",
"args": ["s32", "u16"]
},
{
"intrinsic": "W{0.data_type}_vmpy_V{1.data_type}R{1.data_type}{0.widthd_b}",
"width": [512, 1024],
"llvm": "vmpy{1.data_type}{0.widthd_suffix}",
"ret": "i32d",
"args": ["0n", "U32"]
},
{
"intrinsic": "W{0.data_type}_vmpyacc_W{1.data_type}V{2.data_type}R{2.data_type}_sat{0.widthd_b}",
"width": [512, 1024],
"llvm": "vmpy{2.data_type}sat.acc{0.widthd_suffix}",
"ret": "s32d",
"args": ["0", "0n", "U32"]
},
{
"intrinsic": "V{0.data_type}_vmpy_V{1.data_type}R{1.data_type}_s1_rnd_sat{0.width_b}",
"width": [512, 1024],
"llvm": "vmpy{1.data_type}srs{0.width_suffix}",
"ret": "s32",
"args": ["0nd", "U32"]
},
{
"intrinsic": "V{0.data_type}_vmpy_V{1.data_type}R{1.data_type}_s1_sat{0.width_b}",
"width": [512, 1024],
"llvm": "vmpy{1.data_type}ss{0.width_suffix}",
"ret": "s32",
"args": ["0nd", "U32"]
},
{
"intrinsic": "V{0.data_type}_vmpy_V{1.data_type}V{2.data_type}_s1_rnd_sat{0.width_b}",
"width": [512, 1024],
"llvm": "vmpy{1.data_type}vsrs{0.width_suffix}",
"ret": "s16",
"args": ["0", "0"]
},
{
"intrinsic": "V{0.data_type}_vmpyieo_V{1.data_type}V{2.data_type}{0.width_b}",
"width": [512, 1024],
"llvm": "vmpyieo{1.data_type}{0.width_suffix}",
"ret": "s32",
"args": ["0nd", "0nd"]
},
{
"intrinsic": "V{0.data_type}_vmpyieacc_V{1.data_type}V{2.data_type}V{3.data_type}{0.width_b}",
"width": [512, 1024],
"llvm": "vmpyie{2.data_type}{3.data_type}.acc{0.width_suffix}",
"ret": "s32",
"args": ["0", "0", "i16"]
},
{
"intrinsic": "V{0.data_type}_vmpyie_V{1.data_type}V{2.data_type}{0.width_b}",
"width": [512, 1024],
"llvm": "vmpyie{1.data_type}{2.data_type}{0.width_suffix}",
"ret": "s32",
"args": ["0", "u16"]
},
{
"intrinsic": "V{0.data_type}_vmpyi_V{1.data_type}V{2.data_type}{0.width_b}",
"width": [512, 1024],
"llvm": "vmpyi{1.data_type}{0.width_suffix}",
"ret": "s16",
"args": ["0", "0"]
},
{
"intrinsic": "V{0.data_type}_vmpyiacc_V{1.data_type}V{2.data_type}V{3.data_type}{0.width_b}",
"width": [512, 1024],
"llvm": "vmpyi{1.data_type}.acc{0.width_suffix}",
"ret": "s16",
"args": ["0", "0", "0"]
},
{
"intrinsic": "V{0.data_type}_vmpyi_V{1.data_type}Rb{0.width_b}",
"width": [512, 1024],
"llvm": "vmpyi{1.data_type}b{0.width_suffix}",
"ret": "s(16-32)",
"args": ["0", "U32"]
},
{
"intrinsic": "V{0.data_type}_vmpyiacc_V{1.data_type}V{2.data_type}Rb{0.width_b}",
"width": [512, 1024],
"llvm": "vmpyi{1.data_type}b.acc{0.width_suffix}",
"ret": "s(16-32)",
"args": ["0", "0", "U32"]
},
{
"intrinsic": "V{0.data_type}_vmpyi_V{1.data_type}Rh{0.width_b}",
"width": [512, 1024],
"llvm": "vmpyi{1.data_type}h{0.width_suffix}",
"ret": "s32",
"args": ["0", "U32"]
},
{
"intrinsic": "V{0.data_type}_vmpyiacc_V{1.data_type}V{2.data_type}Rh{0.width_b}",
"width": [512, 1024],
"llvm": "vmpyi{1.data_type}h.acc{0.width_suffix}",
"ret": "s32",
"args": ["0", "0", "U32"]
},
{
"intrinsic": "V{0.data_type}_vmpyi_V{1.data_type}Rub{0.width_b}",
"width": [512, 1024],
"llvm": "vmpyi{1.data_type}ub{0.width_suffix}",
"ret": "s32",
"args": ["0", "U32"]
},
{
"intrinsic": "V{0.data_type}_vmpyiacc_V{1.data_type}V{2.data_type}Rub{0.width_b}",
"width": [512, 1024],
"llvm": "vmpyi{1.data_type}ub.acc{0.width_suffix}",
"ret": "s32",
"args": ["0", "0", "U32"]
},
{
"intrinsic": "V{0.data_type}_vmpyo_V{1.data_type}V{2.data_type}_s1_sat{0.width_b}",
"width": [512, 1024],
"llvm": "vmpyo{1.data_type}{2.data_type}{0.width_suffix}",
"ret": "s32",
"args": ["0", "0nd"]
},
{
"intrinsic": "V{0.data_type}_vmpyo_V{1.data_type}V{2.data_type}_s1_rnd_sat{0.width_b}",
"width": [512, 1024],
"llvm": "vmpyo{1.data_type}{2.data_type}.rnd{0.width_suffix}",
"ret": "s32",
"args": ["0", "0nd"]
},
{
"intrinsic": "V{0.data_type}_vmpyo_V{1.data_type}V{2.data_type}_s1_rnd_sat_shift{0.width_b}",
"width": [512, 1024],
"llvm": "vmpyo{1.data_type}{2.data_type}.rnd.sacc{0.width_suffix}",
"ret": "s32",
"args": ["0", "0nd"]
},
{
"intrinsic": "V{0.data_type}_vmpyo_V{1.data_type}V{2.data_type}_s1_sat_shift{0.width_b}",
"width": [512, 1024],
"llvm": "vmpyo{1.data_type}{2.data_type}.sacc{0.width_suffix}",
"ret": "s32",
"args": ["0", "0nd"]
},
{
"intrinsic": "V{0.data_type}_vmpyio_V{1.data_type}V{2.data_type}{0.width_b}",
"width": [512, 1024],
"llvm": "vmpyio{1.data_type}{2.data_type}{0.width_suffix}",
"ret": "s32",
"args": ["0", "0nd"]
},
{
"intrinsic": "W{0.data_type}_vmpy_V{1.data_type}R{1.data_type}{0.widthd_b}",
"width": [512, 1024],
"llvm": "vmpy{1.data_type}{0.widthd_suffix}",
"ret": "u16d",
"args": ["0n", "U32"]
},
{
"intrinsic": "W{0.data_type}_vmpyacc_W{1.data_type}V{2.data_type}R{2.data_type}{0.widthd_b}",
"width": [512, 1024],
"llvm": "vmpy{2.data_type}.acc{0.widthd_suffix}",
"ret": "u(16-32)d",
"args": ["0", "0n", "U32"]
},
{
"intrinsic": "V{0.data_type}_vmux_QVV{0.width_b}",
"width": [512, 1024],
"llvm": "vmux{0.width_suffix}",
"ret": "u32",
"args": ["0hhh", "0", "0"]
},
{
"intrinsic": "V{0.data_type}_vnavg_V{1.data_type}V{2.data_type}{0.width_b}",
"width": [512, 1024],
"llvm": "vnavg{0.data_type}{0.width_suffix}",
"ret": "i(16-32)",
"args": ["0", "0"]
},
{
"intrinsic": "V{0.data_type}_vnavg_V{1.data_type}V{2.data_type}{0.width_b}",
"width": [512, 1024],
"llvm": "vnavg{0.data_type}{0.width_suffix}",
"ret": "u8",
"args": ["0", "0"]
},
{
"intrinsic": "V{0.data_type}_vnormamt_V{1.data_type}{0.width_b}",
"width": [512, 1024],
"llvm": "vnormamt{0.data_type}{0.width_suffix}",
"ret": "s(16-32)",
"args": ["0"]
},
{
"intrinsic": "V_vnot_VV{0.width_b}",
"width": [512, 1024],
"llvm": "vnot{0.width_suffix}",
"ret": "u16",
"args": ["0"]
},
{
"intrinsic": "V_vor_VV{0.width_b}",
"width": [512, 1024],
"llvm": "vor{0.width_suffix}",
"ret": "u16",
"args": ["0", "0"]
},
{
"intrinsic": "V{0.data_type}_vpacke_V{1.data_type}V{2.data_type}{0.width_b}",
"width": [512, 1024],
"llvm": "vpack{1.data_type}e{0.width_suffix}",
"ret": "s(8-16)",
"args": ["0hw", "0hw"]
},
{
"intrinsic": "V{0.data_type}_vpacko_V{1.data_type}V{2.data_type}{0.width_b}",
"width": [512, 1024],
"llvm": "vpack{1.data_type}o{0.width_suffix}",
"ret": "s(8-16)",
"args": ["0hw", "0hw"]
},
{
"intrinsic": "V{0.data_type}_vpack_V{1.data_type}V{2.data_type}_sat{0.width_b}",
"width": [512, 1024],
"llvm": "vpack{1.data_type}{0.data_type}.sat{0.width_suffix}",
"ret": "i(8-16)",
"args": ["0hws", "0hws"]
},
{
"intrinsic": "V{0.data_type}_vpopcount_V{1.data_type}{0.width_b}",
"width": [512, 1024],
"llvm": "vpopcount{0.data_type}{0.width_suffix}",
"ret": "s16",
"args": ["0"]
},
{
"intrinsic": "V_vrdelta_VV{0.width_b}",
"width": [512, 1024],
"llvm": "vrdelta{0.width_suffix}",
"ret": "u8",
"args": ["0", "0"]
},
{
"intrinsic": "V{0.data_type}_vrmpy_V{1.data_type}Rb{0.width_b}",
"width": [512, 1024],
"llvm": "vrmpybus{0.width_suffix}",
"ret": "s32",
"args": ["u8", "U32"]
},
{
"intrinsic": "V{0.data_type}_vrmpyacc_V{1.data_type}V{2.data_type}Rb{0.width_b}",
"width": [512, 1024],
"llvm": "vrmpybus.acc{0.width_suffix}",
"ret": "s32",
"args": ["0", "u8", "U32"]
},
{
"intrinsic": "W{0.data_type}_vrmpy_W{1.data_type}RbI{0.widthd_b}",
"width": [512, 1024],
"llvm": "vrmpybusi{0.widthd_suffix}",
"ret": "s32d",
"args": ["u8d", "U32"]
},
{
"intrinsic": "W{0.data_type}_vrmpyacc_W{1.data_type}W{2.data_type}RbI{0.widthd_b}",
"width": [512, 1024],
"llvm": "vrmpybusi.acc{0.widthd_suffix}",
"ret": "s32d",
"args": ["0", "u8d", "U32"]
},
{
"intrinsic": "V{0.data_type}_vrmpy_V{1.data_type}V{2.data_type}{0.width_b}",
"width": [512, 1024],
"llvm": "vrmpybusv{0.width_suffix}",
"ret": "s32",
"args": ["u8", "s8"]
},
{
"intrinsic": "V{0.data_type}_vrmpyacc_V{1.data_type}V{2.data_type}V{3.data_type}{0.width_b}",
"width": [512, 1024],
"llvm": "vrmpybusv.acc{0.width_suffix}",
"ret": "s32",
"args": ["0", "u8", "s8"]
},
{
"intrinsic": "V{0.data_type}_vrmpy_V{1.data_type}V{2.data_type}{0.width_b}",
"width": [512, 1024],
"llvm": "vrmpy{1.data_type}v{0.width_suffix}",
"ret": "i32",
"args": ["0nndd", "0nndd"]
},
{
"intrinsic": "V{0.data_type}_vrmpyacc_V{1.data_type}V{2.data_type}V{3.data_type}{0.width_b}",
"width": [512, 1024],
"llvm": "vrmpy{1.data_type}v.acc{0.width_suffix}",
"ret": "i32",
"args": ["0", "0nndd", "0nndd"]
},
{
"intrinsic": "V{0.data_type}_vrmpy_V{1.data_type}Rub{0.width_b}",
"width": [512, 1024],
"llvm": "vrmpyub{0.width_suffix}",
"ret": "u32",
"args": ["u8", "U32"]
},
{
"intrinsic": "V{0.data_type}_vrmpyacc_V{1.data_type}V{2.data_type}Rub{0.width_b}",
"width": [512, 1024],
"llvm": "vrmpyub.acc{0.width_suffix}",
"ret": "u32",
"args": ["0", "u8", "U32"]
},
{
"intrinsic": "W{0.data_type}_vrmpy_W{1.data_type}RubI{0.widthd_b}",
"width": [512, 1024],
"llvm": "vrmpyubi{0.widthd_suffix}",
"ret": "u32d",
"args": ["u8d", "U32"]
},
{
"intrinsic": "W{0.data_type}_vrmpyacc_W{1.data_type}W{2.data_type}RubI{0.widthd_b}",
"width": [512, 1024],
"llvm": "vrmpyubi.acc{0.widthd_suffix}",
"ret": "u32d",
"args": ["0", "u8d", "U32"]
},
{
"intrinsic": "V_vror_VR{0.width_b}",
"width": [512, 1024],
"llvm": "vror{0.width_suffix}",
"ret": "u8",
"args": ["0", "U32"]
},
{
"intrinsic": "V{0.data_type}_vround_V{1.data_type}V{2.data_type}_sat{0.width_b}",
"width": [512, 1024],
"llvm": "vround{1.data_type}{0.data_type}{0.width_suffix}",
"ret": "i(8-16)",
"args": ["0hws", "0hws"]
},
{
"intrinsic": "W{0.data_type}_vrsad_W{1.data_type}RubI{0.widthd_b}",
"width": [512, 1024],
"llvm": "vrsadubi{0.widthd_suffix}",
"ret": "u32d",
"args": ["u8d", "U32"]
},
{
"intrinsic": "W{0.data_type}_vrsadacc_W{1.data_type}W{2.data_type}RubI{0.widthd_b}",
"width": [512, 1024],
"llvm": "vrsadubi.acc{0.widthd_suffix}",
"ret": "u32d",
"args": ["0", "u8d", "U32"]
},
{
"intrinsic": "V{0.data_type}_vsat_V{1.data_type}V{2.data_type}{0.width_b}",
"width": [512, 1024],
"llvm": "vsat{1.data_type}{0.data_type}{0.width_suffix}",
"ret": "u8",
"args": ["0hws", "0hws"]
},
{
"intrinsic": "V{0.data_type}_vsat_V{1.data_type}V{2.data_type}{0.width_b}",
"width": [512, 1024],
"llvm": "vsat{1.data_type}{0.data_type}{0.width_suffix}",
"ret": "s16",
"args": ["0hw", "0hw"]
},
{
"intrinsic": "W{0.data_type}_vsxt_V{1.data_type}{0.widthd_b}",
"width": [512, 1024],
"llvm": "vs{1.data_type}{0.widthd_suffix}",
"ret": "s(16-32)d",
"args": ["0n"]
},
{
"intrinsic": "W{0.data_type}_vzxt_V{1.data_type}{0.widthd_b}",
"width": [512, 1024],
"llvm": "vz{1.data_type_plain}{0.widthd_suffix}",
"ret": "u(16-32)d",
"args": ["0n"]
},
{
"intrinsic": "V{0.data_type}_condacc_QV{2.data_type}V{3.data_type}{0.width_b}",
"width": [512, 1024],
"llvm": "vadd{0.data_type}q{0.width_suffix}",
"ret": "s(8-32)",
"args": ["u32hhh", "0", "0"]
},
{
"intrinsic": "V{0.data_type}_condacc_QnV{2.data_type}V{3.data_type}{0.width_b}",
"width": [512, 1024],
"llvm": "vadd{0.data_type}nq{0.width_suffix}",
"ret": "s(8-32)",
"args": ["u32hhh", "0", "0"]
},
{
"intrinsic": "V{0.data_type}_condnac_QV{2.data_type}V{3.data_type}{0.width_b}",
"width": [512, 1024],
"llvm": "vsub{0.data_type}q{0.width_suffix}",
"ret": "s(8-32)",
"args": ["u32hhh", "0", "0"]
},
{
"intrinsic": "V{0.data_type}_condnac_QnV{2.data_type}V{3.data_type}{0.width_b}",
"width": [512, 1024],
"llvm": "vsub{0.data_type}nq{0.width_suffix}",
"ret": "s(8-32)",
"args": ["u32hhh", "0", "0"]
},
{
"intrinsic": "V{0.data_type}_vshuffe_V{1.data_type}V{2.data_type}{0.width_b}",
"width": [512, 1024],
"llvm": "vshufe{1.data_type}{0.width_suffix}",
"ret": "s16",
"args": ["0", "0"]
},
{
"intrinsic": "V{0.data_type}_vshuffo_V{1.data_type}V{2.data_type}{0.width_b}",
"width": [512, 1024],
"llvm": "vshufo{1.data_type}{0.width_suffix}",
"ret": "s16",
"args": ["0", "0"]
},
{
"intrinsic": "V{0.data_type}_vshuff_V{1.data_type}{0.width_b}",
"width": [512, 1024],
"llvm": "vshuff{1.data_type}{0.width_suffix}",
"ret": "s(8-16)",
"args": ["0"]
},
{
"intrinsic": "V{0.data_type}_vshuffe_V{1.data_type}V{2.data_type}{0.width_b}",
"width": [512, 1024],
"llvm": "vshuffe{1.data_type}{0.width_suffix}",
"ret": "s8",
"args": ["0", "0"]
},
{
"intrinsic": "V{0.data_type}_vshuffo_V{1.data_type}V{2.data_type}{0.width_b}",
"width": [512, 1024],
"llvm": "vshuffo{1.data_type}{0.width_suffix}",
"ret": "s8",
"args": ["0", "0"]
},
{
"intrinsic": "V{0.data_type}_vshuffoe_V{1.data_type}V{2.data_type}{0.width_b}",
"width": [512, 1024],
"llvm": "vshuffoe{1.data_type}{0.width_suffix}",
"ret": "s(8-16)",
"args": ["0", "0"]
},
{
"intrinsic": "W_vshuff_VVR{0.widthd_b}",
"width": [512, 1024],
"llvm": "vshufvvd{0.widthd_suffix}",
"ret": "u8d",
"args": ["0h", "0h", "U32"]
},
{
"intrinsic": "V{0.data_type}_vsub_V{1.data_type}V{2.data_type}{0.width_b}",
"width": [512, 1024],
"llvm": "vsub{0.data_type}{0.width_suffix}",
"ret": "s(8-32)",
"args": ["0", "0"]
},
{
"intrinsic": "V{0.data_type}_vsub_V{1.data_type}V{2.data_type}_sat{0.width_b}",
"width": [512, 1024],
"llvm": "vsub{0.data_type}sat{0.width_suffix}",
"ret": "s(16-32)",
"args": ["0", "0"]
},
{
"intrinsic": "V{0.data_type}_vsub_V{1.data_type}V{2.data_type}_sat{0.width_b}",
"width": [512, 1024],
"llvm": "vsub{0.data_type}sat{0.width_suffix}",
"ret": "u(8-16)",
"args": ["0", "0"]
},
{
"intrinsic": "W{0.data_type}_vsub_W{1.data_type}W{2.data_type}{0.widthd_b}",
"width": [512, 1024],
"llvm": "vsub{0.data_type}.dv{0.widthd_suffix}",
"ret": "s(8-32)d",
"args": ["0", "0"]
},
{
"intrinsic": "W{0.data_type}_vsub_W{1.data_type}W{2.data_type}_sat{0.widthd_b}",
"width": [512, 1024],
"llvm": "vsub{0.data_type}sat.dv{0.widthd_suffix}",
"ret": "s(16-32)d",
"args": ["0", "0"]
},
{
"intrinsic": "W{0.data_type}_vsub_W{1.data_type}W{2.data_type}_sat{0.widthd_b}",
"width": [512, 1024],
"llvm": "vsub{0.data_type}sat.dv{0.widthd_suffix}",
"ret": "u(8-16)d",
"args": ["0", "0"]
},
{
"intrinsic": "W_vswap_QVV{0.widthd_b}",
"width": [512, 1024],
"llvm": "vswap{0.widthd_suffix}",
"ret": "u8d",
"args": ["u32hhh", "0h", "0h"]
},
{
"intrinsic": "W{0.data_type}_vtmpy_W{1.data_type}Rb{0.widthd_b}",
"width": [512, 1024],
"llvm": "vtmpyb{0.widthd_suffix}",
"ret": "s16d",
"args": ["0nd", "U32"]
},
{
"intrinsic": "W{0.data_type}_vtmpyacc_W{1.data_type}W{2.data_type}Rb{0.widthd_b}",
"width": [512, 1024],
"llvm": "vtmpyb.acc{0.widthd_suffix}",
"ret": "s16d",
"args": ["0", "0nd", "U32"]
},
{
"intrinsic": "W{0.data_type}_vtmpy_W{1.data_type}Rb{0.widthd_b}",
"width": [512, 1024],
"llvm": "vtmpybus{0.widthd_suffix}",
"ret": "s16d",
"args": ["u8d", "U32"]
},
{
"intrinsic": "W{0.data_type}_vtmpyacc_W{1.data_type}W{2.data_type}Rb{0.widthd_b}",
"width": [512, 1024],
"llvm": "vtmpybus.acc{0.widthd_suffix}",
"ret": "s16d",
"args": ["0", "u8d", "U32"]
},
{
"intrinsic": "W{0.data_type}_vtmpy_W{1.data_type}Rb{0.widthd_b}",
"width": [512, 1024],
"llvm": "vtmpyhb{0.widthd_suffix}",
"ret": "s32d",
"args": ["0nd", "U32"]
},
{
"intrinsic": "W{0.data_type}_vunpack_V{1.data_type}{0.widthd_b}",
"width": [512, 1024],
"llvm": "vunpack{1.data_type}{0.widthd_suffix}",
"ret": "i(16-32)d",
"args": ["0n"]
},
{
"intrinsic": "W{0.data_type}_vunpackoor_W{1.data_type}V{2.data_type}{0.widthd_b}",
"width": [512, 1024],
"llvm": "vunpacko{2.data_type}{0.widthd_suffix}",
"ret": "s(16-32)d",
"args": ["0", "0n"]
},
{
"intrinsic": "W{0.data_type}_vtmpyacc_W{1.data_type}W{2.data_type}Rb{0.widthd_b}",
"width": [512, 1024],
"llvm": "vtmpyhb.acc{0.widthd_suffix}",
"ret": "s32d",
"args": ["0", "0nd", "U32"]
},
{
"intrinsic": "V_vxor_VV{0.width_b}",
"width": [512, 1024],
"llvm": "vxor{0.width_suffix}",
"ret": "u16",
"args": ["0", "0"]
}
]
}