symbian-qemu-0.9.1-12/qemu-symbian-svp/target-arm/helpers.h
changeset 1 2fb8b9db1c86
equal deleted inserted replaced
0:ffa851df0825 1:2fb8b9db1c86
       
     1 #include "def-helper.h"
       
     2 
       
     3 DEF_HELPER_1(clz, i32, i32)
       
     4 DEF_HELPER_1(sxtb16, i32, i32)
       
     5 DEF_HELPER_1(uxtb16, i32, i32)
       
     6 
       
     7 DEF_HELPER_2(add_setq, i32, i32, i32)
       
     8 DEF_HELPER_2(add_saturate, i32, i32, i32)
       
     9 DEF_HELPER_2(sub_saturate, i32, i32, i32)
       
    10 DEF_HELPER_2(add_usaturate, i32, i32, i32)
       
    11 DEF_HELPER_2(sub_usaturate, i32, i32, i32)
       
    12 DEF_HELPER_1(double_saturate, i32, s32)
       
    13 DEF_HELPER_2(sdiv, s32, s32, s32)
       
    14 DEF_HELPER_2(udiv, i32, i32, i32)
       
    15 DEF_HELPER_1(rbit, i32, i32)
       
    16 DEF_HELPER_1(abs, i32, i32)
       
    17 
       
    18 #define PAS_OP(pfx)  \
       
    19     DEF_HELPER_3(pfx ## add8, i32, i32, i32, ptr) \
       
    20     DEF_HELPER_3(pfx ## sub8, i32, i32, i32, ptr) \
       
    21     DEF_HELPER_3(pfx ## sub16, i32, i32, i32, ptr) \
       
    22     DEF_HELPER_3(pfx ## add16, i32, i32, i32, ptr) \
       
    23     DEF_HELPER_3(pfx ## addsubx, i32, i32, i32, ptr) \
       
    24     DEF_HELPER_3(pfx ## subaddx, i32, i32, i32, ptr)
       
    25 
       
    26 PAS_OP(s)
       
    27 PAS_OP(u)
       
    28 #undef PAS_OP
       
    29 
       
    30 #define PAS_OP(pfx)  \
       
    31     DEF_HELPER_2(pfx ## add8, i32, i32, i32) \
       
    32     DEF_HELPER_2(pfx ## sub8, i32, i32, i32) \
       
    33     DEF_HELPER_2(pfx ## sub16, i32, i32, i32) \
       
    34     DEF_HELPER_2(pfx ## add16, i32, i32, i32) \
       
    35     DEF_HELPER_2(pfx ## addsubx, i32, i32, i32) \
       
    36     DEF_HELPER_2(pfx ## subaddx, i32, i32, i32)
       
    37 PAS_OP(q)
       
    38 PAS_OP(sh)
       
    39 PAS_OP(uq)
       
    40 PAS_OP(uh)
       
    41 #undef PAS_OP
       
    42 
       
    43 DEF_HELPER_2(ssat, i32, i32, i32)
       
    44 DEF_HELPER_2(usat, i32, i32, i32)
       
    45 DEF_HELPER_2(ssat16, i32, i32, i32)
       
    46 DEF_HELPER_2(usat16, i32, i32, i32)
       
    47 
       
    48 DEF_HELPER_2(usad8, i32, i32, i32)
       
    49 
       
    50 DEF_HELPER_1(logicq_cc, i32, i64)
       
    51 
       
    52 DEF_HELPER_3(sel_flags, i32, i32, i32, i32)
       
    53 DEF_HELPER_1(exception, void, i32)
       
    54 DEF_HELPER_0(wfi, void)
       
    55 
       
    56 DEF_HELPER_2(cpsr_write, void, i32, i32)
       
    57 DEF_HELPER_0(cpsr_read, i32)
       
    58 
       
    59 DEF_HELPER_3(v7m_msr, void, env, i32, i32)
       
    60 DEF_HELPER_2(v7m_mrs, i32, env, i32)
       
    61 
       
    62 DEF_HELPER_3(set_cp15, void, env, i32, i32)
       
    63 DEF_HELPER_2(get_cp15, i32, env, i32)
       
    64 
       
    65 DEF_HELPER_3(set_cp, void, env, i32, i32)
       
    66 DEF_HELPER_2(get_cp, i32, env, i32)
       
    67 
       
    68 DEF_HELPER_2(get_r13_banked, i32, env, i32)
       
    69 DEF_HELPER_3(set_r13_banked, void, env, i32, i32)
       
    70 
       
    71 DEF_HELPER_2(mark_exclusive, void, env, i32)
       
    72 DEF_HELPER_2(test_exclusive, i32, env, i32)
       
    73 DEF_HELPER_1(clrex, void, env)
       
    74 
       
    75 DEF_HELPER_1(get_user_reg, i32, i32)
       
    76 DEF_HELPER_2(set_user_reg, void, i32, i32)
       
    77 
       
    78 DEF_HELPER_1(vfp_get_fpscr, i32, env)
       
    79 DEF_HELPER_2(vfp_set_fpscr, void, env, i32)
       
    80 
       
    81 DEF_HELPER_3(vfp_adds, f32, f32, f32, env)
       
    82 DEF_HELPER_3(vfp_addd, f64, f64, f64, env)
       
    83 DEF_HELPER_3(vfp_subs, f32, f32, f32, env)
       
    84 DEF_HELPER_3(vfp_subd, f64, f64, f64, env)
       
    85 DEF_HELPER_3(vfp_muls, f32, f32, f32, env)
       
    86 DEF_HELPER_3(vfp_muld, f64, f64, f64, env)
       
    87 DEF_HELPER_3(vfp_divs, f32, f32, f32, env)
       
    88 DEF_HELPER_3(vfp_divd, f64, f64, f64, env)
       
    89 DEF_HELPER_1(vfp_negs, f32, f32)
       
    90 DEF_HELPER_1(vfp_negd, f64, f64)
       
    91 DEF_HELPER_1(vfp_abss, f32, f32)
       
    92 DEF_HELPER_1(vfp_absd, f64, f64)
       
    93 DEF_HELPER_2(vfp_sqrts, f32, f32, env)
       
    94 DEF_HELPER_2(vfp_sqrtd, f64, f64, env)
       
    95 DEF_HELPER_3(vfp_cmps, void, f32, f32, env)
       
    96 DEF_HELPER_3(vfp_cmpd, void, f64, f64, env)
       
    97 DEF_HELPER_3(vfp_cmpes, void, f32, f32, env)
       
    98 DEF_HELPER_3(vfp_cmped, void, f64, f64, env)
       
    99 
       
   100 DEF_HELPER_2(vfp_fcvtds, f64, f32, env)
       
   101 DEF_HELPER_2(vfp_fcvtsd, f32, f64, env)
       
   102 
       
   103 DEF_HELPER_2(vfp_uitos, f32, f32, env)
       
   104 DEF_HELPER_2(vfp_uitod, f64, f32, env)
       
   105 DEF_HELPER_2(vfp_sitos, f32, f32, env)
       
   106 DEF_HELPER_2(vfp_sitod, f64, f32, env)
       
   107 
       
   108 DEF_HELPER_2(vfp_touis, f32, f32, env)
       
   109 DEF_HELPER_2(vfp_touid, f32, f64, env)
       
   110 DEF_HELPER_2(vfp_touizs, f32, f32, env)
       
   111 DEF_HELPER_2(vfp_touizd, f32, f64, env)
       
   112 DEF_HELPER_2(vfp_tosis, f32, f32, env)
       
   113 DEF_HELPER_2(vfp_tosid, f32, f64, env)
       
   114 DEF_HELPER_2(vfp_tosizs, f32, f32, env)
       
   115 DEF_HELPER_2(vfp_tosizd, f32, f64, env)
       
   116 
       
   117 DEF_HELPER_3(vfp_toshs, f32, f32, i32, env)
       
   118 DEF_HELPER_3(vfp_tosls, f32, f32, i32, env)
       
   119 DEF_HELPER_3(vfp_touhs, f32, f32, i32, env)
       
   120 DEF_HELPER_3(vfp_touls, f32, f32, i32, env)
       
   121 DEF_HELPER_3(vfp_toshd, f64, f64, i32, env)
       
   122 DEF_HELPER_3(vfp_tosld, f64, f64, i32, env)
       
   123 DEF_HELPER_3(vfp_touhd, f64, f64, i32, env)
       
   124 DEF_HELPER_3(vfp_tould, f64, f64, i32, env)
       
   125 DEF_HELPER_3(vfp_shtos, f32, f32, i32, env)
       
   126 DEF_HELPER_3(vfp_sltos, f32, f32, i32, env)
       
   127 DEF_HELPER_3(vfp_uhtos, f32, f32, i32, env)
       
   128 DEF_HELPER_3(vfp_ultos, f32, f32, i32, env)
       
   129 DEF_HELPER_3(vfp_shtod, f64, f64, i32, env)
       
   130 DEF_HELPER_3(vfp_sltod, f64, f64, i32, env)
       
   131 DEF_HELPER_3(vfp_uhtod, f64, f64, i32, env)
       
   132 DEF_HELPER_3(vfp_ultod, f64, f64, i32, env)
       
   133 
       
   134 DEF_HELPER_2(vfp_fcvt_f16_to_f32, f32, i32, env)
       
   135 DEF_HELPER_2(vfp_fcvt_f32_to_f16, i32, f32, env)
       
   136 
       
   137 DEF_HELPER_3(recps_f32, f32, f32, f32, env)
       
   138 DEF_HELPER_3(rsqrts_f32, f32, f32, f32, env)
       
   139 DEF_HELPER_2(recpe_f32, f32, f32, env)
       
   140 DEF_HELPER_2(rsqrte_f32, f32, f32, env)
       
   141 DEF_HELPER_2(recpe_u32, i32, i32, env)
       
   142 DEF_HELPER_2(rsqrte_u32, i32, i32, env)
       
   143 DEF_HELPER_4(neon_tbl, i32, i32, i32, i32, i32)
       
   144 DEF_HELPER_2(neon_add_saturate_u64, i64, i64, i64)
       
   145 DEF_HELPER_2(neon_add_saturate_s64, i64, i64, i64)
       
   146 DEF_HELPER_2(neon_sub_saturate_u64, i64, i64, i64)
       
   147 DEF_HELPER_2(neon_sub_saturate_s64, i64, i64, i64)
       
   148 
       
   149 DEF_HELPER_2(add_cc, i32, i32, i32)
       
   150 DEF_HELPER_2(adc_cc, i32, i32, i32)
       
   151 DEF_HELPER_2(sub_cc, i32, i32, i32)
       
   152 DEF_HELPER_2(sbc_cc, i32, i32, i32)
       
   153 
       
   154 DEF_HELPER_2(shl, i32, i32, i32)
       
   155 DEF_HELPER_2(shr, i32, i32, i32)
       
   156 DEF_HELPER_2(sar, i32, i32, i32)
       
   157 DEF_HELPER_2(ror, i32, i32, i32)
       
   158 DEF_HELPER_2(shl_cc, i32, i32, i32)
       
   159 DEF_HELPER_2(shr_cc, i32, i32, i32)
       
   160 DEF_HELPER_2(sar_cc, i32, i32, i32)
       
   161 DEF_HELPER_2(ror_cc, i32, i32, i32)
       
   162 
       
   163 /* neon_helper.c */
       
   164 DEF_HELPER_3(neon_qadd_u8, i32, env, i32, i32)
       
   165 DEF_HELPER_3(neon_qadd_s8, i32, env, i32, i32)
       
   166 DEF_HELPER_3(neon_qadd_u16, i32, env, i32, i32)
       
   167 DEF_HELPER_3(neon_qadd_s16, i32, env, i32, i32)
       
   168 DEF_HELPER_3(neon_qsub_u8, i32, env, i32, i32)
       
   169 DEF_HELPER_3(neon_qsub_s8, i32, env, i32, i32)
       
   170 DEF_HELPER_3(neon_qsub_u16, i32, env, i32, i32)
       
   171 DEF_HELPER_3(neon_qsub_s16, i32, env, i32, i32)
       
   172 
       
   173 DEF_HELPER_2(neon_hadd_s8, i32, i32, i32)
       
   174 DEF_HELPER_2(neon_hadd_u8, i32, i32, i32)
       
   175 DEF_HELPER_2(neon_hadd_s16, i32, i32, i32)
       
   176 DEF_HELPER_2(neon_hadd_u16, i32, i32, i32)
       
   177 DEF_HELPER_2(neon_hadd_s32, s32, s32, s32)
       
   178 DEF_HELPER_2(neon_hadd_u32, i32, i32, i32)
       
   179 DEF_HELPER_2(neon_rhadd_s8, i32, i32, i32)
       
   180 DEF_HELPER_2(neon_rhadd_u8, i32, i32, i32)
       
   181 DEF_HELPER_2(neon_rhadd_s16, i32, i32, i32)
       
   182 DEF_HELPER_2(neon_rhadd_u16, i32, i32, i32)
       
   183 DEF_HELPER_2(neon_rhadd_s32, s32, s32, s32)
       
   184 DEF_HELPER_2(neon_rhadd_u32, i32, i32, i32)
       
   185 DEF_HELPER_2(neon_hsub_s8, i32, i32, i32)
       
   186 DEF_HELPER_2(neon_hsub_u8, i32, i32, i32)
       
   187 DEF_HELPER_2(neon_hsub_s16, i32, i32, i32)
       
   188 DEF_HELPER_2(neon_hsub_u16, i32, i32, i32)
       
   189 DEF_HELPER_2(neon_hsub_s32, s32, s32, s32)
       
   190 DEF_HELPER_2(neon_hsub_u32, i32, i32, i32)
       
   191 
       
   192 DEF_HELPER_2(neon_cgt_u8, i32, i32, i32)
       
   193 DEF_HELPER_2(neon_cgt_s8, i32, i32, i32)
       
   194 DEF_HELPER_2(neon_cgt_u16, i32, i32, i32)
       
   195 DEF_HELPER_2(neon_cgt_s16, i32, i32, i32)
       
   196 DEF_HELPER_2(neon_cgt_u32, i32, i32, i32)
       
   197 DEF_HELPER_2(neon_cgt_s32, i32, i32, i32)
       
   198 DEF_HELPER_2(neon_cge_u8, i32, i32, i32)
       
   199 DEF_HELPER_2(neon_cge_s8, i32, i32, i32)
       
   200 DEF_HELPER_2(neon_cge_u16, i32, i32, i32)
       
   201 DEF_HELPER_2(neon_cge_s16, i32, i32, i32)
       
   202 DEF_HELPER_2(neon_cge_u32, i32, i32, i32)
       
   203 DEF_HELPER_2(neon_cge_s32, i32, i32, i32)
       
   204 
       
   205 DEF_HELPER_2(neon_min_u8, i32, i32, i32)
       
   206 DEF_HELPER_2(neon_min_s8, i32, i32, i32)
       
   207 DEF_HELPER_2(neon_min_u16, i32, i32, i32)
       
   208 DEF_HELPER_2(neon_min_s16, i32, i32, i32)
       
   209 DEF_HELPER_2(neon_min_u32, i32, i32, i32)
       
   210 DEF_HELPER_2(neon_min_s32, i32, i32, i32)
       
   211 DEF_HELPER_2(neon_max_u8, i32, i32, i32)
       
   212 DEF_HELPER_2(neon_max_s8, i32, i32, i32)
       
   213 DEF_HELPER_2(neon_max_u16, i32, i32, i32)
       
   214 DEF_HELPER_2(neon_max_s16, i32, i32, i32)
       
   215 DEF_HELPER_2(neon_max_u32, i32, i32, i32)
       
   216 DEF_HELPER_2(neon_max_s32, i32, i32, i32)
       
   217 DEF_HELPER_2(neon_pmin_u8, i32, i32, i32)
       
   218 DEF_HELPER_2(neon_pmin_s8, i32, i32, i32)
       
   219 DEF_HELPER_2(neon_pmin_u16, i32, i32, i32)
       
   220 DEF_HELPER_2(neon_pmin_s16, i32, i32, i32)
       
   221 DEF_HELPER_2(neon_pmax_u8, i32, i32, i32)
       
   222 DEF_HELPER_2(neon_pmax_s8, i32, i32, i32)
       
   223 DEF_HELPER_2(neon_pmax_u16, i32, i32, i32)
       
   224 DEF_HELPER_2(neon_pmax_s16, i32, i32, i32)
       
   225 
       
   226 DEF_HELPER_2(neon_abd_u8, i32, i32, i32)
       
   227 DEF_HELPER_2(neon_abd_s8, i32, i32, i32)
       
   228 DEF_HELPER_2(neon_abd_u16, i32, i32, i32)
       
   229 DEF_HELPER_2(neon_abd_s16, i32, i32, i32)
       
   230 DEF_HELPER_2(neon_abd_u32, i32, i32, i32)
       
   231 DEF_HELPER_2(neon_abd_s32, i32, i32, i32)
       
   232 
       
   233 DEF_HELPER_2(neon_shl_u8, i32, i32, i32)
       
   234 DEF_HELPER_2(neon_shl_s8, i32, i32, i32)
       
   235 DEF_HELPER_2(neon_shl_u16, i32, i32, i32)
       
   236 DEF_HELPER_2(neon_shl_s16, i32, i32, i32)
       
   237 DEF_HELPER_2(neon_shl_u32, i32, i32, i32)
       
   238 DEF_HELPER_2(neon_shl_s32, i32, i32, i32)
       
   239 DEF_HELPER_2(neon_shl_u64, i64, i64, i64)
       
   240 DEF_HELPER_2(neon_shl_s64, i64, i64, i64)
       
   241 DEF_HELPER_2(neon_rshl_u8, i32, i32, i32)
       
   242 DEF_HELPER_2(neon_rshl_s8, i32, i32, i32)
       
   243 DEF_HELPER_2(neon_rshl_u16, i32, i32, i32)
       
   244 DEF_HELPER_2(neon_rshl_s16, i32, i32, i32)
       
   245 DEF_HELPER_2(neon_rshl_u32, i32, i32, i32)
       
   246 DEF_HELPER_2(neon_rshl_s32, i32, i32, i32)
       
   247 DEF_HELPER_2(neon_rshl_u64, i64, i64, i64)
       
   248 DEF_HELPER_2(neon_rshl_s64, i64, i64, i64)
       
   249 DEF_HELPER_3(neon_qshl_u8, i32, env, i32, i32)
       
   250 DEF_HELPER_3(neon_qshl_s8, i32, env, i32, i32)
       
   251 DEF_HELPER_3(neon_qshl_u16, i32, env, i32, i32)
       
   252 DEF_HELPER_3(neon_qshl_s16, i32, env, i32, i32)
       
   253 DEF_HELPER_3(neon_qshl_u32, i32, env, i32, i32)
       
   254 DEF_HELPER_3(neon_qshl_s32, i32, env, i32, i32)
       
   255 DEF_HELPER_3(neon_qshl_u64, i64, env, i64, i64)
       
   256 DEF_HELPER_3(neon_qshl_s64, i64, env, i64, i64)
       
   257 DEF_HELPER_3(neon_qrshl_u8, i32, env, i32, i32)
       
   258 DEF_HELPER_3(neon_qrshl_s8, i32, env, i32, i32)
       
   259 DEF_HELPER_3(neon_qrshl_u16, i32, env, i32, i32)
       
   260 DEF_HELPER_3(neon_qrshl_s16, i32, env, i32, i32)
       
   261 DEF_HELPER_3(neon_qrshl_u32, i32, env, i32, i32)
       
   262 DEF_HELPER_3(neon_qrshl_s32, i32, env, i32, i32)
       
   263 DEF_HELPER_3(neon_qrshl_u64, i64, env, i64, i64)
       
   264 DEF_HELPER_3(neon_qrshl_s64, i64, env, i64, i64)
       
   265 
       
   266 DEF_HELPER_2(neon_add_u8, i32, i32, i32)
       
   267 DEF_HELPER_2(neon_add_u16, i32, i32, i32)
       
   268 DEF_HELPER_2(neon_padd_u8, i32, i32, i32)
       
   269 DEF_HELPER_2(neon_padd_u16, i32, i32, i32)
       
   270 DEF_HELPER_2(neon_sub_u8, i32, i32, i32)
       
   271 DEF_HELPER_2(neon_sub_u16, i32, i32, i32)
       
   272 DEF_HELPER_2(neon_mul_u8, i32, i32, i32)
       
   273 DEF_HELPER_2(neon_mul_u16, i32, i32, i32)
       
   274 DEF_HELPER_2(neon_mul_p8, i32, i32, i32)
       
   275 
       
   276 DEF_HELPER_2(neon_tst_u8, i32, i32, i32)
       
   277 DEF_HELPER_2(neon_tst_u16, i32, i32, i32)
       
   278 DEF_HELPER_2(neon_tst_u32, i32, i32, i32)
       
   279 DEF_HELPER_2(neon_ceq_u8, i32, i32, i32)
       
   280 DEF_HELPER_2(neon_ceq_u16, i32, i32, i32)
       
   281 DEF_HELPER_2(neon_ceq_u32, i32, i32, i32)
       
   282 
       
   283 DEF_HELPER_1(neon_abs_s8, i32, i32)
       
   284 DEF_HELPER_1(neon_abs_s16, i32, i32)
       
   285 DEF_HELPER_1(neon_clz_u8, i32, i32)
       
   286 DEF_HELPER_1(neon_clz_u16, i32, i32)
       
   287 DEF_HELPER_1(neon_cls_s8, i32, i32)
       
   288 DEF_HELPER_1(neon_cls_s16, i32, i32)
       
   289 DEF_HELPER_1(neon_cls_s32, i32, i32)
       
   290 DEF_HELPER_1(neon_cnt_u8, i32, i32)
       
   291 
       
   292 DEF_HELPER_3(neon_qdmulh_s16, i32, env, i32, i32)
       
   293 DEF_HELPER_3(neon_qrdmulh_s16, i32, env, i32, i32)
       
   294 DEF_HELPER_3(neon_qdmulh_s32, i32, env, i32, i32)
       
   295 DEF_HELPER_3(neon_qrdmulh_s32, i32, env, i32, i32)
       
   296 
       
   297 DEF_HELPER_1(neon_narrow_u8, i32, i64)
       
   298 DEF_HELPER_1(neon_narrow_u16, i32, i64)
       
   299 DEF_HELPER_2(neon_narrow_sat_u8, i32, env, i64)
       
   300 DEF_HELPER_2(neon_narrow_sat_s8, i32, env, i64)
       
   301 DEF_HELPER_2(neon_narrow_sat_u16, i32, env, i64)
       
   302 DEF_HELPER_2(neon_narrow_sat_s16, i32, env, i64)
       
   303 DEF_HELPER_2(neon_narrow_sat_u32, i32, env, i64)
       
   304 DEF_HELPER_2(neon_narrow_sat_s32, i32, env, i64)
       
   305 DEF_HELPER_1(neon_narrow_high_u8, i32, i64)
       
   306 DEF_HELPER_1(neon_narrow_high_u16, i32, i64)
       
   307 DEF_HELPER_1(neon_narrow_round_high_u8, i32, i64)
       
   308 DEF_HELPER_1(neon_narrow_round_high_u16, i32, i64)
       
   309 DEF_HELPER_1(neon_widen_u8, i64, i32)
       
   310 DEF_HELPER_1(neon_widen_s8, i64, i32)
       
   311 DEF_HELPER_1(neon_widen_u16, i64, i32)
       
   312 DEF_HELPER_1(neon_widen_s16, i64, i32)
       
   313 
       
   314 DEF_HELPER_2(neon_addl_u16, i64, i64, i64)
       
   315 DEF_HELPER_2(neon_addl_u32, i64, i64, i64)
       
   316 DEF_HELPER_2(neon_paddl_u16, i64, i64, i64)
       
   317 DEF_HELPER_2(neon_paddl_u32, i64, i64, i64)
       
   318 DEF_HELPER_2(neon_subl_u16, i64, i64, i64)
       
   319 DEF_HELPER_2(neon_subl_u32, i64, i64, i64)
       
   320 DEF_HELPER_3(neon_addl_saturate_s32, i64, env, i64, i64)
       
   321 DEF_HELPER_3(neon_addl_saturate_s64, i64, env, i64, i64)
       
   322 DEF_HELPER_2(neon_abdl_u16, i64, i32, i32)
       
   323 DEF_HELPER_2(neon_abdl_s16, i64, i32, i32)
       
   324 DEF_HELPER_2(neon_abdl_u32, i64, i32, i32)
       
   325 DEF_HELPER_2(neon_abdl_s32, i64, i32, i32)
       
   326 DEF_HELPER_2(neon_abdl_u64, i64, i32, i32)
       
   327 DEF_HELPER_2(neon_abdl_s64, i64, i32, i32)
       
   328 DEF_HELPER_2(neon_mull_u8, i64, i32, i32)
       
   329 DEF_HELPER_2(neon_mull_s8, i64, i32, i32)
       
   330 DEF_HELPER_2(neon_mull_u16, i64, i32, i32)
       
   331 DEF_HELPER_2(neon_mull_s16, i64, i32, i32)
       
   332 
       
   333 DEF_HELPER_1(neon_negl_u16, i64, i64)
       
   334 DEF_HELPER_1(neon_negl_u32, i64, i64)
       
   335 DEF_HELPER_1(neon_negl_u64, i64, i64)
       
   336 
       
   337 DEF_HELPER_2(neon_qabs_s8, i32, env, i32)
       
   338 DEF_HELPER_2(neon_qabs_s16, i32, env, i32)
       
   339 DEF_HELPER_2(neon_qabs_s32, i32, env, i32)
       
   340 DEF_HELPER_2(neon_qneg_s8, i32, env, i32)
       
   341 DEF_HELPER_2(neon_qneg_s16, i32, env, i32)
       
   342 DEF_HELPER_2(neon_qneg_s32, i32, env, i32)
       
   343 
       
   344 DEF_HELPER_0(neon_trn_u8, void)
       
   345 DEF_HELPER_0(neon_trn_u16, void)
       
   346 DEF_HELPER_0(neon_unzip_u8, void)
       
   347 DEF_HELPER_0(neon_zip_u8, void)
       
   348 DEF_HELPER_0(neon_zip_u16, void)
       
   349 
       
   350 DEF_HELPER_2(neon_min_f32, i32, i32, i32)
       
   351 DEF_HELPER_2(neon_max_f32, i32, i32, i32)
       
   352 DEF_HELPER_2(neon_abd_f32, i32, i32, i32)
       
   353 DEF_HELPER_2(neon_add_f32, i32, i32, i32)
       
   354 DEF_HELPER_2(neon_sub_f32, i32, i32, i32)
       
   355 DEF_HELPER_2(neon_mul_f32, i32, i32, i32)
       
   356 DEF_HELPER_2(neon_ceq_f32, i32, i32, i32)
       
   357 DEF_HELPER_2(neon_cge_f32, i32, i32, i32)
       
   358 DEF_HELPER_2(neon_cgt_f32, i32, i32, i32)
       
   359 DEF_HELPER_2(neon_acge_f32, i32, i32, i32)
       
   360 DEF_HELPER_2(neon_acgt_f32, i32, i32, i32)
       
   361 
       
   362 /* iwmmxt_helper.c */
       
   363 DEF_HELPER_2(iwmmxt_maddsq, i64, i64, i64)
       
   364 DEF_HELPER_2(iwmmxt_madduq, i64, i64, i64)
       
   365 DEF_HELPER_2(iwmmxt_sadb, i64, i64, i64)
       
   366 DEF_HELPER_2(iwmmxt_sadw, i64, i64, i64)
       
   367 DEF_HELPER_2(iwmmxt_mulslw, i64, i64, i64)
       
   368 DEF_HELPER_2(iwmmxt_mulshw, i64, i64, i64)
       
   369 DEF_HELPER_2(iwmmxt_mululw, i64, i64, i64)
       
   370 DEF_HELPER_2(iwmmxt_muluhw, i64, i64, i64)
       
   371 DEF_HELPER_2(iwmmxt_macsw, i64, i64, i64)
       
   372 DEF_HELPER_2(iwmmxt_macuw, i64, i64, i64)
       
   373 DEF_HELPER_1(iwmmxt_setpsr_nz, i32, i64)
       
   374 
       
   375 #define DEF_IWMMXT_HELPER_SIZE_ENV(name) \
       
   376 DEF_HELPER_3(iwmmxt_##name##b, i64, env, i64, i64) \
       
   377 DEF_HELPER_3(iwmmxt_##name##w, i64, env, i64, i64) \
       
   378 DEF_HELPER_3(iwmmxt_##name##l, i64, env, i64, i64) \
       
   379 
       
   380 DEF_IWMMXT_HELPER_SIZE_ENV(unpackl)
       
   381 DEF_IWMMXT_HELPER_SIZE_ENV(unpackh)
       
   382 
       
   383 DEF_HELPER_2(iwmmxt_unpacklub, i64, env, i64)
       
   384 DEF_HELPER_2(iwmmxt_unpackluw, i64, env, i64)
       
   385 DEF_HELPER_2(iwmmxt_unpacklul, i64, env, i64)
       
   386 DEF_HELPER_2(iwmmxt_unpackhub, i64, env, i64)
       
   387 DEF_HELPER_2(iwmmxt_unpackhuw, i64, env, i64)
       
   388 DEF_HELPER_2(iwmmxt_unpackhul, i64, env, i64)
       
   389 DEF_HELPER_2(iwmmxt_unpacklsb, i64, env, i64)
       
   390 DEF_HELPER_2(iwmmxt_unpacklsw, i64, env, i64)
       
   391 DEF_HELPER_2(iwmmxt_unpacklsl, i64, env, i64)
       
   392 DEF_HELPER_2(iwmmxt_unpackhsb, i64, env, i64)
       
   393 DEF_HELPER_2(iwmmxt_unpackhsw, i64, env, i64)
       
   394 DEF_HELPER_2(iwmmxt_unpackhsl, i64, env, i64)
       
   395 
       
   396 DEF_IWMMXT_HELPER_SIZE_ENV(cmpeq)
       
   397 DEF_IWMMXT_HELPER_SIZE_ENV(cmpgtu)
       
   398 DEF_IWMMXT_HELPER_SIZE_ENV(cmpgts)
       
   399 
       
   400 DEF_IWMMXT_HELPER_SIZE_ENV(mins)
       
   401 DEF_IWMMXT_HELPER_SIZE_ENV(minu)
       
   402 DEF_IWMMXT_HELPER_SIZE_ENV(maxs)
       
   403 DEF_IWMMXT_HELPER_SIZE_ENV(maxu)
       
   404 
       
   405 DEF_IWMMXT_HELPER_SIZE_ENV(subn)
       
   406 DEF_IWMMXT_HELPER_SIZE_ENV(addn)
       
   407 DEF_IWMMXT_HELPER_SIZE_ENV(subu)
       
   408 DEF_IWMMXT_HELPER_SIZE_ENV(addu)
       
   409 DEF_IWMMXT_HELPER_SIZE_ENV(subs)
       
   410 DEF_IWMMXT_HELPER_SIZE_ENV(adds)
       
   411 
       
   412 DEF_HELPER_3(iwmmxt_avgb0, i64, env, i64, i64)
       
   413 DEF_HELPER_3(iwmmxt_avgb1, i64, env, i64, i64)
       
   414 DEF_HELPER_3(iwmmxt_avgw0, i64, env, i64, i64)
       
   415 DEF_HELPER_3(iwmmxt_avgw1, i64, env, i64, i64)
       
   416 
       
   417 DEF_HELPER_2(iwmmxt_msadb, i64, i64, i64)
       
   418 
       
   419 DEF_HELPER_3(iwmmxt_align, i64, i64, i64, i32)
       
   420 DEF_HELPER_4(iwmmxt_insr, i64, i64, i32, i32, i32)
       
   421 
       
   422 DEF_HELPER_1(iwmmxt_bcstb, i64, i32)
       
   423 DEF_HELPER_1(iwmmxt_bcstw, i64, i32)
       
   424 DEF_HELPER_1(iwmmxt_bcstl, i64, i32)
       
   425 
       
   426 DEF_HELPER_1(iwmmxt_addcb, i64, i64)
       
   427 DEF_HELPER_1(iwmmxt_addcw, i64, i64)
       
   428 DEF_HELPER_1(iwmmxt_addcl, i64, i64)
       
   429 
       
   430 DEF_HELPER_1(iwmmxt_msbb, i32, i64)
       
   431 DEF_HELPER_1(iwmmxt_msbw, i32, i64)
       
   432 DEF_HELPER_1(iwmmxt_msbl, i32, i64)
       
   433 
       
   434 DEF_HELPER_3(iwmmxt_srlw, i64, env, i64, i32)
       
   435 DEF_HELPER_3(iwmmxt_srll, i64, env, i64, i32)
       
   436 DEF_HELPER_3(iwmmxt_srlq, i64, env, i64, i32)
       
   437 DEF_HELPER_3(iwmmxt_sllw, i64, env, i64, i32)
       
   438 DEF_HELPER_3(iwmmxt_slll, i64, env, i64, i32)
       
   439 DEF_HELPER_3(iwmmxt_sllq, i64, env, i64, i32)
       
   440 DEF_HELPER_3(iwmmxt_sraw, i64, env, i64, i32)
       
   441 DEF_HELPER_3(iwmmxt_sral, i64, env, i64, i32)
       
   442 DEF_HELPER_3(iwmmxt_sraq, i64, env, i64, i32)
       
   443 DEF_HELPER_3(iwmmxt_rorw, i64, env, i64, i32)
       
   444 DEF_HELPER_3(iwmmxt_rorl, i64, env, i64, i32)
       
   445 DEF_HELPER_3(iwmmxt_rorq, i64, env, i64, i32)
       
   446 DEF_HELPER_3(iwmmxt_shufh, i64, env, i64, i32)
       
   447 
       
   448 DEF_HELPER_3(iwmmxt_packuw, i64, env, i64, i64)
       
   449 DEF_HELPER_3(iwmmxt_packul, i64, env, i64, i64)
       
   450 DEF_HELPER_3(iwmmxt_packuq, i64, env, i64, i64)
       
   451 DEF_HELPER_3(iwmmxt_packsw, i64, env, i64, i64)
       
   452 DEF_HELPER_3(iwmmxt_packsl, i64, env, i64, i64)
       
   453 DEF_HELPER_3(iwmmxt_packsq, i64, env, i64, i64)
       
   454 
       
   455 DEF_HELPER_3(iwmmxt_muladdsl, i64, i64, i32, i32)
       
   456 DEF_HELPER_3(iwmmxt_muladdsw, i64, i64, i32, i32)
       
   457 DEF_HELPER_3(iwmmxt_muladdswl, i64, i64, i32, i32)
       
   458 
       
   459 DEF_HELPER_2(set_teecr, void, env, i32)
       
   460 
       
   461 #include "def-helper.h"