blob: ead16567c2b9d27a3edf3f14ddec34ff92b42f75 [file] [log] [blame]
Song Gaof8da88d2022-06-06 20:42:53 +08001/* SPDX-License-Identifier: GPL-2.0-or-later */
2/*
3 * Copyright (c) 2021 Loongson Technology Corporation Limited
4 */
5
6DEF_HELPER_2(raise_exception, noreturn, env, i32)
Song Gaoad08cb32022-06-06 20:42:56 +08007
8DEF_HELPER_FLAGS_1(bitrev_w, TCG_CALL_NO_RWG_SE, tl, tl)
9DEF_HELPER_FLAGS_1(bitrev_d, TCG_CALL_NO_RWG_SE, tl, tl)
10DEF_HELPER_FLAGS_1(bitswap, TCG_CALL_NO_RWG_SE, tl, tl)
Song Gaobb791742022-06-06 20:42:57 +080011
12DEF_HELPER_FLAGS_3(asrtle_d, TCG_CALL_NO_WG, void, env, tl, tl)
13DEF_HELPER_FLAGS_3(asrtgt_d, TCG_CALL_NO_WG, void, env, tl, tl)
Song Gao8708a042022-06-06 20:42:59 +080014
15DEF_HELPER_FLAGS_3(crc32, TCG_CALL_NO_RWG_SE, tl, tl, tl, tl)
16DEF_HELPER_FLAGS_3(crc32c, TCG_CALL_NO_RWG_SE, tl, tl, tl, tl)
17DEF_HELPER_FLAGS_2(cpucfg, TCG_CALL_NO_RWG_SE, tl, env, tl)
Song Gaod578ca62022-06-06 20:43:00 +080018
19/* Floating-point helper */
20DEF_HELPER_FLAGS_3(fadd_s, TCG_CALL_NO_WG, i64, env, i64, i64)
21DEF_HELPER_FLAGS_3(fadd_d, TCG_CALL_NO_WG, i64, env, i64, i64)
22DEF_HELPER_FLAGS_3(fsub_s, TCG_CALL_NO_WG, i64, env, i64, i64)
23DEF_HELPER_FLAGS_3(fsub_d, TCG_CALL_NO_WG, i64, env, i64, i64)
24DEF_HELPER_FLAGS_3(fmul_s, TCG_CALL_NO_WG, i64, env, i64, i64)
25DEF_HELPER_FLAGS_3(fmul_d, TCG_CALL_NO_WG, i64, env, i64, i64)
26DEF_HELPER_FLAGS_3(fdiv_s, TCG_CALL_NO_WG, i64, env, i64, i64)
27DEF_HELPER_FLAGS_3(fdiv_d, TCG_CALL_NO_WG, i64, env, i64, i64)
28DEF_HELPER_FLAGS_3(fmax_s, TCG_CALL_NO_WG, i64, env, i64, i64)
29DEF_HELPER_FLAGS_3(fmax_d, TCG_CALL_NO_WG, i64, env, i64, i64)
30DEF_HELPER_FLAGS_3(fmin_s, TCG_CALL_NO_WG, i64, env, i64, i64)
31DEF_HELPER_FLAGS_3(fmin_d, TCG_CALL_NO_WG, i64, env, i64, i64)
32DEF_HELPER_FLAGS_3(fmaxa_s, TCG_CALL_NO_WG, i64, env, i64, i64)
33DEF_HELPER_FLAGS_3(fmaxa_d, TCG_CALL_NO_WG, i64, env, i64, i64)
34DEF_HELPER_FLAGS_3(fmina_s, TCG_CALL_NO_WG, i64, env, i64, i64)
35DEF_HELPER_FLAGS_3(fmina_d, TCG_CALL_NO_WG, i64, env, i64, i64)
36
37DEF_HELPER_FLAGS_5(fmuladd_s, TCG_CALL_NO_WG, i64, env, i64, i64, i64, i32)
38DEF_HELPER_FLAGS_5(fmuladd_d, TCG_CALL_NO_WG, i64, env, i64, i64, i64, i32)
39
40DEF_HELPER_FLAGS_3(fscaleb_s, TCG_CALL_NO_WG, i64, env, i64, i64)
41DEF_HELPER_FLAGS_3(fscaleb_d, TCG_CALL_NO_WG, i64, env, i64, i64)
42
43DEF_HELPER_FLAGS_2(flogb_s, TCG_CALL_NO_WG, i64, env, i64)
44DEF_HELPER_FLAGS_2(flogb_d, TCG_CALL_NO_WG, i64, env, i64)
45
46DEF_HELPER_FLAGS_2(fsqrt_s, TCG_CALL_NO_WG, i64, env, i64)
47DEF_HELPER_FLAGS_2(fsqrt_d, TCG_CALL_NO_WG, i64, env, i64)
48DEF_HELPER_FLAGS_2(frsqrt_s, TCG_CALL_NO_WG, i64, env, i64)
49DEF_HELPER_FLAGS_2(frsqrt_d, TCG_CALL_NO_WG, i64, env, i64)
50DEF_HELPER_FLAGS_2(frecip_s, TCG_CALL_NO_WG, i64, env, i64)
51DEF_HELPER_FLAGS_2(frecip_d, TCG_CALL_NO_WG, i64, env, i64)
52
53DEF_HELPER_FLAGS_2(fclass_s, TCG_CALL_NO_RWG_SE, i64, env, i64)
54DEF_HELPER_FLAGS_2(fclass_d, TCG_CALL_NO_RWG_SE, i64, env, i64)
Song Gao9b741072022-06-06 20:43:01 +080055
56/* fcmp.cXXX.s */
57DEF_HELPER_4(fcmp_c_s, i64, env, i64, i64, i32)
58/* fcmp.sXXX.s */
59DEF_HELPER_4(fcmp_s_s, i64, env, i64, i64, i32)
60/* fcmp.cXXX.d */
61DEF_HELPER_4(fcmp_c_d, i64, env, i64, i64, i32)
62/* fcmp.sXXX.d */
63DEF_HELPER_4(fcmp_s_d, i64, env, i64, i64, i32)
Song Gao7c1f8872022-06-06 20:43:02 +080064
65DEF_HELPER_2(fcvt_d_s, i64, env, i64)
66DEF_HELPER_2(fcvt_s_d, i64, env, i64)
67DEF_HELPER_2(ffint_d_w, i64, env, i64)
68DEF_HELPER_2(ffint_d_l, i64, env, i64)
69DEF_HELPER_2(ffint_s_w, i64, env, i64)
70DEF_HELPER_2(ffint_s_l, i64, env, i64)
71DEF_HELPER_2(ftintrm_l_s, i64, env, i64)
72DEF_HELPER_2(ftintrm_l_d, i64, env, i64)
73DEF_HELPER_2(ftintrm_w_s, i64, env, i64)
74DEF_HELPER_2(ftintrm_w_d, i64, env, i64)
75DEF_HELPER_2(ftintrp_l_s, i64, env, i64)
76DEF_HELPER_2(ftintrp_l_d, i64, env, i64)
77DEF_HELPER_2(ftintrp_w_s, i64, env, i64)
78DEF_HELPER_2(ftintrp_w_d, i64, env, i64)
79DEF_HELPER_2(ftintrz_l_s, i64, env, i64)
80DEF_HELPER_2(ftintrz_l_d, i64, env, i64)
81DEF_HELPER_2(ftintrz_w_s, i64, env, i64)
82DEF_HELPER_2(ftintrz_w_d, i64, env, i64)
83DEF_HELPER_2(ftintrne_l_s, i64, env, i64)
84DEF_HELPER_2(ftintrne_l_d, i64, env, i64)
85DEF_HELPER_2(ftintrne_w_s, i64, env, i64)
86DEF_HELPER_2(ftintrne_w_d, i64, env, i64)
87DEF_HELPER_2(ftint_l_s, i64, env, i64)
88DEF_HELPER_2(ftint_l_d, i64, env, i64)
89DEF_HELPER_2(ftint_w_s, i64, env, i64)
90DEF_HELPER_2(ftint_w_d, i64, env, i64)
91DEF_HELPER_2(frint_s, i64, env, i64)
92DEF_HELPER_2(frint_d, i64, env, i64)
Song Gaob7dabd52022-06-06 20:43:03 +080093
Richard Henderson10dcb082022-08-06 10:04:44 -070094DEF_HELPER_FLAGS_1(set_rounding_mode, TCG_CALL_NO_RWG, void, env)
Xiaojuan Yang5b1dedf2022-06-06 20:43:15 +080095
Xiaojuan Yangf9bf5072022-06-06 20:43:19 +080096DEF_HELPER_1(rdtime_d, i64, env)
97
Song Gao0093b9a2022-06-24 11:10:47 +080098#ifndef CONFIG_USER_ONLY
Xiaojuan Yang5b1dedf2022-06-06 20:43:15 +080099/* CSRs helper */
100DEF_HELPER_1(csrrd_pgd, i64, env)
Thomas Huthc34ad452023-07-20 19:53:07 +0200101DEF_HELPER_1(csrrd_cpuid, i64, env)
Xiaojuan Yang5b1dedf2022-06-06 20:43:15 +0800102DEF_HELPER_1(csrrd_tval, i64, env)
103DEF_HELPER_2(csrwr_estat, i64, env, tl)
104DEF_HELPER_2(csrwr_asid, i64, env, tl)
105DEF_HELPER_2(csrwr_tcfg, i64, env, tl)
106DEF_HELPER_2(csrwr_ticlr, i64, env, tl)
Xiaojuan Yangf84a2aa2022-06-06 20:43:16 +0800107DEF_HELPER_2(iocsrrd_b, i64, env, tl)
108DEF_HELPER_2(iocsrrd_h, i64, env, tl)
109DEF_HELPER_2(iocsrrd_w, i64, env, tl)
110DEF_HELPER_2(iocsrrd_d, i64, env, tl)
111DEF_HELPER_3(iocsrwr_b, void, env, tl, tl)
112DEF_HELPER_3(iocsrwr_h, void, env, tl, tl)
113DEF_HELPER_3(iocsrwr_w, void, env, tl, tl)
114DEF_HELPER_3(iocsrwr_d, void, env, tl, tl)
Xiaojuan Yangfcbbeb82022-06-06 20:43:17 +0800115
116/* TLB helper */
117DEF_HELPER_1(tlbwr, void, env)
118DEF_HELPER_1(tlbfill, void, env)
119DEF_HELPER_1(tlbsrch, void, env)
120DEF_HELPER_1(tlbrd, void, env)
121DEF_HELPER_1(tlbclr, void, env)
122DEF_HELPER_1(tlbflush, void, env)
123DEF_HELPER_1(invtlb_all, void, env)
124DEF_HELPER_2(invtlb_all_g, void, env, i32)
125DEF_HELPER_2(invtlb_all_asid, void, env, tl)
126DEF_HELPER_3(invtlb_page_asid, void, env, tl, tl)
127DEF_HELPER_3(invtlb_page_asid_or_g, void, env, tl, tl)
Xiaojuan Yangd2cba6f2022-06-06 20:43:18 +0800128
129DEF_HELPER_4(lddir, tl, env, tl, tl, i32)
130DEF_HELPER_4(ldpte, void, env, tl, tl, i32)
131DEF_HELPER_1(ertn, void, env)
132DEF_HELPER_1(idle, void, env)
Song Gao0093b9a2022-06-24 11:10:47 +0800133#endif
Song Gaoc037fbc2023-05-04 20:27:34 +0800134
135/* LoongArch LSX */
136DEF_HELPER_4(vhaddw_h_b, void, env, i32, i32, i32)
137DEF_HELPER_4(vhaddw_w_h, void, env, i32, i32, i32)
138DEF_HELPER_4(vhaddw_d_w, void, env, i32, i32, i32)
139DEF_HELPER_4(vhaddw_q_d, void, env, i32, i32, i32)
140DEF_HELPER_4(vhaddw_hu_bu, void, env, i32, i32, i32)
141DEF_HELPER_4(vhaddw_wu_hu, void, env, i32, i32, i32)
142DEF_HELPER_4(vhaddw_du_wu, void, env, i32, i32, i32)
143DEF_HELPER_4(vhaddw_qu_du, void, env, i32, i32, i32)
144DEF_HELPER_4(vhsubw_h_b, void, env, i32, i32, i32)
145DEF_HELPER_4(vhsubw_w_h, void, env, i32, i32, i32)
146DEF_HELPER_4(vhsubw_d_w, void, env, i32, i32, i32)
147DEF_HELPER_4(vhsubw_q_d, void, env, i32, i32, i32)
148DEF_HELPER_4(vhsubw_hu_bu, void, env, i32, i32, i32)
149DEF_HELPER_4(vhsubw_wu_hu, void, env, i32, i32, i32)
150DEF_HELPER_4(vhsubw_du_wu, void, env, i32, i32, i32)
151DEF_HELPER_4(vhsubw_qu_du, void, env, i32, i32, i32)
Song Gao2d5f9502023-05-04 20:27:35 +0800152
153DEF_HELPER_FLAGS_4(vaddwev_h_b, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
154DEF_HELPER_FLAGS_4(vaddwev_w_h, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
155DEF_HELPER_FLAGS_4(vaddwev_d_w, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
156DEF_HELPER_FLAGS_4(vaddwev_q_d, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
157DEF_HELPER_FLAGS_4(vaddwod_h_b, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
158DEF_HELPER_FLAGS_4(vaddwod_w_h, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
159DEF_HELPER_FLAGS_4(vaddwod_d_w, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
160DEF_HELPER_FLAGS_4(vaddwod_q_d, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
161
162DEF_HELPER_FLAGS_4(vsubwev_h_b, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
163DEF_HELPER_FLAGS_4(vsubwev_w_h, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
164DEF_HELPER_FLAGS_4(vsubwev_d_w, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
165DEF_HELPER_FLAGS_4(vsubwev_q_d, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
166DEF_HELPER_FLAGS_4(vsubwod_h_b, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
167DEF_HELPER_FLAGS_4(vsubwod_w_h, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
168DEF_HELPER_FLAGS_4(vsubwod_d_w, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
169DEF_HELPER_FLAGS_4(vsubwod_q_d, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
170
171DEF_HELPER_FLAGS_4(vaddwev_h_bu, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
172DEF_HELPER_FLAGS_4(vaddwev_w_hu, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
173DEF_HELPER_FLAGS_4(vaddwev_d_wu, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
174DEF_HELPER_FLAGS_4(vaddwev_q_du, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
175DEF_HELPER_FLAGS_4(vaddwod_h_bu, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
176DEF_HELPER_FLAGS_4(vaddwod_w_hu, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
177DEF_HELPER_FLAGS_4(vaddwod_d_wu, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
178DEF_HELPER_FLAGS_4(vaddwod_q_du, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
179
180DEF_HELPER_FLAGS_4(vsubwev_h_bu, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
181DEF_HELPER_FLAGS_4(vsubwev_w_hu, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
182DEF_HELPER_FLAGS_4(vsubwev_d_wu, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
183DEF_HELPER_FLAGS_4(vsubwev_q_du, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
184DEF_HELPER_FLAGS_4(vsubwod_h_bu, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
185DEF_HELPER_FLAGS_4(vsubwod_w_hu, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
186DEF_HELPER_FLAGS_4(vsubwod_d_wu, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
187DEF_HELPER_FLAGS_4(vsubwod_q_du, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
188
189DEF_HELPER_FLAGS_4(vaddwev_h_bu_b, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
190DEF_HELPER_FLAGS_4(vaddwev_w_hu_h, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
191DEF_HELPER_FLAGS_4(vaddwev_d_wu_w, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
192DEF_HELPER_FLAGS_4(vaddwev_q_du_d, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
193DEF_HELPER_FLAGS_4(vaddwod_h_bu_b, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
194DEF_HELPER_FLAGS_4(vaddwod_w_hu_h, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
195DEF_HELPER_FLAGS_4(vaddwod_d_wu_w, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
196DEF_HELPER_FLAGS_4(vaddwod_q_du_d, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
Song Gao39e9b0a2023-05-04 20:27:36 +0800197
198DEF_HELPER_FLAGS_4(vavg_b, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
199DEF_HELPER_FLAGS_4(vavg_h, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
200DEF_HELPER_FLAGS_4(vavg_w, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
201DEF_HELPER_FLAGS_4(vavg_d, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
202DEF_HELPER_FLAGS_4(vavg_bu, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
203DEF_HELPER_FLAGS_4(vavg_hu, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
204DEF_HELPER_FLAGS_4(vavg_wu, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
205DEF_HELPER_FLAGS_4(vavg_du, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
206
207DEF_HELPER_FLAGS_4(vavgr_b, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
208DEF_HELPER_FLAGS_4(vavgr_h, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
209DEF_HELPER_FLAGS_4(vavgr_w, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
210DEF_HELPER_FLAGS_4(vavgr_d, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
211DEF_HELPER_FLAGS_4(vavgr_bu, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
212DEF_HELPER_FLAGS_4(vavgr_hu, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
213DEF_HELPER_FLAGS_4(vavgr_wu, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
214DEF_HELPER_FLAGS_4(vavgr_du, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
Song Gao49725652023-05-04 20:27:37 +0800215
216DEF_HELPER_FLAGS_4(vabsd_b, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
217DEF_HELPER_FLAGS_4(vabsd_h, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
218DEF_HELPER_FLAGS_4(vabsd_w, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
219DEF_HELPER_FLAGS_4(vabsd_d, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
220DEF_HELPER_FLAGS_4(vabsd_bu, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
221DEF_HELPER_FLAGS_4(vabsd_hu, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
222DEF_HELPER_FLAGS_4(vabsd_wu, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
223DEF_HELPER_FLAGS_4(vabsd_du, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
Song Gaoaf448cb2023-05-04 20:27:38 +0800224
225DEF_HELPER_FLAGS_4(vadda_b, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
226DEF_HELPER_FLAGS_4(vadda_h, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
227DEF_HELPER_FLAGS_4(vadda_w, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
228DEF_HELPER_FLAGS_4(vadda_d, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
Song Gao9ab29522023-05-04 20:27:39 +0800229
230DEF_HELPER_FLAGS_4(vmini_b, TCG_CALL_NO_RWG, void, ptr, ptr, i64, i32)
231DEF_HELPER_FLAGS_4(vmini_h, TCG_CALL_NO_RWG, void, ptr, ptr, i64, i32)
232DEF_HELPER_FLAGS_4(vmini_w, TCG_CALL_NO_RWG, void, ptr, ptr, i64, i32)
233DEF_HELPER_FLAGS_4(vmini_d, TCG_CALL_NO_RWG, void, ptr, ptr, i64, i32)
234DEF_HELPER_FLAGS_4(vmini_bu, TCG_CALL_NO_RWG, void, ptr, ptr, i64, i32)
235DEF_HELPER_FLAGS_4(vmini_hu, TCG_CALL_NO_RWG, void, ptr, ptr, i64, i32)
236DEF_HELPER_FLAGS_4(vmini_wu, TCG_CALL_NO_RWG, void, ptr, ptr, i64, i32)
237DEF_HELPER_FLAGS_4(vmini_du, TCG_CALL_NO_RWG, void, ptr, ptr, i64, i32)
238
239DEF_HELPER_FLAGS_4(vmaxi_b, TCG_CALL_NO_RWG, void, ptr, ptr, i64, i32)
240DEF_HELPER_FLAGS_4(vmaxi_h, TCG_CALL_NO_RWG, void, ptr, ptr, i64, i32)
241DEF_HELPER_FLAGS_4(vmaxi_w, TCG_CALL_NO_RWG, void, ptr, ptr, i64, i32)
242DEF_HELPER_FLAGS_4(vmaxi_d, TCG_CALL_NO_RWG, void, ptr, ptr, i64, i32)
243DEF_HELPER_FLAGS_4(vmaxi_bu, TCG_CALL_NO_RWG, void, ptr, ptr, i64, i32)
244DEF_HELPER_FLAGS_4(vmaxi_hu, TCG_CALL_NO_RWG, void, ptr, ptr, i64, i32)
245DEF_HELPER_FLAGS_4(vmaxi_wu, TCG_CALL_NO_RWG, void, ptr, ptr, i64, i32)
246DEF_HELPER_FLAGS_4(vmaxi_du, TCG_CALL_NO_RWG, void, ptr, ptr, i64, i32)
Song Gaocd1c49a2023-05-04 20:27:40 +0800247
248DEF_HELPER_FLAGS_4(vmuh_b, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
249DEF_HELPER_FLAGS_4(vmuh_h, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
250DEF_HELPER_FLAGS_4(vmuh_w, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
251DEF_HELPER_FLAGS_4(vmuh_d, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
252DEF_HELPER_FLAGS_4(vmuh_bu, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
253DEF_HELPER_FLAGS_4(vmuh_hu, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
254DEF_HELPER_FLAGS_4(vmuh_wu, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
255DEF_HELPER_FLAGS_4(vmuh_du, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
256
257DEF_HELPER_FLAGS_4(vmulwev_h_b, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
258DEF_HELPER_FLAGS_4(vmulwev_w_h, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
259DEF_HELPER_FLAGS_4(vmulwev_d_w, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
260DEF_HELPER_FLAGS_4(vmulwod_h_b, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
261DEF_HELPER_FLAGS_4(vmulwod_w_h, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
262DEF_HELPER_FLAGS_4(vmulwod_d_w, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
263
264DEF_HELPER_FLAGS_4(vmulwev_h_bu, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
265DEF_HELPER_FLAGS_4(vmulwev_w_hu, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
266DEF_HELPER_FLAGS_4(vmulwev_d_wu, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
267DEF_HELPER_FLAGS_4(vmulwod_h_bu, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
268DEF_HELPER_FLAGS_4(vmulwod_w_hu, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
269DEF_HELPER_FLAGS_4(vmulwod_d_wu, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
270
271DEF_HELPER_FLAGS_4(vmulwev_h_bu_b, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
272DEF_HELPER_FLAGS_4(vmulwev_w_hu_h, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
273DEF_HELPER_FLAGS_4(vmulwev_d_wu_w, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
274DEF_HELPER_FLAGS_4(vmulwod_h_bu_b, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
275DEF_HELPER_FLAGS_4(vmulwod_w_hu_h, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
276DEF_HELPER_FLAGS_4(vmulwod_d_wu_w, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
Song Gaod3aec652023-05-04 20:27:41 +0800277
278DEF_HELPER_FLAGS_4(vmadd_b, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
279DEF_HELPER_FLAGS_4(vmadd_h, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
280DEF_HELPER_FLAGS_4(vmadd_w, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
281DEF_HELPER_FLAGS_4(vmadd_d, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
282DEF_HELPER_FLAGS_4(vmsub_b, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
283DEF_HELPER_FLAGS_4(vmsub_h, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
284DEF_HELPER_FLAGS_4(vmsub_w, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
285DEF_HELPER_FLAGS_4(vmsub_d, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
286
287DEF_HELPER_FLAGS_4(vmaddwev_h_b, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
288DEF_HELPER_FLAGS_4(vmaddwev_w_h, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
289DEF_HELPER_FLAGS_4(vmaddwev_d_w, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
290DEF_HELPER_FLAGS_4(vmaddwod_h_b, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
291DEF_HELPER_FLAGS_4(vmaddwod_w_h, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
292DEF_HELPER_FLAGS_4(vmaddwod_d_w, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
293
294DEF_HELPER_FLAGS_4(vmaddwev_h_bu, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
295DEF_HELPER_FLAGS_4(vmaddwev_w_hu, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
296DEF_HELPER_FLAGS_4(vmaddwev_d_wu, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
297DEF_HELPER_FLAGS_4(vmaddwod_h_bu, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
298DEF_HELPER_FLAGS_4(vmaddwod_w_hu, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
299DEF_HELPER_FLAGS_4(vmaddwod_d_wu, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
300
301DEF_HELPER_FLAGS_4(vmaddwev_h_bu_b, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
302DEF_HELPER_FLAGS_4(vmaddwev_w_hu_h, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
303DEF_HELPER_FLAGS_4(vmaddwev_d_wu_w, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
304DEF_HELPER_FLAGS_4(vmaddwod_h_bu_b, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
305DEF_HELPER_FLAGS_4(vmaddwod_w_hu_h, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
306DEF_HELPER_FLAGS_4(vmaddwod_d_wu_w, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
Song Gao4cc4c0f2023-05-04 20:27:42 +0800307
308DEF_HELPER_4(vdiv_b, void, env, i32, i32, i32)
309DEF_HELPER_4(vdiv_h, void, env, i32, i32, i32)
310DEF_HELPER_4(vdiv_w, void, env, i32, i32, i32)
311DEF_HELPER_4(vdiv_d, void, env, i32, i32, i32)
312DEF_HELPER_4(vdiv_bu, void, env, i32, i32, i32)
313DEF_HELPER_4(vdiv_hu, void, env, i32, i32, i32)
314DEF_HELPER_4(vdiv_wu, void, env, i32, i32, i32)
315DEF_HELPER_4(vdiv_du, void, env, i32, i32, i32)
316DEF_HELPER_4(vmod_b, void, env, i32, i32, i32)
317DEF_HELPER_4(vmod_h, void, env, i32, i32, i32)
318DEF_HELPER_4(vmod_w, void, env, i32, i32, i32)
319DEF_HELPER_4(vmod_d, void, env, i32, i32, i32)
320DEF_HELPER_4(vmod_bu, void, env, i32, i32, i32)
321DEF_HELPER_4(vmod_hu, void, env, i32, i32, i32)
322DEF_HELPER_4(vmod_wu, void, env, i32, i32, i32)
323DEF_HELPER_4(vmod_du, void, env, i32, i32, i32)
Song Gaocbe44192023-05-04 20:27:43 +0800324
325DEF_HELPER_FLAGS_4(vsat_b, TCG_CALL_NO_RWG, void, ptr, ptr, i64, i32)
326DEF_HELPER_FLAGS_4(vsat_h, TCG_CALL_NO_RWG, void, ptr, ptr, i64, i32)
327DEF_HELPER_FLAGS_4(vsat_w, TCG_CALL_NO_RWG, void, ptr, ptr, i64, i32)
328DEF_HELPER_FLAGS_4(vsat_d, TCG_CALL_NO_RWG, void, ptr, ptr, i64, i32)
329DEF_HELPER_FLAGS_4(vsat_bu, TCG_CALL_NO_RWG, void, ptr, ptr, i64, i32)
330DEF_HELPER_FLAGS_4(vsat_hu, TCG_CALL_NO_RWG, void, ptr, ptr, i64, i32)
331DEF_HELPER_FLAGS_4(vsat_wu, TCG_CALL_NO_RWG, void, ptr, ptr, i64, i32)
332DEF_HELPER_FLAGS_4(vsat_du, TCG_CALL_NO_RWG, void, ptr, ptr, i64, i32)
Song Gao3734ad92023-05-04 20:27:44 +0800333
334DEF_HELPER_3(vexth_h_b, void, env, i32, i32)
335DEF_HELPER_3(vexth_w_h, void, env, i32, i32)
336DEF_HELPER_3(vexth_d_w, void, env, i32, i32)
337DEF_HELPER_3(vexth_q_d, void, env, i32, i32)
338DEF_HELPER_3(vexth_hu_bu, void, env, i32, i32)
339DEF_HELPER_3(vexth_wu_hu, void, env, i32, i32)
340DEF_HELPER_3(vexth_du_wu, void, env, i32, i32)
341DEF_HELPER_3(vexth_qu_du, void, env, i32, i32)
Song Gaof0e395d2023-05-04 20:27:45 +0800342
343DEF_HELPER_FLAGS_4(vsigncov_b, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
344DEF_HELPER_FLAGS_4(vsigncov_h, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
345DEF_HELPER_FLAGS_4(vsigncov_w, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
346DEF_HELPER_FLAGS_4(vsigncov_d, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
Song Gao789f4a42023-05-04 20:27:46 +0800347
348DEF_HELPER_3(vmskltz_b, void, env, i32, i32)
349DEF_HELPER_3(vmskltz_h, void, env, i32, i32)
350DEF_HELPER_3(vmskltz_w, void, env, i32, i32)
351DEF_HELPER_3(vmskltz_d, void, env, i32, i32)
352DEF_HELPER_3(vmskgez_b, void, env, i32, i32)
353DEF_HELPER_3(vmsknz_b, void, env, i32,i32)
Song Gaof205a532023-05-04 20:27:47 +0800354
355DEF_HELPER_FLAGS_4(vnori_b, TCG_CALL_NO_RWG, void, ptr, ptr, i64, i32)
Song Gao9b21a7a2023-05-04 20:27:49 +0800356
357DEF_HELPER_4(vsllwil_h_b, void, env, i32, i32, i32)
358DEF_HELPER_4(vsllwil_w_h, void, env, i32, i32, i32)
359DEF_HELPER_4(vsllwil_d_w, void, env, i32, i32, i32)
360DEF_HELPER_3(vextl_q_d, void, env, i32, i32)
361DEF_HELPER_4(vsllwil_hu_bu, void, env, i32, i32, i32)
362DEF_HELPER_4(vsllwil_wu_hu, void, env, i32, i32, i32)
363DEF_HELPER_4(vsllwil_du_wu, void, env, i32, i32, i32)
364DEF_HELPER_3(vextl_qu_du, void, env, i32, i32)
Song Gaoecb93712023-05-04 20:27:50 +0800365
366DEF_HELPER_4(vsrlr_b, void, env, i32, i32, i32)
367DEF_HELPER_4(vsrlr_h, void, env, i32, i32, i32)
368DEF_HELPER_4(vsrlr_w, void, env, i32, i32, i32)
369DEF_HELPER_4(vsrlr_d, void, env, i32, i32, i32)
370DEF_HELPER_4(vsrlri_b, void, env, i32, i32, i32)
371DEF_HELPER_4(vsrlri_h, void, env, i32, i32, i32)
372DEF_HELPER_4(vsrlri_w, void, env, i32, i32, i32)
373DEF_HELPER_4(vsrlri_d, void, env, i32, i32, i32)
374
375DEF_HELPER_4(vsrar_b, void, env, i32, i32, i32)
376DEF_HELPER_4(vsrar_h, void, env, i32, i32, i32)
377DEF_HELPER_4(vsrar_w, void, env, i32, i32, i32)
378DEF_HELPER_4(vsrar_d, void, env, i32, i32, i32)
379DEF_HELPER_4(vsrari_b, void, env, i32, i32, i32)
380DEF_HELPER_4(vsrari_h, void, env, i32, i32, i32)
381DEF_HELPER_4(vsrari_w, void, env, i32, i32, i32)
382DEF_HELPER_4(vsrari_d, void, env, i32, i32, i32)
Song Gaod79fb8d2023-05-04 20:27:51 +0800383
384DEF_HELPER_4(vsrln_b_h, void, env, i32, i32, i32)
385DEF_HELPER_4(vsrln_h_w, void, env, i32, i32, i32)
386DEF_HELPER_4(vsrln_w_d, void, env, i32, i32, i32)
387DEF_HELPER_4(vsran_b_h, void, env, i32, i32, i32)
388DEF_HELPER_4(vsran_h_w, void, env, i32, i32, i32)
389DEF_HELPER_4(vsran_w_d, void, env, i32, i32, i32)
390
391DEF_HELPER_4(vsrlni_b_h, void, env, i32, i32, i32)
392DEF_HELPER_4(vsrlni_h_w, void, env, i32, i32, i32)
393DEF_HELPER_4(vsrlni_w_d, void, env, i32, i32, i32)
394DEF_HELPER_4(vsrlni_d_q, void, env, i32, i32, i32)
395DEF_HELPER_4(vsrani_b_h, void, env, i32, i32, i32)
396DEF_HELPER_4(vsrani_h_w, void, env, i32, i32, i32)
397DEF_HELPER_4(vsrani_w_d, void, env, i32, i32, i32)
398DEF_HELPER_4(vsrani_d_q, void, env, i32, i32, i32)
Song Gaoa5200a12023-05-04 20:27:52 +0800399
400DEF_HELPER_4(vsrlrn_b_h, void, env, i32, i32, i32)
401DEF_HELPER_4(vsrlrn_h_w, void, env, i32, i32, i32)
402DEF_HELPER_4(vsrlrn_w_d, void, env, i32, i32, i32)
403DEF_HELPER_4(vsrarn_b_h, void, env, i32, i32, i32)
404DEF_HELPER_4(vsrarn_h_w, void, env, i32, i32, i32)
405DEF_HELPER_4(vsrarn_w_d, void, env, i32, i32, i32)
406
407DEF_HELPER_4(vsrlrni_b_h, void, env, i32, i32, i32)
408DEF_HELPER_4(vsrlrni_h_w, void, env, i32, i32, i32)
409DEF_HELPER_4(vsrlrni_w_d, void, env, i32, i32, i32)
410DEF_HELPER_4(vsrlrni_d_q, void, env, i32, i32, i32)
411DEF_HELPER_4(vsrarni_b_h, void, env, i32, i32, i32)
412DEF_HELPER_4(vsrarni_h_w, void, env, i32, i32, i32)
413DEF_HELPER_4(vsrarni_w_d, void, env, i32, i32, i32)
414DEF_HELPER_4(vsrarni_d_q, void, env, i32, i32, i32)
Song Gao83b38152023-05-04 20:27:53 +0800415
416DEF_HELPER_4(vssrln_b_h, void, env, i32, i32, i32)
417DEF_HELPER_4(vssrln_h_w, void, env, i32, i32, i32)
418DEF_HELPER_4(vssrln_w_d, void, env, i32, i32, i32)
419DEF_HELPER_4(vssran_b_h, void, env, i32, i32, i32)
420DEF_HELPER_4(vssran_h_w, void, env, i32, i32, i32)
421DEF_HELPER_4(vssran_w_d, void, env, i32, i32, i32)
422DEF_HELPER_4(vssrln_bu_h, void, env, i32, i32, i32)
423DEF_HELPER_4(vssrln_hu_w, void, env, i32, i32, i32)
424DEF_HELPER_4(vssrln_wu_d, void, env, i32, i32, i32)
425DEF_HELPER_4(vssran_bu_h, void, env, i32, i32, i32)
426DEF_HELPER_4(vssran_hu_w, void, env, i32, i32, i32)
427DEF_HELPER_4(vssran_wu_d, void, env, i32, i32, i32)
428
429DEF_HELPER_4(vssrlni_b_h, void, env, i32, i32, i32)
430DEF_HELPER_4(vssrlni_h_w, void, env, i32, i32, i32)
431DEF_HELPER_4(vssrlni_w_d, void, env, i32, i32, i32)
432DEF_HELPER_4(vssrlni_d_q, void, env, i32, i32, i32)
433DEF_HELPER_4(vssrani_b_h, void, env, i32, i32, i32)
434DEF_HELPER_4(vssrani_h_w, void, env, i32, i32, i32)
435DEF_HELPER_4(vssrani_w_d, void, env, i32, i32, i32)
436DEF_HELPER_4(vssrani_d_q, void, env, i32, i32, i32)
437DEF_HELPER_4(vssrlni_bu_h, void, env, i32, i32, i32)
438DEF_HELPER_4(vssrlni_hu_w, void, env, i32, i32, i32)
439DEF_HELPER_4(vssrlni_wu_d, void, env, i32, i32, i32)
440DEF_HELPER_4(vssrlni_du_q, void, env, i32, i32, i32)
441DEF_HELPER_4(vssrani_bu_h, void, env, i32, i32, i32)
442DEF_HELPER_4(vssrani_hu_w, void, env, i32, i32, i32)
443DEF_HELPER_4(vssrani_wu_d, void, env, i32, i32, i32)
444DEF_HELPER_4(vssrani_du_q, void, env, i32, i32, i32)
Song Gao162cd322023-05-04 20:27:54 +0800445
446DEF_HELPER_4(vssrlrn_b_h, void, env, i32, i32, i32)
447DEF_HELPER_4(vssrlrn_h_w, void, env, i32, i32, i32)
448DEF_HELPER_4(vssrlrn_w_d, void, env, i32, i32, i32)
449DEF_HELPER_4(vssrarn_b_h, void, env, i32, i32, i32)
450DEF_HELPER_4(vssrarn_h_w, void, env, i32, i32, i32)
451DEF_HELPER_4(vssrarn_w_d, void, env, i32, i32, i32)
452DEF_HELPER_4(vssrlrn_bu_h, void, env, i32, i32, i32)
453DEF_HELPER_4(vssrlrn_hu_w, void, env, i32, i32, i32)
454DEF_HELPER_4(vssrlrn_wu_d, void, env, i32, i32, i32)
455DEF_HELPER_4(vssrarn_bu_h, void, env, i32, i32, i32)
456DEF_HELPER_4(vssrarn_hu_w, void, env, i32, i32, i32)
457DEF_HELPER_4(vssrarn_wu_d, void, env, i32, i32, i32)
458
459DEF_HELPER_4(vssrlrni_b_h, void, env, i32, i32, i32)
460DEF_HELPER_4(vssrlrni_h_w, void, env, i32, i32, i32)
461DEF_HELPER_4(vssrlrni_w_d, void, env, i32, i32, i32)
462DEF_HELPER_4(vssrlrni_d_q, void, env, i32, i32, i32)
463DEF_HELPER_4(vssrarni_b_h, void, env, i32, i32, i32)
464DEF_HELPER_4(vssrarni_h_w, void, env, i32, i32, i32)
465DEF_HELPER_4(vssrarni_w_d, void, env, i32, i32, i32)
466DEF_HELPER_4(vssrarni_d_q, void, env, i32, i32, i32)
467DEF_HELPER_4(vssrlrni_bu_h, void, env, i32, i32, i32)
468DEF_HELPER_4(vssrlrni_hu_w, void, env, i32, i32, i32)
469DEF_HELPER_4(vssrlrni_wu_d, void, env, i32, i32, i32)
470DEF_HELPER_4(vssrlrni_du_q, void, env, i32, i32, i32)
471DEF_HELPER_4(vssrarni_bu_h, void, env, i32, i32, i32)
472DEF_HELPER_4(vssrarni_hu_w, void, env, i32, i32, i32)
473DEF_HELPER_4(vssrarni_wu_d, void, env, i32, i32, i32)
474DEF_HELPER_4(vssrarni_du_q, void, env, i32, i32, i32)
Song Gao2e105e12023-05-04 20:27:55 +0800475
476DEF_HELPER_3(vclo_b, void, env, i32, i32)
477DEF_HELPER_3(vclo_h, void, env, i32, i32)
478DEF_HELPER_3(vclo_w, void, env, i32, i32)
479DEF_HELPER_3(vclo_d, void, env, i32, i32)
480DEF_HELPER_3(vclz_b, void, env, i32, i32)
481DEF_HELPER_3(vclz_h, void, env, i32, i32)
482DEF_HELPER_3(vclz_w, void, env, i32, i32)
483DEF_HELPER_3(vclz_d, void, env, i32, i32)
Song Gaobb22ee52023-05-04 20:27:56 +0800484
485DEF_HELPER_3(vpcnt_b, void, env, i32, i32)
486DEF_HELPER_3(vpcnt_h, void, env, i32, i32)
487DEF_HELPER_3(vpcnt_w, void, env, i32, i32)
488DEF_HELPER_3(vpcnt_d, void, env, i32, i32)
Song Gao0b1e6702023-05-04 20:27:57 +0800489
490DEF_HELPER_FLAGS_4(vbitclr_b, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
491DEF_HELPER_FLAGS_4(vbitclr_h, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
492DEF_HELPER_FLAGS_4(vbitclr_w, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
493DEF_HELPER_FLAGS_4(vbitclr_d, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
494DEF_HELPER_FLAGS_4(vbitclri_b, TCG_CALL_NO_RWG, void, ptr, ptr, i64, i32)
495DEF_HELPER_FLAGS_4(vbitclri_h, TCG_CALL_NO_RWG, void, ptr, ptr, i64, i32)
496DEF_HELPER_FLAGS_4(vbitclri_w, TCG_CALL_NO_RWG, void, ptr, ptr, i64, i32)
497DEF_HELPER_FLAGS_4(vbitclri_d, TCG_CALL_NO_RWG, void, ptr, ptr, i64, i32)
498
499DEF_HELPER_FLAGS_4(vbitset_b, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
500DEF_HELPER_FLAGS_4(vbitset_h, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
501DEF_HELPER_FLAGS_4(vbitset_w, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
502DEF_HELPER_FLAGS_4(vbitset_d, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
503DEF_HELPER_FLAGS_4(vbitseti_b, TCG_CALL_NO_RWG, void, ptr, ptr, i64, i32)
504DEF_HELPER_FLAGS_4(vbitseti_h, TCG_CALL_NO_RWG, void, ptr, ptr, i64, i32)
505DEF_HELPER_FLAGS_4(vbitseti_w, TCG_CALL_NO_RWG, void, ptr, ptr, i64, i32)
506DEF_HELPER_FLAGS_4(vbitseti_d, TCG_CALL_NO_RWG, void, ptr, ptr, i64, i32)
507
508DEF_HELPER_FLAGS_4(vbitrev_b, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
509DEF_HELPER_FLAGS_4(vbitrev_h, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
510DEF_HELPER_FLAGS_4(vbitrev_w, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
511DEF_HELPER_FLAGS_4(vbitrev_d, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
512DEF_HELPER_FLAGS_4(vbitrevi_b, TCG_CALL_NO_RWG, void, ptr, ptr, i64, i32)
513DEF_HELPER_FLAGS_4(vbitrevi_h, TCG_CALL_NO_RWG, void, ptr, ptr, i64, i32)
514DEF_HELPER_FLAGS_4(vbitrevi_w, TCG_CALL_NO_RWG, void, ptr, ptr, i64, i32)
515DEF_HELPER_FLAGS_4(vbitrevi_d, TCG_CALL_NO_RWG, void, ptr, ptr, i64, i32)
Song Gaoac95a0b2023-05-04 20:27:58 +0800516
517DEF_HELPER_4(vfrstp_b, void, env, i32, i32, i32)
518DEF_HELPER_4(vfrstp_h, void, env, i32, i32, i32)
519DEF_HELPER_4(vfrstpi_b, void, env, i32, i32, i32)
520DEF_HELPER_4(vfrstpi_h, void, env, i32, i32, i32)
Song Gaoaca67472023-05-04 20:27:59 +0800521
522DEF_HELPER_4(vfadd_s, void, env, i32, i32, i32)
523DEF_HELPER_4(vfadd_d, void, env, i32, i32, i32)
524DEF_HELPER_4(vfsub_s, void, env, i32, i32, i32)
525DEF_HELPER_4(vfsub_d, void, env, i32, i32, i32)
526DEF_HELPER_4(vfmul_s, void, env, i32, i32, i32)
527DEF_HELPER_4(vfmul_d, void, env, i32, i32, i32)
528DEF_HELPER_4(vfdiv_s, void, env, i32, i32, i32)
529DEF_HELPER_4(vfdiv_d, void, env, i32, i32, i32)
530
Song Gaoe2600da2023-09-14 10:25:51 +0800531DEF_HELPER_FLAGS_6(vfmadd_s, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, ptr, env, i32)
532DEF_HELPER_FLAGS_6(vfmadd_d, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, ptr, env, i32)
533DEF_HELPER_FLAGS_6(vfmsub_s, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, ptr, env, i32)
534DEF_HELPER_FLAGS_6(vfmsub_d, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, ptr, env, i32)
535DEF_HELPER_FLAGS_6(vfnmadd_s, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, ptr, env, i32)
536DEF_HELPER_FLAGS_6(vfnmadd_d, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, ptr, env, i32)
537DEF_HELPER_FLAGS_6(vfnmsub_s, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, ptr, env, i32)
538DEF_HELPER_FLAGS_6(vfnmsub_d, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, ptr, env, i32)
Song Gaoaca67472023-05-04 20:27:59 +0800539
540DEF_HELPER_4(vfmax_s, void, env, i32, i32, i32)
541DEF_HELPER_4(vfmax_d, void, env, i32, i32, i32)
542DEF_HELPER_4(vfmin_s, void, env, i32, i32, i32)
543DEF_HELPER_4(vfmin_d, void, env, i32, i32, i32)
544
545DEF_HELPER_4(vfmaxa_s, void, env, i32, i32, i32)
546DEF_HELPER_4(vfmaxa_d, void, env, i32, i32, i32)
547DEF_HELPER_4(vfmina_s, void, env, i32, i32, i32)
548DEF_HELPER_4(vfmina_d, void, env, i32, i32, i32)
549
550DEF_HELPER_3(vflogb_s, void, env, i32, i32)
551DEF_HELPER_3(vflogb_d, void, env, i32, i32)
552
553DEF_HELPER_3(vfclass_s, void, env, i32, i32)
554DEF_HELPER_3(vfclass_d, void, env, i32, i32)
555
556DEF_HELPER_3(vfsqrt_s, void, env, i32, i32)
557DEF_HELPER_3(vfsqrt_d, void, env, i32, i32)
558DEF_HELPER_3(vfrecip_s, void, env, i32, i32)
559DEF_HELPER_3(vfrecip_d, void, env, i32, i32)
560DEF_HELPER_3(vfrsqrt_s, void, env, i32, i32)
561DEF_HELPER_3(vfrsqrt_d, void, env, i32, i32)
Song Gao399665d2023-05-04 20:28:00 +0800562
563DEF_HELPER_3(vfcvtl_s_h, void, env, i32, i32)
564DEF_HELPER_3(vfcvth_s_h, void, env, i32, i32)
565DEF_HELPER_3(vfcvtl_d_s, void, env, i32, i32)
566DEF_HELPER_3(vfcvth_d_s, void, env, i32, i32)
567DEF_HELPER_4(vfcvt_h_s, void, env, i32, i32, i32)
568DEF_HELPER_4(vfcvt_s_d, void, env, i32, i32, i32)
569
570DEF_HELPER_3(vfrintrne_s, void, env, i32, i32)
571DEF_HELPER_3(vfrintrne_d, void, env, i32, i32)
572DEF_HELPER_3(vfrintrz_s, void, env, i32, i32)
573DEF_HELPER_3(vfrintrz_d, void, env, i32, i32)
574DEF_HELPER_3(vfrintrp_s, void, env, i32, i32)
575DEF_HELPER_3(vfrintrp_d, void, env, i32, i32)
576DEF_HELPER_3(vfrintrm_s, void, env, i32, i32)
577DEF_HELPER_3(vfrintrm_d, void, env, i32, i32)
578DEF_HELPER_3(vfrint_s, void, env, i32, i32)
579DEF_HELPER_3(vfrint_d, void, env, i32, i32)
580
581DEF_HELPER_3(vftintrne_w_s, void, env, i32, i32)
582DEF_HELPER_3(vftintrne_l_d, void, env, i32, i32)
583DEF_HELPER_3(vftintrz_w_s, void, env, i32, i32)
584DEF_HELPER_3(vftintrz_l_d, void, env, i32, i32)
585DEF_HELPER_3(vftintrp_w_s, void, env, i32, i32)
586DEF_HELPER_3(vftintrp_l_d, void, env, i32, i32)
587DEF_HELPER_3(vftintrm_w_s, void, env, i32, i32)
588DEF_HELPER_3(vftintrm_l_d, void, env, i32, i32)
589DEF_HELPER_3(vftint_w_s, void, env, i32, i32)
590DEF_HELPER_3(vftint_l_d, void, env, i32, i32)
591DEF_HELPER_3(vftintrz_wu_s, void, env, i32, i32)
592DEF_HELPER_3(vftintrz_lu_d, void, env, i32, i32)
593DEF_HELPER_3(vftint_wu_s, void, env, i32, i32)
594DEF_HELPER_3(vftint_lu_d, void, env, i32, i32)
595DEF_HELPER_4(vftintrne_w_d, void, env, i32, i32, i32)
596DEF_HELPER_4(vftintrz_w_d, void, env, i32, i32, i32)
597DEF_HELPER_4(vftintrp_w_d, void, env, i32, i32, i32)
598DEF_HELPER_4(vftintrm_w_d, void, env, i32, i32, i32)
599DEF_HELPER_4(vftint_w_d, void, env, i32, i32, i32)
600DEF_HELPER_3(vftintrnel_l_s, void, env, i32, i32)
601DEF_HELPER_3(vftintrneh_l_s, void, env, i32, i32)
602DEF_HELPER_3(vftintrzl_l_s, void, env, i32, i32)
603DEF_HELPER_3(vftintrzh_l_s, void, env, i32, i32)
604DEF_HELPER_3(vftintrpl_l_s, void, env, i32, i32)
605DEF_HELPER_3(vftintrph_l_s, void, env, i32, i32)
606DEF_HELPER_3(vftintrml_l_s, void, env, i32, i32)
607DEF_HELPER_3(vftintrmh_l_s, void, env, i32, i32)
608DEF_HELPER_3(vftintl_l_s, void, env, i32, i32)
609DEF_HELPER_3(vftinth_l_s, void, env, i32, i32)
610
611DEF_HELPER_3(vffint_s_w, void, env, i32, i32)
612DEF_HELPER_3(vffint_d_l, void, env, i32, i32)
613DEF_HELPER_3(vffint_s_wu, void, env, i32, i32)
614DEF_HELPER_3(vffint_d_lu, void, env, i32, i32)
615DEF_HELPER_3(vffintl_d_w, void, env, i32, i32)
616DEF_HELPER_3(vffinth_d_w, void, env, i32, i32)
617DEF_HELPER_4(vffint_s_l, void, env, i32, i32, i32)
Song Gaof435e1e2023-05-04 20:28:01 +0800618
619DEF_HELPER_FLAGS_4(vseqi_b, TCG_CALL_NO_RWG, void, ptr, ptr, i64, i32)
620DEF_HELPER_FLAGS_4(vseqi_h, TCG_CALL_NO_RWG, void, ptr, ptr, i64, i32)
621DEF_HELPER_FLAGS_4(vseqi_w, TCG_CALL_NO_RWG, void, ptr, ptr, i64, i32)
622DEF_HELPER_FLAGS_4(vseqi_d, TCG_CALL_NO_RWG, void, ptr, ptr, i64, i32)
623
624DEF_HELPER_FLAGS_4(vslei_b, TCG_CALL_NO_RWG, void, ptr, ptr, i64, i32)
625DEF_HELPER_FLAGS_4(vslei_h, TCG_CALL_NO_RWG, void, ptr, ptr, i64, i32)
626DEF_HELPER_FLAGS_4(vslei_w, TCG_CALL_NO_RWG, void, ptr, ptr, i64, i32)
627DEF_HELPER_FLAGS_4(vslei_d, TCG_CALL_NO_RWG, void, ptr, ptr, i64, i32)
628DEF_HELPER_FLAGS_4(vslei_bu, TCG_CALL_NO_RWG, void, ptr, ptr, i64, i32)
629DEF_HELPER_FLAGS_4(vslei_hu, TCG_CALL_NO_RWG, void, ptr, ptr, i64, i32)
630DEF_HELPER_FLAGS_4(vslei_wu, TCG_CALL_NO_RWG, void, ptr, ptr, i64, i32)
631DEF_HELPER_FLAGS_4(vslei_du, TCG_CALL_NO_RWG, void, ptr, ptr, i64, i32)
632
633DEF_HELPER_FLAGS_4(vslti_b, TCG_CALL_NO_RWG, void, ptr, ptr, i64, i32)
634DEF_HELPER_FLAGS_4(vslti_h, TCG_CALL_NO_RWG, void, ptr, ptr, i64, i32)
635DEF_HELPER_FLAGS_4(vslti_w, TCG_CALL_NO_RWG, void, ptr, ptr, i64, i32)
636DEF_HELPER_FLAGS_4(vslti_d, TCG_CALL_NO_RWG, void, ptr, ptr, i64, i32)
637DEF_HELPER_FLAGS_4(vslti_bu, TCG_CALL_NO_RWG, void, ptr, ptr, i64, i32)
638DEF_HELPER_FLAGS_4(vslti_hu, TCG_CALL_NO_RWG, void, ptr, ptr, i64, i32)
639DEF_HELPER_FLAGS_4(vslti_wu, TCG_CALL_NO_RWG, void, ptr, ptr, i64, i32)
640DEF_HELPER_FLAGS_4(vslti_du, TCG_CALL_NO_RWG, void, ptr, ptr, i64, i32)
Song Gao386c4e82023-05-04 20:28:02 +0800641
642DEF_HELPER_5(vfcmp_c_s, void, env, i32, i32, i32, i32)
643DEF_HELPER_5(vfcmp_s_s, void, env, i32, i32, i32, i32)
644DEF_HELPER_5(vfcmp_c_d, void, env, i32, i32, i32, i32)
645DEF_HELPER_5(vfcmp_s_d, void, env, i32, i32, i32, i32)
Song Gaod0dfa192023-05-04 20:28:03 +0800646
647DEF_HELPER_FLAGS_4(vbitseli_b, TCG_CALL_NO_RWG, void, ptr, ptr, i64, i32)
648
649DEF_HELPER_3(vsetanyeqz_b, void, env, i32, i32)
650DEF_HELPER_3(vsetanyeqz_h, void, env, i32, i32)
651DEF_HELPER_3(vsetanyeqz_w, void, env, i32, i32)
652DEF_HELPER_3(vsetanyeqz_d, void, env, i32, i32)
653DEF_HELPER_3(vsetallnez_b, void, env, i32, i32)
654DEF_HELPER_3(vsetallnez_h, void, env, i32, i32)
655DEF_HELPER_3(vsetallnez_w, void, env, i32, i32)
656DEF_HELPER_3(vsetallnez_d, void, env, i32, i32)
Song Gaod5e55632023-05-04 20:28:05 +0800657
658DEF_HELPER_4(vpackev_b, void, env, i32, i32, i32)
659DEF_HELPER_4(vpackev_h, void, env, i32, i32, i32)
660DEF_HELPER_4(vpackev_w, void, env, i32, i32, i32)
661DEF_HELPER_4(vpackev_d, void, env, i32, i32, i32)
662DEF_HELPER_4(vpackod_b, void, env, i32, i32, i32)
663DEF_HELPER_4(vpackod_h, void, env, i32, i32, i32)
664DEF_HELPER_4(vpackod_w, void, env, i32, i32, i32)
665DEF_HELPER_4(vpackod_d, void, env, i32, i32, i32)
666
667DEF_HELPER_4(vpickev_b, void, env, i32, i32, i32)
668DEF_HELPER_4(vpickev_h, void, env, i32, i32, i32)
669DEF_HELPER_4(vpickev_w, void, env, i32, i32, i32)
670DEF_HELPER_4(vpickev_d, void, env, i32, i32, i32)
671DEF_HELPER_4(vpickod_b, void, env, i32, i32, i32)
672DEF_HELPER_4(vpickod_h, void, env, i32, i32, i32)
673DEF_HELPER_4(vpickod_w, void, env, i32, i32, i32)
674DEF_HELPER_4(vpickod_d, void, env, i32, i32, i32)
Song Gaoe93dd432023-05-04 20:28:06 +0800675
676DEF_HELPER_4(vilvl_b, void, env, i32, i32, i32)
677DEF_HELPER_4(vilvl_h, void, env, i32, i32, i32)
678DEF_HELPER_4(vilvl_w, void, env, i32, i32, i32)
679DEF_HELPER_4(vilvl_d, void, env, i32, i32, i32)
680DEF_HELPER_4(vilvh_b, void, env, i32, i32, i32)
681DEF_HELPER_4(vilvh_h, void, env, i32, i32, i32)
682DEF_HELPER_4(vilvh_w, void, env, i32, i32, i32)
683DEF_HELPER_4(vilvh_d, void, env, i32, i32, i32)
684
685DEF_HELPER_5(vshuf_b, void, env, i32, i32, i32, i32)
686DEF_HELPER_4(vshuf_h, void, env, i32, i32, i32)
687DEF_HELPER_4(vshuf_w, void, env, i32, i32, i32)
688DEF_HELPER_4(vshuf_d, void, env, i32, i32, i32)
689DEF_HELPER_4(vshuf4i_b, void, env, i32, i32, i32)
690DEF_HELPER_4(vshuf4i_h, void, env, i32, i32, i32)
691DEF_HELPER_4(vshuf4i_w, void, env, i32, i32, i32)
692DEF_HELPER_4(vshuf4i_d, void, env, i32, i32, i32)
693
694DEF_HELPER_4(vpermi_w, void, env, i32, i32, i32)
695
696DEF_HELPER_4(vextrins_b, void, env, i32, i32, i32)
697DEF_HELPER_4(vextrins_h, void, env, i32, i32, i32)
698DEF_HELPER_4(vextrins_w, void, env, i32, i32, i32)
699DEF_HELPER_4(vextrins_d, void, env, i32, i32, i32)