cachepc-qemu

Fork of AMDESE/qemu with changes for cachepc side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-qemu
Log | Files | Refs | Submodules | LICENSE | sfeed.txt

helper.h (47525B)


      1DEF_HELPER_FLAGS_1(sxtb16, TCG_CALL_NO_RWG_SE, i32, i32)
      2DEF_HELPER_FLAGS_1(uxtb16, TCG_CALL_NO_RWG_SE, i32, i32)
      3
      4DEF_HELPER_3(add_setq, i32, env, i32, i32)
      5DEF_HELPER_3(add_saturate, i32, env, i32, i32)
      6DEF_HELPER_3(sub_saturate, i32, env, i32, i32)
      7DEF_HELPER_3(add_usaturate, i32, env, i32, i32)
      8DEF_HELPER_3(sub_usaturate, i32, env, i32, i32)
      9DEF_HELPER_FLAGS_3(sdiv, TCG_CALL_NO_RWG, s32, env, s32, s32)
     10DEF_HELPER_FLAGS_3(udiv, TCG_CALL_NO_RWG, i32, env, i32, i32)
     11DEF_HELPER_FLAGS_1(rbit, TCG_CALL_NO_RWG_SE, i32, i32)
     12
     13#define PAS_OP(pfx)  \
     14    DEF_HELPER_3(pfx ## add8, i32, i32, i32, ptr) \
     15    DEF_HELPER_3(pfx ## sub8, i32, i32, i32, ptr) \
     16    DEF_HELPER_3(pfx ## sub16, i32, i32, i32, ptr) \
     17    DEF_HELPER_3(pfx ## add16, i32, i32, i32, ptr) \
     18    DEF_HELPER_3(pfx ## addsubx, i32, i32, i32, ptr) \
     19    DEF_HELPER_3(pfx ## subaddx, i32, i32, i32, ptr)
     20
     21PAS_OP(s)
     22PAS_OP(u)
     23#undef PAS_OP
     24
     25#define PAS_OP(pfx)  \
     26    DEF_HELPER_2(pfx ## add8, i32, i32, i32) \
     27    DEF_HELPER_2(pfx ## sub8, i32, i32, i32) \
     28    DEF_HELPER_2(pfx ## sub16, i32, i32, i32) \
     29    DEF_HELPER_2(pfx ## add16, i32, i32, i32) \
     30    DEF_HELPER_2(pfx ## addsubx, i32, i32, i32) \
     31    DEF_HELPER_2(pfx ## subaddx, i32, i32, i32)
     32PAS_OP(q)
     33PAS_OP(sh)
     34PAS_OP(uq)
     35PAS_OP(uh)
     36#undef PAS_OP
     37
     38DEF_HELPER_3(ssat, i32, env, i32, i32)
     39DEF_HELPER_3(usat, i32, env, i32, i32)
     40DEF_HELPER_3(ssat16, i32, env, i32, i32)
     41DEF_HELPER_3(usat16, i32, env, i32, i32)
     42
     43DEF_HELPER_FLAGS_2(usad8, TCG_CALL_NO_RWG_SE, i32, i32, i32)
     44
     45DEF_HELPER_FLAGS_3(sel_flags, TCG_CALL_NO_RWG_SE,
     46                   i32, i32, i32, i32)
     47DEF_HELPER_2(exception_internal, void, env, i32)
     48DEF_HELPER_4(exception_with_syndrome, void, env, i32, i32, i32)
     49DEF_HELPER_2(exception_bkpt_insn, void, env, i32)
     50DEF_HELPER_1(setend, void, env)
     51DEF_HELPER_2(wfi, void, env, i32)
     52DEF_HELPER_1(wfe, void, env)
     53DEF_HELPER_1(yield, void, env)
     54DEF_HELPER_1(pre_hvc, void, env)
     55DEF_HELPER_2(pre_smc, void, env, i32)
     56
     57DEF_HELPER_3(cpsr_write, void, env, i32, i32)
     58DEF_HELPER_2(cpsr_write_eret, void, env, i32)
     59DEF_HELPER_1(cpsr_read, i32, env)
     60
     61DEF_HELPER_3(v7m_msr, void, env, i32, i32)
     62DEF_HELPER_2(v7m_mrs, i32, env, i32)
     63
     64DEF_HELPER_2(v7m_bxns, void, env, i32)
     65DEF_HELPER_2(v7m_blxns, void, env, i32)
     66
     67DEF_HELPER_3(v7m_tt, i32, env, i32, i32)
     68
     69DEF_HELPER_1(v7m_preserve_fp_state, void, env)
     70
     71DEF_HELPER_2(v7m_vlstm, void, env, i32)
     72DEF_HELPER_2(v7m_vlldm, void, env, i32)
     73
     74DEF_HELPER_2(v8m_stackcheck, void, env, i32)
     75
     76DEF_HELPER_FLAGS_2(check_bxj_trap, TCG_CALL_NO_WG, void, env, i32)
     77
     78DEF_HELPER_4(access_check_cp_reg, void, env, ptr, i32, i32)
     79DEF_HELPER_3(set_cp_reg, void, env, ptr, i32)
     80DEF_HELPER_2(get_cp_reg, i32, env, ptr)
     81DEF_HELPER_3(set_cp_reg64, void, env, ptr, i64)
     82DEF_HELPER_2(get_cp_reg64, i64, env, ptr)
     83
     84DEF_HELPER_2(get_r13_banked, i32, env, i32)
     85DEF_HELPER_3(set_r13_banked, void, env, i32, i32)
     86
     87DEF_HELPER_3(mrs_banked, i32, env, i32, i32)
     88DEF_HELPER_4(msr_banked, void, env, i32, i32, i32)
     89
     90DEF_HELPER_2(get_user_reg, i32, env, i32)
     91DEF_HELPER_3(set_user_reg, void, env, i32, i32)
     92
     93DEF_HELPER_FLAGS_1(rebuild_hflags_m32_newel, TCG_CALL_NO_RWG, void, env)
     94DEF_HELPER_FLAGS_2(rebuild_hflags_m32, TCG_CALL_NO_RWG, void, env, int)
     95DEF_HELPER_FLAGS_1(rebuild_hflags_a32_newel, TCG_CALL_NO_RWG, void, env)
     96DEF_HELPER_FLAGS_2(rebuild_hflags_a32, TCG_CALL_NO_RWG, void, env, int)
     97DEF_HELPER_FLAGS_2(rebuild_hflags_a64, TCG_CALL_NO_RWG, void, env, int)
     98
     99DEF_HELPER_FLAGS_5(probe_access, TCG_CALL_NO_WG, void, env, tl, i32, i32, i32)
    100
    101DEF_HELPER_1(vfp_get_fpscr, i32, env)
    102DEF_HELPER_2(vfp_set_fpscr, void, env, i32)
    103
    104DEF_HELPER_3(vfp_addh, f16, f16, f16, ptr)
    105DEF_HELPER_3(vfp_adds, f32, f32, f32, ptr)
    106DEF_HELPER_3(vfp_addd, f64, f64, f64, ptr)
    107DEF_HELPER_3(vfp_subh, f16, f16, f16, ptr)
    108DEF_HELPER_3(vfp_subs, f32, f32, f32, ptr)
    109DEF_HELPER_3(vfp_subd, f64, f64, f64, ptr)
    110DEF_HELPER_3(vfp_mulh, f16, f16, f16, ptr)
    111DEF_HELPER_3(vfp_muls, f32, f32, f32, ptr)
    112DEF_HELPER_3(vfp_muld, f64, f64, f64, ptr)
    113DEF_HELPER_3(vfp_divh, f16, f16, f16, ptr)
    114DEF_HELPER_3(vfp_divs, f32, f32, f32, ptr)
    115DEF_HELPER_3(vfp_divd, f64, f64, f64, ptr)
    116DEF_HELPER_3(vfp_maxh, f16, f16, f16, ptr)
    117DEF_HELPER_3(vfp_maxs, f32, f32, f32, ptr)
    118DEF_HELPER_3(vfp_maxd, f64, f64, f64, ptr)
    119DEF_HELPER_3(vfp_minh, f16, f16, f16, ptr)
    120DEF_HELPER_3(vfp_mins, f32, f32, f32, ptr)
    121DEF_HELPER_3(vfp_mind, f64, f64, f64, ptr)
    122DEF_HELPER_3(vfp_maxnumh, f16, f16, f16, ptr)
    123DEF_HELPER_3(vfp_maxnums, f32, f32, f32, ptr)
    124DEF_HELPER_3(vfp_maxnumd, f64, f64, f64, ptr)
    125DEF_HELPER_3(vfp_minnumh, f16, f16, f16, ptr)
    126DEF_HELPER_3(vfp_minnums, f32, f32, f32, ptr)
    127DEF_HELPER_3(vfp_minnumd, f64, f64, f64, ptr)
    128DEF_HELPER_1(vfp_negh, f16, f16)
    129DEF_HELPER_1(vfp_negs, f32, f32)
    130DEF_HELPER_1(vfp_negd, f64, f64)
    131DEF_HELPER_1(vfp_absh, f16, f16)
    132DEF_HELPER_1(vfp_abss, f32, f32)
    133DEF_HELPER_1(vfp_absd, f64, f64)
    134DEF_HELPER_2(vfp_sqrth, f16, f16, env)
    135DEF_HELPER_2(vfp_sqrts, f32, f32, env)
    136DEF_HELPER_2(vfp_sqrtd, f64, f64, env)
    137DEF_HELPER_3(vfp_cmph, void, f16, f16, env)
    138DEF_HELPER_3(vfp_cmps, void, f32, f32, env)
    139DEF_HELPER_3(vfp_cmpd, void, f64, f64, env)
    140DEF_HELPER_3(vfp_cmpeh, void, f16, f16, env)
    141DEF_HELPER_3(vfp_cmpes, void, f32, f32, env)
    142DEF_HELPER_3(vfp_cmped, void, f64, f64, env)
    143
    144DEF_HELPER_2(vfp_fcvtds, f64, f32, env)
    145DEF_HELPER_2(vfp_fcvtsd, f32, f64, env)
    146DEF_HELPER_FLAGS_2(bfcvt, TCG_CALL_NO_RWG, i32, f32, ptr)
    147DEF_HELPER_FLAGS_2(bfcvt_pair, TCG_CALL_NO_RWG, i32, i64, ptr)
    148
    149DEF_HELPER_2(vfp_uitoh, f16, i32, ptr)
    150DEF_HELPER_2(vfp_uitos, f32, i32, ptr)
    151DEF_HELPER_2(vfp_uitod, f64, i32, ptr)
    152DEF_HELPER_2(vfp_sitoh, f16, i32, ptr)
    153DEF_HELPER_2(vfp_sitos, f32, i32, ptr)
    154DEF_HELPER_2(vfp_sitod, f64, i32, ptr)
    155
    156DEF_HELPER_2(vfp_touih, i32, f16, ptr)
    157DEF_HELPER_2(vfp_touis, i32, f32, ptr)
    158DEF_HELPER_2(vfp_touid, i32, f64, ptr)
    159DEF_HELPER_2(vfp_touizh, i32, f16, ptr)
    160DEF_HELPER_2(vfp_touizs, i32, f32, ptr)
    161DEF_HELPER_2(vfp_touizd, i32, f64, ptr)
    162DEF_HELPER_2(vfp_tosih, s32, f16, ptr)
    163DEF_HELPER_2(vfp_tosis, s32, f32, ptr)
    164DEF_HELPER_2(vfp_tosid, s32, f64, ptr)
    165DEF_HELPER_2(vfp_tosizh, s32, f16, ptr)
    166DEF_HELPER_2(vfp_tosizs, s32, f32, ptr)
    167DEF_HELPER_2(vfp_tosizd, s32, f64, ptr)
    168
    169DEF_HELPER_3(vfp_toshh_round_to_zero, i32, f16, i32, ptr)
    170DEF_HELPER_3(vfp_toslh_round_to_zero, i32, f16, i32, ptr)
    171DEF_HELPER_3(vfp_touhh_round_to_zero, i32, f16, i32, ptr)
    172DEF_HELPER_3(vfp_toulh_round_to_zero, i32, f16, i32, ptr)
    173DEF_HELPER_3(vfp_toshs_round_to_zero, i32, f32, i32, ptr)
    174DEF_HELPER_3(vfp_tosls_round_to_zero, i32, f32, i32, ptr)
    175DEF_HELPER_3(vfp_touhs_round_to_zero, i32, f32, i32, ptr)
    176DEF_HELPER_3(vfp_touls_round_to_zero, i32, f32, i32, ptr)
    177DEF_HELPER_3(vfp_toshd_round_to_zero, i64, f64, i32, ptr)
    178DEF_HELPER_3(vfp_tosld_round_to_zero, i64, f64, i32, ptr)
    179DEF_HELPER_3(vfp_touhd_round_to_zero, i64, f64, i32, ptr)
    180DEF_HELPER_3(vfp_tould_round_to_zero, i64, f64, i32, ptr)
    181DEF_HELPER_3(vfp_touhh, i32, f16, i32, ptr)
    182DEF_HELPER_3(vfp_toshh, i32, f16, i32, ptr)
    183DEF_HELPER_3(vfp_toulh, i32, f16, i32, ptr)
    184DEF_HELPER_3(vfp_toslh, i32, f16, i32, ptr)
    185DEF_HELPER_3(vfp_touqh, i64, f16, i32, ptr)
    186DEF_HELPER_3(vfp_tosqh, i64, f16, i32, ptr)
    187DEF_HELPER_3(vfp_toshs, i32, f32, i32, ptr)
    188DEF_HELPER_3(vfp_tosls, i32, f32, i32, ptr)
    189DEF_HELPER_3(vfp_tosqs, i64, f32, i32, ptr)
    190DEF_HELPER_3(vfp_touhs, i32, f32, i32, ptr)
    191DEF_HELPER_3(vfp_touls, i32, f32, i32, ptr)
    192DEF_HELPER_3(vfp_touqs, i64, f32, i32, ptr)
    193DEF_HELPER_3(vfp_toshd, i64, f64, i32, ptr)
    194DEF_HELPER_3(vfp_tosld, i64, f64, i32, ptr)
    195DEF_HELPER_3(vfp_tosqd, i64, f64, i32, ptr)
    196DEF_HELPER_3(vfp_touhd, i64, f64, i32, ptr)
    197DEF_HELPER_3(vfp_tould, i64, f64, i32, ptr)
    198DEF_HELPER_3(vfp_touqd, i64, f64, i32, ptr)
    199DEF_HELPER_3(vfp_shtos, f32, i32, i32, ptr)
    200DEF_HELPER_3(vfp_sltos, f32, i32, i32, ptr)
    201DEF_HELPER_3(vfp_sqtos, f32, i64, i32, ptr)
    202DEF_HELPER_3(vfp_uhtos, f32, i32, i32, ptr)
    203DEF_HELPER_3(vfp_ultos, f32, i32, i32, ptr)
    204DEF_HELPER_3(vfp_uqtos, f32, i64, i32, ptr)
    205DEF_HELPER_3(vfp_shtod, f64, i64, i32, ptr)
    206DEF_HELPER_3(vfp_sltod, f64, i64, i32, ptr)
    207DEF_HELPER_3(vfp_sqtod, f64, i64, i32, ptr)
    208DEF_HELPER_3(vfp_uhtod, f64, i64, i32, ptr)
    209DEF_HELPER_3(vfp_ultod, f64, i64, i32, ptr)
    210DEF_HELPER_3(vfp_uqtod, f64, i64, i32, ptr)
    211DEF_HELPER_3(vfp_shtoh, f16, i32, i32, ptr)
    212DEF_HELPER_3(vfp_uhtoh, f16, i32, i32, ptr)
    213DEF_HELPER_3(vfp_sltoh, f16, i32, i32, ptr)
    214DEF_HELPER_3(vfp_ultoh, f16, i32, i32, ptr)
    215DEF_HELPER_3(vfp_sqtoh, f16, i64, i32, ptr)
    216DEF_HELPER_3(vfp_uqtoh, f16, i64, i32, ptr)
    217
    218DEF_HELPER_3(vfp_shtos_round_to_nearest, f32, i32, i32, ptr)
    219DEF_HELPER_3(vfp_sltos_round_to_nearest, f32, i32, i32, ptr)
    220DEF_HELPER_3(vfp_uhtos_round_to_nearest, f32, i32, i32, ptr)
    221DEF_HELPER_3(vfp_ultos_round_to_nearest, f32, i32, i32, ptr)
    222DEF_HELPER_3(vfp_shtod_round_to_nearest, f64, i64, i32, ptr)
    223DEF_HELPER_3(vfp_sltod_round_to_nearest, f64, i64, i32, ptr)
    224DEF_HELPER_3(vfp_uhtod_round_to_nearest, f64, i64, i32, ptr)
    225DEF_HELPER_3(vfp_ultod_round_to_nearest, f64, i64, i32, ptr)
    226DEF_HELPER_3(vfp_shtoh_round_to_nearest, f16, i32, i32, ptr)
    227DEF_HELPER_3(vfp_uhtoh_round_to_nearest, f16, i32, i32, ptr)
    228DEF_HELPER_3(vfp_sltoh_round_to_nearest, f16, i32, i32, ptr)
    229DEF_HELPER_3(vfp_ultoh_round_to_nearest, f16, i32, i32, ptr)
    230
    231DEF_HELPER_FLAGS_2(set_rmode, TCG_CALL_NO_RWG, i32, i32, ptr)
    232
    233DEF_HELPER_FLAGS_3(vfp_fcvt_f16_to_f32, TCG_CALL_NO_RWG, f32, f16, ptr, i32)
    234DEF_HELPER_FLAGS_3(vfp_fcvt_f32_to_f16, TCG_CALL_NO_RWG, f16, f32, ptr, i32)
    235DEF_HELPER_FLAGS_3(vfp_fcvt_f16_to_f64, TCG_CALL_NO_RWG, f64, f16, ptr, i32)
    236DEF_HELPER_FLAGS_3(vfp_fcvt_f64_to_f16, TCG_CALL_NO_RWG, f16, f64, ptr, i32)
    237
    238DEF_HELPER_4(vfp_muladdd, f64, f64, f64, f64, ptr)
    239DEF_HELPER_4(vfp_muladds, f32, f32, f32, f32, ptr)
    240DEF_HELPER_4(vfp_muladdh, f16, f16, f16, f16, ptr)
    241
    242DEF_HELPER_FLAGS_2(recpe_f16, TCG_CALL_NO_RWG, f16, f16, ptr)
    243DEF_HELPER_FLAGS_2(recpe_f32, TCG_CALL_NO_RWG, f32, f32, ptr)
    244DEF_HELPER_FLAGS_2(recpe_f64, TCG_CALL_NO_RWG, f64, f64, ptr)
    245DEF_HELPER_FLAGS_2(rsqrte_f16, TCG_CALL_NO_RWG, f16, f16, ptr)
    246DEF_HELPER_FLAGS_2(rsqrte_f32, TCG_CALL_NO_RWG, f32, f32, ptr)
    247DEF_HELPER_FLAGS_2(rsqrte_f64, TCG_CALL_NO_RWG, f64, f64, ptr)
    248DEF_HELPER_FLAGS_1(recpe_u32, TCG_CALL_NO_RWG, i32, i32)
    249DEF_HELPER_FLAGS_1(rsqrte_u32, TCG_CALL_NO_RWG, i32, i32)
    250DEF_HELPER_FLAGS_4(neon_tbl, TCG_CALL_NO_RWG, i64, env, i32, i64, i64)
    251
    252DEF_HELPER_3(shl_cc, i32, env, i32, i32)
    253DEF_HELPER_3(shr_cc, i32, env, i32, i32)
    254DEF_HELPER_3(sar_cc, i32, env, i32, i32)
    255DEF_HELPER_3(ror_cc, i32, env, i32, i32)
    256
    257DEF_HELPER_FLAGS_2(rinth_exact, TCG_CALL_NO_RWG, f16, f16, ptr)
    258DEF_HELPER_FLAGS_2(rints_exact, TCG_CALL_NO_RWG, f32, f32, ptr)
    259DEF_HELPER_FLAGS_2(rintd_exact, TCG_CALL_NO_RWG, f64, f64, ptr)
    260DEF_HELPER_FLAGS_2(rinth, TCG_CALL_NO_RWG, f16, f16, ptr)
    261DEF_HELPER_FLAGS_2(rints, TCG_CALL_NO_RWG, f32, f32, ptr)
    262DEF_HELPER_FLAGS_2(rintd, TCG_CALL_NO_RWG, f64, f64, ptr)
    263
    264DEF_HELPER_FLAGS_2(vjcvt, TCG_CALL_NO_RWG, i32, f64, env)
    265DEF_HELPER_FLAGS_2(fjcvtzs, TCG_CALL_NO_RWG, i64, f64, ptr)
    266
    267DEF_HELPER_FLAGS_3(check_hcr_el2_trap, TCG_CALL_NO_WG, void, env, i32, i32)
    268
    269/* neon_helper.c */
    270DEF_HELPER_FLAGS_3(neon_qadd_u8, TCG_CALL_NO_RWG, i32, env, i32, i32)
    271DEF_HELPER_FLAGS_3(neon_qadd_s8, TCG_CALL_NO_RWG, i32, env, i32, i32)
    272DEF_HELPER_FLAGS_3(neon_qadd_u16, TCG_CALL_NO_RWG, i32, env, i32, i32)
    273DEF_HELPER_FLAGS_3(neon_qadd_s16, TCG_CALL_NO_RWG, i32, env, i32, i32)
    274DEF_HELPER_FLAGS_3(neon_qadd_u32, TCG_CALL_NO_RWG, i32, env, i32, i32)
    275DEF_HELPER_FLAGS_3(neon_qadd_s32, TCG_CALL_NO_RWG, i32, env, i32, i32)
    276DEF_HELPER_FLAGS_3(neon_uqadd_s8, TCG_CALL_NO_RWG, i32, env, i32, i32)
    277DEF_HELPER_FLAGS_3(neon_uqadd_s16, TCG_CALL_NO_RWG, i32, env, i32, i32)
    278DEF_HELPER_FLAGS_3(neon_uqadd_s32, TCG_CALL_NO_RWG, i32, env, i32, i32)
    279DEF_HELPER_FLAGS_3(neon_uqadd_s64, TCG_CALL_NO_RWG, i64, env, i64, i64)
    280DEF_HELPER_FLAGS_3(neon_sqadd_u8, TCG_CALL_NO_RWG, i32, env, i32, i32)
    281DEF_HELPER_FLAGS_3(neon_sqadd_u16, TCG_CALL_NO_RWG, i32, env, i32, i32)
    282DEF_HELPER_FLAGS_3(neon_sqadd_u32, TCG_CALL_NO_RWG, i32, env, i32, i32)
    283DEF_HELPER_FLAGS_3(neon_sqadd_u64, TCG_CALL_NO_RWG, i64, env, i64, i64)
    284DEF_HELPER_3(neon_qsub_u8, i32, env, i32, i32)
    285DEF_HELPER_3(neon_qsub_s8, i32, env, i32, i32)
    286DEF_HELPER_3(neon_qsub_u16, i32, env, i32, i32)
    287DEF_HELPER_3(neon_qsub_s16, i32, env, i32, i32)
    288DEF_HELPER_3(neon_qsub_u32, i32, env, i32, i32)
    289DEF_HELPER_3(neon_qsub_s32, i32, env, i32, i32)
    290DEF_HELPER_3(neon_qadd_u64, i64, env, i64, i64)
    291DEF_HELPER_3(neon_qadd_s64, i64, env, i64, i64)
    292DEF_HELPER_3(neon_qsub_u64, i64, env, i64, i64)
    293DEF_HELPER_3(neon_qsub_s64, i64, env, i64, i64)
    294
    295DEF_HELPER_2(neon_hadd_s8, i32, i32, i32)
    296DEF_HELPER_2(neon_hadd_u8, i32, i32, i32)
    297DEF_HELPER_2(neon_hadd_s16, i32, i32, i32)
    298DEF_HELPER_2(neon_hadd_u16, i32, i32, i32)
    299DEF_HELPER_2(neon_hadd_s32, s32, s32, s32)
    300DEF_HELPER_2(neon_hadd_u32, i32, i32, i32)
    301DEF_HELPER_2(neon_rhadd_s8, i32, i32, i32)
    302DEF_HELPER_2(neon_rhadd_u8, i32, i32, i32)
    303DEF_HELPER_2(neon_rhadd_s16, i32, i32, i32)
    304DEF_HELPER_2(neon_rhadd_u16, i32, i32, i32)
    305DEF_HELPER_2(neon_rhadd_s32, s32, s32, s32)
    306DEF_HELPER_2(neon_rhadd_u32, i32, i32, i32)
    307DEF_HELPER_2(neon_hsub_s8, i32, i32, i32)
    308DEF_HELPER_2(neon_hsub_u8, i32, i32, i32)
    309DEF_HELPER_2(neon_hsub_s16, i32, i32, i32)
    310DEF_HELPER_2(neon_hsub_u16, i32, i32, i32)
    311DEF_HELPER_2(neon_hsub_s32, s32, s32, s32)
    312DEF_HELPER_2(neon_hsub_u32, i32, i32, i32)
    313
    314DEF_HELPER_2(neon_pmin_u8, i32, i32, i32)
    315DEF_HELPER_2(neon_pmin_s8, i32, i32, i32)
    316DEF_HELPER_2(neon_pmin_u16, i32, i32, i32)
    317DEF_HELPER_2(neon_pmin_s16, i32, i32, i32)
    318DEF_HELPER_2(neon_pmax_u8, i32, i32, i32)
    319DEF_HELPER_2(neon_pmax_s8, i32, i32, i32)
    320DEF_HELPER_2(neon_pmax_u16, i32, i32, i32)
    321DEF_HELPER_2(neon_pmax_s16, i32, i32, i32)
    322
    323DEF_HELPER_2(neon_shl_u16, i32, i32, i32)
    324DEF_HELPER_2(neon_shl_s16, i32, i32, i32)
    325DEF_HELPER_2(neon_rshl_u8, i32, i32, i32)
    326DEF_HELPER_2(neon_rshl_s8, i32, i32, i32)
    327DEF_HELPER_2(neon_rshl_u16, i32, i32, i32)
    328DEF_HELPER_2(neon_rshl_s16, i32, i32, i32)
    329DEF_HELPER_2(neon_rshl_u32, i32, i32, i32)
    330DEF_HELPER_2(neon_rshl_s32, i32, i32, i32)
    331DEF_HELPER_2(neon_rshl_u64, i64, i64, i64)
    332DEF_HELPER_2(neon_rshl_s64, i64, i64, i64)
    333DEF_HELPER_3(neon_qshl_u8, i32, env, i32, i32)
    334DEF_HELPER_3(neon_qshl_s8, i32, env, i32, i32)
    335DEF_HELPER_3(neon_qshl_u16, i32, env, i32, i32)
    336DEF_HELPER_3(neon_qshl_s16, i32, env, i32, i32)
    337DEF_HELPER_3(neon_qshl_u32, i32, env, i32, i32)
    338DEF_HELPER_3(neon_qshl_s32, i32, env, i32, i32)
    339DEF_HELPER_3(neon_qshl_u64, i64, env, i64, i64)
    340DEF_HELPER_3(neon_qshl_s64, i64, env, i64, i64)
    341DEF_HELPER_3(neon_qshlu_s8, i32, env, i32, i32)
    342DEF_HELPER_3(neon_qshlu_s16, i32, env, i32, i32)
    343DEF_HELPER_3(neon_qshlu_s32, i32, env, i32, i32)
    344DEF_HELPER_3(neon_qshlu_s64, i64, env, i64, i64)
    345DEF_HELPER_3(neon_qrshl_u8, i32, env, i32, i32)
    346DEF_HELPER_3(neon_qrshl_s8, i32, env, i32, i32)
    347DEF_HELPER_3(neon_qrshl_u16, i32, env, i32, i32)
    348DEF_HELPER_3(neon_qrshl_s16, i32, env, i32, i32)
    349DEF_HELPER_3(neon_qrshl_u32, i32, env, i32, i32)
    350DEF_HELPER_3(neon_qrshl_s32, i32, env, i32, i32)
    351DEF_HELPER_3(neon_qrshl_u64, i64, env, i64, i64)
    352DEF_HELPER_3(neon_qrshl_s64, i64, env, i64, i64)
    353
    354DEF_HELPER_2(neon_add_u8, i32, i32, i32)
    355DEF_HELPER_2(neon_add_u16, i32, i32, i32)
    356DEF_HELPER_2(neon_padd_u8, i32, i32, i32)
    357DEF_HELPER_2(neon_padd_u16, i32, i32, i32)
    358DEF_HELPER_2(neon_sub_u8, i32, i32, i32)
    359DEF_HELPER_2(neon_sub_u16, i32, i32, i32)
    360DEF_HELPER_2(neon_mul_u8, i32, i32, i32)
    361DEF_HELPER_2(neon_mul_u16, i32, i32, i32)
    362
    363DEF_HELPER_2(neon_tst_u8, i32, i32, i32)
    364DEF_HELPER_2(neon_tst_u16, i32, i32, i32)
    365DEF_HELPER_2(neon_tst_u32, i32, i32, i32)
    366
    367DEF_HELPER_1(neon_clz_u8, i32, i32)
    368DEF_HELPER_1(neon_clz_u16, i32, i32)
    369DEF_HELPER_1(neon_cls_s8, i32, i32)
    370DEF_HELPER_1(neon_cls_s16, i32, i32)
    371DEF_HELPER_1(neon_cls_s32, i32, i32)
    372DEF_HELPER_1(neon_cnt_u8, i32, i32)
    373DEF_HELPER_FLAGS_1(neon_rbit_u8, TCG_CALL_NO_RWG_SE, i32, i32)
    374
    375DEF_HELPER_3(neon_qdmulh_s16, i32, env, i32, i32)
    376DEF_HELPER_3(neon_qrdmulh_s16, i32, env, i32, i32)
    377DEF_HELPER_4(neon_qrdmlah_s16, i32, env, i32, i32, i32)
    378DEF_HELPER_4(neon_qrdmlsh_s16, i32, env, i32, i32, i32)
    379DEF_HELPER_3(neon_qdmulh_s32, i32, env, i32, i32)
    380DEF_HELPER_3(neon_qrdmulh_s32, i32, env, i32, i32)
    381DEF_HELPER_4(neon_qrdmlah_s32, i32, env, s32, s32, s32)
    382DEF_HELPER_4(neon_qrdmlsh_s32, i32, env, s32, s32, s32)
    383
    384DEF_HELPER_1(neon_narrow_u8, i32, i64)
    385DEF_HELPER_1(neon_narrow_u16, i32, i64)
    386DEF_HELPER_2(neon_unarrow_sat8, i32, env, i64)
    387DEF_HELPER_2(neon_narrow_sat_u8, i32, env, i64)
    388DEF_HELPER_2(neon_narrow_sat_s8, i32, env, i64)
    389DEF_HELPER_2(neon_unarrow_sat16, i32, env, i64)
    390DEF_HELPER_2(neon_narrow_sat_u16, i32, env, i64)
    391DEF_HELPER_2(neon_narrow_sat_s16, i32, env, i64)
    392DEF_HELPER_2(neon_unarrow_sat32, i32, env, i64)
    393DEF_HELPER_2(neon_narrow_sat_u32, i32, env, i64)
    394DEF_HELPER_2(neon_narrow_sat_s32, i32, env, i64)
    395DEF_HELPER_1(neon_narrow_high_u8, i32, i64)
    396DEF_HELPER_1(neon_narrow_high_u16, i32, i64)
    397DEF_HELPER_1(neon_narrow_round_high_u8, i32, i64)
    398DEF_HELPER_1(neon_narrow_round_high_u16, i32, i64)
    399DEF_HELPER_1(neon_widen_u8, i64, i32)
    400DEF_HELPER_1(neon_widen_s8, i64, i32)
    401DEF_HELPER_1(neon_widen_u16, i64, i32)
    402DEF_HELPER_1(neon_widen_s16, i64, i32)
    403
    404DEF_HELPER_2(neon_addl_u16, i64, i64, i64)
    405DEF_HELPER_2(neon_addl_u32, i64, i64, i64)
    406DEF_HELPER_2(neon_paddl_u16, i64, i64, i64)
    407DEF_HELPER_2(neon_paddl_u32, i64, i64, i64)
    408DEF_HELPER_2(neon_subl_u16, i64, i64, i64)
    409DEF_HELPER_2(neon_subl_u32, i64, i64, i64)
    410DEF_HELPER_3(neon_addl_saturate_s32, i64, env, i64, i64)
    411DEF_HELPER_3(neon_addl_saturate_s64, i64, env, i64, i64)
    412DEF_HELPER_2(neon_abdl_u16, i64, i32, i32)
    413DEF_HELPER_2(neon_abdl_s16, i64, i32, i32)
    414DEF_HELPER_2(neon_abdl_u32, i64, i32, i32)
    415DEF_HELPER_2(neon_abdl_s32, i64, i32, i32)
    416DEF_HELPER_2(neon_abdl_u64, i64, i32, i32)
    417DEF_HELPER_2(neon_abdl_s64, i64, i32, i32)
    418DEF_HELPER_2(neon_mull_u8, i64, i32, i32)
    419DEF_HELPER_2(neon_mull_s8, i64, i32, i32)
    420DEF_HELPER_2(neon_mull_u16, i64, i32, i32)
    421DEF_HELPER_2(neon_mull_s16, i64, i32, i32)
    422
    423DEF_HELPER_1(neon_negl_u16, i64, i64)
    424DEF_HELPER_1(neon_negl_u32, i64, i64)
    425
    426DEF_HELPER_FLAGS_2(neon_qabs_s8, TCG_CALL_NO_RWG, i32, env, i32)
    427DEF_HELPER_FLAGS_2(neon_qabs_s16, TCG_CALL_NO_RWG, i32, env, i32)
    428DEF_HELPER_FLAGS_2(neon_qabs_s32, TCG_CALL_NO_RWG, i32, env, i32)
    429DEF_HELPER_FLAGS_2(neon_qabs_s64, TCG_CALL_NO_RWG, i64, env, i64)
    430DEF_HELPER_FLAGS_2(neon_qneg_s8, TCG_CALL_NO_RWG, i32, env, i32)
    431DEF_HELPER_FLAGS_2(neon_qneg_s16, TCG_CALL_NO_RWG, i32, env, i32)
    432DEF_HELPER_FLAGS_2(neon_qneg_s32, TCG_CALL_NO_RWG, i32, env, i32)
    433DEF_HELPER_FLAGS_2(neon_qneg_s64, TCG_CALL_NO_RWG, i64, env, i64)
    434
    435DEF_HELPER_3(neon_ceq_f32, i32, i32, i32, ptr)
    436DEF_HELPER_3(neon_cge_f32, i32, i32, i32, ptr)
    437DEF_HELPER_3(neon_cgt_f32, i32, i32, i32, ptr)
    438DEF_HELPER_3(neon_acge_f32, i32, i32, i32, ptr)
    439DEF_HELPER_3(neon_acgt_f32, i32, i32, i32, ptr)
    440DEF_HELPER_3(neon_acge_f64, i64, i64, i64, ptr)
    441DEF_HELPER_3(neon_acgt_f64, i64, i64, i64, ptr)
    442
    443/* iwmmxt_helper.c */
    444DEF_HELPER_2(iwmmxt_maddsq, i64, i64, i64)
    445DEF_HELPER_2(iwmmxt_madduq, i64, i64, i64)
    446DEF_HELPER_2(iwmmxt_sadb, i64, i64, i64)
    447DEF_HELPER_2(iwmmxt_sadw, i64, i64, i64)
    448DEF_HELPER_2(iwmmxt_mulslw, i64, i64, i64)
    449DEF_HELPER_2(iwmmxt_mulshw, i64, i64, i64)
    450DEF_HELPER_2(iwmmxt_mululw, i64, i64, i64)
    451DEF_HELPER_2(iwmmxt_muluhw, i64, i64, i64)
    452DEF_HELPER_2(iwmmxt_macsw, i64, i64, i64)
    453DEF_HELPER_2(iwmmxt_macuw, i64, i64, i64)
    454DEF_HELPER_1(iwmmxt_setpsr_nz, i32, i64)
    455
    456#define DEF_IWMMXT_HELPER_SIZE_ENV(name) \
    457DEF_HELPER_3(iwmmxt_##name##b, i64, env, i64, i64) \
    458DEF_HELPER_3(iwmmxt_##name##w, i64, env, i64, i64) \
    459DEF_HELPER_3(iwmmxt_##name##l, i64, env, i64, i64) \
    460
    461DEF_IWMMXT_HELPER_SIZE_ENV(unpackl)
    462DEF_IWMMXT_HELPER_SIZE_ENV(unpackh)
    463
    464DEF_HELPER_2(iwmmxt_unpacklub, i64, env, i64)
    465DEF_HELPER_2(iwmmxt_unpackluw, i64, env, i64)
    466DEF_HELPER_2(iwmmxt_unpacklul, i64, env, i64)
    467DEF_HELPER_2(iwmmxt_unpackhub, i64, env, i64)
    468DEF_HELPER_2(iwmmxt_unpackhuw, i64, env, i64)
    469DEF_HELPER_2(iwmmxt_unpackhul, i64, env, i64)
    470DEF_HELPER_2(iwmmxt_unpacklsb, i64, env, i64)
    471DEF_HELPER_2(iwmmxt_unpacklsw, i64, env, i64)
    472DEF_HELPER_2(iwmmxt_unpacklsl, i64, env, i64)
    473DEF_HELPER_2(iwmmxt_unpackhsb, i64, env, i64)
    474DEF_HELPER_2(iwmmxt_unpackhsw, i64, env, i64)
    475DEF_HELPER_2(iwmmxt_unpackhsl, i64, env, i64)
    476
    477DEF_IWMMXT_HELPER_SIZE_ENV(cmpeq)
    478DEF_IWMMXT_HELPER_SIZE_ENV(cmpgtu)
    479DEF_IWMMXT_HELPER_SIZE_ENV(cmpgts)
    480
    481DEF_IWMMXT_HELPER_SIZE_ENV(mins)
    482DEF_IWMMXT_HELPER_SIZE_ENV(minu)
    483DEF_IWMMXT_HELPER_SIZE_ENV(maxs)
    484DEF_IWMMXT_HELPER_SIZE_ENV(maxu)
    485
    486DEF_IWMMXT_HELPER_SIZE_ENV(subn)
    487DEF_IWMMXT_HELPER_SIZE_ENV(addn)
    488DEF_IWMMXT_HELPER_SIZE_ENV(subu)
    489DEF_IWMMXT_HELPER_SIZE_ENV(addu)
    490DEF_IWMMXT_HELPER_SIZE_ENV(subs)
    491DEF_IWMMXT_HELPER_SIZE_ENV(adds)
    492
    493DEF_HELPER_3(iwmmxt_avgb0, i64, env, i64, i64)
    494DEF_HELPER_3(iwmmxt_avgb1, i64, env, i64, i64)
    495DEF_HELPER_3(iwmmxt_avgw0, i64, env, i64, i64)
    496DEF_HELPER_3(iwmmxt_avgw1, i64, env, i64, i64)
    497
    498DEF_HELPER_3(iwmmxt_align, i64, i64, i64, i32)
    499DEF_HELPER_4(iwmmxt_insr, i64, i64, i32, i32, i32)
    500
    501DEF_HELPER_1(iwmmxt_bcstb, i64, i32)
    502DEF_HELPER_1(iwmmxt_bcstw, i64, i32)
    503DEF_HELPER_1(iwmmxt_bcstl, i64, i32)
    504
    505DEF_HELPER_1(iwmmxt_addcb, i64, i64)
    506DEF_HELPER_1(iwmmxt_addcw, i64, i64)
    507DEF_HELPER_1(iwmmxt_addcl, i64, i64)
    508
    509DEF_HELPER_1(iwmmxt_msbb, i32, i64)
    510DEF_HELPER_1(iwmmxt_msbw, i32, i64)
    511DEF_HELPER_1(iwmmxt_msbl, i32, i64)
    512
    513DEF_HELPER_3(iwmmxt_srlw, i64, env, i64, i32)
    514DEF_HELPER_3(iwmmxt_srll, i64, env, i64, i32)
    515DEF_HELPER_3(iwmmxt_srlq, i64, env, i64, i32)
    516DEF_HELPER_3(iwmmxt_sllw, i64, env, i64, i32)
    517DEF_HELPER_3(iwmmxt_slll, i64, env, i64, i32)
    518DEF_HELPER_3(iwmmxt_sllq, i64, env, i64, i32)
    519DEF_HELPER_3(iwmmxt_sraw, i64, env, i64, i32)
    520DEF_HELPER_3(iwmmxt_sral, i64, env, i64, i32)
    521DEF_HELPER_3(iwmmxt_sraq, i64, env, i64, i32)
    522DEF_HELPER_3(iwmmxt_rorw, i64, env, i64, i32)
    523DEF_HELPER_3(iwmmxt_rorl, i64, env, i64, i32)
    524DEF_HELPER_3(iwmmxt_rorq, i64, env, i64, i32)
    525DEF_HELPER_3(iwmmxt_shufh, i64, env, i64, i32)
    526
    527DEF_HELPER_3(iwmmxt_packuw, i64, env, i64, i64)
    528DEF_HELPER_3(iwmmxt_packul, i64, env, i64, i64)
    529DEF_HELPER_3(iwmmxt_packuq, i64, env, i64, i64)
    530DEF_HELPER_3(iwmmxt_packsw, i64, env, i64, i64)
    531DEF_HELPER_3(iwmmxt_packsl, i64, env, i64, i64)
    532DEF_HELPER_3(iwmmxt_packsq, i64, env, i64, i64)
    533
    534DEF_HELPER_3(iwmmxt_muladdsl, i64, i64, i32, i32)
    535DEF_HELPER_3(iwmmxt_muladdsw, i64, i64, i32, i32)
    536DEF_HELPER_3(iwmmxt_muladdswl, i64, i64, i32, i32)
    537
    538DEF_HELPER_FLAGS_2(neon_unzip8, TCG_CALL_NO_RWG, void, ptr, ptr)
    539DEF_HELPER_FLAGS_2(neon_unzip16, TCG_CALL_NO_RWG, void, ptr, ptr)
    540DEF_HELPER_FLAGS_2(neon_qunzip8, TCG_CALL_NO_RWG, void, ptr, ptr)
    541DEF_HELPER_FLAGS_2(neon_qunzip16, TCG_CALL_NO_RWG, void, ptr, ptr)
    542DEF_HELPER_FLAGS_2(neon_qunzip32, TCG_CALL_NO_RWG, void, ptr, ptr)
    543DEF_HELPER_FLAGS_2(neon_zip8, TCG_CALL_NO_RWG, void, ptr, ptr)
    544DEF_HELPER_FLAGS_2(neon_zip16, TCG_CALL_NO_RWG, void, ptr, ptr)
    545DEF_HELPER_FLAGS_2(neon_qzip8, TCG_CALL_NO_RWG, void, ptr, ptr)
    546DEF_HELPER_FLAGS_2(neon_qzip16, TCG_CALL_NO_RWG, void, ptr, ptr)
    547DEF_HELPER_FLAGS_2(neon_qzip32, TCG_CALL_NO_RWG, void, ptr, ptr)
    548
    549DEF_HELPER_FLAGS_4(crypto_aese, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
    550DEF_HELPER_FLAGS_3(crypto_aesmc, TCG_CALL_NO_RWG, void, ptr, ptr, i32)
    551
    552DEF_HELPER_FLAGS_4(crypto_sha1su0, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
    553DEF_HELPER_FLAGS_4(crypto_sha1c, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
    554DEF_HELPER_FLAGS_4(crypto_sha1p, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
    555DEF_HELPER_FLAGS_4(crypto_sha1m, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
    556DEF_HELPER_FLAGS_3(crypto_sha1h, TCG_CALL_NO_RWG, void, ptr, ptr, i32)
    557DEF_HELPER_FLAGS_3(crypto_sha1su1, TCG_CALL_NO_RWG, void, ptr, ptr, i32)
    558
    559DEF_HELPER_FLAGS_4(crypto_sha256h, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
    560DEF_HELPER_FLAGS_4(crypto_sha256h2, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
    561DEF_HELPER_FLAGS_3(crypto_sha256su0, TCG_CALL_NO_RWG, void, ptr, ptr, i32)
    562DEF_HELPER_FLAGS_4(crypto_sha256su1, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
    563
    564DEF_HELPER_FLAGS_4(crypto_sha512h, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
    565DEF_HELPER_FLAGS_4(crypto_sha512h2, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
    566DEF_HELPER_FLAGS_3(crypto_sha512su0, TCG_CALL_NO_RWG, void, ptr, ptr, i32)
    567DEF_HELPER_FLAGS_4(crypto_sha512su1, TCG_CALL_NO_RWG,
    568                   void, ptr, ptr, ptr, i32)
    569
    570DEF_HELPER_FLAGS_4(crypto_sm3tt1a, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
    571DEF_HELPER_FLAGS_4(crypto_sm3tt1b, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
    572DEF_HELPER_FLAGS_4(crypto_sm3tt2a, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
    573DEF_HELPER_FLAGS_4(crypto_sm3tt2b, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
    574DEF_HELPER_FLAGS_4(crypto_sm3partw1, TCG_CALL_NO_RWG,
    575                   void, ptr, ptr, ptr, i32)
    576DEF_HELPER_FLAGS_4(crypto_sm3partw2, TCG_CALL_NO_RWG,
    577                   void, ptr, ptr, ptr, i32)
    578
    579DEF_HELPER_FLAGS_4(crypto_sm4e, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
    580DEF_HELPER_FLAGS_4(crypto_sm4ekey, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
    581
    582DEF_HELPER_FLAGS_4(crypto_rax1, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
    583
    584DEF_HELPER_FLAGS_3(crc32, TCG_CALL_NO_RWG_SE, i32, i32, i32, i32)
    585DEF_HELPER_FLAGS_3(crc32c, TCG_CALL_NO_RWG_SE, i32, i32, i32, i32)
    586
    587DEF_HELPER_FLAGS_5(gvec_qrdmlah_s16, TCG_CALL_NO_RWG,
    588                   void, ptr, ptr, ptr, ptr, i32)
    589DEF_HELPER_FLAGS_5(gvec_qrdmlsh_s16, TCG_CALL_NO_RWG,
    590                   void, ptr, ptr, ptr, ptr, i32)
    591DEF_HELPER_FLAGS_5(gvec_qrdmlah_s32, TCG_CALL_NO_RWG,
    592                   void, ptr, ptr, ptr, ptr, i32)
    593DEF_HELPER_FLAGS_5(gvec_qrdmlsh_s32, TCG_CALL_NO_RWG,
    594                   void, ptr, ptr, ptr, ptr, i32)
    595
    596DEF_HELPER_FLAGS_5(sve2_sqrdmlah_b, TCG_CALL_NO_RWG,
    597                   void, ptr, ptr, ptr, ptr, i32)
    598DEF_HELPER_FLAGS_5(sve2_sqrdmlsh_b, TCG_CALL_NO_RWG,
    599                   void, ptr, ptr, ptr, ptr, i32)
    600DEF_HELPER_FLAGS_5(sve2_sqrdmlah_h, TCG_CALL_NO_RWG,
    601                   void, ptr, ptr, ptr, ptr, i32)
    602DEF_HELPER_FLAGS_5(sve2_sqrdmlsh_h, TCG_CALL_NO_RWG,
    603                   void, ptr, ptr, ptr, ptr, i32)
    604DEF_HELPER_FLAGS_5(sve2_sqrdmlah_s, TCG_CALL_NO_RWG,
    605                   void, ptr, ptr, ptr, ptr, i32)
    606DEF_HELPER_FLAGS_5(sve2_sqrdmlsh_s, TCG_CALL_NO_RWG,
    607                   void, ptr, ptr, ptr, ptr, i32)
    608DEF_HELPER_FLAGS_5(sve2_sqrdmlah_d, TCG_CALL_NO_RWG,
    609                   void, ptr, ptr, ptr, ptr, i32)
    610DEF_HELPER_FLAGS_5(sve2_sqrdmlsh_d, TCG_CALL_NO_RWG,
    611                   void, ptr, ptr, ptr, ptr, i32)
    612
    613DEF_HELPER_FLAGS_5(gvec_sdot_b, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, ptr, i32)
    614DEF_HELPER_FLAGS_5(gvec_udot_b, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, ptr, i32)
    615DEF_HELPER_FLAGS_5(gvec_sdot_h, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, ptr, i32)
    616DEF_HELPER_FLAGS_5(gvec_udot_h, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, ptr, i32)
    617DEF_HELPER_FLAGS_5(gvec_usdot_b, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, ptr, i32)
    618
    619DEF_HELPER_FLAGS_5(gvec_sdot_idx_b, TCG_CALL_NO_RWG,
    620                   void, ptr, ptr, ptr, ptr, i32)
    621DEF_HELPER_FLAGS_5(gvec_udot_idx_b, TCG_CALL_NO_RWG,
    622                   void, ptr, ptr, ptr, ptr, i32)
    623DEF_HELPER_FLAGS_5(gvec_sdot_idx_h, TCG_CALL_NO_RWG,
    624                   void, ptr, ptr, ptr, ptr, i32)
    625DEF_HELPER_FLAGS_5(gvec_udot_idx_h, TCG_CALL_NO_RWG,
    626                   void, ptr, ptr, ptr, ptr, i32)
    627DEF_HELPER_FLAGS_5(gvec_sudot_idx_b, TCG_CALL_NO_RWG,
    628                   void, ptr, ptr, ptr, ptr, i32)
    629DEF_HELPER_FLAGS_5(gvec_usdot_idx_b, TCG_CALL_NO_RWG,
    630                   void, ptr, ptr, ptr, ptr, i32)
    631
    632DEF_HELPER_FLAGS_5(gvec_fcaddh, TCG_CALL_NO_RWG,
    633                   void, ptr, ptr, ptr, ptr, i32)
    634DEF_HELPER_FLAGS_5(gvec_fcadds, TCG_CALL_NO_RWG,
    635                   void, ptr, ptr, ptr, ptr, i32)
    636DEF_HELPER_FLAGS_5(gvec_fcaddd, TCG_CALL_NO_RWG,
    637                   void, ptr, ptr, ptr, ptr, i32)
    638
    639DEF_HELPER_FLAGS_6(gvec_fcmlah, TCG_CALL_NO_RWG,
    640                   void, ptr, ptr, ptr, ptr, ptr, i32)
    641DEF_HELPER_FLAGS_6(gvec_fcmlah_idx, TCG_CALL_NO_RWG,
    642                   void, ptr, ptr, ptr, ptr, ptr, i32)
    643DEF_HELPER_FLAGS_6(gvec_fcmlas, TCG_CALL_NO_RWG,
    644                   void, ptr, ptr, ptr, ptr, ptr, i32)
    645DEF_HELPER_FLAGS_6(gvec_fcmlas_idx, TCG_CALL_NO_RWG,
    646                   void, ptr, ptr, ptr, ptr, ptr, i32)
    647DEF_HELPER_FLAGS_6(gvec_fcmlad, TCG_CALL_NO_RWG,
    648                   void, ptr, ptr, ptr, ptr, ptr, i32)
    649
    650DEF_HELPER_FLAGS_5(neon_paddh, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, ptr, i32)
    651DEF_HELPER_FLAGS_5(neon_pmaxh, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, ptr, i32)
    652DEF_HELPER_FLAGS_5(neon_pminh, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, ptr, i32)
    653DEF_HELPER_FLAGS_5(neon_padds, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, ptr, i32)
    654DEF_HELPER_FLAGS_5(neon_pmaxs, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, ptr, i32)
    655DEF_HELPER_FLAGS_5(neon_pmins, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, ptr, i32)
    656
    657DEF_HELPER_FLAGS_4(gvec_sstoh, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
    658DEF_HELPER_FLAGS_4(gvec_sitos, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
    659DEF_HELPER_FLAGS_4(gvec_ustoh, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
    660DEF_HELPER_FLAGS_4(gvec_uitos, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
    661DEF_HELPER_FLAGS_4(gvec_tosszh, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
    662DEF_HELPER_FLAGS_4(gvec_tosizs, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
    663DEF_HELPER_FLAGS_4(gvec_touszh, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
    664DEF_HELPER_FLAGS_4(gvec_touizs, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
    665
    666DEF_HELPER_FLAGS_4(gvec_vcvt_sf, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
    667DEF_HELPER_FLAGS_4(gvec_vcvt_uf, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
    668DEF_HELPER_FLAGS_4(gvec_vcvt_fs, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
    669DEF_HELPER_FLAGS_4(gvec_vcvt_fu, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
    670
    671DEF_HELPER_FLAGS_4(gvec_vcvt_sh, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
    672DEF_HELPER_FLAGS_4(gvec_vcvt_uh, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
    673DEF_HELPER_FLAGS_4(gvec_vcvt_hs, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
    674DEF_HELPER_FLAGS_4(gvec_vcvt_hu, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
    675
    676DEF_HELPER_FLAGS_4(gvec_vcvt_rm_ss, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
    677DEF_HELPER_FLAGS_4(gvec_vcvt_rm_us, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
    678DEF_HELPER_FLAGS_4(gvec_vcvt_rm_sh, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
    679DEF_HELPER_FLAGS_4(gvec_vcvt_rm_uh, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
    680
    681DEF_HELPER_FLAGS_4(gvec_vrint_rm_h, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
    682DEF_HELPER_FLAGS_4(gvec_vrint_rm_s, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
    683
    684DEF_HELPER_FLAGS_4(gvec_vrintx_h, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
    685DEF_HELPER_FLAGS_4(gvec_vrintx_s, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
    686
    687DEF_HELPER_FLAGS_4(gvec_frecpe_h, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
    688DEF_HELPER_FLAGS_4(gvec_frecpe_s, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
    689DEF_HELPER_FLAGS_4(gvec_frecpe_d, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
    690
    691DEF_HELPER_FLAGS_4(gvec_frsqrte_h, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
    692DEF_HELPER_FLAGS_4(gvec_frsqrte_s, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
    693DEF_HELPER_FLAGS_4(gvec_frsqrte_d, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
    694
    695DEF_HELPER_FLAGS_4(gvec_fcgt0_h, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
    696DEF_HELPER_FLAGS_4(gvec_fcgt0_s, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
    697
    698DEF_HELPER_FLAGS_4(gvec_fcge0_h, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
    699DEF_HELPER_FLAGS_4(gvec_fcge0_s, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
    700
    701DEF_HELPER_FLAGS_4(gvec_fceq0_h, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
    702DEF_HELPER_FLAGS_4(gvec_fceq0_s, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
    703
    704DEF_HELPER_FLAGS_4(gvec_fcle0_h, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
    705DEF_HELPER_FLAGS_4(gvec_fcle0_s, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
    706
    707DEF_HELPER_FLAGS_4(gvec_fclt0_h, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
    708DEF_HELPER_FLAGS_4(gvec_fclt0_s, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
    709
    710DEF_HELPER_FLAGS_5(gvec_fadd_h, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, ptr, i32)
    711DEF_HELPER_FLAGS_5(gvec_fadd_s, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, ptr, i32)
    712DEF_HELPER_FLAGS_5(gvec_fadd_d, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, ptr, i32)
    713
    714DEF_HELPER_FLAGS_5(gvec_fsub_h, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, ptr, i32)
    715DEF_HELPER_FLAGS_5(gvec_fsub_s, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, ptr, i32)
    716DEF_HELPER_FLAGS_5(gvec_fsub_d, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, ptr, i32)
    717
    718DEF_HELPER_FLAGS_5(gvec_fmul_h, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, ptr, i32)
    719DEF_HELPER_FLAGS_5(gvec_fmul_s, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, ptr, i32)
    720DEF_HELPER_FLAGS_5(gvec_fmul_d, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, ptr, i32)
    721
    722DEF_HELPER_FLAGS_5(gvec_fabd_h, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, ptr, i32)
    723DEF_HELPER_FLAGS_5(gvec_fabd_s, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, ptr, i32)
    724
    725DEF_HELPER_FLAGS_5(gvec_fceq_h, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, ptr, i32)
    726DEF_HELPER_FLAGS_5(gvec_fceq_s, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, ptr, i32)
    727
    728DEF_HELPER_FLAGS_5(gvec_fcge_h, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, ptr, i32)
    729DEF_HELPER_FLAGS_5(gvec_fcge_s, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, ptr, i32)
    730
    731DEF_HELPER_FLAGS_5(gvec_fcgt_h, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, ptr, i32)
    732DEF_HELPER_FLAGS_5(gvec_fcgt_s, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, ptr, i32)
    733
    734DEF_HELPER_FLAGS_5(gvec_facge_h, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, ptr, i32)
    735DEF_HELPER_FLAGS_5(gvec_facge_s, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, ptr, i32)
    736
    737DEF_HELPER_FLAGS_5(gvec_facgt_h, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, ptr, i32)
    738DEF_HELPER_FLAGS_5(gvec_facgt_s, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, ptr, i32)
    739
    740DEF_HELPER_FLAGS_5(gvec_fmax_h, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, ptr, i32)
    741DEF_HELPER_FLAGS_5(gvec_fmax_s, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, ptr, i32)
    742
    743DEF_HELPER_FLAGS_5(gvec_fmin_h, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, ptr, i32)
    744DEF_HELPER_FLAGS_5(gvec_fmin_s, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, ptr, i32)
    745
    746DEF_HELPER_FLAGS_5(gvec_fmaxnum_h, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, ptr, i32)
    747DEF_HELPER_FLAGS_5(gvec_fmaxnum_s, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, ptr, i32)
    748
    749DEF_HELPER_FLAGS_5(gvec_fminnum_h, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, ptr, i32)
    750DEF_HELPER_FLAGS_5(gvec_fminnum_s, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, ptr, i32)
    751
    752DEF_HELPER_FLAGS_5(gvec_recps_nf_h, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, ptr, i32)
    753DEF_HELPER_FLAGS_5(gvec_recps_nf_s, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, ptr, i32)
    754
    755DEF_HELPER_FLAGS_5(gvec_rsqrts_nf_h, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, ptr, i32)
    756DEF_HELPER_FLAGS_5(gvec_rsqrts_nf_s, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, ptr, i32)
    757
    758DEF_HELPER_FLAGS_5(gvec_fmla_h, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, ptr, i32)
    759DEF_HELPER_FLAGS_5(gvec_fmla_s, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, ptr, i32)
    760
    761DEF_HELPER_FLAGS_5(gvec_fmls_h, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, ptr, i32)
    762DEF_HELPER_FLAGS_5(gvec_fmls_s, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, ptr, i32)
    763
    764DEF_HELPER_FLAGS_5(gvec_vfma_h, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, ptr, i32)
    765DEF_HELPER_FLAGS_5(gvec_vfma_s, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, ptr, i32)
    766
    767DEF_HELPER_FLAGS_5(gvec_vfms_h, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, ptr, i32)
    768DEF_HELPER_FLAGS_5(gvec_vfms_s, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, ptr, i32)
    769
    770DEF_HELPER_FLAGS_5(gvec_ftsmul_h, TCG_CALL_NO_RWG,
    771                   void, ptr, ptr, ptr, ptr, i32)
    772DEF_HELPER_FLAGS_5(gvec_ftsmul_s, TCG_CALL_NO_RWG,
    773                   void, ptr, ptr, ptr, ptr, i32)
    774DEF_HELPER_FLAGS_5(gvec_ftsmul_d, TCG_CALL_NO_RWG,
    775                   void, ptr, ptr, ptr, ptr, i32)
    776
    777DEF_HELPER_FLAGS_5(gvec_fmul_idx_h, TCG_CALL_NO_RWG,
    778                   void, ptr, ptr, ptr, ptr, i32)
    779DEF_HELPER_FLAGS_5(gvec_fmul_idx_s, TCG_CALL_NO_RWG,
    780                   void, ptr, ptr, ptr, ptr, i32)
    781DEF_HELPER_FLAGS_5(gvec_fmul_idx_d, TCG_CALL_NO_RWG,
    782                   void, ptr, ptr, ptr, ptr, i32)
    783
    784DEF_HELPER_FLAGS_5(gvec_fmla_nf_idx_h, TCG_CALL_NO_RWG,
    785                   void, ptr, ptr, ptr, ptr, i32)
    786DEF_HELPER_FLAGS_5(gvec_fmla_nf_idx_s, TCG_CALL_NO_RWG,
    787                   void, ptr, ptr, ptr, ptr, i32)
    788
    789DEF_HELPER_FLAGS_5(gvec_fmls_nf_idx_h, TCG_CALL_NO_RWG,
    790                   void, ptr, ptr, ptr, ptr, i32)
    791DEF_HELPER_FLAGS_5(gvec_fmls_nf_idx_s, TCG_CALL_NO_RWG,
    792                   void, ptr, ptr, ptr, ptr, i32)
    793
    794DEF_HELPER_FLAGS_6(gvec_fmla_idx_h, TCG_CALL_NO_RWG,
    795                   void, ptr, ptr, ptr, ptr, ptr, i32)
    796DEF_HELPER_FLAGS_6(gvec_fmla_idx_s, TCG_CALL_NO_RWG,
    797                   void, ptr, ptr, ptr, ptr, ptr, i32)
    798DEF_HELPER_FLAGS_6(gvec_fmla_idx_d, TCG_CALL_NO_RWG,
    799                   void, ptr, ptr, ptr, ptr, ptr, i32)
    800
    801DEF_HELPER_FLAGS_5(gvec_uqadd_b, TCG_CALL_NO_RWG,
    802                   void, ptr, ptr, ptr, ptr, i32)
    803DEF_HELPER_FLAGS_5(gvec_uqadd_h, TCG_CALL_NO_RWG,
    804                   void, ptr, ptr, ptr, ptr, i32)
    805DEF_HELPER_FLAGS_5(gvec_uqadd_s, TCG_CALL_NO_RWG,
    806                   void, ptr, ptr, ptr, ptr, i32)
    807DEF_HELPER_FLAGS_5(gvec_uqadd_d, TCG_CALL_NO_RWG,
    808                   void, ptr, ptr, ptr, ptr, i32)
    809DEF_HELPER_FLAGS_5(gvec_sqadd_b, TCG_CALL_NO_RWG,
    810                   void, ptr, ptr, ptr, ptr, i32)
    811DEF_HELPER_FLAGS_5(gvec_sqadd_h, TCG_CALL_NO_RWG,
    812                   void, ptr, ptr, ptr, ptr, i32)
    813DEF_HELPER_FLAGS_5(gvec_sqadd_s, TCG_CALL_NO_RWG,
    814                   void, ptr, ptr, ptr, ptr, i32)
    815DEF_HELPER_FLAGS_5(gvec_sqadd_d, TCG_CALL_NO_RWG,
    816                   void, ptr, ptr, ptr, ptr, i32)
    817DEF_HELPER_FLAGS_5(gvec_uqsub_b, TCG_CALL_NO_RWG,
    818                   void, ptr, ptr, ptr, ptr, i32)
    819DEF_HELPER_FLAGS_5(gvec_uqsub_h, TCG_CALL_NO_RWG,
    820                   void, ptr, ptr, ptr, ptr, i32)
    821DEF_HELPER_FLAGS_5(gvec_uqsub_s, TCG_CALL_NO_RWG,
    822                   void, ptr, ptr, ptr, ptr, i32)
    823DEF_HELPER_FLAGS_5(gvec_uqsub_d, TCG_CALL_NO_RWG,
    824                   void, ptr, ptr, ptr, ptr, i32)
    825DEF_HELPER_FLAGS_5(gvec_sqsub_b, TCG_CALL_NO_RWG,
    826                   void, ptr, ptr, ptr, ptr, i32)
    827DEF_HELPER_FLAGS_5(gvec_sqsub_h, TCG_CALL_NO_RWG,
    828                   void, ptr, ptr, ptr, ptr, i32)
    829DEF_HELPER_FLAGS_5(gvec_sqsub_s, TCG_CALL_NO_RWG,
    830                   void, ptr, ptr, ptr, ptr, i32)
    831DEF_HELPER_FLAGS_5(gvec_sqsub_d, TCG_CALL_NO_RWG,
    832                   void, ptr, ptr, ptr, ptr, i32)
    833
    834DEF_HELPER_FLAGS_5(gvec_fmlal_a32, TCG_CALL_NO_RWG,
    835                   void, ptr, ptr, ptr, ptr, i32)
    836DEF_HELPER_FLAGS_5(gvec_fmlal_a64, TCG_CALL_NO_RWG,
    837                   void, ptr, ptr, ptr, ptr, i32)
    838DEF_HELPER_FLAGS_5(gvec_fmlal_idx_a32, TCG_CALL_NO_RWG,
    839                   void, ptr, ptr, ptr, ptr, i32)
    840DEF_HELPER_FLAGS_5(gvec_fmlal_idx_a64, TCG_CALL_NO_RWG,
    841                   void, ptr, ptr, ptr, ptr, i32)
    842
    843DEF_HELPER_FLAGS_2(frint32_s, TCG_CALL_NO_RWG, f32, f32, ptr)
    844DEF_HELPER_FLAGS_2(frint64_s, TCG_CALL_NO_RWG, f32, f32, ptr)
    845DEF_HELPER_FLAGS_2(frint32_d, TCG_CALL_NO_RWG, f64, f64, ptr)
    846DEF_HELPER_FLAGS_2(frint64_d, TCG_CALL_NO_RWG, f64, f64, ptr)
    847
    848DEF_HELPER_FLAGS_3(gvec_ceq0_b, TCG_CALL_NO_RWG, void, ptr, ptr, i32)
    849DEF_HELPER_FLAGS_3(gvec_ceq0_h, TCG_CALL_NO_RWG, void, ptr, ptr, i32)
    850DEF_HELPER_FLAGS_3(gvec_clt0_b, TCG_CALL_NO_RWG, void, ptr, ptr, i32)
    851DEF_HELPER_FLAGS_3(gvec_clt0_h, TCG_CALL_NO_RWG, void, ptr, ptr, i32)
    852DEF_HELPER_FLAGS_3(gvec_cle0_b, TCG_CALL_NO_RWG, void, ptr, ptr, i32)
    853DEF_HELPER_FLAGS_3(gvec_cle0_h, TCG_CALL_NO_RWG, void, ptr, ptr, i32)
    854DEF_HELPER_FLAGS_3(gvec_cgt0_b, TCG_CALL_NO_RWG, void, ptr, ptr, i32)
    855DEF_HELPER_FLAGS_3(gvec_cgt0_h, TCG_CALL_NO_RWG, void, ptr, ptr, i32)
    856DEF_HELPER_FLAGS_3(gvec_cge0_b, TCG_CALL_NO_RWG, void, ptr, ptr, i32)
    857DEF_HELPER_FLAGS_3(gvec_cge0_h, TCG_CALL_NO_RWG, void, ptr, ptr, i32)
    858
    859DEF_HELPER_FLAGS_4(gvec_smulh_b, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
    860DEF_HELPER_FLAGS_4(gvec_smulh_h, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
    861DEF_HELPER_FLAGS_4(gvec_smulh_s, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
    862DEF_HELPER_FLAGS_4(gvec_smulh_d, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
    863
    864DEF_HELPER_FLAGS_4(gvec_umulh_b, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
    865DEF_HELPER_FLAGS_4(gvec_umulh_h, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
    866DEF_HELPER_FLAGS_4(gvec_umulh_s, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
    867DEF_HELPER_FLAGS_4(gvec_umulh_d, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
    868
    869DEF_HELPER_FLAGS_4(gvec_sshl_b, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
    870DEF_HELPER_FLAGS_4(gvec_sshl_h, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
    871DEF_HELPER_FLAGS_4(gvec_ushl_b, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
    872DEF_HELPER_FLAGS_4(gvec_ushl_h, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
    873
    874DEF_HELPER_FLAGS_4(gvec_pmul_b, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
    875DEF_HELPER_FLAGS_4(gvec_pmull_q, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
    876
    877DEF_HELPER_FLAGS_4(neon_pmull_h, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
    878
    879DEF_HELPER_FLAGS_3(gvec_ssra_b, TCG_CALL_NO_RWG, void, ptr, ptr, i32)
    880DEF_HELPER_FLAGS_3(gvec_ssra_h, TCG_CALL_NO_RWG, void, ptr, ptr, i32)
    881DEF_HELPER_FLAGS_3(gvec_ssra_s, TCG_CALL_NO_RWG, void, ptr, ptr, i32)
    882DEF_HELPER_FLAGS_3(gvec_ssra_d, TCG_CALL_NO_RWG, void, ptr, ptr, i32)
    883
    884DEF_HELPER_FLAGS_3(gvec_usra_b, TCG_CALL_NO_RWG, void, ptr, ptr, i32)
    885DEF_HELPER_FLAGS_3(gvec_usra_h, TCG_CALL_NO_RWG, void, ptr, ptr, i32)
    886DEF_HELPER_FLAGS_3(gvec_usra_s, TCG_CALL_NO_RWG, void, ptr, ptr, i32)
    887DEF_HELPER_FLAGS_3(gvec_usra_d, TCG_CALL_NO_RWG, void, ptr, ptr, i32)
    888
    889DEF_HELPER_FLAGS_3(gvec_srshr_b, TCG_CALL_NO_RWG, void, ptr, ptr, i32)
    890DEF_HELPER_FLAGS_3(gvec_srshr_h, TCG_CALL_NO_RWG, void, ptr, ptr, i32)
    891DEF_HELPER_FLAGS_3(gvec_srshr_s, TCG_CALL_NO_RWG, void, ptr, ptr, i32)
    892DEF_HELPER_FLAGS_3(gvec_srshr_d, TCG_CALL_NO_RWG, void, ptr, ptr, i32)
    893
    894DEF_HELPER_FLAGS_3(gvec_urshr_b, TCG_CALL_NO_RWG, void, ptr, ptr, i32)
    895DEF_HELPER_FLAGS_3(gvec_urshr_h, TCG_CALL_NO_RWG, void, ptr, ptr, i32)
    896DEF_HELPER_FLAGS_3(gvec_urshr_s, TCG_CALL_NO_RWG, void, ptr, ptr, i32)
    897DEF_HELPER_FLAGS_3(gvec_urshr_d, TCG_CALL_NO_RWG, void, ptr, ptr, i32)
    898
    899DEF_HELPER_FLAGS_3(gvec_srsra_b, TCG_CALL_NO_RWG, void, ptr, ptr, i32)
    900DEF_HELPER_FLAGS_3(gvec_srsra_h, TCG_CALL_NO_RWG, void, ptr, ptr, i32)
    901DEF_HELPER_FLAGS_3(gvec_srsra_s, TCG_CALL_NO_RWG, void, ptr, ptr, i32)
    902DEF_HELPER_FLAGS_3(gvec_srsra_d, TCG_CALL_NO_RWG, void, ptr, ptr, i32)
    903
    904DEF_HELPER_FLAGS_3(gvec_ursra_b, TCG_CALL_NO_RWG, void, ptr, ptr, i32)
    905DEF_HELPER_FLAGS_3(gvec_ursra_h, TCG_CALL_NO_RWG, void, ptr, ptr, i32)
    906DEF_HELPER_FLAGS_3(gvec_ursra_s, TCG_CALL_NO_RWG, void, ptr, ptr, i32)
    907DEF_HELPER_FLAGS_3(gvec_ursra_d, TCG_CALL_NO_RWG, void, ptr, ptr, i32)
    908
    909DEF_HELPER_FLAGS_3(gvec_sri_b, TCG_CALL_NO_RWG, void, ptr, ptr, i32)
    910DEF_HELPER_FLAGS_3(gvec_sri_h, TCG_CALL_NO_RWG, void, ptr, ptr, i32)
    911DEF_HELPER_FLAGS_3(gvec_sri_s, TCG_CALL_NO_RWG, void, ptr, ptr, i32)
    912DEF_HELPER_FLAGS_3(gvec_sri_d, TCG_CALL_NO_RWG, void, ptr, ptr, i32)
    913
    914DEF_HELPER_FLAGS_3(gvec_sli_b, TCG_CALL_NO_RWG, void, ptr, ptr, i32)
    915DEF_HELPER_FLAGS_3(gvec_sli_h, TCG_CALL_NO_RWG, void, ptr, ptr, i32)
    916DEF_HELPER_FLAGS_3(gvec_sli_s, TCG_CALL_NO_RWG, void, ptr, ptr, i32)
    917DEF_HELPER_FLAGS_3(gvec_sli_d, TCG_CALL_NO_RWG, void, ptr, ptr, i32)
    918
    919DEF_HELPER_FLAGS_4(gvec_sabd_b, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
    920DEF_HELPER_FLAGS_4(gvec_sabd_h, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
    921DEF_HELPER_FLAGS_4(gvec_sabd_s, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
    922DEF_HELPER_FLAGS_4(gvec_sabd_d, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
    923
    924DEF_HELPER_FLAGS_4(gvec_uabd_b, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
    925DEF_HELPER_FLAGS_4(gvec_uabd_h, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
    926DEF_HELPER_FLAGS_4(gvec_uabd_s, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
    927DEF_HELPER_FLAGS_4(gvec_uabd_d, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
    928
    929DEF_HELPER_FLAGS_4(gvec_saba_b, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
    930DEF_HELPER_FLAGS_4(gvec_saba_h, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
    931DEF_HELPER_FLAGS_4(gvec_saba_s, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
    932DEF_HELPER_FLAGS_4(gvec_saba_d, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
    933
    934DEF_HELPER_FLAGS_4(gvec_uaba_b, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
    935DEF_HELPER_FLAGS_4(gvec_uaba_h, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
    936DEF_HELPER_FLAGS_4(gvec_uaba_s, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
    937DEF_HELPER_FLAGS_4(gvec_uaba_d, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
    938
    939DEF_HELPER_FLAGS_4(gvec_mul_idx_h, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
    940DEF_HELPER_FLAGS_4(gvec_mul_idx_s, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
    941DEF_HELPER_FLAGS_4(gvec_mul_idx_d, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
    942
    943DEF_HELPER_FLAGS_5(gvec_mla_idx_h, TCG_CALL_NO_RWG,
    944                   void, ptr, ptr, ptr, ptr, i32)
    945DEF_HELPER_FLAGS_5(gvec_mla_idx_s, TCG_CALL_NO_RWG,
    946                   void, ptr, ptr, ptr, ptr, i32)
    947DEF_HELPER_FLAGS_5(gvec_mla_idx_d, TCG_CALL_NO_RWG,
    948                   void, ptr, ptr, ptr, ptr, i32)
    949
    950DEF_HELPER_FLAGS_5(gvec_mls_idx_h, TCG_CALL_NO_RWG,
    951                   void, ptr, ptr, ptr, ptr, i32)
    952DEF_HELPER_FLAGS_5(gvec_mls_idx_s, TCG_CALL_NO_RWG,
    953                   void, ptr, ptr, ptr, ptr, i32)
    954DEF_HELPER_FLAGS_5(gvec_mls_idx_d, TCG_CALL_NO_RWG,
    955                   void, ptr, ptr, ptr, ptr, i32)
    956
    957DEF_HELPER_FLAGS_5(neon_sqdmulh_h, TCG_CALL_NO_RWG,
    958                   void, ptr, ptr, ptr, ptr, i32)
    959DEF_HELPER_FLAGS_5(neon_sqdmulh_s, TCG_CALL_NO_RWG,
    960                   void, ptr, ptr, ptr, ptr, i32)
    961
    962DEF_HELPER_FLAGS_5(neon_sqrdmulh_h, TCG_CALL_NO_RWG,
    963                   void, ptr, ptr, ptr, ptr, i32)
    964DEF_HELPER_FLAGS_5(neon_sqrdmulh_s, TCG_CALL_NO_RWG,
    965                   void, ptr, ptr, ptr, ptr, i32)
    966
    967DEF_HELPER_FLAGS_4(sve2_sqdmulh_b, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
    968DEF_HELPER_FLAGS_4(sve2_sqdmulh_h, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
    969DEF_HELPER_FLAGS_4(sve2_sqdmulh_s, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
    970DEF_HELPER_FLAGS_4(sve2_sqdmulh_d, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
    971
    972DEF_HELPER_FLAGS_4(sve2_sqrdmulh_b, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
    973DEF_HELPER_FLAGS_4(sve2_sqrdmulh_h, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
    974DEF_HELPER_FLAGS_4(sve2_sqrdmulh_s, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
    975DEF_HELPER_FLAGS_4(sve2_sqrdmulh_d, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
    976
    977DEF_HELPER_FLAGS_4(sve2_sqdmulh_idx_h, TCG_CALL_NO_RWG,
    978                   void, ptr, ptr, ptr, i32)
    979DEF_HELPER_FLAGS_4(sve2_sqdmulh_idx_s, TCG_CALL_NO_RWG,
    980                   void, ptr, ptr, ptr, i32)
    981DEF_HELPER_FLAGS_4(sve2_sqdmulh_idx_d, TCG_CALL_NO_RWG,
    982                   void, ptr, ptr, ptr, i32)
    983
    984DEF_HELPER_FLAGS_4(sve2_sqrdmulh_idx_h, TCG_CALL_NO_RWG,
    985                   void, ptr, ptr, ptr, i32)
    986DEF_HELPER_FLAGS_4(sve2_sqrdmulh_idx_s, TCG_CALL_NO_RWG,
    987                   void, ptr, ptr, ptr, i32)
    988DEF_HELPER_FLAGS_4(sve2_sqrdmulh_idx_d, TCG_CALL_NO_RWG,
    989                   void, ptr, ptr, ptr, i32)
    990
    991DEF_HELPER_FLAGS_6(sve2_fmlal_zzzw_s, TCG_CALL_NO_RWG,
    992                   void, ptr, ptr, ptr, ptr, ptr, i32)
    993DEF_HELPER_FLAGS_6(sve2_fmlal_zzxw_s, TCG_CALL_NO_RWG,
    994                   void, ptr, ptr, ptr, ptr, ptr, i32)
    995
    996DEF_HELPER_FLAGS_4(gvec_xar_d, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
    997
    998DEF_HELPER_FLAGS_5(gvec_smmla_b, TCG_CALL_NO_RWG,
    999                   void, ptr, ptr, ptr, ptr, i32)
   1000DEF_HELPER_FLAGS_5(gvec_ummla_b, TCG_CALL_NO_RWG,
   1001                   void, ptr, ptr, ptr, ptr, i32)
   1002DEF_HELPER_FLAGS_5(gvec_usmmla_b, TCG_CALL_NO_RWG,
   1003                   void, ptr, ptr, ptr, ptr, i32)
   1004
   1005DEF_HELPER_FLAGS_5(gvec_bfdot, TCG_CALL_NO_RWG,
   1006                   void, ptr, ptr, ptr, ptr, i32)
   1007DEF_HELPER_FLAGS_5(gvec_bfdot_idx, TCG_CALL_NO_RWG,
   1008                   void, ptr, ptr, ptr, ptr, i32)
   1009
   1010DEF_HELPER_FLAGS_5(gvec_bfmmla, TCG_CALL_NO_RWG,
   1011                   void, ptr, ptr, ptr, ptr, i32)
   1012
   1013DEF_HELPER_FLAGS_6(gvec_bfmlal, TCG_CALL_NO_RWG,
   1014                   void, ptr, ptr, ptr, ptr, ptr, i32)
   1015DEF_HELPER_FLAGS_6(gvec_bfmlal_idx, TCG_CALL_NO_RWG,
   1016                   void, ptr, ptr, ptr, ptr, ptr, i32)
   1017
   1018#ifdef TARGET_AARCH64
   1019#include "helper-a64.h"
   1020#include "helper-sve.h"
   1021#endif
   1022
   1023#include "helper-mve.h"