xref: /qemu/accel/tcg/tcg-runtime.h (revision d7754940d78a7d5bfb13531afa9a67f8c57e987e)
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