1944eea96SRichard Henderson DEF_HELPER_FLAGS_2(div_i32, TCG_CALL_NO_RWG_SE, s32, s32, s32) 2944eea96SRichard Henderson DEF_HELPER_FLAGS_2(rem_i32, TCG_CALL_NO_RWG_SE, s32, s32, s32) 3944eea96SRichard Henderson DEF_HELPER_FLAGS_2(divu_i32, TCG_CALL_NO_RWG_SE, i32, i32, i32) 4944eea96SRichard Henderson DEF_HELPER_FLAGS_2(remu_i32, TCG_CALL_NO_RWG_SE, i32, i32, i32) 596e132e2SBlue Swirl 6944eea96SRichard Henderson DEF_HELPER_FLAGS_2(div_i64, TCG_CALL_NO_RWG_SE, s64, s64, s64) 7944eea96SRichard Henderson DEF_HELPER_FLAGS_2(rem_i64, TCG_CALL_NO_RWG_SE, s64, s64, s64) 8944eea96SRichard Henderson DEF_HELPER_FLAGS_2(divu_i64, TCG_CALL_NO_RWG_SE, i64, i64, i64) 9944eea96SRichard Henderson DEF_HELPER_FLAGS_2(remu_i64, TCG_CALL_NO_RWG_SE, i64, i64, i64) 1031d66551SAurelien Jarno 11944eea96SRichard Henderson DEF_HELPER_FLAGS_2(shl_i64, TCG_CALL_NO_RWG_SE, i64, i64, i64) 12944eea96SRichard Henderson DEF_HELPER_FLAGS_2(shr_i64, TCG_CALL_NO_RWG_SE, i64, i64, i64) 13944eea96SRichard Henderson DEF_HELPER_FLAGS_2(sar_i64, TCG_CALL_NO_RWG_SE, s64, s64, s64) 1496e132e2SBlue Swirl 15944eea96SRichard Henderson DEF_HELPER_FLAGS_2(mulsh_i64, TCG_CALL_NO_RWG_SE, s64, s64, s64) 16944eea96SRichard Henderson DEF_HELPER_FLAGS_2(muluh_i64, TCG_CALL_NO_RWG_SE, i64, i64, i64) 17c482cb11SRichard Henderson 180e28d006SRichard Henderson DEF_HELPER_FLAGS_2(clz_i32, TCG_CALL_NO_RWG_SE, i32, i32, i32) 190e28d006SRichard Henderson DEF_HELPER_FLAGS_2(ctz_i32, TCG_CALL_NO_RWG_SE, i32, i32, i32) 200e28d006SRichard Henderson DEF_HELPER_FLAGS_2(clz_i64, TCG_CALL_NO_RWG_SE, i64, i64, i64) 210e28d006SRichard Henderson DEF_HELPER_FLAGS_2(ctz_i64, TCG_CALL_NO_RWG_SE, i64, i64, i64) 22086920c2SRichard Henderson DEF_HELPER_FLAGS_1(clrsb_i32, TCG_CALL_NO_RWG_SE, i32, i32) 23086920c2SRichard Henderson DEF_HELPER_FLAGS_1(clrsb_i64, TCG_CALL_NO_RWG_SE, i64, i64) 24a768e4e9SRichard Henderson DEF_HELPER_FLAGS_1(ctpop_i32, TCG_CALL_NO_RWG_SE, i32, i32) 25a768e4e9SRichard Henderson DEF_HELPER_FLAGS_1(ctpop_i64, TCG_CALL_NO_RWG_SE, i64, i64) 260e28d006SRichard Henderson 27db0c51a3SRichard Henderson DEF_HELPER_FLAGS_1(lookup_tb_ptr, TCG_CALL_NO_WG_SE, cptr, env) 28cedbcb01SEmilio G. Cota 29df79b996SRichard Henderson DEF_HELPER_FLAGS_1(exit_atomic, TCG_CALL_NO_WG, noreturn, env) 30df79b996SRichard Henderson 316d3ef048SRichard Henderson #ifndef IN_HELPER_PROTO 326d3ef048SRichard Henderson /* 336d3ef048SRichard Henderson * Pass calls to memset directly to libc, without a thunk in qemu. 346d3ef048SRichard Henderson * Do not re-declare memset, especially since we fudge the type here; 356d3ef048SRichard Henderson * we assume sizeof(void *) == sizeof(size_t), which is true for 366d3ef048SRichard Henderson * all supported hosts. 376d3ef048SRichard Henderson */ 386d3ef048SRichard Henderson #define helper_memset memset 396d3ef048SRichard Henderson DEF_HELPER_FLAGS_3(memset, TCG_CALL_NO_RWG, ptr, ptr, int, ptr) 406d3ef048SRichard Henderson #endif /* IN_HELPER_PROTO */ 416d3ef048SRichard Henderson 42e570597aSRichard Henderson DEF_HELPER_FLAGS_3(ld_i128, TCG_CALL_NO_WG, i128, env, i64, i32) 43e570597aSRichard Henderson DEF_HELPER_FLAGS_4(st_i128, TCG_CALL_NO_WG, void, env, i64, i128, i32) 4435c653c4SRichard Henderson 45c482cb11SRichard Henderson DEF_HELPER_FLAGS_5(atomic_cmpxchgb, TCG_CALL_NO_WG, 46ddfdd417SRichard Henderson i32, env, i64, i32, i32, i32) 47c482cb11SRichard Henderson DEF_HELPER_FLAGS_5(atomic_cmpxchgw_be, TCG_CALL_NO_WG, 48ddfdd417SRichard Henderson i32, env, i64, i32, i32, i32) 49c482cb11SRichard Henderson DEF_HELPER_FLAGS_5(atomic_cmpxchgw_le, TCG_CALL_NO_WG, 50ddfdd417SRichard Henderson i32, env, i64, i32, i32, i32) 51df79b996SRichard Henderson DEF_HELPER_FLAGS_5(atomic_cmpxchgl_be, TCG_CALL_NO_WG, 52ddfdd417SRichard Henderson i32, env, i64, i32, i32, i32) 53c482cb11SRichard Henderson DEF_HELPER_FLAGS_5(atomic_cmpxchgl_le, TCG_CALL_NO_WG, 54ddfdd417SRichard Henderson i32, env, i64, i32, i32, i32) 55df79b996SRichard Henderson #ifdef CONFIG_ATOMIC64 56df79b996SRichard Henderson DEF_HELPER_FLAGS_5(atomic_cmpxchgq_be, TCG_CALL_NO_WG, 57ddfdd417SRichard Henderson i64, env, i64, i64, i64, i32) 58c482cb11SRichard Henderson DEF_HELPER_FLAGS_5(atomic_cmpxchgq_le, TCG_CALL_NO_WG, 59ddfdd417SRichard Henderson i64, env, i64, i64, i64, i32) 60df79b996SRichard Henderson #endif 6176f9d6adSRichard Henderson #if HAVE_CMPXCHG128 62123ae568SRichard Henderson DEF_HELPER_FLAGS_5(atomic_cmpxchgo_be, TCG_CALL_NO_WG, 63ddfdd417SRichard Henderson i128, env, i64, i128, i128, i32) 64123ae568SRichard Henderson DEF_HELPER_FLAGS_5(atomic_cmpxchgo_le, TCG_CALL_NO_WG, 65ddfdd417SRichard Henderson i128, env, i64, i128, i128, i32) 66123ae568SRichard Henderson #endif 67123ae568SRichard Henderson 68fbea7a40SRichard Henderson DEF_HELPER_FLAGS_5(nonatomic_cmpxchgo, TCG_CALL_NO_WG, 69ddfdd417SRichard Henderson i128, env, i64, i128, i128, i32) 70c482cb11SRichard Henderson 71df79b996SRichard Henderson #ifdef CONFIG_ATOMIC64 72c482cb11SRichard Henderson #define GEN_ATOMIC_HELPERS(NAME) \ 73c482cb11SRichard Henderson DEF_HELPER_FLAGS_4(glue(glue(atomic_, NAME), b), \ 74ddfdd417SRichard Henderson TCG_CALL_NO_WG, i32, env, i64, i32, i32) \ 75c482cb11SRichard Henderson DEF_HELPER_FLAGS_4(glue(glue(atomic_, NAME), w_le), \ 76ddfdd417SRichard Henderson TCG_CALL_NO_WG, i32, env, i64, i32, i32) \ 77c482cb11SRichard Henderson DEF_HELPER_FLAGS_4(glue(glue(atomic_, NAME), w_be), \ 78ddfdd417SRichard Henderson TCG_CALL_NO_WG, i32, env, i64, i32, i32) \ 79c482cb11SRichard Henderson DEF_HELPER_FLAGS_4(glue(glue(atomic_, NAME), l_le), \ 80ddfdd417SRichard Henderson TCG_CALL_NO_WG, i32, env, i64, i32, i32) \ 81c482cb11SRichard Henderson DEF_HELPER_FLAGS_4(glue(glue(atomic_, NAME), l_be), \ 82ddfdd417SRichard Henderson TCG_CALL_NO_WG, i32, env, i64, i32, i32) \ 83c482cb11SRichard Henderson DEF_HELPER_FLAGS_4(glue(glue(atomic_, NAME), q_le), \ 84ddfdd417SRichard Henderson TCG_CALL_NO_WG, i64, env, i64, i64, i32) \ 85c482cb11SRichard Henderson DEF_HELPER_FLAGS_4(glue(glue(atomic_, NAME), q_be), \ 86ddfdd417SRichard Henderson TCG_CALL_NO_WG, i64, env, i64, i64, i32) 87df79b996SRichard Henderson #else 88df79b996SRichard Henderson #define GEN_ATOMIC_HELPERS(NAME) \ 89df79b996SRichard Henderson DEF_HELPER_FLAGS_4(glue(glue(atomic_, NAME), b), \ 90ddfdd417SRichard Henderson TCG_CALL_NO_WG, i32, env, i64, i32, i32) \ 91df79b996SRichard Henderson DEF_HELPER_FLAGS_4(glue(glue(atomic_, NAME), w_le), \ 92ddfdd417SRichard Henderson TCG_CALL_NO_WG, i32, env, i64, i32, i32) \ 93df79b996SRichard Henderson DEF_HELPER_FLAGS_4(glue(glue(atomic_, NAME), w_be), \ 94ddfdd417SRichard Henderson TCG_CALL_NO_WG, i32, env, i64, i32, i32) \ 95df79b996SRichard Henderson DEF_HELPER_FLAGS_4(glue(glue(atomic_, NAME), l_le), \ 96ddfdd417SRichard Henderson TCG_CALL_NO_WG, i32, env, i64, i32, i32) \ 97df79b996SRichard Henderson DEF_HELPER_FLAGS_4(glue(glue(atomic_, NAME), l_be), \ 98ddfdd417SRichard Henderson TCG_CALL_NO_WG, i32, env, i64, i32, i32) 99df79b996SRichard Henderson #endif /* CONFIG_ATOMIC64 */ 100c482cb11SRichard Henderson 101c482cb11SRichard Henderson GEN_ATOMIC_HELPERS(fetch_add) 102c482cb11SRichard Henderson GEN_ATOMIC_HELPERS(fetch_and) 103c482cb11SRichard Henderson GEN_ATOMIC_HELPERS(fetch_or) 104c482cb11SRichard Henderson GEN_ATOMIC_HELPERS(fetch_xor) 1055507c2bfSRichard Henderson GEN_ATOMIC_HELPERS(fetch_smin) 1065507c2bfSRichard Henderson GEN_ATOMIC_HELPERS(fetch_umin) 1075507c2bfSRichard Henderson GEN_ATOMIC_HELPERS(fetch_smax) 1085507c2bfSRichard Henderson GEN_ATOMIC_HELPERS(fetch_umax) 109c482cb11SRichard Henderson 110c482cb11SRichard Henderson GEN_ATOMIC_HELPERS(add_fetch) 111c482cb11SRichard Henderson GEN_ATOMIC_HELPERS(and_fetch) 112c482cb11SRichard Henderson GEN_ATOMIC_HELPERS(or_fetch) 113c482cb11SRichard Henderson GEN_ATOMIC_HELPERS(xor_fetch) 1145507c2bfSRichard Henderson GEN_ATOMIC_HELPERS(smin_fetch) 1155507c2bfSRichard Henderson GEN_ATOMIC_HELPERS(umin_fetch) 1165507c2bfSRichard Henderson GEN_ATOMIC_HELPERS(smax_fetch) 1175507c2bfSRichard Henderson GEN_ATOMIC_HELPERS(umax_fetch) 118c482cb11SRichard Henderson 119c482cb11SRichard Henderson GEN_ATOMIC_HELPERS(xchg) 120c482cb11SRichard Henderson 121c482cb11SRichard Henderson #undef GEN_ATOMIC_HELPERS 122db432672SRichard Henderson 123db432672SRichard Henderson DEF_HELPER_FLAGS_3(gvec_mov, TCG_CALL_NO_RWG, void, ptr, ptr, i32) 124db432672SRichard Henderson 125db432672SRichard Henderson DEF_HELPER_FLAGS_3(gvec_dup8, TCG_CALL_NO_RWG, void, ptr, i32, i32) 126db432672SRichard Henderson DEF_HELPER_FLAGS_3(gvec_dup16, TCG_CALL_NO_RWG, void, ptr, i32, i32) 127db432672SRichard Henderson DEF_HELPER_FLAGS_3(gvec_dup32, TCG_CALL_NO_RWG, void, ptr, i32, i32) 128db432672SRichard Henderson DEF_HELPER_FLAGS_3(gvec_dup64, TCG_CALL_NO_RWG, void, ptr, i32, i64) 129db432672SRichard Henderson 130db432672SRichard Henderson DEF_HELPER_FLAGS_4(gvec_add8, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32) 131db432672SRichard Henderson DEF_HELPER_FLAGS_4(gvec_add16, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32) 132db432672SRichard Henderson DEF_HELPER_FLAGS_4(gvec_add32, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32) 133db432672SRichard Henderson DEF_HELPER_FLAGS_4(gvec_add64, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32) 134db432672SRichard Henderson 13522fc3527SRichard Henderson DEF_HELPER_FLAGS_4(gvec_adds8, TCG_CALL_NO_RWG, void, ptr, ptr, i64, i32) 13622fc3527SRichard Henderson DEF_HELPER_FLAGS_4(gvec_adds16, TCG_CALL_NO_RWG, void, ptr, ptr, i64, i32) 13722fc3527SRichard Henderson DEF_HELPER_FLAGS_4(gvec_adds32, TCG_CALL_NO_RWG, void, ptr, ptr, i64, i32) 13822fc3527SRichard Henderson DEF_HELPER_FLAGS_4(gvec_adds64, TCG_CALL_NO_RWG, void, ptr, ptr, i64, i32) 13922fc3527SRichard Henderson 140db432672SRichard Henderson DEF_HELPER_FLAGS_4(gvec_sub8, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32) 141db432672SRichard Henderson DEF_HELPER_FLAGS_4(gvec_sub16, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32) 142db432672SRichard Henderson DEF_HELPER_FLAGS_4(gvec_sub32, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32) 143db432672SRichard Henderson DEF_HELPER_FLAGS_4(gvec_sub64, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32) 144db432672SRichard Henderson 14522fc3527SRichard Henderson DEF_HELPER_FLAGS_4(gvec_subs8, TCG_CALL_NO_RWG, void, ptr, ptr, i64, i32) 14622fc3527SRichard Henderson DEF_HELPER_FLAGS_4(gvec_subs16, TCG_CALL_NO_RWG, void, ptr, ptr, i64, i32) 14722fc3527SRichard Henderson DEF_HELPER_FLAGS_4(gvec_subs32, TCG_CALL_NO_RWG, void, ptr, ptr, i64, i32) 14822fc3527SRichard Henderson DEF_HELPER_FLAGS_4(gvec_subs64, TCG_CALL_NO_RWG, void, ptr, ptr, i64, i32) 14922fc3527SRichard Henderson 1503774030aSRichard Henderson DEF_HELPER_FLAGS_4(gvec_mul8, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32) 1513774030aSRichard Henderson DEF_HELPER_FLAGS_4(gvec_mul16, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32) 1523774030aSRichard Henderson DEF_HELPER_FLAGS_4(gvec_mul32, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32) 1533774030aSRichard Henderson DEF_HELPER_FLAGS_4(gvec_mul64, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32) 1543774030aSRichard Henderson 15522fc3527SRichard Henderson DEF_HELPER_FLAGS_4(gvec_muls8, TCG_CALL_NO_RWG, void, ptr, ptr, i64, i32) 15622fc3527SRichard Henderson DEF_HELPER_FLAGS_4(gvec_muls16, TCG_CALL_NO_RWG, void, ptr, ptr, i64, i32) 15722fc3527SRichard Henderson DEF_HELPER_FLAGS_4(gvec_muls32, TCG_CALL_NO_RWG, void, ptr, ptr, i64, i32) 15822fc3527SRichard Henderson DEF_HELPER_FLAGS_4(gvec_muls64, TCG_CALL_NO_RWG, void, ptr, ptr, i64, i32) 15922fc3527SRichard Henderson 160f49b12c6SRichard Henderson DEF_HELPER_FLAGS_4(gvec_ssadd8, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32) 161f49b12c6SRichard Henderson DEF_HELPER_FLAGS_4(gvec_ssadd16, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32) 162f49b12c6SRichard Henderson DEF_HELPER_FLAGS_4(gvec_ssadd32, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32) 163f49b12c6SRichard Henderson DEF_HELPER_FLAGS_4(gvec_ssadd64, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32) 164f49b12c6SRichard Henderson 165f49b12c6SRichard Henderson DEF_HELPER_FLAGS_4(gvec_sssub8, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32) 166f49b12c6SRichard Henderson DEF_HELPER_FLAGS_4(gvec_sssub16, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32) 167f49b12c6SRichard Henderson DEF_HELPER_FLAGS_4(gvec_sssub32, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32) 168f49b12c6SRichard Henderson DEF_HELPER_FLAGS_4(gvec_sssub64, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32) 169f49b12c6SRichard Henderson 170f49b12c6SRichard Henderson DEF_HELPER_FLAGS_4(gvec_usadd8, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32) 171f49b12c6SRichard Henderson DEF_HELPER_FLAGS_4(gvec_usadd16, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32) 172f49b12c6SRichard Henderson DEF_HELPER_FLAGS_4(gvec_usadd32, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32) 173f49b12c6SRichard Henderson DEF_HELPER_FLAGS_4(gvec_usadd64, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32) 174f49b12c6SRichard Henderson 175f49b12c6SRichard Henderson DEF_HELPER_FLAGS_4(gvec_ussub8, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32) 176f49b12c6SRichard Henderson DEF_HELPER_FLAGS_4(gvec_ussub16, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32) 177f49b12c6SRichard Henderson DEF_HELPER_FLAGS_4(gvec_ussub32, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32) 178f49b12c6SRichard Henderson DEF_HELPER_FLAGS_4(gvec_ussub64, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32) 179f49b12c6SRichard Henderson 180dd0a0fcdSRichard Henderson DEF_HELPER_FLAGS_4(gvec_smin8, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32) 181dd0a0fcdSRichard Henderson DEF_HELPER_FLAGS_4(gvec_smin16, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32) 182dd0a0fcdSRichard Henderson DEF_HELPER_FLAGS_4(gvec_smin32, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32) 183dd0a0fcdSRichard Henderson DEF_HELPER_FLAGS_4(gvec_smin64, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32) 184dd0a0fcdSRichard Henderson 185dd0a0fcdSRichard Henderson DEF_HELPER_FLAGS_4(gvec_smax8, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32) 186dd0a0fcdSRichard Henderson DEF_HELPER_FLAGS_4(gvec_smax16, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32) 187dd0a0fcdSRichard Henderson DEF_HELPER_FLAGS_4(gvec_smax32, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32) 188dd0a0fcdSRichard Henderson DEF_HELPER_FLAGS_4(gvec_smax64, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32) 189dd0a0fcdSRichard Henderson 190dd0a0fcdSRichard Henderson DEF_HELPER_FLAGS_4(gvec_umin8, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32) 191dd0a0fcdSRichard Henderson DEF_HELPER_FLAGS_4(gvec_umin16, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32) 192dd0a0fcdSRichard Henderson DEF_HELPER_FLAGS_4(gvec_umin32, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32) 193dd0a0fcdSRichard Henderson DEF_HELPER_FLAGS_4(gvec_umin64, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32) 194dd0a0fcdSRichard Henderson 195dd0a0fcdSRichard Henderson DEF_HELPER_FLAGS_4(gvec_umax8, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32) 196dd0a0fcdSRichard Henderson DEF_HELPER_FLAGS_4(gvec_umax16, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32) 197dd0a0fcdSRichard Henderson DEF_HELPER_FLAGS_4(gvec_umax32, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32) 198dd0a0fcdSRichard Henderson DEF_HELPER_FLAGS_4(gvec_umax64, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32) 199dd0a0fcdSRichard Henderson 200db432672SRichard Henderson DEF_HELPER_FLAGS_3(gvec_neg8, TCG_CALL_NO_RWG, void, ptr, ptr, i32) 201db432672SRichard Henderson DEF_HELPER_FLAGS_3(gvec_neg16, TCG_CALL_NO_RWG, void, ptr, ptr, i32) 202db432672SRichard Henderson DEF_HELPER_FLAGS_3(gvec_neg32, TCG_CALL_NO_RWG, void, ptr, ptr, i32) 203db432672SRichard Henderson DEF_HELPER_FLAGS_3(gvec_neg64, TCG_CALL_NO_RWG, void, ptr, ptr, i32) 204db432672SRichard Henderson 205bcefc902SRichard Henderson DEF_HELPER_FLAGS_3(gvec_abs8, TCG_CALL_NO_RWG, void, ptr, ptr, i32) 206bcefc902SRichard Henderson DEF_HELPER_FLAGS_3(gvec_abs16, TCG_CALL_NO_RWG, void, ptr, ptr, i32) 207bcefc902SRichard Henderson DEF_HELPER_FLAGS_3(gvec_abs32, TCG_CALL_NO_RWG, void, ptr, ptr, i32) 208bcefc902SRichard Henderson DEF_HELPER_FLAGS_3(gvec_abs64, TCG_CALL_NO_RWG, void, ptr, ptr, i32) 209bcefc902SRichard Henderson 210db432672SRichard Henderson DEF_HELPER_FLAGS_3(gvec_not, TCG_CALL_NO_RWG, void, ptr, ptr, i32) 211db432672SRichard Henderson DEF_HELPER_FLAGS_4(gvec_and, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32) 212db432672SRichard Henderson DEF_HELPER_FLAGS_4(gvec_or, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32) 213db432672SRichard Henderson DEF_HELPER_FLAGS_4(gvec_xor, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32) 214db432672SRichard Henderson DEF_HELPER_FLAGS_4(gvec_andc, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32) 215db432672SRichard Henderson DEF_HELPER_FLAGS_4(gvec_orc, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32) 216f550805dSRichard Henderson DEF_HELPER_FLAGS_4(gvec_nand, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32) 217f550805dSRichard Henderson DEF_HELPER_FLAGS_4(gvec_nor, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32) 218f550805dSRichard Henderson DEF_HELPER_FLAGS_4(gvec_eqv, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32) 219d0ec9796SRichard Henderson 22022fc3527SRichard Henderson DEF_HELPER_FLAGS_4(gvec_ands, TCG_CALL_NO_RWG, void, ptr, ptr, i64, i32) 2214221aa4aSNazar Kazakov DEF_HELPER_FLAGS_4(gvec_andcs, TCG_CALL_NO_RWG, void, ptr, ptr, i64, i32) 22222fc3527SRichard Henderson DEF_HELPER_FLAGS_4(gvec_xors, TCG_CALL_NO_RWG, void, ptr, ptr, i64, i32) 22322fc3527SRichard Henderson DEF_HELPER_FLAGS_4(gvec_ors, TCG_CALL_NO_RWG, void, ptr, ptr, i64, i32) 22422fc3527SRichard Henderson 225d0ec9796SRichard Henderson DEF_HELPER_FLAGS_3(gvec_shl8i, TCG_CALL_NO_RWG, void, ptr, ptr, i32) 226d0ec9796SRichard Henderson DEF_HELPER_FLAGS_3(gvec_shl16i, TCG_CALL_NO_RWG, void, ptr, ptr, i32) 227d0ec9796SRichard Henderson DEF_HELPER_FLAGS_3(gvec_shl32i, TCG_CALL_NO_RWG, void, ptr, ptr, i32) 228d0ec9796SRichard Henderson DEF_HELPER_FLAGS_3(gvec_shl64i, TCG_CALL_NO_RWG, void, ptr, ptr, i32) 229d0ec9796SRichard Henderson 230d0ec9796SRichard Henderson DEF_HELPER_FLAGS_3(gvec_shr8i, TCG_CALL_NO_RWG, void, ptr, ptr, i32) 231d0ec9796SRichard Henderson DEF_HELPER_FLAGS_3(gvec_shr16i, TCG_CALL_NO_RWG, void, ptr, ptr, i32) 232d0ec9796SRichard Henderson DEF_HELPER_FLAGS_3(gvec_shr32i, TCG_CALL_NO_RWG, void, ptr, ptr, i32) 233d0ec9796SRichard Henderson DEF_HELPER_FLAGS_3(gvec_shr64i, TCG_CALL_NO_RWG, void, ptr, ptr, i32) 234d0ec9796SRichard Henderson 235d0ec9796SRichard Henderson DEF_HELPER_FLAGS_3(gvec_sar8i, TCG_CALL_NO_RWG, void, ptr, ptr, i32) 236d0ec9796SRichard Henderson DEF_HELPER_FLAGS_3(gvec_sar16i, TCG_CALL_NO_RWG, void, ptr, ptr, i32) 237d0ec9796SRichard Henderson DEF_HELPER_FLAGS_3(gvec_sar32i, TCG_CALL_NO_RWG, void, ptr, ptr, i32) 238d0ec9796SRichard Henderson DEF_HELPER_FLAGS_3(gvec_sar64i, TCG_CALL_NO_RWG, void, ptr, ptr, i32) 239212be173SRichard Henderson 240b0f7e744SRichard Henderson DEF_HELPER_FLAGS_3(gvec_rotl8i, TCG_CALL_NO_RWG, void, ptr, ptr, i32) 241b0f7e744SRichard Henderson DEF_HELPER_FLAGS_3(gvec_rotl16i, TCG_CALL_NO_RWG, void, ptr, ptr, i32) 242b0f7e744SRichard Henderson DEF_HELPER_FLAGS_3(gvec_rotl32i, TCG_CALL_NO_RWG, void, ptr, ptr, i32) 243b0f7e744SRichard Henderson DEF_HELPER_FLAGS_3(gvec_rotl64i, TCG_CALL_NO_RWG, void, ptr, ptr, i32) 244b0f7e744SRichard Henderson 2455ee5c14cSRichard Henderson DEF_HELPER_FLAGS_4(gvec_shl8v, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32) 2465ee5c14cSRichard Henderson DEF_HELPER_FLAGS_4(gvec_shl16v, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32) 2475ee5c14cSRichard Henderson DEF_HELPER_FLAGS_4(gvec_shl32v, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32) 2485ee5c14cSRichard Henderson DEF_HELPER_FLAGS_4(gvec_shl64v, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32) 2495ee5c14cSRichard Henderson 2505ee5c14cSRichard Henderson DEF_HELPER_FLAGS_4(gvec_shr8v, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32) 2515ee5c14cSRichard Henderson DEF_HELPER_FLAGS_4(gvec_shr16v, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32) 2525ee5c14cSRichard Henderson DEF_HELPER_FLAGS_4(gvec_shr32v, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32) 2535ee5c14cSRichard Henderson DEF_HELPER_FLAGS_4(gvec_shr64v, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32) 2545ee5c14cSRichard Henderson 2555ee5c14cSRichard Henderson DEF_HELPER_FLAGS_4(gvec_sar8v, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32) 2565ee5c14cSRichard Henderson DEF_HELPER_FLAGS_4(gvec_sar16v, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32) 2575ee5c14cSRichard Henderson DEF_HELPER_FLAGS_4(gvec_sar32v, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32) 2585ee5c14cSRichard Henderson DEF_HELPER_FLAGS_4(gvec_sar64v, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32) 2595ee5c14cSRichard Henderson 2605d0ceda9SRichard Henderson DEF_HELPER_FLAGS_4(gvec_rotl8v, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32) 2615d0ceda9SRichard Henderson DEF_HELPER_FLAGS_4(gvec_rotl16v, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32) 2625d0ceda9SRichard Henderson DEF_HELPER_FLAGS_4(gvec_rotl32v, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32) 2635d0ceda9SRichard Henderson DEF_HELPER_FLAGS_4(gvec_rotl64v, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32) 2645d0ceda9SRichard Henderson 2655d0ceda9SRichard Henderson DEF_HELPER_FLAGS_4(gvec_rotr8v, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32) 2665d0ceda9SRichard Henderson DEF_HELPER_FLAGS_4(gvec_rotr16v, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32) 2675d0ceda9SRichard Henderson DEF_HELPER_FLAGS_4(gvec_rotr32v, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32) 2685d0ceda9SRichard Henderson DEF_HELPER_FLAGS_4(gvec_rotr64v, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32) 2695d0ceda9SRichard Henderson 270212be173SRichard Henderson DEF_HELPER_FLAGS_4(gvec_eq8, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32) 271212be173SRichard Henderson DEF_HELPER_FLAGS_4(gvec_eq16, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32) 272212be173SRichard Henderson DEF_HELPER_FLAGS_4(gvec_eq32, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32) 273212be173SRichard Henderson DEF_HELPER_FLAGS_4(gvec_eq64, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32) 274212be173SRichard Henderson 275212be173SRichard Henderson DEF_HELPER_FLAGS_4(gvec_ne8, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32) 276212be173SRichard Henderson DEF_HELPER_FLAGS_4(gvec_ne16, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32) 277212be173SRichard Henderson DEF_HELPER_FLAGS_4(gvec_ne32, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32) 278212be173SRichard Henderson DEF_HELPER_FLAGS_4(gvec_ne64, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32) 279212be173SRichard Henderson 280212be173SRichard Henderson DEF_HELPER_FLAGS_4(gvec_lt8, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32) 281212be173SRichard Henderson DEF_HELPER_FLAGS_4(gvec_lt16, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32) 282212be173SRichard Henderson DEF_HELPER_FLAGS_4(gvec_lt32, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32) 283212be173SRichard Henderson DEF_HELPER_FLAGS_4(gvec_lt64, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32) 284212be173SRichard Henderson 285212be173SRichard Henderson DEF_HELPER_FLAGS_4(gvec_le8, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32) 286212be173SRichard Henderson DEF_HELPER_FLAGS_4(gvec_le16, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32) 287212be173SRichard Henderson DEF_HELPER_FLAGS_4(gvec_le32, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32) 288212be173SRichard Henderson DEF_HELPER_FLAGS_4(gvec_le64, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32) 289212be173SRichard Henderson 290212be173SRichard Henderson DEF_HELPER_FLAGS_4(gvec_ltu8, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32) 291212be173SRichard Henderson DEF_HELPER_FLAGS_4(gvec_ltu16, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32) 292212be173SRichard Henderson DEF_HELPER_FLAGS_4(gvec_ltu32, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32) 293212be173SRichard Henderson DEF_HELPER_FLAGS_4(gvec_ltu64, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32) 294212be173SRichard Henderson 295212be173SRichard Henderson DEF_HELPER_FLAGS_4(gvec_leu8, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32) 296212be173SRichard Henderson DEF_HELPER_FLAGS_4(gvec_leu16, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32) 297212be173SRichard Henderson DEF_HELPER_FLAGS_4(gvec_leu32, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32) 298212be173SRichard Henderson DEF_HELPER_FLAGS_4(gvec_leu64, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32) 29938dc1294SRichard Henderson 300*9622c697SRichard Henderson DEF_HELPER_FLAGS_4(gvec_eqs8, TCG_CALL_NO_RWG, void, ptr, ptr, i64, i32) 301*9622c697SRichard Henderson DEF_HELPER_FLAGS_4(gvec_eqs16, TCG_CALL_NO_RWG, void, ptr, ptr, i64, i32) 302*9622c697SRichard Henderson DEF_HELPER_FLAGS_4(gvec_eqs32, TCG_CALL_NO_RWG, void, ptr, ptr, i64, i32) 303*9622c697SRichard Henderson DEF_HELPER_FLAGS_4(gvec_eqs64, TCG_CALL_NO_RWG, void, ptr, ptr, i64, i32) 304*9622c697SRichard Henderson 305*9622c697SRichard Henderson DEF_HELPER_FLAGS_4(gvec_lts8, TCG_CALL_NO_RWG, void, ptr, ptr, i64, i32) 306*9622c697SRichard Henderson DEF_HELPER_FLAGS_4(gvec_lts16, TCG_CALL_NO_RWG, void, ptr, ptr, i64, i32) 307*9622c697SRichard Henderson DEF_HELPER_FLAGS_4(gvec_lts32, TCG_CALL_NO_RWG, void, ptr, ptr, i64, i32) 308*9622c697SRichard Henderson DEF_HELPER_FLAGS_4(gvec_lts64, TCG_CALL_NO_RWG, void, ptr, ptr, i64, i32) 309*9622c697SRichard Henderson 310*9622c697SRichard Henderson DEF_HELPER_FLAGS_4(gvec_les8, TCG_CALL_NO_RWG, void, ptr, ptr, i64, i32) 311*9622c697SRichard Henderson DEF_HELPER_FLAGS_4(gvec_les16, TCG_CALL_NO_RWG, void, ptr, ptr, i64, i32) 312*9622c697SRichard Henderson DEF_HELPER_FLAGS_4(gvec_les32, TCG_CALL_NO_RWG, void, ptr, ptr, i64, i32) 313*9622c697SRichard Henderson DEF_HELPER_FLAGS_4(gvec_les64, TCG_CALL_NO_RWG, void, ptr, ptr, i64, i32) 314*9622c697SRichard Henderson 315*9622c697SRichard Henderson DEF_HELPER_FLAGS_4(gvec_ltus8, TCG_CALL_NO_RWG, void, ptr, ptr, i64, i32) 316*9622c697SRichard Henderson DEF_HELPER_FLAGS_4(gvec_ltus16, TCG_CALL_NO_RWG, void, ptr, ptr, i64, i32) 317*9622c697SRichard Henderson DEF_HELPER_FLAGS_4(gvec_ltus32, TCG_CALL_NO_RWG, void, ptr, ptr, i64, i32) 318*9622c697SRichard Henderson DEF_HELPER_FLAGS_4(gvec_ltus64, TCG_CALL_NO_RWG, void, ptr, ptr, i64, i32) 319*9622c697SRichard Henderson 320*9622c697SRichard Henderson DEF_HELPER_FLAGS_4(gvec_leus8, TCG_CALL_NO_RWG, void, ptr, ptr, i64, i32) 321*9622c697SRichard Henderson DEF_HELPER_FLAGS_4(gvec_leus16, TCG_CALL_NO_RWG, void, ptr, ptr, i64, i32) 322*9622c697SRichard Henderson DEF_HELPER_FLAGS_4(gvec_leus32, TCG_CALL_NO_RWG, void, ptr, ptr, i64, i32) 323*9622c697SRichard Henderson DEF_HELPER_FLAGS_4(gvec_leus64, TCG_CALL_NO_RWG, void, ptr, ptr, i64, i32) 324*9622c697SRichard Henderson 32538dc1294SRichard Henderson DEF_HELPER_FLAGS_5(gvec_bitsel, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, ptr, i32) 326