xref: /qemu/accel/tcg/tcg-runtime.h (revision 5d0ceda902915e3f0e21c39d142c92c4e97c3ebb)
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 
277f11636dSEmilio G. Cota DEF_HELPER_FLAGS_1(lookup_tb_ptr, TCG_CALL_NO_WG_SE, ptr, env)
28cedbcb01SEmilio G. Cota 
29df79b996SRichard Henderson DEF_HELPER_FLAGS_1(exit_atomic, TCG_CALL_NO_WG, noreturn, env)
30df79b996SRichard Henderson 
31c482cb11SRichard Henderson #ifdef CONFIG_SOFTMMU
32c482cb11SRichard Henderson 
33c482cb11SRichard Henderson DEF_HELPER_FLAGS_5(atomic_cmpxchgb, TCG_CALL_NO_WG,
34c482cb11SRichard Henderson                    i32, env, tl, i32, i32, i32)
35c482cb11SRichard Henderson DEF_HELPER_FLAGS_5(atomic_cmpxchgw_be, TCG_CALL_NO_WG,
36c482cb11SRichard Henderson                    i32, env, tl, i32, i32, i32)
37c482cb11SRichard Henderson DEF_HELPER_FLAGS_5(atomic_cmpxchgw_le, TCG_CALL_NO_WG,
38c482cb11SRichard Henderson                    i32, env, tl, i32, i32, i32)
39df79b996SRichard Henderson DEF_HELPER_FLAGS_5(atomic_cmpxchgl_be, TCG_CALL_NO_WG,
40df79b996SRichard Henderson                    i32, env, tl, i32, i32, i32)
41c482cb11SRichard Henderson DEF_HELPER_FLAGS_5(atomic_cmpxchgl_le, TCG_CALL_NO_WG,
42c482cb11SRichard Henderson                    i32, env, tl, i32, i32, i32)
43df79b996SRichard Henderson #ifdef CONFIG_ATOMIC64
44df79b996SRichard Henderson DEF_HELPER_FLAGS_5(atomic_cmpxchgq_be, TCG_CALL_NO_WG,
45df79b996SRichard Henderson                    i64, env, tl, i64, i64, i32)
46c482cb11SRichard Henderson DEF_HELPER_FLAGS_5(atomic_cmpxchgq_le, TCG_CALL_NO_WG,
47c482cb11SRichard Henderson                    i64, env, tl, i64, i64, i32)
48df79b996SRichard Henderson #endif
49c482cb11SRichard Henderson 
50df79b996SRichard Henderson #ifdef CONFIG_ATOMIC64
51c482cb11SRichard Henderson #define GEN_ATOMIC_HELPERS(NAME)                                  \
52c482cb11SRichard Henderson     DEF_HELPER_FLAGS_4(glue(glue(atomic_, NAME), b),              \
53c482cb11SRichard Henderson                        TCG_CALL_NO_WG, i32, env, tl, i32, i32)    \
54c482cb11SRichard Henderson     DEF_HELPER_FLAGS_4(glue(glue(atomic_, NAME), w_le),           \
55c482cb11SRichard Henderson                        TCG_CALL_NO_WG, i32, env, tl, i32, i32)    \
56c482cb11SRichard Henderson     DEF_HELPER_FLAGS_4(glue(glue(atomic_, NAME), w_be),           \
57c482cb11SRichard Henderson                        TCG_CALL_NO_WG, i32, env, tl, i32, i32)    \
58c482cb11SRichard Henderson     DEF_HELPER_FLAGS_4(glue(glue(atomic_, NAME), l_le),           \
59c482cb11SRichard Henderson                        TCG_CALL_NO_WG, i32, env, tl, i32, i32)    \
60c482cb11SRichard Henderson     DEF_HELPER_FLAGS_4(glue(glue(atomic_, NAME), l_be),           \
61c482cb11SRichard Henderson                        TCG_CALL_NO_WG, i32, env, tl, i32, i32)    \
62c482cb11SRichard Henderson     DEF_HELPER_FLAGS_4(glue(glue(atomic_, NAME), q_le),           \
63c482cb11SRichard Henderson                        TCG_CALL_NO_WG, i64, env, tl, i64, i32)    \
64c482cb11SRichard Henderson     DEF_HELPER_FLAGS_4(glue(glue(atomic_, NAME), q_be),           \
65c482cb11SRichard Henderson                        TCG_CALL_NO_WG, i64, env, tl, i64, i32)
66df79b996SRichard Henderson #else
67df79b996SRichard Henderson #define GEN_ATOMIC_HELPERS(NAME)                                  \
68df79b996SRichard Henderson     DEF_HELPER_FLAGS_4(glue(glue(atomic_, NAME), b),              \
69df79b996SRichard Henderson                        TCG_CALL_NO_WG, i32, env, tl, i32, i32)    \
70df79b996SRichard Henderson     DEF_HELPER_FLAGS_4(glue(glue(atomic_, NAME), w_le),           \
71df79b996SRichard Henderson                        TCG_CALL_NO_WG, i32, env, tl, i32, i32)    \
72df79b996SRichard Henderson     DEF_HELPER_FLAGS_4(glue(glue(atomic_, NAME), w_be),           \
73df79b996SRichard Henderson                        TCG_CALL_NO_WG, i32, env, tl, i32, i32)    \
74df79b996SRichard Henderson     DEF_HELPER_FLAGS_4(glue(glue(atomic_, NAME), l_le),           \
75df79b996SRichard Henderson                        TCG_CALL_NO_WG, i32, env, tl, i32, i32)    \
76df79b996SRichard Henderson     DEF_HELPER_FLAGS_4(glue(glue(atomic_, NAME), l_be),           \
77df79b996SRichard Henderson                        TCG_CALL_NO_WG, i32, env, tl, i32, i32)
78df79b996SRichard Henderson #endif /* CONFIG_ATOMIC64 */
79c482cb11SRichard Henderson 
80c482cb11SRichard Henderson #else
81c482cb11SRichard Henderson 
82c482cb11SRichard Henderson DEF_HELPER_FLAGS_4(atomic_cmpxchgb, TCG_CALL_NO_WG, i32, env, tl, i32, i32)
83c482cb11SRichard Henderson DEF_HELPER_FLAGS_4(atomic_cmpxchgw_be, TCG_CALL_NO_WG, i32, env, tl, i32, i32)
84c482cb11SRichard Henderson DEF_HELPER_FLAGS_4(atomic_cmpxchgw_le, TCG_CALL_NO_WG, i32, env, tl, i32, i32)
85df79b996SRichard Henderson DEF_HELPER_FLAGS_4(atomic_cmpxchgl_be, TCG_CALL_NO_WG, i32, env, tl, i32, i32)
86c482cb11SRichard Henderson DEF_HELPER_FLAGS_4(atomic_cmpxchgl_le, TCG_CALL_NO_WG, i32, env, tl, i32, i32)
87df79b996SRichard Henderson #ifdef CONFIG_ATOMIC64
88df79b996SRichard Henderson DEF_HELPER_FLAGS_4(atomic_cmpxchgq_be, TCG_CALL_NO_WG, i64, env, tl, i64, i64)
89c482cb11SRichard Henderson DEF_HELPER_FLAGS_4(atomic_cmpxchgq_le, TCG_CALL_NO_WG, i64, env, tl, i64, i64)
90df79b996SRichard Henderson #endif
91c482cb11SRichard Henderson 
92df79b996SRichard Henderson #ifdef CONFIG_ATOMIC64
93c482cb11SRichard Henderson #define GEN_ATOMIC_HELPERS(NAME)                             \
94c482cb11SRichard Henderson     DEF_HELPER_FLAGS_3(glue(glue(atomic_, NAME), b),         \
95c482cb11SRichard Henderson                        TCG_CALL_NO_WG, i32, env, tl, i32)    \
96c482cb11SRichard Henderson     DEF_HELPER_FLAGS_3(glue(glue(atomic_, NAME), w_le),      \
97c482cb11SRichard Henderson                        TCG_CALL_NO_WG, i32, env, tl, i32)    \
98c482cb11SRichard Henderson     DEF_HELPER_FLAGS_3(glue(glue(atomic_, NAME), w_be),      \
99c482cb11SRichard Henderson                        TCG_CALL_NO_WG, i32, env, tl, i32)    \
100c482cb11SRichard Henderson     DEF_HELPER_FLAGS_3(glue(glue(atomic_, NAME), l_le),      \
101c482cb11SRichard Henderson                        TCG_CALL_NO_WG, i32, env, tl, i32)    \
102c482cb11SRichard Henderson     DEF_HELPER_FLAGS_3(glue(glue(atomic_, NAME), l_be),      \
103c482cb11SRichard Henderson                        TCG_CALL_NO_WG, i32, env, tl, i32)    \
104c482cb11SRichard Henderson     DEF_HELPER_FLAGS_3(glue(glue(atomic_, NAME), q_le),      \
105c482cb11SRichard Henderson                        TCG_CALL_NO_WG, i64, env, tl, i64)    \
106c482cb11SRichard Henderson     DEF_HELPER_FLAGS_3(glue(glue(atomic_, NAME), q_be),      \
107c482cb11SRichard Henderson                        TCG_CALL_NO_WG, i64, env, tl, i64)
108df79b996SRichard Henderson #else
109df79b996SRichard Henderson #define GEN_ATOMIC_HELPERS(NAME)                             \
110df79b996SRichard Henderson     DEF_HELPER_FLAGS_3(glue(glue(atomic_, NAME), b),         \
111df79b996SRichard Henderson                        TCG_CALL_NO_WG, i32, env, tl, i32)    \
112df79b996SRichard Henderson     DEF_HELPER_FLAGS_3(glue(glue(atomic_, NAME), w_le),      \
113df79b996SRichard Henderson                        TCG_CALL_NO_WG, i32, env, tl, i32)    \
114df79b996SRichard Henderson     DEF_HELPER_FLAGS_3(glue(glue(atomic_, NAME), w_be),      \
115df79b996SRichard Henderson                        TCG_CALL_NO_WG, i32, env, tl, i32)    \
116df79b996SRichard Henderson     DEF_HELPER_FLAGS_3(glue(glue(atomic_, NAME), l_le),      \
117df79b996SRichard Henderson                        TCG_CALL_NO_WG, i32, env, tl, i32)    \
118df79b996SRichard Henderson     DEF_HELPER_FLAGS_3(glue(glue(atomic_, NAME), l_be),      \
119df79b996SRichard Henderson                        TCG_CALL_NO_WG, i32, env, tl, i32)
120df79b996SRichard Henderson #endif /* CONFIG_ATOMIC64 */
121c482cb11SRichard Henderson 
122c482cb11SRichard Henderson #endif /* CONFIG_SOFTMMU */
123c482cb11SRichard Henderson 
124c482cb11SRichard Henderson GEN_ATOMIC_HELPERS(fetch_add)
125c482cb11SRichard Henderson GEN_ATOMIC_HELPERS(fetch_and)
126c482cb11SRichard Henderson GEN_ATOMIC_HELPERS(fetch_or)
127c482cb11SRichard Henderson GEN_ATOMIC_HELPERS(fetch_xor)
1285507c2bfSRichard Henderson GEN_ATOMIC_HELPERS(fetch_smin)
1295507c2bfSRichard Henderson GEN_ATOMIC_HELPERS(fetch_umin)
1305507c2bfSRichard Henderson GEN_ATOMIC_HELPERS(fetch_smax)
1315507c2bfSRichard Henderson GEN_ATOMIC_HELPERS(fetch_umax)
132c482cb11SRichard Henderson 
133c482cb11SRichard Henderson GEN_ATOMIC_HELPERS(add_fetch)
134c482cb11SRichard Henderson GEN_ATOMIC_HELPERS(and_fetch)
135c482cb11SRichard Henderson GEN_ATOMIC_HELPERS(or_fetch)
136c482cb11SRichard Henderson GEN_ATOMIC_HELPERS(xor_fetch)
1375507c2bfSRichard Henderson GEN_ATOMIC_HELPERS(smin_fetch)
1385507c2bfSRichard Henderson GEN_ATOMIC_HELPERS(umin_fetch)
1395507c2bfSRichard Henderson GEN_ATOMIC_HELPERS(smax_fetch)
1405507c2bfSRichard Henderson GEN_ATOMIC_HELPERS(umax_fetch)
141c482cb11SRichard Henderson 
142c482cb11SRichard Henderson GEN_ATOMIC_HELPERS(xchg)
143c482cb11SRichard Henderson 
144c482cb11SRichard Henderson #undef GEN_ATOMIC_HELPERS
145db432672SRichard Henderson 
146db432672SRichard Henderson DEF_HELPER_FLAGS_3(gvec_mov, TCG_CALL_NO_RWG, void, ptr, ptr, i32)
147db432672SRichard Henderson 
148db432672SRichard Henderson DEF_HELPER_FLAGS_3(gvec_dup8, TCG_CALL_NO_RWG, void, ptr, i32, i32)
149db432672SRichard Henderson DEF_HELPER_FLAGS_3(gvec_dup16, TCG_CALL_NO_RWG, void, ptr, i32, i32)
150db432672SRichard Henderson DEF_HELPER_FLAGS_3(gvec_dup32, TCG_CALL_NO_RWG, void, ptr, i32, i32)
151db432672SRichard Henderson DEF_HELPER_FLAGS_3(gvec_dup64, TCG_CALL_NO_RWG, void, ptr, i32, i64)
152db432672SRichard Henderson 
153db432672SRichard Henderson DEF_HELPER_FLAGS_4(gvec_add8, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
154db432672SRichard Henderson DEF_HELPER_FLAGS_4(gvec_add16, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
155db432672SRichard Henderson DEF_HELPER_FLAGS_4(gvec_add32, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
156db432672SRichard Henderson DEF_HELPER_FLAGS_4(gvec_add64, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
157db432672SRichard Henderson 
15822fc3527SRichard Henderson DEF_HELPER_FLAGS_4(gvec_adds8, TCG_CALL_NO_RWG, void, ptr, ptr, i64, i32)
15922fc3527SRichard Henderson DEF_HELPER_FLAGS_4(gvec_adds16, TCG_CALL_NO_RWG, void, ptr, ptr, i64, i32)
16022fc3527SRichard Henderson DEF_HELPER_FLAGS_4(gvec_adds32, TCG_CALL_NO_RWG, void, ptr, ptr, i64, i32)
16122fc3527SRichard Henderson DEF_HELPER_FLAGS_4(gvec_adds64, TCG_CALL_NO_RWG, void, ptr, ptr, i64, i32)
16222fc3527SRichard Henderson 
163db432672SRichard Henderson DEF_HELPER_FLAGS_4(gvec_sub8, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
164db432672SRichard Henderson DEF_HELPER_FLAGS_4(gvec_sub16, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
165db432672SRichard Henderson DEF_HELPER_FLAGS_4(gvec_sub32, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
166db432672SRichard Henderson DEF_HELPER_FLAGS_4(gvec_sub64, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
167db432672SRichard Henderson 
16822fc3527SRichard Henderson DEF_HELPER_FLAGS_4(gvec_subs8, TCG_CALL_NO_RWG, void, ptr, ptr, i64, i32)
16922fc3527SRichard Henderson DEF_HELPER_FLAGS_4(gvec_subs16, TCG_CALL_NO_RWG, void, ptr, ptr, i64, i32)
17022fc3527SRichard Henderson DEF_HELPER_FLAGS_4(gvec_subs32, TCG_CALL_NO_RWG, void, ptr, ptr, i64, i32)
17122fc3527SRichard Henderson DEF_HELPER_FLAGS_4(gvec_subs64, TCG_CALL_NO_RWG, void, ptr, ptr, i64, i32)
17222fc3527SRichard Henderson 
1733774030aSRichard Henderson DEF_HELPER_FLAGS_4(gvec_mul8, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
1743774030aSRichard Henderson DEF_HELPER_FLAGS_4(gvec_mul16, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
1753774030aSRichard Henderson DEF_HELPER_FLAGS_4(gvec_mul32, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
1763774030aSRichard Henderson DEF_HELPER_FLAGS_4(gvec_mul64, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
1773774030aSRichard Henderson 
17822fc3527SRichard Henderson DEF_HELPER_FLAGS_4(gvec_muls8, TCG_CALL_NO_RWG, void, ptr, ptr, i64, i32)
17922fc3527SRichard Henderson DEF_HELPER_FLAGS_4(gvec_muls16, TCG_CALL_NO_RWG, void, ptr, ptr, i64, i32)
18022fc3527SRichard Henderson DEF_HELPER_FLAGS_4(gvec_muls32, TCG_CALL_NO_RWG, void, ptr, ptr, i64, i32)
18122fc3527SRichard Henderson DEF_HELPER_FLAGS_4(gvec_muls64, TCG_CALL_NO_RWG, void, ptr, ptr, i64, i32)
18222fc3527SRichard Henderson 
183f49b12c6SRichard Henderson DEF_HELPER_FLAGS_4(gvec_ssadd8, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
184f49b12c6SRichard Henderson DEF_HELPER_FLAGS_4(gvec_ssadd16, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
185f49b12c6SRichard Henderson DEF_HELPER_FLAGS_4(gvec_ssadd32, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
186f49b12c6SRichard Henderson DEF_HELPER_FLAGS_4(gvec_ssadd64, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
187f49b12c6SRichard Henderson 
188f49b12c6SRichard Henderson DEF_HELPER_FLAGS_4(gvec_sssub8, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
189f49b12c6SRichard Henderson DEF_HELPER_FLAGS_4(gvec_sssub16, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
190f49b12c6SRichard Henderson DEF_HELPER_FLAGS_4(gvec_sssub32, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
191f49b12c6SRichard Henderson DEF_HELPER_FLAGS_4(gvec_sssub64, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
192f49b12c6SRichard Henderson 
193f49b12c6SRichard Henderson DEF_HELPER_FLAGS_4(gvec_usadd8, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
194f49b12c6SRichard Henderson DEF_HELPER_FLAGS_4(gvec_usadd16, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
195f49b12c6SRichard Henderson DEF_HELPER_FLAGS_4(gvec_usadd32, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
196f49b12c6SRichard Henderson DEF_HELPER_FLAGS_4(gvec_usadd64, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
197f49b12c6SRichard Henderson 
198f49b12c6SRichard Henderson DEF_HELPER_FLAGS_4(gvec_ussub8, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
199f49b12c6SRichard Henderson DEF_HELPER_FLAGS_4(gvec_ussub16, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
200f49b12c6SRichard Henderson DEF_HELPER_FLAGS_4(gvec_ussub32, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
201f49b12c6SRichard Henderson DEF_HELPER_FLAGS_4(gvec_ussub64, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
202f49b12c6SRichard Henderson 
203dd0a0fcdSRichard Henderson DEF_HELPER_FLAGS_4(gvec_smin8, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
204dd0a0fcdSRichard Henderson DEF_HELPER_FLAGS_4(gvec_smin16, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
205dd0a0fcdSRichard Henderson DEF_HELPER_FLAGS_4(gvec_smin32, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
206dd0a0fcdSRichard Henderson DEF_HELPER_FLAGS_4(gvec_smin64, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
207dd0a0fcdSRichard Henderson 
208dd0a0fcdSRichard Henderson DEF_HELPER_FLAGS_4(gvec_smax8, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
209dd0a0fcdSRichard Henderson DEF_HELPER_FLAGS_4(gvec_smax16, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
210dd0a0fcdSRichard Henderson DEF_HELPER_FLAGS_4(gvec_smax32, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
211dd0a0fcdSRichard Henderson DEF_HELPER_FLAGS_4(gvec_smax64, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
212dd0a0fcdSRichard Henderson 
213dd0a0fcdSRichard Henderson DEF_HELPER_FLAGS_4(gvec_umin8, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
214dd0a0fcdSRichard Henderson DEF_HELPER_FLAGS_4(gvec_umin16, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
215dd0a0fcdSRichard Henderson DEF_HELPER_FLAGS_4(gvec_umin32, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
216dd0a0fcdSRichard Henderson DEF_HELPER_FLAGS_4(gvec_umin64, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
217dd0a0fcdSRichard Henderson 
218dd0a0fcdSRichard Henderson DEF_HELPER_FLAGS_4(gvec_umax8, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
219dd0a0fcdSRichard Henderson DEF_HELPER_FLAGS_4(gvec_umax16, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
220dd0a0fcdSRichard Henderson DEF_HELPER_FLAGS_4(gvec_umax32, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
221dd0a0fcdSRichard Henderson DEF_HELPER_FLAGS_4(gvec_umax64, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
222dd0a0fcdSRichard Henderson 
223db432672SRichard Henderson DEF_HELPER_FLAGS_3(gvec_neg8, TCG_CALL_NO_RWG, void, ptr, ptr, i32)
224db432672SRichard Henderson DEF_HELPER_FLAGS_3(gvec_neg16, TCG_CALL_NO_RWG, void, ptr, ptr, i32)
225db432672SRichard Henderson DEF_HELPER_FLAGS_3(gvec_neg32, TCG_CALL_NO_RWG, void, ptr, ptr, i32)
226db432672SRichard Henderson DEF_HELPER_FLAGS_3(gvec_neg64, TCG_CALL_NO_RWG, void, ptr, ptr, i32)
227db432672SRichard Henderson 
228bcefc902SRichard Henderson DEF_HELPER_FLAGS_3(gvec_abs8, TCG_CALL_NO_RWG, void, ptr, ptr, i32)
229bcefc902SRichard Henderson DEF_HELPER_FLAGS_3(gvec_abs16, TCG_CALL_NO_RWG, void, ptr, ptr, i32)
230bcefc902SRichard Henderson DEF_HELPER_FLAGS_3(gvec_abs32, TCG_CALL_NO_RWG, void, ptr, ptr, i32)
231bcefc902SRichard Henderson DEF_HELPER_FLAGS_3(gvec_abs64, TCG_CALL_NO_RWG, void, ptr, ptr, i32)
232bcefc902SRichard Henderson 
233db432672SRichard Henderson DEF_HELPER_FLAGS_3(gvec_not, TCG_CALL_NO_RWG, void, ptr, ptr, i32)
234db432672SRichard Henderson DEF_HELPER_FLAGS_4(gvec_and, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
235db432672SRichard Henderson DEF_HELPER_FLAGS_4(gvec_or, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
236db432672SRichard Henderson DEF_HELPER_FLAGS_4(gvec_xor, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
237db432672SRichard Henderson DEF_HELPER_FLAGS_4(gvec_andc, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
238db432672SRichard Henderson DEF_HELPER_FLAGS_4(gvec_orc, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
239f550805dSRichard Henderson DEF_HELPER_FLAGS_4(gvec_nand, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
240f550805dSRichard Henderson DEF_HELPER_FLAGS_4(gvec_nor, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
241f550805dSRichard Henderson DEF_HELPER_FLAGS_4(gvec_eqv, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
242d0ec9796SRichard Henderson 
24322fc3527SRichard Henderson DEF_HELPER_FLAGS_4(gvec_ands, TCG_CALL_NO_RWG, void, ptr, ptr, i64, i32)
24422fc3527SRichard Henderson DEF_HELPER_FLAGS_4(gvec_xors, TCG_CALL_NO_RWG, void, ptr, ptr, i64, i32)
24522fc3527SRichard Henderson DEF_HELPER_FLAGS_4(gvec_ors, TCG_CALL_NO_RWG, void, ptr, ptr, i64, i32)
24622fc3527SRichard Henderson 
247d0ec9796SRichard Henderson DEF_HELPER_FLAGS_3(gvec_shl8i, TCG_CALL_NO_RWG, void, ptr, ptr, i32)
248d0ec9796SRichard Henderson DEF_HELPER_FLAGS_3(gvec_shl16i, TCG_CALL_NO_RWG, void, ptr, ptr, i32)
249d0ec9796SRichard Henderson DEF_HELPER_FLAGS_3(gvec_shl32i, TCG_CALL_NO_RWG, void, ptr, ptr, i32)
250d0ec9796SRichard Henderson DEF_HELPER_FLAGS_3(gvec_shl64i, TCG_CALL_NO_RWG, void, ptr, ptr, i32)
251d0ec9796SRichard Henderson 
252d0ec9796SRichard Henderson DEF_HELPER_FLAGS_3(gvec_shr8i, TCG_CALL_NO_RWG, void, ptr, ptr, i32)
253d0ec9796SRichard Henderson DEF_HELPER_FLAGS_3(gvec_shr16i, TCG_CALL_NO_RWG, void, ptr, ptr, i32)
254d0ec9796SRichard Henderson DEF_HELPER_FLAGS_3(gvec_shr32i, TCG_CALL_NO_RWG, void, ptr, ptr, i32)
255d0ec9796SRichard Henderson DEF_HELPER_FLAGS_3(gvec_shr64i, TCG_CALL_NO_RWG, void, ptr, ptr, i32)
256d0ec9796SRichard Henderson 
257d0ec9796SRichard Henderson DEF_HELPER_FLAGS_3(gvec_sar8i, TCG_CALL_NO_RWG, void, ptr, ptr, i32)
258d0ec9796SRichard Henderson DEF_HELPER_FLAGS_3(gvec_sar16i, TCG_CALL_NO_RWG, void, ptr, ptr, i32)
259d0ec9796SRichard Henderson DEF_HELPER_FLAGS_3(gvec_sar32i, TCG_CALL_NO_RWG, void, ptr, ptr, i32)
260d0ec9796SRichard Henderson DEF_HELPER_FLAGS_3(gvec_sar64i, TCG_CALL_NO_RWG, void, ptr, ptr, i32)
261212be173SRichard Henderson 
262b0f7e744SRichard Henderson DEF_HELPER_FLAGS_3(gvec_rotl8i, TCG_CALL_NO_RWG, void, ptr, ptr, i32)
263b0f7e744SRichard Henderson DEF_HELPER_FLAGS_3(gvec_rotl16i, TCG_CALL_NO_RWG, void, ptr, ptr, i32)
264b0f7e744SRichard Henderson DEF_HELPER_FLAGS_3(gvec_rotl32i, TCG_CALL_NO_RWG, void, ptr, ptr, i32)
265b0f7e744SRichard Henderson DEF_HELPER_FLAGS_3(gvec_rotl64i, TCG_CALL_NO_RWG, void, ptr, ptr, i32)
266b0f7e744SRichard Henderson 
2675ee5c14cSRichard Henderson DEF_HELPER_FLAGS_4(gvec_shl8v, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
2685ee5c14cSRichard Henderson DEF_HELPER_FLAGS_4(gvec_shl16v, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
2695ee5c14cSRichard Henderson DEF_HELPER_FLAGS_4(gvec_shl32v, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
2705ee5c14cSRichard Henderson DEF_HELPER_FLAGS_4(gvec_shl64v, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
2715ee5c14cSRichard Henderson 
2725ee5c14cSRichard Henderson DEF_HELPER_FLAGS_4(gvec_shr8v, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
2735ee5c14cSRichard Henderson DEF_HELPER_FLAGS_4(gvec_shr16v, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
2745ee5c14cSRichard Henderson DEF_HELPER_FLAGS_4(gvec_shr32v, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
2755ee5c14cSRichard Henderson DEF_HELPER_FLAGS_4(gvec_shr64v, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
2765ee5c14cSRichard Henderson 
2775ee5c14cSRichard Henderson DEF_HELPER_FLAGS_4(gvec_sar8v, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
2785ee5c14cSRichard Henderson DEF_HELPER_FLAGS_4(gvec_sar16v, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
2795ee5c14cSRichard Henderson DEF_HELPER_FLAGS_4(gvec_sar32v, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
2805ee5c14cSRichard Henderson DEF_HELPER_FLAGS_4(gvec_sar64v, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
2815ee5c14cSRichard Henderson 
282*5d0ceda9SRichard Henderson DEF_HELPER_FLAGS_4(gvec_rotl8v, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
283*5d0ceda9SRichard Henderson DEF_HELPER_FLAGS_4(gvec_rotl16v, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
284*5d0ceda9SRichard Henderson DEF_HELPER_FLAGS_4(gvec_rotl32v, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
285*5d0ceda9SRichard Henderson DEF_HELPER_FLAGS_4(gvec_rotl64v, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
286*5d0ceda9SRichard Henderson 
287*5d0ceda9SRichard Henderson DEF_HELPER_FLAGS_4(gvec_rotr8v, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
288*5d0ceda9SRichard Henderson DEF_HELPER_FLAGS_4(gvec_rotr16v, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
289*5d0ceda9SRichard Henderson DEF_HELPER_FLAGS_4(gvec_rotr32v, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
290*5d0ceda9SRichard Henderson DEF_HELPER_FLAGS_4(gvec_rotr64v, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
291*5d0ceda9SRichard Henderson 
292212be173SRichard Henderson DEF_HELPER_FLAGS_4(gvec_eq8, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
293212be173SRichard Henderson DEF_HELPER_FLAGS_4(gvec_eq16, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
294212be173SRichard Henderson DEF_HELPER_FLAGS_4(gvec_eq32, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
295212be173SRichard Henderson DEF_HELPER_FLAGS_4(gvec_eq64, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
296212be173SRichard Henderson 
297212be173SRichard Henderson DEF_HELPER_FLAGS_4(gvec_ne8, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
298212be173SRichard Henderson DEF_HELPER_FLAGS_4(gvec_ne16, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
299212be173SRichard Henderson DEF_HELPER_FLAGS_4(gvec_ne32, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
300212be173SRichard Henderson DEF_HELPER_FLAGS_4(gvec_ne64, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
301212be173SRichard Henderson 
302212be173SRichard Henderson DEF_HELPER_FLAGS_4(gvec_lt8, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
303212be173SRichard Henderson DEF_HELPER_FLAGS_4(gvec_lt16, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
304212be173SRichard Henderson DEF_HELPER_FLAGS_4(gvec_lt32, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
305212be173SRichard Henderson DEF_HELPER_FLAGS_4(gvec_lt64, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
306212be173SRichard Henderson 
307212be173SRichard Henderson DEF_HELPER_FLAGS_4(gvec_le8, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
308212be173SRichard Henderson DEF_HELPER_FLAGS_4(gvec_le16, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
309212be173SRichard Henderson DEF_HELPER_FLAGS_4(gvec_le32, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
310212be173SRichard Henderson DEF_HELPER_FLAGS_4(gvec_le64, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
311212be173SRichard Henderson 
312212be173SRichard Henderson DEF_HELPER_FLAGS_4(gvec_ltu8, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
313212be173SRichard Henderson DEF_HELPER_FLAGS_4(gvec_ltu16, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
314212be173SRichard Henderson DEF_HELPER_FLAGS_4(gvec_ltu32, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
315212be173SRichard Henderson DEF_HELPER_FLAGS_4(gvec_ltu64, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
316212be173SRichard Henderson 
317212be173SRichard Henderson DEF_HELPER_FLAGS_4(gvec_leu8, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
318212be173SRichard Henderson DEF_HELPER_FLAGS_4(gvec_leu16, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
319212be173SRichard Henderson DEF_HELPER_FLAGS_4(gvec_leu32, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
320212be173SRichard Henderson DEF_HELPER_FLAGS_4(gvec_leu64, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
32138dc1294SRichard Henderson 
32238dc1294SRichard Henderson DEF_HELPER_FLAGS_5(gvec_bitsel, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, ptr, i32)
323