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 27*db0c51a3SRichard 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 42c482cb11SRichard Henderson #ifdef CONFIG_SOFTMMU 43c482cb11SRichard Henderson 44c482cb11SRichard Henderson DEF_HELPER_FLAGS_5(atomic_cmpxchgb, TCG_CALL_NO_WG, 45c482cb11SRichard Henderson i32, env, tl, i32, i32, i32) 46c482cb11SRichard Henderson DEF_HELPER_FLAGS_5(atomic_cmpxchgw_be, TCG_CALL_NO_WG, 47c482cb11SRichard Henderson i32, env, tl, i32, i32, i32) 48c482cb11SRichard Henderson DEF_HELPER_FLAGS_5(atomic_cmpxchgw_le, TCG_CALL_NO_WG, 49c482cb11SRichard Henderson i32, env, tl, i32, i32, i32) 50df79b996SRichard Henderson DEF_HELPER_FLAGS_5(atomic_cmpxchgl_be, TCG_CALL_NO_WG, 51df79b996SRichard Henderson i32, env, tl, i32, i32, i32) 52c482cb11SRichard Henderson DEF_HELPER_FLAGS_5(atomic_cmpxchgl_le, TCG_CALL_NO_WG, 53c482cb11SRichard Henderson i32, env, tl, i32, i32, i32) 54df79b996SRichard Henderson #ifdef CONFIG_ATOMIC64 55df79b996SRichard Henderson DEF_HELPER_FLAGS_5(atomic_cmpxchgq_be, TCG_CALL_NO_WG, 56df79b996SRichard Henderson i64, env, tl, i64, i64, i32) 57c482cb11SRichard Henderson DEF_HELPER_FLAGS_5(atomic_cmpxchgq_le, TCG_CALL_NO_WG, 58c482cb11SRichard Henderson i64, env, tl, i64, i64, i32) 59df79b996SRichard Henderson #endif 60c482cb11SRichard Henderson 61df79b996SRichard Henderson #ifdef CONFIG_ATOMIC64 62c482cb11SRichard Henderson #define GEN_ATOMIC_HELPERS(NAME) \ 63c482cb11SRichard Henderson DEF_HELPER_FLAGS_4(glue(glue(atomic_, NAME), b), \ 64c482cb11SRichard Henderson TCG_CALL_NO_WG, i32, env, tl, i32, i32) \ 65c482cb11SRichard Henderson DEF_HELPER_FLAGS_4(glue(glue(atomic_, NAME), w_le), \ 66c482cb11SRichard Henderson TCG_CALL_NO_WG, i32, env, tl, i32, i32) \ 67c482cb11SRichard Henderson DEF_HELPER_FLAGS_4(glue(glue(atomic_, NAME), w_be), \ 68c482cb11SRichard Henderson TCG_CALL_NO_WG, i32, env, tl, i32, i32) \ 69c482cb11SRichard Henderson DEF_HELPER_FLAGS_4(glue(glue(atomic_, NAME), l_le), \ 70c482cb11SRichard Henderson TCG_CALL_NO_WG, i32, env, tl, i32, i32) \ 71c482cb11SRichard Henderson DEF_HELPER_FLAGS_4(glue(glue(atomic_, NAME), l_be), \ 72c482cb11SRichard Henderson TCG_CALL_NO_WG, i32, env, tl, i32, i32) \ 73c482cb11SRichard Henderson DEF_HELPER_FLAGS_4(glue(glue(atomic_, NAME), q_le), \ 74c482cb11SRichard Henderson TCG_CALL_NO_WG, i64, env, tl, i64, i32) \ 75c482cb11SRichard Henderson DEF_HELPER_FLAGS_4(glue(glue(atomic_, NAME), q_be), \ 76c482cb11SRichard Henderson TCG_CALL_NO_WG, i64, env, tl, i64, i32) 77df79b996SRichard Henderson #else 78df79b996SRichard Henderson #define GEN_ATOMIC_HELPERS(NAME) \ 79df79b996SRichard Henderson DEF_HELPER_FLAGS_4(glue(glue(atomic_, NAME), b), \ 80df79b996SRichard Henderson TCG_CALL_NO_WG, i32, env, tl, i32, i32) \ 81df79b996SRichard Henderson DEF_HELPER_FLAGS_4(glue(glue(atomic_, NAME), w_le), \ 82df79b996SRichard Henderson TCG_CALL_NO_WG, i32, env, tl, i32, i32) \ 83df79b996SRichard Henderson DEF_HELPER_FLAGS_4(glue(glue(atomic_, NAME), w_be), \ 84df79b996SRichard Henderson TCG_CALL_NO_WG, i32, env, tl, i32, i32) \ 85df79b996SRichard Henderson DEF_HELPER_FLAGS_4(glue(glue(atomic_, NAME), l_le), \ 86df79b996SRichard Henderson TCG_CALL_NO_WG, i32, env, tl, i32, i32) \ 87df79b996SRichard Henderson DEF_HELPER_FLAGS_4(glue(glue(atomic_, NAME), l_be), \ 88df79b996SRichard Henderson TCG_CALL_NO_WG, i32, env, tl, i32, i32) 89df79b996SRichard Henderson #endif /* CONFIG_ATOMIC64 */ 90c482cb11SRichard Henderson 91c482cb11SRichard Henderson #else 92c482cb11SRichard Henderson 93c482cb11SRichard Henderson DEF_HELPER_FLAGS_4(atomic_cmpxchgb, TCG_CALL_NO_WG, i32, env, tl, i32, i32) 94c482cb11SRichard Henderson DEF_HELPER_FLAGS_4(atomic_cmpxchgw_be, TCG_CALL_NO_WG, i32, env, tl, i32, i32) 95c482cb11SRichard Henderson DEF_HELPER_FLAGS_4(atomic_cmpxchgw_le, TCG_CALL_NO_WG, i32, env, tl, i32, i32) 96df79b996SRichard Henderson DEF_HELPER_FLAGS_4(atomic_cmpxchgl_be, TCG_CALL_NO_WG, i32, env, tl, i32, i32) 97c482cb11SRichard Henderson DEF_HELPER_FLAGS_4(atomic_cmpxchgl_le, TCG_CALL_NO_WG, i32, env, tl, i32, i32) 98df79b996SRichard Henderson #ifdef CONFIG_ATOMIC64 99df79b996SRichard Henderson DEF_HELPER_FLAGS_4(atomic_cmpxchgq_be, TCG_CALL_NO_WG, i64, env, tl, i64, i64) 100c482cb11SRichard Henderson DEF_HELPER_FLAGS_4(atomic_cmpxchgq_le, TCG_CALL_NO_WG, i64, env, tl, i64, i64) 101df79b996SRichard Henderson #endif 102c482cb11SRichard Henderson 103df79b996SRichard Henderson #ifdef CONFIG_ATOMIC64 104c482cb11SRichard Henderson #define GEN_ATOMIC_HELPERS(NAME) \ 105c482cb11SRichard Henderson DEF_HELPER_FLAGS_3(glue(glue(atomic_, NAME), b), \ 106c482cb11SRichard Henderson TCG_CALL_NO_WG, i32, env, tl, i32) \ 107c482cb11SRichard Henderson DEF_HELPER_FLAGS_3(glue(glue(atomic_, NAME), w_le), \ 108c482cb11SRichard Henderson TCG_CALL_NO_WG, i32, env, tl, i32) \ 109c482cb11SRichard Henderson DEF_HELPER_FLAGS_3(glue(glue(atomic_, NAME), w_be), \ 110c482cb11SRichard Henderson TCG_CALL_NO_WG, i32, env, tl, i32) \ 111c482cb11SRichard Henderson DEF_HELPER_FLAGS_3(glue(glue(atomic_, NAME), l_le), \ 112c482cb11SRichard Henderson TCG_CALL_NO_WG, i32, env, tl, i32) \ 113c482cb11SRichard Henderson DEF_HELPER_FLAGS_3(glue(glue(atomic_, NAME), l_be), \ 114c482cb11SRichard Henderson TCG_CALL_NO_WG, i32, env, tl, i32) \ 115c482cb11SRichard Henderson DEF_HELPER_FLAGS_3(glue(glue(atomic_, NAME), q_le), \ 116c482cb11SRichard Henderson TCG_CALL_NO_WG, i64, env, tl, i64) \ 117c482cb11SRichard Henderson DEF_HELPER_FLAGS_3(glue(glue(atomic_, NAME), q_be), \ 118c482cb11SRichard Henderson TCG_CALL_NO_WG, i64, env, tl, i64) 119df79b996SRichard Henderson #else 120df79b996SRichard Henderson #define GEN_ATOMIC_HELPERS(NAME) \ 121df79b996SRichard Henderson DEF_HELPER_FLAGS_3(glue(glue(atomic_, NAME), b), \ 122df79b996SRichard Henderson TCG_CALL_NO_WG, i32, env, tl, i32) \ 123df79b996SRichard Henderson DEF_HELPER_FLAGS_3(glue(glue(atomic_, NAME), w_le), \ 124df79b996SRichard Henderson TCG_CALL_NO_WG, i32, env, tl, i32) \ 125df79b996SRichard Henderson DEF_HELPER_FLAGS_3(glue(glue(atomic_, NAME), w_be), \ 126df79b996SRichard Henderson TCG_CALL_NO_WG, i32, env, tl, i32) \ 127df79b996SRichard Henderson DEF_HELPER_FLAGS_3(glue(glue(atomic_, NAME), l_le), \ 128df79b996SRichard Henderson TCG_CALL_NO_WG, i32, env, tl, i32) \ 129df79b996SRichard Henderson DEF_HELPER_FLAGS_3(glue(glue(atomic_, NAME), l_be), \ 130df79b996SRichard Henderson TCG_CALL_NO_WG, i32, env, tl, i32) 131df79b996SRichard Henderson #endif /* CONFIG_ATOMIC64 */ 132c482cb11SRichard Henderson 133c482cb11SRichard Henderson #endif /* CONFIG_SOFTMMU */ 134c482cb11SRichard Henderson 135c482cb11SRichard Henderson GEN_ATOMIC_HELPERS(fetch_add) 136c482cb11SRichard Henderson GEN_ATOMIC_HELPERS(fetch_and) 137c482cb11SRichard Henderson GEN_ATOMIC_HELPERS(fetch_or) 138c482cb11SRichard Henderson GEN_ATOMIC_HELPERS(fetch_xor) 1395507c2bfSRichard Henderson GEN_ATOMIC_HELPERS(fetch_smin) 1405507c2bfSRichard Henderson GEN_ATOMIC_HELPERS(fetch_umin) 1415507c2bfSRichard Henderson GEN_ATOMIC_HELPERS(fetch_smax) 1425507c2bfSRichard Henderson GEN_ATOMIC_HELPERS(fetch_umax) 143c482cb11SRichard Henderson 144c482cb11SRichard Henderson GEN_ATOMIC_HELPERS(add_fetch) 145c482cb11SRichard Henderson GEN_ATOMIC_HELPERS(and_fetch) 146c482cb11SRichard Henderson GEN_ATOMIC_HELPERS(or_fetch) 147c482cb11SRichard Henderson GEN_ATOMIC_HELPERS(xor_fetch) 1485507c2bfSRichard Henderson GEN_ATOMIC_HELPERS(smin_fetch) 1495507c2bfSRichard Henderson GEN_ATOMIC_HELPERS(umin_fetch) 1505507c2bfSRichard Henderson GEN_ATOMIC_HELPERS(smax_fetch) 1515507c2bfSRichard Henderson GEN_ATOMIC_HELPERS(umax_fetch) 152c482cb11SRichard Henderson 153c482cb11SRichard Henderson GEN_ATOMIC_HELPERS(xchg) 154c482cb11SRichard Henderson 155c482cb11SRichard Henderson #undef GEN_ATOMIC_HELPERS 156db432672SRichard Henderson 157db432672SRichard Henderson DEF_HELPER_FLAGS_3(gvec_mov, TCG_CALL_NO_RWG, void, ptr, ptr, i32) 158db432672SRichard Henderson 159db432672SRichard Henderson DEF_HELPER_FLAGS_3(gvec_dup8, TCG_CALL_NO_RWG, void, ptr, i32, i32) 160db432672SRichard Henderson DEF_HELPER_FLAGS_3(gvec_dup16, TCG_CALL_NO_RWG, void, ptr, i32, i32) 161db432672SRichard Henderson DEF_HELPER_FLAGS_3(gvec_dup32, TCG_CALL_NO_RWG, void, ptr, i32, i32) 162db432672SRichard Henderson DEF_HELPER_FLAGS_3(gvec_dup64, TCG_CALL_NO_RWG, void, ptr, i32, i64) 163db432672SRichard Henderson 164db432672SRichard Henderson DEF_HELPER_FLAGS_4(gvec_add8, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32) 165db432672SRichard Henderson DEF_HELPER_FLAGS_4(gvec_add16, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32) 166db432672SRichard Henderson DEF_HELPER_FLAGS_4(gvec_add32, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32) 167db432672SRichard Henderson DEF_HELPER_FLAGS_4(gvec_add64, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32) 168db432672SRichard Henderson 16922fc3527SRichard Henderson DEF_HELPER_FLAGS_4(gvec_adds8, TCG_CALL_NO_RWG, void, ptr, ptr, i64, i32) 17022fc3527SRichard Henderson DEF_HELPER_FLAGS_4(gvec_adds16, TCG_CALL_NO_RWG, void, ptr, ptr, i64, i32) 17122fc3527SRichard Henderson DEF_HELPER_FLAGS_4(gvec_adds32, TCG_CALL_NO_RWG, void, ptr, ptr, i64, i32) 17222fc3527SRichard Henderson DEF_HELPER_FLAGS_4(gvec_adds64, TCG_CALL_NO_RWG, void, ptr, ptr, i64, i32) 17322fc3527SRichard Henderson 174db432672SRichard Henderson DEF_HELPER_FLAGS_4(gvec_sub8, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32) 175db432672SRichard Henderson DEF_HELPER_FLAGS_4(gvec_sub16, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32) 176db432672SRichard Henderson DEF_HELPER_FLAGS_4(gvec_sub32, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32) 177db432672SRichard Henderson DEF_HELPER_FLAGS_4(gvec_sub64, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32) 178db432672SRichard Henderson 17922fc3527SRichard Henderson DEF_HELPER_FLAGS_4(gvec_subs8, TCG_CALL_NO_RWG, void, ptr, ptr, i64, i32) 18022fc3527SRichard Henderson DEF_HELPER_FLAGS_4(gvec_subs16, TCG_CALL_NO_RWG, void, ptr, ptr, i64, i32) 18122fc3527SRichard Henderson DEF_HELPER_FLAGS_4(gvec_subs32, TCG_CALL_NO_RWG, void, ptr, ptr, i64, i32) 18222fc3527SRichard Henderson DEF_HELPER_FLAGS_4(gvec_subs64, TCG_CALL_NO_RWG, void, ptr, ptr, i64, i32) 18322fc3527SRichard Henderson 1843774030aSRichard Henderson DEF_HELPER_FLAGS_4(gvec_mul8, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32) 1853774030aSRichard Henderson DEF_HELPER_FLAGS_4(gvec_mul16, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32) 1863774030aSRichard Henderson DEF_HELPER_FLAGS_4(gvec_mul32, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32) 1873774030aSRichard Henderson DEF_HELPER_FLAGS_4(gvec_mul64, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32) 1883774030aSRichard Henderson 18922fc3527SRichard Henderson DEF_HELPER_FLAGS_4(gvec_muls8, TCG_CALL_NO_RWG, void, ptr, ptr, i64, i32) 19022fc3527SRichard Henderson DEF_HELPER_FLAGS_4(gvec_muls16, TCG_CALL_NO_RWG, void, ptr, ptr, i64, i32) 19122fc3527SRichard Henderson DEF_HELPER_FLAGS_4(gvec_muls32, TCG_CALL_NO_RWG, void, ptr, ptr, i64, i32) 19222fc3527SRichard Henderson DEF_HELPER_FLAGS_4(gvec_muls64, TCG_CALL_NO_RWG, void, ptr, ptr, i64, i32) 19322fc3527SRichard Henderson 194f49b12c6SRichard Henderson DEF_HELPER_FLAGS_4(gvec_ssadd8, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32) 195f49b12c6SRichard Henderson DEF_HELPER_FLAGS_4(gvec_ssadd16, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32) 196f49b12c6SRichard Henderson DEF_HELPER_FLAGS_4(gvec_ssadd32, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32) 197f49b12c6SRichard Henderson DEF_HELPER_FLAGS_4(gvec_ssadd64, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32) 198f49b12c6SRichard Henderson 199f49b12c6SRichard Henderson DEF_HELPER_FLAGS_4(gvec_sssub8, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32) 200f49b12c6SRichard Henderson DEF_HELPER_FLAGS_4(gvec_sssub16, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32) 201f49b12c6SRichard Henderson DEF_HELPER_FLAGS_4(gvec_sssub32, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32) 202f49b12c6SRichard Henderson DEF_HELPER_FLAGS_4(gvec_sssub64, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32) 203f49b12c6SRichard Henderson 204f49b12c6SRichard Henderson DEF_HELPER_FLAGS_4(gvec_usadd8, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32) 205f49b12c6SRichard Henderson DEF_HELPER_FLAGS_4(gvec_usadd16, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32) 206f49b12c6SRichard Henderson DEF_HELPER_FLAGS_4(gvec_usadd32, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32) 207f49b12c6SRichard Henderson DEF_HELPER_FLAGS_4(gvec_usadd64, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32) 208f49b12c6SRichard Henderson 209f49b12c6SRichard Henderson DEF_HELPER_FLAGS_4(gvec_ussub8, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32) 210f49b12c6SRichard Henderson DEF_HELPER_FLAGS_4(gvec_ussub16, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32) 211f49b12c6SRichard Henderson DEF_HELPER_FLAGS_4(gvec_ussub32, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32) 212f49b12c6SRichard Henderson DEF_HELPER_FLAGS_4(gvec_ussub64, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32) 213f49b12c6SRichard Henderson 214dd0a0fcdSRichard Henderson DEF_HELPER_FLAGS_4(gvec_smin8, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32) 215dd0a0fcdSRichard Henderson DEF_HELPER_FLAGS_4(gvec_smin16, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32) 216dd0a0fcdSRichard Henderson DEF_HELPER_FLAGS_4(gvec_smin32, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32) 217dd0a0fcdSRichard Henderson DEF_HELPER_FLAGS_4(gvec_smin64, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32) 218dd0a0fcdSRichard Henderson 219dd0a0fcdSRichard Henderson DEF_HELPER_FLAGS_4(gvec_smax8, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32) 220dd0a0fcdSRichard Henderson DEF_HELPER_FLAGS_4(gvec_smax16, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32) 221dd0a0fcdSRichard Henderson DEF_HELPER_FLAGS_4(gvec_smax32, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32) 222dd0a0fcdSRichard Henderson DEF_HELPER_FLAGS_4(gvec_smax64, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32) 223dd0a0fcdSRichard Henderson 224dd0a0fcdSRichard Henderson DEF_HELPER_FLAGS_4(gvec_umin8, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32) 225dd0a0fcdSRichard Henderson DEF_HELPER_FLAGS_4(gvec_umin16, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32) 226dd0a0fcdSRichard Henderson DEF_HELPER_FLAGS_4(gvec_umin32, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32) 227dd0a0fcdSRichard Henderson DEF_HELPER_FLAGS_4(gvec_umin64, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32) 228dd0a0fcdSRichard Henderson 229dd0a0fcdSRichard Henderson DEF_HELPER_FLAGS_4(gvec_umax8, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32) 230dd0a0fcdSRichard Henderson DEF_HELPER_FLAGS_4(gvec_umax16, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32) 231dd0a0fcdSRichard Henderson DEF_HELPER_FLAGS_4(gvec_umax32, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32) 232dd0a0fcdSRichard Henderson DEF_HELPER_FLAGS_4(gvec_umax64, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32) 233dd0a0fcdSRichard Henderson 234db432672SRichard Henderson DEF_HELPER_FLAGS_3(gvec_neg8, TCG_CALL_NO_RWG, void, ptr, ptr, i32) 235db432672SRichard Henderson DEF_HELPER_FLAGS_3(gvec_neg16, TCG_CALL_NO_RWG, void, ptr, ptr, i32) 236db432672SRichard Henderson DEF_HELPER_FLAGS_3(gvec_neg32, TCG_CALL_NO_RWG, void, ptr, ptr, i32) 237db432672SRichard Henderson DEF_HELPER_FLAGS_3(gvec_neg64, TCG_CALL_NO_RWG, void, ptr, ptr, i32) 238db432672SRichard Henderson 239bcefc902SRichard Henderson DEF_HELPER_FLAGS_3(gvec_abs8, TCG_CALL_NO_RWG, void, ptr, ptr, i32) 240bcefc902SRichard Henderson DEF_HELPER_FLAGS_3(gvec_abs16, TCG_CALL_NO_RWG, void, ptr, ptr, i32) 241bcefc902SRichard Henderson DEF_HELPER_FLAGS_3(gvec_abs32, TCG_CALL_NO_RWG, void, ptr, ptr, i32) 242bcefc902SRichard Henderson DEF_HELPER_FLAGS_3(gvec_abs64, TCG_CALL_NO_RWG, void, ptr, ptr, i32) 243bcefc902SRichard Henderson 244db432672SRichard Henderson DEF_HELPER_FLAGS_3(gvec_not, TCG_CALL_NO_RWG, void, ptr, ptr, i32) 245db432672SRichard Henderson DEF_HELPER_FLAGS_4(gvec_and, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32) 246db432672SRichard Henderson DEF_HELPER_FLAGS_4(gvec_or, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32) 247db432672SRichard Henderson DEF_HELPER_FLAGS_4(gvec_xor, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32) 248db432672SRichard Henderson DEF_HELPER_FLAGS_4(gvec_andc, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32) 249db432672SRichard Henderson DEF_HELPER_FLAGS_4(gvec_orc, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32) 250f550805dSRichard Henderson DEF_HELPER_FLAGS_4(gvec_nand, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32) 251f550805dSRichard Henderson DEF_HELPER_FLAGS_4(gvec_nor, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32) 252f550805dSRichard Henderson DEF_HELPER_FLAGS_4(gvec_eqv, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32) 253d0ec9796SRichard Henderson 25422fc3527SRichard Henderson DEF_HELPER_FLAGS_4(gvec_ands, TCG_CALL_NO_RWG, void, ptr, ptr, i64, i32) 25522fc3527SRichard Henderson DEF_HELPER_FLAGS_4(gvec_xors, TCG_CALL_NO_RWG, void, ptr, ptr, i64, i32) 25622fc3527SRichard Henderson DEF_HELPER_FLAGS_4(gvec_ors, TCG_CALL_NO_RWG, void, ptr, ptr, i64, i32) 25722fc3527SRichard Henderson 258d0ec9796SRichard Henderson DEF_HELPER_FLAGS_3(gvec_shl8i, TCG_CALL_NO_RWG, void, ptr, ptr, i32) 259d0ec9796SRichard Henderson DEF_HELPER_FLAGS_3(gvec_shl16i, TCG_CALL_NO_RWG, void, ptr, ptr, i32) 260d0ec9796SRichard Henderson DEF_HELPER_FLAGS_3(gvec_shl32i, TCG_CALL_NO_RWG, void, ptr, ptr, i32) 261d0ec9796SRichard Henderson DEF_HELPER_FLAGS_3(gvec_shl64i, TCG_CALL_NO_RWG, void, ptr, ptr, i32) 262d0ec9796SRichard Henderson 263d0ec9796SRichard Henderson DEF_HELPER_FLAGS_3(gvec_shr8i, TCG_CALL_NO_RWG, void, ptr, ptr, i32) 264d0ec9796SRichard Henderson DEF_HELPER_FLAGS_3(gvec_shr16i, TCG_CALL_NO_RWG, void, ptr, ptr, i32) 265d0ec9796SRichard Henderson DEF_HELPER_FLAGS_3(gvec_shr32i, TCG_CALL_NO_RWG, void, ptr, ptr, i32) 266d0ec9796SRichard Henderson DEF_HELPER_FLAGS_3(gvec_shr64i, TCG_CALL_NO_RWG, void, ptr, ptr, i32) 267d0ec9796SRichard Henderson 268d0ec9796SRichard Henderson DEF_HELPER_FLAGS_3(gvec_sar8i, TCG_CALL_NO_RWG, void, ptr, ptr, i32) 269d0ec9796SRichard Henderson DEF_HELPER_FLAGS_3(gvec_sar16i, TCG_CALL_NO_RWG, void, ptr, ptr, i32) 270d0ec9796SRichard Henderson DEF_HELPER_FLAGS_3(gvec_sar32i, TCG_CALL_NO_RWG, void, ptr, ptr, i32) 271d0ec9796SRichard Henderson DEF_HELPER_FLAGS_3(gvec_sar64i, TCG_CALL_NO_RWG, void, ptr, ptr, i32) 272212be173SRichard Henderson 273b0f7e744SRichard Henderson DEF_HELPER_FLAGS_3(gvec_rotl8i, TCG_CALL_NO_RWG, void, ptr, ptr, i32) 274b0f7e744SRichard Henderson DEF_HELPER_FLAGS_3(gvec_rotl16i, TCG_CALL_NO_RWG, void, ptr, ptr, i32) 275b0f7e744SRichard Henderson DEF_HELPER_FLAGS_3(gvec_rotl32i, TCG_CALL_NO_RWG, void, ptr, ptr, i32) 276b0f7e744SRichard Henderson DEF_HELPER_FLAGS_3(gvec_rotl64i, TCG_CALL_NO_RWG, void, ptr, ptr, i32) 277b0f7e744SRichard Henderson 2785ee5c14cSRichard Henderson DEF_HELPER_FLAGS_4(gvec_shl8v, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32) 2795ee5c14cSRichard Henderson DEF_HELPER_FLAGS_4(gvec_shl16v, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32) 2805ee5c14cSRichard Henderson DEF_HELPER_FLAGS_4(gvec_shl32v, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32) 2815ee5c14cSRichard Henderson DEF_HELPER_FLAGS_4(gvec_shl64v, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32) 2825ee5c14cSRichard Henderson 2835ee5c14cSRichard Henderson DEF_HELPER_FLAGS_4(gvec_shr8v, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32) 2845ee5c14cSRichard Henderson DEF_HELPER_FLAGS_4(gvec_shr16v, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32) 2855ee5c14cSRichard Henderson DEF_HELPER_FLAGS_4(gvec_shr32v, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32) 2865ee5c14cSRichard Henderson DEF_HELPER_FLAGS_4(gvec_shr64v, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32) 2875ee5c14cSRichard Henderson 2885ee5c14cSRichard Henderson DEF_HELPER_FLAGS_4(gvec_sar8v, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32) 2895ee5c14cSRichard Henderson DEF_HELPER_FLAGS_4(gvec_sar16v, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32) 2905ee5c14cSRichard Henderson DEF_HELPER_FLAGS_4(gvec_sar32v, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32) 2915ee5c14cSRichard Henderson DEF_HELPER_FLAGS_4(gvec_sar64v, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32) 2925ee5c14cSRichard Henderson 2935d0ceda9SRichard Henderson DEF_HELPER_FLAGS_4(gvec_rotl8v, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32) 2945d0ceda9SRichard Henderson DEF_HELPER_FLAGS_4(gvec_rotl16v, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32) 2955d0ceda9SRichard Henderson DEF_HELPER_FLAGS_4(gvec_rotl32v, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32) 2965d0ceda9SRichard Henderson DEF_HELPER_FLAGS_4(gvec_rotl64v, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32) 2975d0ceda9SRichard Henderson 2985d0ceda9SRichard Henderson DEF_HELPER_FLAGS_4(gvec_rotr8v, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32) 2995d0ceda9SRichard Henderson DEF_HELPER_FLAGS_4(gvec_rotr16v, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32) 3005d0ceda9SRichard Henderson DEF_HELPER_FLAGS_4(gvec_rotr32v, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32) 3015d0ceda9SRichard Henderson DEF_HELPER_FLAGS_4(gvec_rotr64v, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32) 3025d0ceda9SRichard Henderson 303212be173SRichard Henderson DEF_HELPER_FLAGS_4(gvec_eq8, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32) 304212be173SRichard Henderson DEF_HELPER_FLAGS_4(gvec_eq16, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32) 305212be173SRichard Henderson DEF_HELPER_FLAGS_4(gvec_eq32, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32) 306212be173SRichard Henderson DEF_HELPER_FLAGS_4(gvec_eq64, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32) 307212be173SRichard Henderson 308212be173SRichard Henderson DEF_HELPER_FLAGS_4(gvec_ne8, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32) 309212be173SRichard Henderson DEF_HELPER_FLAGS_4(gvec_ne16, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32) 310212be173SRichard Henderson DEF_HELPER_FLAGS_4(gvec_ne32, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32) 311212be173SRichard Henderson DEF_HELPER_FLAGS_4(gvec_ne64, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32) 312212be173SRichard Henderson 313212be173SRichard Henderson DEF_HELPER_FLAGS_4(gvec_lt8, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32) 314212be173SRichard Henderson DEF_HELPER_FLAGS_4(gvec_lt16, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32) 315212be173SRichard Henderson DEF_HELPER_FLAGS_4(gvec_lt32, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32) 316212be173SRichard Henderson DEF_HELPER_FLAGS_4(gvec_lt64, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32) 317212be173SRichard Henderson 318212be173SRichard Henderson DEF_HELPER_FLAGS_4(gvec_le8, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32) 319212be173SRichard Henderson DEF_HELPER_FLAGS_4(gvec_le16, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32) 320212be173SRichard Henderson DEF_HELPER_FLAGS_4(gvec_le32, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32) 321212be173SRichard Henderson DEF_HELPER_FLAGS_4(gvec_le64, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32) 322212be173SRichard Henderson 323212be173SRichard Henderson DEF_HELPER_FLAGS_4(gvec_ltu8, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32) 324212be173SRichard Henderson DEF_HELPER_FLAGS_4(gvec_ltu16, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32) 325212be173SRichard Henderson DEF_HELPER_FLAGS_4(gvec_ltu32, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32) 326212be173SRichard Henderson DEF_HELPER_FLAGS_4(gvec_ltu64, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32) 327212be173SRichard Henderson 328212be173SRichard Henderson DEF_HELPER_FLAGS_4(gvec_leu8, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32) 329212be173SRichard Henderson DEF_HELPER_FLAGS_4(gvec_leu16, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32) 330212be173SRichard Henderson DEF_HELPER_FLAGS_4(gvec_leu32, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32) 331212be173SRichard Henderson DEF_HELPER_FLAGS_4(gvec_leu64, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32) 33238dc1294SRichard Henderson 33338dc1294SRichard Henderson DEF_HELPER_FLAGS_5(gvec_bitsel, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, ptr, i32) 334