xref: /openbmc/qemu/target/riscv/helper.h (revision d3842924)
1 /* Exceptions */
2 DEF_HELPER_2(raise_exception, noreturn, env, i32)
3 
4 /* Floating Point - rounding mode */
5 DEF_HELPER_FLAGS_2(set_rounding_mode, TCG_CALL_NO_WG, void, env, i32)
6 
7 /* Floating Point - fused */
8 DEF_HELPER_FLAGS_4(fmadd_s, TCG_CALL_NO_RWG, i64, env, i64, i64, i64)
9 DEF_HELPER_FLAGS_4(fmadd_d, TCG_CALL_NO_RWG, i64, env, i64, i64, i64)
10 DEF_HELPER_FLAGS_4(fmsub_s, TCG_CALL_NO_RWG, i64, env, i64, i64, i64)
11 DEF_HELPER_FLAGS_4(fmsub_d, TCG_CALL_NO_RWG, i64, env, i64, i64, i64)
12 DEF_HELPER_FLAGS_4(fnmsub_s, TCG_CALL_NO_RWG, i64, env, i64, i64, i64)
13 DEF_HELPER_FLAGS_4(fnmsub_d, TCG_CALL_NO_RWG, i64, env, i64, i64, i64)
14 DEF_HELPER_FLAGS_4(fnmadd_s, TCG_CALL_NO_RWG, i64, env, i64, i64, i64)
15 DEF_HELPER_FLAGS_4(fnmadd_d, TCG_CALL_NO_RWG, i64, env, i64, i64, i64)
16 
17 /* Floating Point - Single Precision */
18 DEF_HELPER_FLAGS_3(fadd_s, TCG_CALL_NO_RWG, i64, env, i64, i64)
19 DEF_HELPER_FLAGS_3(fsub_s, TCG_CALL_NO_RWG, i64, env, i64, i64)
20 DEF_HELPER_FLAGS_3(fmul_s, TCG_CALL_NO_RWG, i64, env, i64, i64)
21 DEF_HELPER_FLAGS_3(fdiv_s, TCG_CALL_NO_RWG, i64, env, i64, i64)
22 DEF_HELPER_FLAGS_3(fmin_s, TCG_CALL_NO_RWG, i64, env, i64, i64)
23 DEF_HELPER_FLAGS_3(fmax_s, TCG_CALL_NO_RWG, i64, env, i64, i64)
24 DEF_HELPER_FLAGS_2(fsqrt_s, TCG_CALL_NO_RWG, i64, env, i64)
25 DEF_HELPER_FLAGS_3(fle_s, TCG_CALL_NO_RWG, tl, env, i64, i64)
26 DEF_HELPER_FLAGS_3(flt_s, TCG_CALL_NO_RWG, tl, env, i64, i64)
27 DEF_HELPER_FLAGS_3(feq_s, TCG_CALL_NO_RWG, tl, env, i64, i64)
28 DEF_HELPER_FLAGS_2(fcvt_w_s, TCG_CALL_NO_RWG, tl, env, i64)
29 DEF_HELPER_FLAGS_2(fcvt_wu_s, TCG_CALL_NO_RWG, tl, env, i64)
30 #if defined(TARGET_RISCV64)
31 DEF_HELPER_FLAGS_2(fcvt_l_s, TCG_CALL_NO_RWG, tl, env, i64)
32 DEF_HELPER_FLAGS_2(fcvt_lu_s, TCG_CALL_NO_RWG, tl, env, i64)
33 #endif
34 DEF_HELPER_FLAGS_2(fcvt_s_w, TCG_CALL_NO_RWG, i64, env, tl)
35 DEF_HELPER_FLAGS_2(fcvt_s_wu, TCG_CALL_NO_RWG, i64, env, tl)
36 #if defined(TARGET_RISCV64)
37 DEF_HELPER_FLAGS_2(fcvt_s_l, TCG_CALL_NO_RWG, i64, env, tl)
38 DEF_HELPER_FLAGS_2(fcvt_s_lu, TCG_CALL_NO_RWG, i64, env, tl)
39 #endif
40 DEF_HELPER_FLAGS_1(fclass_s, TCG_CALL_NO_RWG_SE, tl, i64)
41 
42 /* Floating Point - Double Precision */
43 DEF_HELPER_FLAGS_3(fadd_d, TCG_CALL_NO_RWG, i64, env, i64, i64)
44 DEF_HELPER_FLAGS_3(fsub_d, TCG_CALL_NO_RWG, i64, env, i64, i64)
45 DEF_HELPER_FLAGS_3(fmul_d, TCG_CALL_NO_RWG, i64, env, i64, i64)
46 DEF_HELPER_FLAGS_3(fdiv_d, TCG_CALL_NO_RWG, i64, env, i64, i64)
47 DEF_HELPER_FLAGS_3(fmin_d, TCG_CALL_NO_RWG, i64, env, i64, i64)
48 DEF_HELPER_FLAGS_3(fmax_d, TCG_CALL_NO_RWG, i64, env, i64, i64)
49 DEF_HELPER_FLAGS_2(fcvt_s_d, TCG_CALL_NO_RWG, i64, env, i64)
50 DEF_HELPER_FLAGS_2(fcvt_d_s, TCG_CALL_NO_RWG, i64, env, i64)
51 DEF_HELPER_FLAGS_2(fsqrt_d, TCG_CALL_NO_RWG, i64, env, i64)
52 DEF_HELPER_FLAGS_3(fle_d, TCG_CALL_NO_RWG, tl, env, i64, i64)
53 DEF_HELPER_FLAGS_3(flt_d, TCG_CALL_NO_RWG, tl, env, i64, i64)
54 DEF_HELPER_FLAGS_3(feq_d, TCG_CALL_NO_RWG, tl, env, i64, i64)
55 DEF_HELPER_FLAGS_2(fcvt_w_d, TCG_CALL_NO_RWG, tl, env, i64)
56 DEF_HELPER_FLAGS_2(fcvt_wu_d, TCG_CALL_NO_RWG, tl, env, i64)
57 #if defined(TARGET_RISCV64)
58 DEF_HELPER_FLAGS_2(fcvt_l_d, TCG_CALL_NO_RWG, tl, env, i64)
59 DEF_HELPER_FLAGS_2(fcvt_lu_d, TCG_CALL_NO_RWG, tl, env, i64)
60 #endif
61 DEF_HELPER_FLAGS_2(fcvt_d_w, TCG_CALL_NO_RWG, i64, env, tl)
62 DEF_HELPER_FLAGS_2(fcvt_d_wu, TCG_CALL_NO_RWG, i64, env, tl)
63 #if defined(TARGET_RISCV64)
64 DEF_HELPER_FLAGS_2(fcvt_d_l, TCG_CALL_NO_RWG, i64, env, tl)
65 DEF_HELPER_FLAGS_2(fcvt_d_lu, TCG_CALL_NO_RWG, i64, env, tl)
66 #endif
67 DEF_HELPER_FLAGS_1(fclass_d, TCG_CALL_NO_RWG_SE, tl, i64)
68 
69 /* Special functions */
70 DEF_HELPER_3(csrrw, tl, env, tl, tl)
71 DEF_HELPER_4(csrrs, tl, env, tl, tl, tl)
72 DEF_HELPER_4(csrrc, tl, env, tl, tl, tl)
73 #ifndef CONFIG_USER_ONLY
74 DEF_HELPER_2(sret, tl, env, tl)
75 DEF_HELPER_2(mret, tl, env, tl)
76 DEF_HELPER_1(wfi, void, env)
77 DEF_HELPER_1(tlb_flush, void, env)
78 #endif
79 
80 /* Hypervisor functions */
81 #ifndef CONFIG_USER_ONLY
82 DEF_HELPER_1(hyp_tlb_flush, void, env)
83 #endif
84 
85 /* Vector functions */
86 DEF_HELPER_3(vsetvl, tl, env, tl, tl)
87 DEF_HELPER_5(vlb_v_b, void, ptr, ptr, tl, env, i32)
88 DEF_HELPER_5(vlb_v_b_mask, void, ptr, ptr, tl, env, i32)
89 DEF_HELPER_5(vlb_v_h, void, ptr, ptr, tl, env, i32)
90 DEF_HELPER_5(vlb_v_h_mask, void, ptr, ptr, tl, env, i32)
91 DEF_HELPER_5(vlb_v_w, void, ptr, ptr, tl, env, i32)
92 DEF_HELPER_5(vlb_v_w_mask, void, ptr, ptr, tl, env, i32)
93 DEF_HELPER_5(vlb_v_d, void, ptr, ptr, tl, env, i32)
94 DEF_HELPER_5(vlb_v_d_mask, void, ptr, ptr, tl, env, i32)
95 DEF_HELPER_5(vlh_v_h, void, ptr, ptr, tl, env, i32)
96 DEF_HELPER_5(vlh_v_h_mask, void, ptr, ptr, tl, env, i32)
97 DEF_HELPER_5(vlh_v_w, void, ptr, ptr, tl, env, i32)
98 DEF_HELPER_5(vlh_v_w_mask, void, ptr, ptr, tl, env, i32)
99 DEF_HELPER_5(vlh_v_d, void, ptr, ptr, tl, env, i32)
100 DEF_HELPER_5(vlh_v_d_mask, void, ptr, ptr, tl, env, i32)
101 DEF_HELPER_5(vlw_v_w, void, ptr, ptr, tl, env, i32)
102 DEF_HELPER_5(vlw_v_w_mask, void, ptr, ptr, tl, env, i32)
103 DEF_HELPER_5(vlw_v_d, void, ptr, ptr, tl, env, i32)
104 DEF_HELPER_5(vlw_v_d_mask, void, ptr, ptr, tl, env, i32)
105 DEF_HELPER_5(vle_v_b, void, ptr, ptr, tl, env, i32)
106 DEF_HELPER_5(vle_v_b_mask, void, ptr, ptr, tl, env, i32)
107 DEF_HELPER_5(vle_v_h, void, ptr, ptr, tl, env, i32)
108 DEF_HELPER_5(vle_v_h_mask, void, ptr, ptr, tl, env, i32)
109 DEF_HELPER_5(vle_v_w, void, ptr, ptr, tl, env, i32)
110 DEF_HELPER_5(vle_v_w_mask, void, ptr, ptr, tl, env, i32)
111 DEF_HELPER_5(vle_v_d, void, ptr, ptr, tl, env, i32)
112 DEF_HELPER_5(vle_v_d_mask, void, ptr, ptr, tl, env, i32)
113 DEF_HELPER_5(vlbu_v_b, void, ptr, ptr, tl, env, i32)
114 DEF_HELPER_5(vlbu_v_b_mask, void, ptr, ptr, tl, env, i32)
115 DEF_HELPER_5(vlbu_v_h, void, ptr, ptr, tl, env, i32)
116 DEF_HELPER_5(vlbu_v_h_mask, void, ptr, ptr, tl, env, i32)
117 DEF_HELPER_5(vlbu_v_w, void, ptr, ptr, tl, env, i32)
118 DEF_HELPER_5(vlbu_v_w_mask, void, ptr, ptr, tl, env, i32)
119 DEF_HELPER_5(vlbu_v_d, void, ptr, ptr, tl, env, i32)
120 DEF_HELPER_5(vlbu_v_d_mask, void, ptr, ptr, tl, env, i32)
121 DEF_HELPER_5(vlhu_v_h, void, ptr, ptr, tl, env, i32)
122 DEF_HELPER_5(vlhu_v_h_mask, void, ptr, ptr, tl, env, i32)
123 DEF_HELPER_5(vlhu_v_w, void, ptr, ptr, tl, env, i32)
124 DEF_HELPER_5(vlhu_v_w_mask, void, ptr, ptr, tl, env, i32)
125 DEF_HELPER_5(vlhu_v_d, void, ptr, ptr, tl, env, i32)
126 DEF_HELPER_5(vlhu_v_d_mask, void, ptr, ptr, tl, env, i32)
127 DEF_HELPER_5(vlwu_v_w, void, ptr, ptr, tl, env, i32)
128 DEF_HELPER_5(vlwu_v_w_mask, void, ptr, ptr, tl, env, i32)
129 DEF_HELPER_5(vlwu_v_d, void, ptr, ptr, tl, env, i32)
130 DEF_HELPER_5(vlwu_v_d_mask, void, ptr, ptr, tl, env, i32)
131 DEF_HELPER_5(vsb_v_b, void, ptr, ptr, tl, env, i32)
132 DEF_HELPER_5(vsb_v_b_mask, void, ptr, ptr, tl, env, i32)
133 DEF_HELPER_5(vsb_v_h, void, ptr, ptr, tl, env, i32)
134 DEF_HELPER_5(vsb_v_h_mask, void, ptr, ptr, tl, env, i32)
135 DEF_HELPER_5(vsb_v_w, void, ptr, ptr, tl, env, i32)
136 DEF_HELPER_5(vsb_v_w_mask, void, ptr, ptr, tl, env, i32)
137 DEF_HELPER_5(vsb_v_d, void, ptr, ptr, tl, env, i32)
138 DEF_HELPER_5(vsb_v_d_mask, void, ptr, ptr, tl, env, i32)
139 DEF_HELPER_5(vsh_v_h, void, ptr, ptr, tl, env, i32)
140 DEF_HELPER_5(vsh_v_h_mask, void, ptr, ptr, tl, env, i32)
141 DEF_HELPER_5(vsh_v_w, void, ptr, ptr, tl, env, i32)
142 DEF_HELPER_5(vsh_v_w_mask, void, ptr, ptr, tl, env, i32)
143 DEF_HELPER_5(vsh_v_d, void, ptr, ptr, tl, env, i32)
144 DEF_HELPER_5(vsh_v_d_mask, void, ptr, ptr, tl, env, i32)
145 DEF_HELPER_5(vsw_v_w, void, ptr, ptr, tl, env, i32)
146 DEF_HELPER_5(vsw_v_w_mask, void, ptr, ptr, tl, env, i32)
147 DEF_HELPER_5(vsw_v_d, void, ptr, ptr, tl, env, i32)
148 DEF_HELPER_5(vsw_v_d_mask, void, ptr, ptr, tl, env, i32)
149 DEF_HELPER_5(vse_v_b, void, ptr, ptr, tl, env, i32)
150 DEF_HELPER_5(vse_v_b_mask, void, ptr, ptr, tl, env, i32)
151 DEF_HELPER_5(vse_v_h, void, ptr, ptr, tl, env, i32)
152 DEF_HELPER_5(vse_v_h_mask, void, ptr, ptr, tl, env, i32)
153 DEF_HELPER_5(vse_v_w, void, ptr, ptr, tl, env, i32)
154 DEF_HELPER_5(vse_v_w_mask, void, ptr, ptr, tl, env, i32)
155 DEF_HELPER_5(vse_v_d, void, ptr, ptr, tl, env, i32)
156 DEF_HELPER_5(vse_v_d_mask, void, ptr, ptr, tl, env, i32)
157 DEF_HELPER_6(vlsb_v_b, void, ptr, ptr, tl, tl, env, i32)
158 DEF_HELPER_6(vlsb_v_h, void, ptr, ptr, tl, tl, env, i32)
159 DEF_HELPER_6(vlsb_v_w, void, ptr, ptr, tl, tl, env, i32)
160 DEF_HELPER_6(vlsb_v_d, void, ptr, ptr, tl, tl, env, i32)
161 DEF_HELPER_6(vlsh_v_h, void, ptr, ptr, tl, tl, env, i32)
162 DEF_HELPER_6(vlsh_v_w, void, ptr, ptr, tl, tl, env, i32)
163 DEF_HELPER_6(vlsh_v_d, void, ptr, ptr, tl, tl, env, i32)
164 DEF_HELPER_6(vlsw_v_w, void, ptr, ptr, tl, tl, env, i32)
165 DEF_HELPER_6(vlsw_v_d, void, ptr, ptr, tl, tl, env, i32)
166 DEF_HELPER_6(vlse_v_b, void, ptr, ptr, tl, tl, env, i32)
167 DEF_HELPER_6(vlse_v_h, void, ptr, ptr, tl, tl, env, i32)
168 DEF_HELPER_6(vlse_v_w, void, ptr, ptr, tl, tl, env, i32)
169 DEF_HELPER_6(vlse_v_d, void, ptr, ptr, tl, tl, env, i32)
170 DEF_HELPER_6(vlsbu_v_b, void, ptr, ptr, tl, tl, env, i32)
171 DEF_HELPER_6(vlsbu_v_h, void, ptr, ptr, tl, tl, env, i32)
172 DEF_HELPER_6(vlsbu_v_w, void, ptr, ptr, tl, tl, env, i32)
173 DEF_HELPER_6(vlsbu_v_d, void, ptr, ptr, tl, tl, env, i32)
174 DEF_HELPER_6(vlshu_v_h, void, ptr, ptr, tl, tl, env, i32)
175 DEF_HELPER_6(vlshu_v_w, void, ptr, ptr, tl, tl, env, i32)
176 DEF_HELPER_6(vlshu_v_d, void, ptr, ptr, tl, tl, env, i32)
177 DEF_HELPER_6(vlswu_v_w, void, ptr, ptr, tl, tl, env, i32)
178 DEF_HELPER_6(vlswu_v_d, void, ptr, ptr, tl, tl, env, i32)
179 DEF_HELPER_6(vssb_v_b, void, ptr, ptr, tl, tl, env, i32)
180 DEF_HELPER_6(vssb_v_h, void, ptr, ptr, tl, tl, env, i32)
181 DEF_HELPER_6(vssb_v_w, void, ptr, ptr, tl, tl, env, i32)
182 DEF_HELPER_6(vssb_v_d, void, ptr, ptr, tl, tl, env, i32)
183 DEF_HELPER_6(vssh_v_h, void, ptr, ptr, tl, tl, env, i32)
184 DEF_HELPER_6(vssh_v_w, void, ptr, ptr, tl, tl, env, i32)
185 DEF_HELPER_6(vssh_v_d, void, ptr, ptr, tl, tl, env, i32)
186 DEF_HELPER_6(vssw_v_w, void, ptr, ptr, tl, tl, env, i32)
187 DEF_HELPER_6(vssw_v_d, void, ptr, ptr, tl, tl, env, i32)
188 DEF_HELPER_6(vsse_v_b, void, ptr, ptr, tl, tl, env, i32)
189 DEF_HELPER_6(vsse_v_h, void, ptr, ptr, tl, tl, env, i32)
190 DEF_HELPER_6(vsse_v_w, void, ptr, ptr, tl, tl, env, i32)
191 DEF_HELPER_6(vsse_v_d, void, ptr, ptr, tl, tl, env, i32)
192 DEF_HELPER_6(vlxb_v_b, void, ptr, ptr, tl, ptr, env, i32)
193 DEF_HELPER_6(vlxb_v_h, void, ptr, ptr, tl, ptr, env, i32)
194 DEF_HELPER_6(vlxb_v_w, void, ptr, ptr, tl, ptr, env, i32)
195 DEF_HELPER_6(vlxb_v_d, void, ptr, ptr, tl, ptr, env, i32)
196 DEF_HELPER_6(vlxh_v_h, void, ptr, ptr, tl, ptr, env, i32)
197 DEF_HELPER_6(vlxh_v_w, void, ptr, ptr, tl, ptr, env, i32)
198 DEF_HELPER_6(vlxh_v_d, void, ptr, ptr, tl, ptr, env, i32)
199 DEF_HELPER_6(vlxw_v_w, void, ptr, ptr, tl, ptr, env, i32)
200 DEF_HELPER_6(vlxw_v_d, void, ptr, ptr, tl, ptr, env, i32)
201 DEF_HELPER_6(vlxe_v_b, void, ptr, ptr, tl, ptr, env, i32)
202 DEF_HELPER_6(vlxe_v_h, void, ptr, ptr, tl, ptr, env, i32)
203 DEF_HELPER_6(vlxe_v_w, void, ptr, ptr, tl, ptr, env, i32)
204 DEF_HELPER_6(vlxe_v_d, void, ptr, ptr, tl, ptr, env, i32)
205 DEF_HELPER_6(vlxbu_v_b, void, ptr, ptr, tl, ptr, env, i32)
206 DEF_HELPER_6(vlxbu_v_h, void, ptr, ptr, tl, ptr, env, i32)
207 DEF_HELPER_6(vlxbu_v_w, void, ptr, ptr, tl, ptr, env, i32)
208 DEF_HELPER_6(vlxbu_v_d, void, ptr, ptr, tl, ptr, env, i32)
209 DEF_HELPER_6(vlxhu_v_h, void, ptr, ptr, tl, ptr, env, i32)
210 DEF_HELPER_6(vlxhu_v_w, void, ptr, ptr, tl, ptr, env, i32)
211 DEF_HELPER_6(vlxhu_v_d, void, ptr, ptr, tl, ptr, env, i32)
212 DEF_HELPER_6(vlxwu_v_w, void, ptr, ptr, tl, ptr, env, i32)
213 DEF_HELPER_6(vlxwu_v_d, void, ptr, ptr, tl, ptr, env, i32)
214 DEF_HELPER_6(vsxb_v_b, void, ptr, ptr, tl, ptr, env, i32)
215 DEF_HELPER_6(vsxb_v_h, void, ptr, ptr, tl, ptr, env, i32)
216 DEF_HELPER_6(vsxb_v_w, void, ptr, ptr, tl, ptr, env, i32)
217 DEF_HELPER_6(vsxb_v_d, void, ptr, ptr, tl, ptr, env, i32)
218 DEF_HELPER_6(vsxh_v_h, void, ptr, ptr, tl, ptr, env, i32)
219 DEF_HELPER_6(vsxh_v_w, void, ptr, ptr, tl, ptr, env, i32)
220 DEF_HELPER_6(vsxh_v_d, void, ptr, ptr, tl, ptr, env, i32)
221 DEF_HELPER_6(vsxw_v_w, void, ptr, ptr, tl, ptr, env, i32)
222 DEF_HELPER_6(vsxw_v_d, void, ptr, ptr, tl, ptr, env, i32)
223 DEF_HELPER_6(vsxe_v_b, void, ptr, ptr, tl, ptr, env, i32)
224 DEF_HELPER_6(vsxe_v_h, void, ptr, ptr, tl, ptr, env, i32)
225 DEF_HELPER_6(vsxe_v_w, void, ptr, ptr, tl, ptr, env, i32)
226 DEF_HELPER_6(vsxe_v_d, void, ptr, ptr, tl, ptr, env, i32)
227 DEF_HELPER_5(vlbff_v_b, void, ptr, ptr, tl, env, i32)
228 DEF_HELPER_5(vlbff_v_h, void, ptr, ptr, tl, env, i32)
229 DEF_HELPER_5(vlbff_v_w, void, ptr, ptr, tl, env, i32)
230 DEF_HELPER_5(vlbff_v_d, void, ptr, ptr, tl, env, i32)
231 DEF_HELPER_5(vlhff_v_h, void, ptr, ptr, tl, env, i32)
232 DEF_HELPER_5(vlhff_v_w, void, ptr, ptr, tl, env, i32)
233 DEF_HELPER_5(vlhff_v_d, void, ptr, ptr, tl, env, i32)
234 DEF_HELPER_5(vlwff_v_w, void, ptr, ptr, tl, env, i32)
235 DEF_HELPER_5(vlwff_v_d, void, ptr, ptr, tl, env, i32)
236 DEF_HELPER_5(vleff_v_b, void, ptr, ptr, tl, env, i32)
237 DEF_HELPER_5(vleff_v_h, void, ptr, ptr, tl, env, i32)
238 DEF_HELPER_5(vleff_v_w, void, ptr, ptr, tl, env, i32)
239 DEF_HELPER_5(vleff_v_d, void, ptr, ptr, tl, env, i32)
240 DEF_HELPER_5(vlbuff_v_b, void, ptr, ptr, tl, env, i32)
241 DEF_HELPER_5(vlbuff_v_h, void, ptr, ptr, tl, env, i32)
242 DEF_HELPER_5(vlbuff_v_w, void, ptr, ptr, tl, env, i32)
243 DEF_HELPER_5(vlbuff_v_d, void, ptr, ptr, tl, env, i32)
244 DEF_HELPER_5(vlhuff_v_h, void, ptr, ptr, tl, env, i32)
245 DEF_HELPER_5(vlhuff_v_w, void, ptr, ptr, tl, env, i32)
246 DEF_HELPER_5(vlhuff_v_d, void, ptr, ptr, tl, env, i32)
247 DEF_HELPER_5(vlwuff_v_w, void, ptr, ptr, tl, env, i32)
248 DEF_HELPER_5(vlwuff_v_d, void, ptr, ptr, tl, env, i32)
249 #ifdef TARGET_RISCV64
250 DEF_HELPER_6(vamoswapw_v_d, void, ptr, ptr, tl, ptr, env, i32)
251 DEF_HELPER_6(vamoswapd_v_d, void, ptr, ptr, tl, ptr, env, i32)
252 DEF_HELPER_6(vamoaddw_v_d,  void, ptr, ptr, tl, ptr, env, i32)
253 DEF_HELPER_6(vamoaddd_v_d,  void, ptr, ptr, tl, ptr, env, i32)
254 DEF_HELPER_6(vamoxorw_v_d,  void, ptr, ptr, tl, ptr, env, i32)
255 DEF_HELPER_6(vamoxord_v_d,  void, ptr, ptr, tl, ptr, env, i32)
256 DEF_HELPER_6(vamoandw_v_d,  void, ptr, ptr, tl, ptr, env, i32)
257 DEF_HELPER_6(vamoandd_v_d,  void, ptr, ptr, tl, ptr, env, i32)
258 DEF_HELPER_6(vamoorw_v_d,   void, ptr, ptr, tl, ptr, env, i32)
259 DEF_HELPER_6(vamoord_v_d,   void, ptr, ptr, tl, ptr, env, i32)
260 DEF_HELPER_6(vamominw_v_d,  void, ptr, ptr, tl, ptr, env, i32)
261 DEF_HELPER_6(vamomind_v_d,  void, ptr, ptr, tl, ptr, env, i32)
262 DEF_HELPER_6(vamomaxw_v_d,  void, ptr, ptr, tl, ptr, env, i32)
263 DEF_HELPER_6(vamomaxd_v_d,  void, ptr, ptr, tl, ptr, env, i32)
264 DEF_HELPER_6(vamominuw_v_d, void, ptr, ptr, tl, ptr, env, i32)
265 DEF_HELPER_6(vamominud_v_d, void, ptr, ptr, tl, ptr, env, i32)
266 DEF_HELPER_6(vamomaxuw_v_d, void, ptr, ptr, tl, ptr, env, i32)
267 DEF_HELPER_6(vamomaxud_v_d, void, ptr, ptr, tl, ptr, env, i32)
268 #endif
269 DEF_HELPER_6(vamoswapw_v_w, void, ptr, ptr, tl, ptr, env, i32)
270 DEF_HELPER_6(vamoaddw_v_w,  void, ptr, ptr, tl, ptr, env, i32)
271 DEF_HELPER_6(vamoxorw_v_w,  void, ptr, ptr, tl, ptr, env, i32)
272 DEF_HELPER_6(vamoandw_v_w,  void, ptr, ptr, tl, ptr, env, i32)
273 DEF_HELPER_6(vamoorw_v_w,   void, ptr, ptr, tl, ptr, env, i32)
274 DEF_HELPER_6(vamominw_v_w,  void, ptr, ptr, tl, ptr, env, i32)
275 DEF_HELPER_6(vamomaxw_v_w,  void, ptr, ptr, tl, ptr, env, i32)
276 DEF_HELPER_6(vamominuw_v_w, void, ptr, ptr, tl, ptr, env, i32)
277 DEF_HELPER_6(vamomaxuw_v_w, void, ptr, ptr, tl, ptr, env, i32)
278 
279 DEF_HELPER_6(vadd_vv_b, void, ptr, ptr, ptr, ptr, env, i32)
280 DEF_HELPER_6(vadd_vv_h, void, ptr, ptr, ptr, ptr, env, i32)
281 DEF_HELPER_6(vadd_vv_w, void, ptr, ptr, ptr, ptr, env, i32)
282 DEF_HELPER_6(vadd_vv_d, void, ptr, ptr, ptr, ptr, env, i32)
283 DEF_HELPER_6(vsub_vv_b, void, ptr, ptr, ptr, ptr, env, i32)
284 DEF_HELPER_6(vsub_vv_h, void, ptr, ptr, ptr, ptr, env, i32)
285 DEF_HELPER_6(vsub_vv_w, void, ptr, ptr, ptr, ptr, env, i32)
286 DEF_HELPER_6(vsub_vv_d, void, ptr, ptr, ptr, ptr, env, i32)
287 DEF_HELPER_6(vadd_vx_b, void, ptr, ptr, tl, ptr, env, i32)
288 DEF_HELPER_6(vadd_vx_h, void, ptr, ptr, tl, ptr, env, i32)
289 DEF_HELPER_6(vadd_vx_w, void, ptr, ptr, tl, ptr, env, i32)
290 DEF_HELPER_6(vadd_vx_d, void, ptr, ptr, tl, ptr, env, i32)
291 DEF_HELPER_6(vsub_vx_b, void, ptr, ptr, tl, ptr, env, i32)
292 DEF_HELPER_6(vsub_vx_h, void, ptr, ptr, tl, ptr, env, i32)
293 DEF_HELPER_6(vsub_vx_w, void, ptr, ptr, tl, ptr, env, i32)
294 DEF_HELPER_6(vsub_vx_d, void, ptr, ptr, tl, ptr, env, i32)
295 DEF_HELPER_6(vrsub_vx_b, void, ptr, ptr, tl, ptr, env, i32)
296 DEF_HELPER_6(vrsub_vx_h, void, ptr, ptr, tl, ptr, env, i32)
297 DEF_HELPER_6(vrsub_vx_w, void, ptr, ptr, tl, ptr, env, i32)
298 DEF_HELPER_6(vrsub_vx_d, void, ptr, ptr, tl, ptr, env, i32)
299 DEF_HELPER_FLAGS_4(vec_rsubs8, TCG_CALL_NO_RWG, void, ptr, ptr, i64, i32)
300 DEF_HELPER_FLAGS_4(vec_rsubs16, TCG_CALL_NO_RWG, void, ptr, ptr, i64, i32)
301 DEF_HELPER_FLAGS_4(vec_rsubs32, TCG_CALL_NO_RWG, void, ptr, ptr, i64, i32)
302 DEF_HELPER_FLAGS_4(vec_rsubs64, TCG_CALL_NO_RWG, void, ptr, ptr, i64, i32)
303 
304 DEF_HELPER_6(vwaddu_vv_b, void, ptr, ptr, ptr, ptr, env, i32)
305 DEF_HELPER_6(vwaddu_vv_h, void, ptr, ptr, ptr, ptr, env, i32)
306 DEF_HELPER_6(vwaddu_vv_w, void, ptr, ptr, ptr, ptr, env, i32)
307 DEF_HELPER_6(vwsubu_vv_b, void, ptr, ptr, ptr, ptr, env, i32)
308 DEF_HELPER_6(vwsubu_vv_h, void, ptr, ptr, ptr, ptr, env, i32)
309 DEF_HELPER_6(vwsubu_vv_w, void, ptr, ptr, ptr, ptr, env, i32)
310 DEF_HELPER_6(vwadd_vv_b, void, ptr, ptr, ptr, ptr, env, i32)
311 DEF_HELPER_6(vwadd_vv_h, void, ptr, ptr, ptr, ptr, env, i32)
312 DEF_HELPER_6(vwadd_vv_w, void, ptr, ptr, ptr, ptr, env, i32)
313 DEF_HELPER_6(vwsub_vv_b, void, ptr, ptr, ptr, ptr, env, i32)
314 DEF_HELPER_6(vwsub_vv_h, void, ptr, ptr, ptr, ptr, env, i32)
315 DEF_HELPER_6(vwsub_vv_w, void, ptr, ptr, ptr, ptr, env, i32)
316 DEF_HELPER_6(vwaddu_vx_b, void, ptr, ptr, tl, ptr, env, i32)
317 DEF_HELPER_6(vwaddu_vx_h, void, ptr, ptr, tl, ptr, env, i32)
318 DEF_HELPER_6(vwaddu_vx_w, void, ptr, ptr, tl, ptr, env, i32)
319 DEF_HELPER_6(vwsubu_vx_b, void, ptr, ptr, tl, ptr, env, i32)
320 DEF_HELPER_6(vwsubu_vx_h, void, ptr, ptr, tl, ptr, env, i32)
321 DEF_HELPER_6(vwsubu_vx_w, void, ptr, ptr, tl, ptr, env, i32)
322 DEF_HELPER_6(vwadd_vx_b, void, ptr, ptr, tl, ptr, env, i32)
323 DEF_HELPER_6(vwadd_vx_h, void, ptr, ptr, tl, ptr, env, i32)
324 DEF_HELPER_6(vwadd_vx_w, void, ptr, ptr, tl, ptr, env, i32)
325 DEF_HELPER_6(vwsub_vx_b, void, ptr, ptr, tl, ptr, env, i32)
326 DEF_HELPER_6(vwsub_vx_h, void, ptr, ptr, tl, ptr, env, i32)
327 DEF_HELPER_6(vwsub_vx_w, void, ptr, ptr, tl, ptr, env, i32)
328 DEF_HELPER_6(vwaddu_wv_b, void, ptr, ptr, ptr, ptr, env, i32)
329 DEF_HELPER_6(vwaddu_wv_h, void, ptr, ptr, ptr, ptr, env, i32)
330 DEF_HELPER_6(vwaddu_wv_w, void, ptr, ptr, ptr, ptr, env, i32)
331 DEF_HELPER_6(vwsubu_wv_b, void, ptr, ptr, ptr, ptr, env, i32)
332 DEF_HELPER_6(vwsubu_wv_h, void, ptr, ptr, ptr, ptr, env, i32)
333 DEF_HELPER_6(vwsubu_wv_w, void, ptr, ptr, ptr, ptr, env, i32)
334 DEF_HELPER_6(vwadd_wv_b, void, ptr, ptr, ptr, ptr, env, i32)
335 DEF_HELPER_6(vwadd_wv_h, void, ptr, ptr, ptr, ptr, env, i32)
336 DEF_HELPER_6(vwadd_wv_w, void, ptr, ptr, ptr, ptr, env, i32)
337 DEF_HELPER_6(vwsub_wv_b, void, ptr, ptr, ptr, ptr, env, i32)
338 DEF_HELPER_6(vwsub_wv_h, void, ptr, ptr, ptr, ptr, env, i32)
339 DEF_HELPER_6(vwsub_wv_w, void, ptr, ptr, ptr, ptr, env, i32)
340 DEF_HELPER_6(vwaddu_wx_b, void, ptr, ptr, tl, ptr, env, i32)
341 DEF_HELPER_6(vwaddu_wx_h, void, ptr, ptr, tl, ptr, env, i32)
342 DEF_HELPER_6(vwaddu_wx_w, void, ptr, ptr, tl, ptr, env, i32)
343 DEF_HELPER_6(vwsubu_wx_b, void, ptr, ptr, tl, ptr, env, i32)
344 DEF_HELPER_6(vwsubu_wx_h, void, ptr, ptr, tl, ptr, env, i32)
345 DEF_HELPER_6(vwsubu_wx_w, void, ptr, ptr, tl, ptr, env, i32)
346 DEF_HELPER_6(vwadd_wx_b, void, ptr, ptr, tl, ptr, env, i32)
347 DEF_HELPER_6(vwadd_wx_h, void, ptr, ptr, tl, ptr, env, i32)
348 DEF_HELPER_6(vwadd_wx_w, void, ptr, ptr, tl, ptr, env, i32)
349 DEF_HELPER_6(vwsub_wx_b, void, ptr, ptr, tl, ptr, env, i32)
350 DEF_HELPER_6(vwsub_wx_h, void, ptr, ptr, tl, ptr, env, i32)
351 DEF_HELPER_6(vwsub_wx_w, void, ptr, ptr, tl, ptr, env, i32)
352 
353 DEF_HELPER_6(vadc_vvm_b, void, ptr, ptr, ptr, ptr, env, i32)
354 DEF_HELPER_6(vadc_vvm_h, void, ptr, ptr, ptr, ptr, env, i32)
355 DEF_HELPER_6(vadc_vvm_w, void, ptr, ptr, ptr, ptr, env, i32)
356 DEF_HELPER_6(vadc_vvm_d, void, ptr, ptr, ptr, ptr, env, i32)
357 DEF_HELPER_6(vsbc_vvm_b, void, ptr, ptr, ptr, ptr, env, i32)
358 DEF_HELPER_6(vsbc_vvm_h, void, ptr, ptr, ptr, ptr, env, i32)
359 DEF_HELPER_6(vsbc_vvm_w, void, ptr, ptr, ptr, ptr, env, i32)
360 DEF_HELPER_6(vsbc_vvm_d, void, ptr, ptr, ptr, ptr, env, i32)
361 DEF_HELPER_6(vmadc_vvm_b, void, ptr, ptr, ptr, ptr, env, i32)
362 DEF_HELPER_6(vmadc_vvm_h, void, ptr, ptr, ptr, ptr, env, i32)
363 DEF_HELPER_6(vmadc_vvm_w, void, ptr, ptr, ptr, ptr, env, i32)
364 DEF_HELPER_6(vmadc_vvm_d, void, ptr, ptr, ptr, ptr, env, i32)
365 DEF_HELPER_6(vmsbc_vvm_b, void, ptr, ptr, ptr, ptr, env, i32)
366 DEF_HELPER_6(vmsbc_vvm_h, void, ptr, ptr, ptr, ptr, env, i32)
367 DEF_HELPER_6(vmsbc_vvm_w, void, ptr, ptr, ptr, ptr, env, i32)
368 DEF_HELPER_6(vmsbc_vvm_d, void, ptr, ptr, ptr, ptr, env, i32)
369 DEF_HELPER_6(vadc_vxm_b, void, ptr, ptr, tl, ptr, env, i32)
370 DEF_HELPER_6(vadc_vxm_h, void, ptr, ptr, tl, ptr, env, i32)
371 DEF_HELPER_6(vadc_vxm_w, void, ptr, ptr, tl, ptr, env, i32)
372 DEF_HELPER_6(vadc_vxm_d, void, ptr, ptr, tl, ptr, env, i32)
373 DEF_HELPER_6(vsbc_vxm_b, void, ptr, ptr, tl, ptr, env, i32)
374 DEF_HELPER_6(vsbc_vxm_h, void, ptr, ptr, tl, ptr, env, i32)
375 DEF_HELPER_6(vsbc_vxm_w, void, ptr, ptr, tl, ptr, env, i32)
376 DEF_HELPER_6(vsbc_vxm_d, void, ptr, ptr, tl, ptr, env, i32)
377 DEF_HELPER_6(vmadc_vxm_b, void, ptr, ptr, tl, ptr, env, i32)
378 DEF_HELPER_6(vmadc_vxm_h, void, ptr, ptr, tl, ptr, env, i32)
379 DEF_HELPER_6(vmadc_vxm_w, void, ptr, ptr, tl, ptr, env, i32)
380 DEF_HELPER_6(vmadc_vxm_d, void, ptr, ptr, tl, ptr, env, i32)
381 DEF_HELPER_6(vmsbc_vxm_b, void, ptr, ptr, tl, ptr, env, i32)
382 DEF_HELPER_6(vmsbc_vxm_h, void, ptr, ptr, tl, ptr, env, i32)
383 DEF_HELPER_6(vmsbc_vxm_w, void, ptr, ptr, tl, ptr, env, i32)
384 DEF_HELPER_6(vmsbc_vxm_d, void, ptr, ptr, tl, ptr, env, i32)
385 
386 DEF_HELPER_6(vand_vv_b, void, ptr, ptr, ptr, ptr, env, i32)
387 DEF_HELPER_6(vand_vv_h, void, ptr, ptr, ptr, ptr, env, i32)
388 DEF_HELPER_6(vand_vv_w, void, ptr, ptr, ptr, ptr, env, i32)
389 DEF_HELPER_6(vand_vv_d, void, ptr, ptr, ptr, ptr, env, i32)
390 DEF_HELPER_6(vor_vv_b, void, ptr, ptr, ptr, ptr, env, i32)
391 DEF_HELPER_6(vor_vv_h, void, ptr, ptr, ptr, ptr, env, i32)
392 DEF_HELPER_6(vor_vv_w, void, ptr, ptr, ptr, ptr, env, i32)
393 DEF_HELPER_6(vor_vv_d, void, ptr, ptr, ptr, ptr, env, i32)
394 DEF_HELPER_6(vxor_vv_b, void, ptr, ptr, ptr, ptr, env, i32)
395 DEF_HELPER_6(vxor_vv_h, void, ptr, ptr, ptr, ptr, env, i32)
396 DEF_HELPER_6(vxor_vv_w, void, ptr, ptr, ptr, ptr, env, i32)
397 DEF_HELPER_6(vxor_vv_d, void, ptr, ptr, ptr, ptr, env, i32)
398 DEF_HELPER_6(vand_vx_b, void, ptr, ptr, tl, ptr, env, i32)
399 DEF_HELPER_6(vand_vx_h, void, ptr, ptr, tl, ptr, env, i32)
400 DEF_HELPER_6(vand_vx_w, void, ptr, ptr, tl, ptr, env, i32)
401 DEF_HELPER_6(vand_vx_d, void, ptr, ptr, tl, ptr, env, i32)
402 DEF_HELPER_6(vor_vx_b, void, ptr, ptr, tl, ptr, env, i32)
403 DEF_HELPER_6(vor_vx_h, void, ptr, ptr, tl, ptr, env, i32)
404 DEF_HELPER_6(vor_vx_w, void, ptr, ptr, tl, ptr, env, i32)
405 DEF_HELPER_6(vor_vx_d, void, ptr, ptr, tl, ptr, env, i32)
406 DEF_HELPER_6(vxor_vx_b, void, ptr, ptr, tl, ptr, env, i32)
407 DEF_HELPER_6(vxor_vx_h, void, ptr, ptr, tl, ptr, env, i32)
408 DEF_HELPER_6(vxor_vx_w, void, ptr, ptr, tl, ptr, env, i32)
409 DEF_HELPER_6(vxor_vx_d, void, ptr, ptr, tl, ptr, env, i32)
410