blob: e9b8372e00fefdbdf39d2fbf5600c034b401e9a2 [file] [log] [blame]
Elliott Hughesabd62612013-11-08 11:45:48 -08001/****************************************************************************
2 ****************************************************************************
3 ***
4 *** This header was automatically generated from a Linux kernel header
5 *** of the same name, to make information necessary for userspace to
6 *** call into the kernel available to libc. It contains only constants,
7 *** structures, and macros generated from the original header, and thus,
8 *** contains no copyrightable information.
9 ***
10 *** To edit the content of this header, modify the corresponding
11 *** source file (e.g. under external/kernel-headers/original/) then
12 *** run bionic/libc/kernel/tools/update_all.py
13 ***
14 *** Any manual change here will be lost the next time this script will
15 *** be run. You've been warned!
16 ***
17 ****************************************************************************
18 ****************************************************************************/
19#ifndef _UAPI_ASM_INST_H
20#define _UAPI_ASM_INST_H
Christopher Ferrisba8d4f42014-09-03 19:56:49 -070021#include <asm/bitfield.h>
Elliott Hughesabd62612013-11-08 11:45:48 -080022enum major_op {
Elliott Hughesabd62612013-11-08 11:45:48 -080023/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Tao Baod7db5942015-01-28 10:07:51 -080024 spec_op,
25 bcond_op,
26 j_op,
27 jal_op,
Elliott Hughesabd62612013-11-08 11:45:48 -080028/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Tao Baod7db5942015-01-28 10:07:51 -080029 beq_op,
30 bne_op,
31 blez_op,
32 bgtz_op,
Elliott Hughesabd62612013-11-08 11:45:48 -080033/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Tao Baod7db5942015-01-28 10:07:51 -080034 addi_op,
35 addiu_op,
36 slti_op,
37 sltiu_op,
Elliott Hughesabd62612013-11-08 11:45:48 -080038/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Tao Baod7db5942015-01-28 10:07:51 -080039 andi_op,
40 ori_op,
41 xori_op,
42 lui_op,
43/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
44 cop0_op,
45 cop1_op,
46 cop2_op,
47 cop1x_op,
48/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
49 beql_op,
50 bnel_op,
51 blezl_op,
52 bgtzl_op,
53/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
54 daddi_op,
55 daddiu_op,
56 ldl_op,
57 ldr_op,
58/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
59 spec2_op,
60 jalx_op,
61 mdmx_op,
62 spec3_op,
63/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
64 lb_op,
65 lh_op,
66 lwl_op,
67 lw_op,
68/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
69 lbu_op,
70 lhu_op,
71 lwr_op,
72 lwu_op,
73/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
74 sb_op,
75 sh_op,
76 swl_op,
77 sw_op,
78/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
79 sdl_op,
80 sdr_op,
81 swr_op,
82 cache_op,
83/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
84 ll_op,
85 lwc1_op,
86 lwc2_op,
87 pref_op,
88/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
89 lld_op,
90 ldc1_op,
91 ldc2_op,
92 ld_op,
93/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
94 sc_op,
95 swc1_op,
96 swc2_op,
97 major_3b_op,
98/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
99 scd_op,
100 sdc1_op,
101 sdc2_op,
102 sd_op
Elliott Hughesabd62612013-11-08 11:45:48 -0800103/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Christopher Ferrisba8d4f42014-09-03 19:56:49 -0700104};
Elliott Hughesabd62612013-11-08 11:45:48 -0800105enum spec_op {
Tao Baod7db5942015-01-28 10:07:51 -0800106 sll_op,
107 movc_op,
Elliott Hughesabd62612013-11-08 11:45:48 -0800108/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Tao Baod7db5942015-01-28 10:07:51 -0800109 srl_op,
110 sra_op,
111 sllv_op,
112 pmon_op,
Elliott Hughesabd62612013-11-08 11:45:48 -0800113/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Tao Baod7db5942015-01-28 10:07:51 -0800114 srlv_op,
115 srav_op,
116 jr_op,
117 jalr_op,
Elliott Hughesabd62612013-11-08 11:45:48 -0800118/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Tao Baod7db5942015-01-28 10:07:51 -0800119 movz_op,
120 movn_op,
121 syscall_op,
122 break_op,
Elliott Hughesabd62612013-11-08 11:45:48 -0800123/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Tao Baod7db5942015-01-28 10:07:51 -0800124 spim_op,
125 sync_op,
126 mfhi_op,
127 mthi_op,
128/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
129 mflo_op,
130 mtlo_op,
131 dsllv_op,
132 spec2_unused_op,
133/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
134 dsrlv_op,
135 dsrav_op,
136 mult_op,
137 multu_op,
138/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
139 div_op,
140 divu_op,
141 dmult_op,
142 dmultu_op,
143/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
144 ddiv_op,
145 ddivu_op,
146 add_op,
147 addu_op,
148/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
149 sub_op,
150 subu_op,
151 and_op,
152 or_op,
153/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
154 xor_op,
155 nor_op,
156 spec3_unused_op,
157 spec4_unused_op,
158/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
159 slt_op,
160 sltu_op,
161 dadd_op,
162 daddu_op,
163/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
164 dsub_op,
165 dsubu_op,
166 tge_op,
167 tgeu_op,
168/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
169 tlt_op,
170 tltu_op,
171 teq_op,
172 spec5_unused_op,
173/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
174 tne_op,
175 spec6_unused_op,
176 dsll_op,
177 spec7_unused_op,
178/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
179 dsrl_op,
180 dsra_op,
181 dsll32_op,
182 spec8_unused_op,
183/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
184 dsrl32_op,
185 dsra32_op
Elliott Hughesabd62612013-11-08 11:45:48 -0800186};
187enum spec2_op {
Elliott Hughesabd62612013-11-08 11:45:48 -0800188/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Tao Baod7db5942015-01-28 10:07:51 -0800189 madd_op,
190 maddu_op,
191 mul_op,
192 spec2_3_unused_op,
Elliott Hughesabd62612013-11-08 11:45:48 -0800193/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Tao Baod7db5942015-01-28 10:07:51 -0800194 msub_op,
195 msubu_op,
196 clz_op = 0x20,
197 clo_op,
198/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
199 dclz_op = 0x24,
200 dclo_op,
201 sdbpp_op = 0x3f
Elliott Hughesabd62612013-11-08 11:45:48 -0800202};
Tao Baod7db5942015-01-28 10:07:51 -0800203/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Elliott Hughesabd62612013-11-08 11:45:48 -0800204enum spec3_op {
Tao Baod7db5942015-01-28 10:07:51 -0800205 ext_op,
206 dextm_op,
207 dextu_op,
Elliott Hughesabd62612013-11-08 11:45:48 -0800208/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Tao Baod7db5942015-01-28 10:07:51 -0800209 dext_op,
210 ins_op,
211 dinsm_op,
212 dinsu_op,
Christopher Ferrisba8d4f42014-09-03 19:56:49 -0700213/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Tao Baod7db5942015-01-28 10:07:51 -0800214 dins_op,
215 yield_op = 0x09,
216 lx_op = 0x0a,
217 lwle_op = 0x19,
Christopher Ferrisba8d4f42014-09-03 19:56:49 -0700218/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Tao Baod7db5942015-01-28 10:07:51 -0800219 lwre_op = 0x1a,
220 cachee_op = 0x1b,
221 sbe_op = 0x1c,
222 she_op = 0x1d,
Elliott Hughesabd62612013-11-08 11:45:48 -0800223/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Tao Baod7db5942015-01-28 10:07:51 -0800224 sce_op = 0x1e,
225 swe_op = 0x1f,
226 bshfl_op = 0x20,
227 swle_op = 0x21,
228/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
229 swre_op = 0x22,
230 prefe_op = 0x23,
231 dbshfl_op = 0x24,
232 lbue_op = 0x28,
233/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
234 lhue_op = 0x29,
235 lbe_op = 0x2c,
236 lhe_op = 0x2d,
237 lle_op = 0x2e,
238/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
239 lwe_op = 0x2f,
240 rdhwr_op = 0x3b
Elliott Hughesabd62612013-11-08 11:45:48 -0800241};
242enum rt_op {
Elliott Hughesabd62612013-11-08 11:45:48 -0800243/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Tao Baod7db5942015-01-28 10:07:51 -0800244 bltz_op,
245 bgez_op,
246 bltzl_op,
247 bgezl_op,
Elliott Hughesabd62612013-11-08 11:45:48 -0800248/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Tao Baod7db5942015-01-28 10:07:51 -0800249 spimi_op,
250 unused_rt_op_0x05,
251 unused_rt_op_0x06,
252 unused_rt_op_0x07,
253/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
254 tgei_op,
255 tgeiu_op,
256 tlti_op,
257 tltiu_op,
258/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
259 teqi_op,
260 unused_0x0d_rt_op,
261 tnei_op,
262 unused_0x0f_rt_op,
263/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
264 bltzal_op,
265 bgezal_op,
266 bltzall_op,
267 bgezall_op,
268/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
269 rt_op_0x14,
270 rt_op_0x15,
271 rt_op_0x16,
272 rt_op_0x17,
273/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
274 rt_op_0x18,
275 rt_op_0x19,
276 rt_op_0x1a,
277 rt_op_0x1b,
278/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
279 bposge32_op,
280 rt_op_0x1d,
281 rt_op_0x1e,
282 rt_op_0x1f
283/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Elliott Hughesabd62612013-11-08 11:45:48 -0800284};
285enum cop_op {
Tao Baod7db5942015-01-28 10:07:51 -0800286 mfc_op = 0x00,
287 dmfc_op = 0x01,
Elliott Hughesabd62612013-11-08 11:45:48 -0800288/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Tao Baod7db5942015-01-28 10:07:51 -0800289 cfc_op = 0x02,
290 mfhc_op = 0x03,
291 mtc_op = 0x04,
292 dmtc_op = 0x05,
Elliott Hughesabd62612013-11-08 11:45:48 -0800293/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Tao Baod7db5942015-01-28 10:07:51 -0800294 ctc_op = 0x06,
295 mthc_op = 0x07,
296 bc_op = 0x08,
297 cop_op = 0x10,
298/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
299 copm_op = 0x18
Elliott Hughesabd62612013-11-08 11:45:48 -0800300};
301enum bcop_op {
Tao Baod7db5942015-01-28 10:07:51 -0800302 bcf_op,
Elliott Hughesabd62612013-11-08 11:45:48 -0800303/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Tao Baod7db5942015-01-28 10:07:51 -0800304 bct_op,
305 bcfl_op,
306 bctl_op
Elliott Hughesabd62612013-11-08 11:45:48 -0800307};
Tao Baod7db5942015-01-28 10:07:51 -0800308/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Elliott Hughesabd62612013-11-08 11:45:48 -0800309enum cop0_coi_func {
Tao Baod7db5942015-01-28 10:07:51 -0800310 tlbr_op = 0x01,
311 tlbwi_op = 0x02,
312 tlbwr_op = 0x06,
Elliott Hughesabd62612013-11-08 11:45:48 -0800313/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Tao Baod7db5942015-01-28 10:07:51 -0800314 tlbp_op = 0x08,
315 rfe_op = 0x10,
316 eret_op = 0x18,
317 wait_op = 0x20,
318/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Elliott Hughesabd62612013-11-08 11:45:48 -0800319};
Christopher Ferrisba8d4f42014-09-03 19:56:49 -0700320enum cop0_com_func {
Tao Baod7db5942015-01-28 10:07:51 -0800321 tlbr1_op = 0x01,
322 tlbw_op = 0x02,
Elliott Hughesabd62612013-11-08 11:45:48 -0800323/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Tao Baod7db5942015-01-28 10:07:51 -0800324 tlbp1_op = 0x08,
325 dctr_op = 0x09,
326 dctw_op = 0x0a
Christopher Ferrisba8d4f42014-09-03 19:56:49 -0700327};
Tao Baod7db5942015-01-28 10:07:51 -0800328/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Christopher Ferris38062f92014-07-09 15:33:25 -0700329enum cop1_fmt {
Tao Baod7db5942015-01-28 10:07:51 -0800330 s_fmt,
331 d_fmt,
332 e_fmt,
Elliott Hughesabd62612013-11-08 11:45:48 -0800333/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Tao Baod7db5942015-01-28 10:07:51 -0800334 q_fmt,
335 w_fmt,
336 l_fmt
Christopher Ferrisba8d4f42014-09-03 19:56:49 -0700337};
Tao Baod7db5942015-01-28 10:07:51 -0800338/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Christopher Ferris38062f92014-07-09 15:33:25 -0700339enum cop1_sdw_func {
Tao Baod7db5942015-01-28 10:07:51 -0800340 fadd_op = 0x00,
341 fsub_op = 0x01,
342 fmul_op = 0x02,
Elliott Hughesabd62612013-11-08 11:45:48 -0800343/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Tao Baod7db5942015-01-28 10:07:51 -0800344 fdiv_op = 0x03,
345 fsqrt_op = 0x04,
346 fabs_op = 0x05,
347 fmov_op = 0x06,
Elliott Hughesabd62612013-11-08 11:45:48 -0800348/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Tao Baod7db5942015-01-28 10:07:51 -0800349 fneg_op = 0x07,
350 froundl_op = 0x08,
351 ftruncl_op = 0x09,
352 fceill_op = 0x0a,
Elliott Hughesabd62612013-11-08 11:45:48 -0800353/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Tao Baod7db5942015-01-28 10:07:51 -0800354 ffloorl_op = 0x0b,
355 fround_op = 0x0c,
356 ftrunc_op = 0x0d,
357 fceil_op = 0x0e,
358/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
359 ffloor_op = 0x0f,
360 fmovc_op = 0x11,
361 fmovz_op = 0x12,
362 fmovn_op = 0x13,
363/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
364 frecip_op = 0x15,
365 frsqrt_op = 0x16,
366 fcvts_op = 0x20,
367 fcvtd_op = 0x21,
368/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
369 fcvte_op = 0x22,
370 fcvtw_op = 0x24,
371 fcvtl_op = 0x25,
372 fcmp_op = 0x30
Christopher Ferris38062f92014-07-09 15:33:25 -0700373/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Christopher Ferrisba8d4f42014-09-03 19:56:49 -0700374};
Elliott Hughesabd62612013-11-08 11:45:48 -0800375enum cop1x_func {
Tao Baod7db5942015-01-28 10:07:51 -0800376 lwxc1_op = 0x00,
377 ldxc1_op = 0x01,
Elliott Hughesabd62612013-11-08 11:45:48 -0800378/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Tao Baod7db5942015-01-28 10:07:51 -0800379 swxc1_op = 0x08,
380 sdxc1_op = 0x09,
381 pfetch_op = 0x0f,
382 madd_s_op = 0x20,
Elliott Hughesabd62612013-11-08 11:45:48 -0800383/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Tao Baod7db5942015-01-28 10:07:51 -0800384 madd_d_op = 0x21,
385 madd_e_op = 0x22,
386 msub_s_op = 0x28,
387 msub_d_op = 0x29,
388/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
389 msub_e_op = 0x2a,
390 nmadd_s_op = 0x30,
391 nmadd_d_op = 0x31,
392 nmadd_e_op = 0x32,
393/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
394 nmsub_s_op = 0x38,
395 nmsub_d_op = 0x39,
396 nmsub_e_op = 0x3a
Elliott Hughesabd62612013-11-08 11:45:48 -0800397};
Elliott Hughesabd62612013-11-08 11:45:48 -0800398/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Christopher Ferrisba8d4f42014-09-03 19:56:49 -0700399enum mad_func {
Tao Baod7db5942015-01-28 10:07:51 -0800400 madd_fp_op = 0x08,
401 msub_fp_op = 0x0a,
402 nmadd_fp_op = 0x0c,
403/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
404 nmsub_fp_op = 0x0e
Elliott Hughesabd62612013-11-08 11:45:48 -0800405};
Christopher Ferrisba8d4f42014-09-03 19:56:49 -0700406enum lx_func {
Tao Baod7db5942015-01-28 10:07:51 -0800407 lwx_op = 0x00,
Elliott Hughesabd62612013-11-08 11:45:48 -0800408/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Tao Baod7db5942015-01-28 10:07:51 -0800409 lhx_op = 0x04,
410 lbux_op = 0x06,
411 ldx_op = 0x08,
412 lwux_op = 0x10,
Elliott Hughesabd62612013-11-08 11:45:48 -0800413/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Tao Baod7db5942015-01-28 10:07:51 -0800414 lhux_op = 0x14,
415 lbx_op = 0x16,
Christopher Ferrisba8d4f42014-09-03 19:56:49 -0700416};
417enum bshfl_func {
Christopher Ferrisba8d4f42014-09-03 19:56:49 -0700418/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Tao Baod7db5942015-01-28 10:07:51 -0800419 wsbh_op = 0x2,
420 dshd_op = 0x5,
421 seb_op = 0x10,
422 seh_op = 0x18,
423/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Christopher Ferrisba8d4f42014-09-03 19:56:49 -0700424};
Christopher Ferris38062f92014-07-09 15:33:25 -0700425enum mm_major_op {
Tao Baod7db5942015-01-28 10:07:51 -0800426 mm_pool32a_op,
427 mm_pool16a_op,
Christopher Ferrisba8d4f42014-09-03 19:56:49 -0700428/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Tao Baod7db5942015-01-28 10:07:51 -0800429 mm_lbu16_op,
430 mm_move16_op,
431 mm_addi32_op,
432 mm_lbu32_op,
Christopher Ferrisba8d4f42014-09-03 19:56:49 -0700433/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Tao Baod7db5942015-01-28 10:07:51 -0800434 mm_sb32_op,
435 mm_lb32_op,
436 mm_pool32b_op,
437 mm_pool16b_op,
Christopher Ferrisba8d4f42014-09-03 19:56:49 -0700438/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Tao Baod7db5942015-01-28 10:07:51 -0800439 mm_lhu16_op,
440 mm_andi16_op,
441 mm_addiu32_op,
442 mm_lhu32_op,
Christopher Ferrisba8d4f42014-09-03 19:56:49 -0700443/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Tao Baod7db5942015-01-28 10:07:51 -0800444 mm_sh32_op,
445 mm_lh32_op,
446 mm_pool32i_op,
447 mm_pool16c_op,
Christopher Ferrisba8d4f42014-09-03 19:56:49 -0700448/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Tao Baod7db5942015-01-28 10:07:51 -0800449 mm_lwsp16_op,
450 mm_pool16d_op,
451 mm_ori32_op,
452 mm_pool32f_op,
453/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
454 mm_reserved1_op,
455 mm_reserved2_op,
456 mm_pool32c_op,
457 mm_lwgp16_op,
458/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
459 mm_lw16_op,
460 mm_pool16e_op,
461 mm_xori32_op,
462 mm_jals32_op,
463/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
464 mm_addiupc_op,
465 mm_reserved3_op,
466 mm_reserved4_op,
467 mm_pool16f_op,
468/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
469 mm_sb16_op,
470 mm_beqz16_op,
471 mm_slti32_op,
472 mm_beq32_op,
473/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
474 mm_swc132_op,
475 mm_lwc132_op,
476 mm_reserved5_op,
477 mm_reserved6_op,
478/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
479 mm_sh16_op,
480 mm_bnez16_op,
481 mm_sltiu32_op,
482 mm_bne32_op,
483/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
484 mm_sdc132_op,
485 mm_ldc132_op,
486 mm_reserved7_op,
487 mm_reserved8_op,
488/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
489 mm_swsp16_op,
490 mm_b16_op,
491 mm_andi32_op,
492 mm_j32_op,
493/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
494 mm_sd32_op,
495 mm_ld32_op,
496 mm_reserved11_op,
497 mm_reserved12_op,
498/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
499 mm_sw16_op,
500 mm_li16_op,
501 mm_jalx32_op,
502 mm_jal32_op,
503/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
504 mm_sw32_op,
505 mm_lw32_op,
Elliott Hughesabd62612013-11-08 11:45:48 -0800506};
507enum mm_32i_minor_op {
Christopher Ferrisba8d4f42014-09-03 19:56:49 -0700508/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Tao Baod7db5942015-01-28 10:07:51 -0800509 mm_bltz_op,
510 mm_bltzal_op,
511 mm_bgez_op,
512 mm_bgezal_op,
Christopher Ferrisba8d4f42014-09-03 19:56:49 -0700513/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Tao Baod7db5942015-01-28 10:07:51 -0800514 mm_blez_op,
515 mm_bnezc_op,
516 mm_bgtz_op,
517 mm_beqzc_op,
518/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
519 mm_tlti_op,
520 mm_tgei_op,
521 mm_tltiu_op,
522 mm_tgeiu_op,
523/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
524 mm_tnei_op,
525 mm_lui_op,
526 mm_teqi_op,
527 mm_reserved13_op,
528/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
529 mm_synci_op,
530 mm_bltzals_op,
531 mm_reserved14_op,
532 mm_bgezals_op,
533/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
534 mm_bc2f_op,
535 mm_bc2t_op,
536 mm_reserved15_op,
537 mm_reserved16_op,
538/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
539 mm_reserved17_op,
540 mm_reserved18_op,
541 mm_bposge64_op,
542 mm_bposge32_op,
543/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
544 mm_bc1f_op,
545 mm_bc1t_op,
546 mm_reserved19_op,
547 mm_reserved20_op,
548/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
549 mm_bc1any2f_op,
550 mm_bc1any2t_op,
551 mm_bc1any4f_op,
552 mm_bc1any4t_op,
553/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Christopher Ferris38062f92014-07-09 15:33:25 -0700554};
Elliott Hughesabd62612013-11-08 11:45:48 -0800555enum mm_32a_minor_op {
Tao Baod7db5942015-01-28 10:07:51 -0800556 mm_sll32_op = 0x000,
557 mm_ins_op = 0x00c,
Elliott Hughesabd62612013-11-08 11:45:48 -0800558/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Tao Baod7db5942015-01-28 10:07:51 -0800559 mm_sllv32_op = 0x010,
560 mm_ext_op = 0x02c,
561 mm_pool32axf_op = 0x03c,
562 mm_srl32_op = 0x040,
Elliott Hughesabd62612013-11-08 11:45:48 -0800563/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Tao Baod7db5942015-01-28 10:07:51 -0800564 mm_sra_op = 0x080,
565 mm_srlv32_op = 0x090,
566 mm_rotr_op = 0x0c0,
567 mm_lwxs_op = 0x118,
Elliott Hughesabd62612013-11-08 11:45:48 -0800568/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Tao Baod7db5942015-01-28 10:07:51 -0800569 mm_addu32_op = 0x150,
570 mm_subu32_op = 0x1d0,
571 mm_wsbh_op = 0x1ec,
572 mm_mul_op = 0x210,
Christopher Ferrisba8d4f42014-09-03 19:56:49 -0700573/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Tao Baod7db5942015-01-28 10:07:51 -0800574 mm_and_op = 0x250,
575 mm_or32_op = 0x290,
576 mm_xor32_op = 0x310,
577 mm_slt_op = 0x350,
Elliott Hughesabd62612013-11-08 11:45:48 -0800578/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Tao Baod7db5942015-01-28 10:07:51 -0800579 mm_sltu_op = 0x390,
Christopher Ferrisba8d4f42014-09-03 19:56:49 -0700580};
Christopher Ferris38062f92014-07-09 15:33:25 -0700581enum mm_32b_func {
Tao Baod7db5942015-01-28 10:07:51 -0800582 mm_lwc2_func = 0x0,
Elliott Hughesabd62612013-11-08 11:45:48 -0800583/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Tao Baod7db5942015-01-28 10:07:51 -0800584 mm_lwp_func = 0x1,
585 mm_ldc2_func = 0x2,
586 mm_ldp_func = 0x4,
587 mm_lwm32_func = 0x5,
Elliott Hughesabd62612013-11-08 11:45:48 -0800588/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Tao Baod7db5942015-01-28 10:07:51 -0800589 mm_cache_func = 0x6,
590 mm_ldm_func = 0x7,
591 mm_swc2_func = 0x8,
592 mm_swp_func = 0x9,
Elliott Hughesabd62612013-11-08 11:45:48 -0800593/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Tao Baod7db5942015-01-28 10:07:51 -0800594 mm_sdc2_func = 0xa,
595 mm_sdp_func = 0xc,
596 mm_swm32_func = 0xd,
597 mm_sdm_func = 0xf,
598/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Elliott Hughesabd62612013-11-08 11:45:48 -0800599};
Christopher Ferrisba8d4f42014-09-03 19:56:49 -0700600enum mm_32c_func {
Tao Baod7db5942015-01-28 10:07:51 -0800601 mm_pref_func = 0x2,
602 mm_ll_func = 0x3,
Elliott Hughesabd62612013-11-08 11:45:48 -0800603/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Tao Baod7db5942015-01-28 10:07:51 -0800604 mm_swr_func = 0x9,
605 mm_sc_func = 0xb,
606 mm_lwu_func = 0xe,
Elliott Hughesabd62612013-11-08 11:45:48 -0800607};
Tao Baod7db5942015-01-28 10:07:51 -0800608/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Elliott Hughesabd62612013-11-08 11:45:48 -0800609enum mm_32axf_minor_op {
Tao Baod7db5942015-01-28 10:07:51 -0800610 mm_mfc0_op = 0x003,
611 mm_mtc0_op = 0x00b,
612 mm_tlbp_op = 0x00d,
Elliott Hughesabd62612013-11-08 11:45:48 -0800613/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Tao Baod7db5942015-01-28 10:07:51 -0800614 mm_mfhi32_op = 0x035,
615 mm_jalr_op = 0x03c,
616 mm_tlbr_op = 0x04d,
617 mm_mflo32_op = 0x075,
Christopher Ferrisba8d4f42014-09-03 19:56:49 -0700618/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Tao Baod7db5942015-01-28 10:07:51 -0800619 mm_jalrhb_op = 0x07c,
620 mm_tlbwi_op = 0x08d,
621 mm_tlbwr_op = 0x0cd,
622 mm_jalrs_op = 0x13c,
Christopher Ferrisba8d4f42014-09-03 19:56:49 -0700623/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Tao Baod7db5942015-01-28 10:07:51 -0800624 mm_jalrshb_op = 0x17c,
625 mm_sync_op = 0x1ad,
626 mm_syscall_op = 0x22d,
627 mm_wait_op = 0x24d,
Elliott Hughesabd62612013-11-08 11:45:48 -0800628/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Tao Baod7db5942015-01-28 10:07:51 -0800629 mm_eret_op = 0x3cd,
630 mm_divu_op = 0x5dc,
Christopher Ferrisba8d4f42014-09-03 19:56:49 -0700631};
Christopher Ferris38062f92014-07-09 15:33:25 -0700632enum mm_32f_minor_op {
Christopher Ferrisba8d4f42014-09-03 19:56:49 -0700633/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Tao Baod7db5942015-01-28 10:07:51 -0800634 mm_32f_00_op = 0x00,
635 mm_32f_01_op = 0x01,
636 mm_32f_02_op = 0x02,
637 mm_32f_10_op = 0x08,
Christopher Ferrisba8d4f42014-09-03 19:56:49 -0700638/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Tao Baod7db5942015-01-28 10:07:51 -0800639 mm_32f_11_op = 0x09,
640 mm_32f_12_op = 0x0a,
641 mm_32f_20_op = 0x10,
642 mm_32f_30_op = 0x18,
Christopher Ferrisba8d4f42014-09-03 19:56:49 -0700643/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Tao Baod7db5942015-01-28 10:07:51 -0800644 mm_32f_40_op = 0x20,
645 mm_32f_41_op = 0x21,
646 mm_32f_42_op = 0x22,
647 mm_32f_50_op = 0x28,
Christopher Ferrisba8d4f42014-09-03 19:56:49 -0700648/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Tao Baod7db5942015-01-28 10:07:51 -0800649 mm_32f_51_op = 0x29,
650 mm_32f_52_op = 0x2a,
651 mm_32f_60_op = 0x30,
652 mm_32f_70_op = 0x38,
Christopher Ferrisba8d4f42014-09-03 19:56:49 -0700653/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Tao Baod7db5942015-01-28 10:07:51 -0800654 mm_32f_73_op = 0x3b,
655 mm_32f_74_op = 0x3c,
Elliott Hughesabd62612013-11-08 11:45:48 -0800656};
Christopher Ferris38062f92014-07-09 15:33:25 -0700657enum mm_32f_10_minor_op {
Christopher Ferrisba8d4f42014-09-03 19:56:49 -0700658/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Tao Baod7db5942015-01-28 10:07:51 -0800659 mm_lwxc1_op = 0x1,
660 mm_swxc1_op,
661 mm_ldxc1_op,
662 mm_sdxc1_op,
Christopher Ferrisba8d4f42014-09-03 19:56:49 -0700663/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Tao Baod7db5942015-01-28 10:07:51 -0800664 mm_luxc1_op,
665 mm_suxc1_op,
Elliott Hughesabd62612013-11-08 11:45:48 -0800666};
Christopher Ferris38062f92014-07-09 15:33:25 -0700667enum mm_32f_func {
Christopher Ferrisba8d4f42014-09-03 19:56:49 -0700668/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Tao Baod7db5942015-01-28 10:07:51 -0800669 mm_lwxc1_func = 0x048,
670 mm_swxc1_func = 0x088,
671 mm_ldxc1_func = 0x0c8,
672 mm_sdxc1_func = 0x108,
673/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Elliott Hughesabd62612013-11-08 11:45:48 -0800674};
675enum mm_32f_40_minor_op {
Tao Baod7db5942015-01-28 10:07:51 -0800676 mm_fmovf_op,
677 mm_fmovt_op,
678/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Elliott Hughesabd62612013-11-08 11:45:48 -0800679};
680enum mm_32f_60_minor_op {
Tao Baod7db5942015-01-28 10:07:51 -0800681 mm_fadd_op,
682 mm_fsub_op,
Christopher Ferrisba8d4f42014-09-03 19:56:49 -0700683/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Tao Baod7db5942015-01-28 10:07:51 -0800684 mm_fmul_op,
685 mm_fdiv_op,
Elliott Hughesabd62612013-11-08 11:45:48 -0800686};
Christopher Ferris38062f92014-07-09 15:33:25 -0700687enum mm_32f_70_minor_op {
Christopher Ferrisba8d4f42014-09-03 19:56:49 -0700688/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Tao Baod7db5942015-01-28 10:07:51 -0800689 mm_fmovn_op,
690 mm_fmovz_op,
Elliott Hughesabd62612013-11-08 11:45:48 -0800691};
Christopher Ferris38062f92014-07-09 15:33:25 -0700692enum mm_32f_73_minor_op {
Christopher Ferrisba8d4f42014-09-03 19:56:49 -0700693/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Tao Baod7db5942015-01-28 10:07:51 -0800694 mm_fmov0_op = 0x01,
695 mm_fcvtl_op = 0x04,
696 mm_movf0_op = 0x05,
697 mm_frsqrt_op = 0x08,
Christopher Ferrisba8d4f42014-09-03 19:56:49 -0700698/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Tao Baod7db5942015-01-28 10:07:51 -0800699 mm_ffloorl_op = 0x0c,
700 mm_fabs0_op = 0x0d,
701 mm_fcvtw_op = 0x24,
702 mm_movt0_op = 0x25,
Christopher Ferrisba8d4f42014-09-03 19:56:49 -0700703/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Tao Baod7db5942015-01-28 10:07:51 -0800704 mm_fsqrt_op = 0x28,
705 mm_ffloorw_op = 0x2c,
706 mm_fneg0_op = 0x2d,
707 mm_cfc1_op = 0x40,
Christopher Ferrisba8d4f42014-09-03 19:56:49 -0700708/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Tao Baod7db5942015-01-28 10:07:51 -0800709 mm_frecip_op = 0x48,
710 mm_fceill_op = 0x4c,
711 mm_fcvtd0_op = 0x4d,
712 mm_ctc1_op = 0x60,
Christopher Ferrisba8d4f42014-09-03 19:56:49 -0700713/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Tao Baod7db5942015-01-28 10:07:51 -0800714 mm_fceilw_op = 0x6c,
715 mm_fcvts0_op = 0x6d,
716 mm_mfc1_op = 0x80,
717 mm_fmov1_op = 0x81,
Christopher Ferrisba8d4f42014-09-03 19:56:49 -0700718/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Tao Baod7db5942015-01-28 10:07:51 -0800719 mm_movf1_op = 0x85,
720 mm_ftruncl_op = 0x8c,
721 mm_fabs1_op = 0x8d,
722 mm_mtc1_op = 0xa0,
Christopher Ferrisba8d4f42014-09-03 19:56:49 -0700723/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Tao Baod7db5942015-01-28 10:07:51 -0800724 mm_movt1_op = 0xa5,
725 mm_ftruncw_op = 0xac,
726 mm_fneg1_op = 0xad,
727 mm_mfhc1_op = 0xc0,
Christopher Ferrisba8d4f42014-09-03 19:56:49 -0700728/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Tao Baod7db5942015-01-28 10:07:51 -0800729 mm_froundl_op = 0xcc,
730 mm_fcvtd1_op = 0xcd,
731 mm_mthc1_op = 0xe0,
732 mm_froundw_op = 0xec,
Christopher Ferrisba8d4f42014-09-03 19:56:49 -0700733/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Tao Baod7db5942015-01-28 10:07:51 -0800734 mm_fcvts1_op = 0xed,
Elliott Hughesabd62612013-11-08 11:45:48 -0800735};
Elliott Hughesabd62612013-11-08 11:45:48 -0800736enum mm_16c_minor_op {
Tao Baod7db5942015-01-28 10:07:51 -0800737 mm_lwm16_op = 0x04,
Christopher Ferrisba8d4f42014-09-03 19:56:49 -0700738/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Tao Baod7db5942015-01-28 10:07:51 -0800739 mm_swm16_op = 0x05,
740 mm_jr16_op = 0x0c,
741 mm_jrc_op = 0x0d,
742 mm_jalr16_op = 0x0e,
Christopher Ferrisba8d4f42014-09-03 19:56:49 -0700743/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Tao Baod7db5942015-01-28 10:07:51 -0800744 mm_jalrs16_op = 0x0f,
745 mm_jraddiusp_op = 0x18,
Elliott Hughesabd62612013-11-08 11:45:48 -0800746};
747enum mm_16d_minor_op {
Christopher Ferrisba8d4f42014-09-03 19:56:49 -0700748/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Tao Baod7db5942015-01-28 10:07:51 -0800749 mm_addius5_func,
750 mm_addiusp_func,
Elliott Hughesabd62612013-11-08 11:45:48 -0800751};
752enum MIPS16e_ops {
Christopher Ferrisba8d4f42014-09-03 19:56:49 -0700753/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Tao Baod7db5942015-01-28 10:07:51 -0800754 MIPS16e_jal_op = 003,
755 MIPS16e_ld_op = 007,
756 MIPS16e_i8_op = 014,
757 MIPS16e_sd_op = 017,
Christopher Ferrisba8d4f42014-09-03 19:56:49 -0700758/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Tao Baod7db5942015-01-28 10:07:51 -0800759 MIPS16e_lb_op = 020,
760 MIPS16e_lh_op = 021,
761 MIPS16e_lwsp_op = 022,
762 MIPS16e_lw_op = 023,
Christopher Ferrisba8d4f42014-09-03 19:56:49 -0700763/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Tao Baod7db5942015-01-28 10:07:51 -0800764 MIPS16e_lbu_op = 024,
765 MIPS16e_lhu_op = 025,
766 MIPS16e_lwpc_op = 026,
767 MIPS16e_lwu_op = 027,
Christopher Ferrisba8d4f42014-09-03 19:56:49 -0700768/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Tao Baod7db5942015-01-28 10:07:51 -0800769 MIPS16e_sb_op = 030,
770 MIPS16e_sh_op = 031,
771 MIPS16e_swsp_op = 032,
772 MIPS16e_sw_op = 033,
Christopher Ferrisba8d4f42014-09-03 19:56:49 -0700773/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Tao Baod7db5942015-01-28 10:07:51 -0800774 MIPS16e_rr_op = 035,
775 MIPS16e_extend_op = 036,
776 MIPS16e_i64_op = 037,
Elliott Hughesabd62612013-11-08 11:45:48 -0800777};
Tao Baod7db5942015-01-28 10:07:51 -0800778/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Elliott Hughesabd62612013-11-08 11:45:48 -0800779enum MIPS16e_i64_func {
Tao Baod7db5942015-01-28 10:07:51 -0800780 MIPS16e_ldsp_func,
781 MIPS16e_sdsp_func,
782 MIPS16e_sdrasp_func,
Christopher Ferrisba8d4f42014-09-03 19:56:49 -0700783/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Tao Baod7db5942015-01-28 10:07:51 -0800784 MIPS16e_dadjsp_func,
785 MIPS16e_ldpc_func,
Elliott Hughesabd62612013-11-08 11:45:48 -0800786};
787enum MIPS16e_rr_func {
Christopher Ferrisba8d4f42014-09-03 19:56:49 -0700788/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Tao Baod7db5942015-01-28 10:07:51 -0800789 MIPS16e_jr_func,
Elliott Hughesabd62612013-11-08 11:45:48 -0800790};
Elliott Hughesabd62612013-11-08 11:45:48 -0800791enum MIPS6e_i8_func {
Tao Baod7db5942015-01-28 10:07:51 -0800792 MIPS16e_swrasp_func = 02,
Christopher Ferrisba8d4f42014-09-03 19:56:49 -0700793/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Tao Baod7db5942015-01-28 10:07:51 -0800794};
Elliott Hughesabd62612013-11-08 11:45:48 -0800795#define MM_NOP16 0x0c00
Elliott Hughesabd62612013-11-08 11:45:48 -0800796struct j_format {
Tao Baod7db5942015-01-28 10:07:51 -0800797 __BITFIELD_FIELD(unsigned int opcode : 6, __BITFIELD_FIELD(unsigned int target : 26,;
Elliott Hughes8ed7a232014-05-15 12:01:11 -0700798/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Tao Baod7db5942015-01-28 10:07:51 -0800799 ))
Elliott Hughesabd62612013-11-08 11:45:48 -0800800};
Elliott Hughesabd62612013-11-08 11:45:48 -0800801struct i_format {
Tao Baod7db5942015-01-28 10:07:51 -0800802 __BITFIELD_FIELD(unsigned int opcode : 6, __BITFIELD_FIELD(unsigned int rs : 5, __BITFIELD_FIELD(unsigned int rt : 5, __BITFIELD_FIELD(signed int simmediate : 16,;
Elliott Hughes8ed7a232014-05-15 12:01:11 -0700803/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Tao Baod7db5942015-01-28 10:07:51 -0800804 ))))
Christopher Ferrisba8d4f42014-09-03 19:56:49 -0700805};
Elliott Hughesabd62612013-11-08 11:45:48 -0800806struct u_format {
Tao Baod7db5942015-01-28 10:07:51 -0800807 __BITFIELD_FIELD(unsigned int opcode : 6, __BITFIELD_FIELD(unsigned int rs : 5, __BITFIELD_FIELD(unsigned int rt : 5, __BITFIELD_FIELD(unsigned int uimmediate : 16,;
Elliott Hughes8ed7a232014-05-15 12:01:11 -0700808/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Tao Baod7db5942015-01-28 10:07:51 -0800809 ))))
Elliott Hughesabd62612013-11-08 11:45:48 -0800810};
811struct c_format {
Tao Baod7db5942015-01-28 10:07:51 -0800812 __BITFIELD_FIELD(unsigned int opcode : 6, __BITFIELD_FIELD(unsigned int rs : 5, __BITFIELD_FIELD(unsigned int c_op : 3, __BITFIELD_FIELD(unsigned int cache : 2, __BITFIELD_FIELD(unsigned int simmediate : 16,;
Elliott Hughes8ed7a232014-05-15 12:01:11 -0700813/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Tao Baod7db5942015-01-28 10:07:51 -0800814 )))))
Elliott Hughesabd62612013-11-08 11:45:48 -0800815};
816struct r_format {
Tao Baod7db5942015-01-28 10:07:51 -0800817 __BITFIELD_FIELD(unsigned int opcode : 6, __BITFIELD_FIELD(unsigned int rs : 5, __BITFIELD_FIELD(unsigned int rt : 5, __BITFIELD_FIELD(unsigned int rd : 5, __BITFIELD_FIELD(unsigned int re : 5, __BITFIELD_FIELD(unsigned int func : 6,;
Elliott Hughes8ed7a232014-05-15 12:01:11 -0700818/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Tao Baod7db5942015-01-28 10:07:51 -0800819 ))))))
Elliott Hughesabd62612013-11-08 11:45:48 -0800820};
821struct p_format {
Tao Baod7db5942015-01-28 10:07:51 -0800822 __BITFIELD_FIELD(unsigned int opcode : 6, __BITFIELD_FIELD(unsigned int rs : 5, __BITFIELD_FIELD(unsigned int rt : 5, __BITFIELD_FIELD(unsigned int rd : 5, __BITFIELD_FIELD(unsigned int re : 5, __BITFIELD_FIELD(unsigned int func : 6,;
Elliott Hughes8ed7a232014-05-15 12:01:11 -0700823/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Tao Baod7db5942015-01-28 10:07:51 -0800824 ))))))
Elliott Hughesabd62612013-11-08 11:45:48 -0800825};
Elliott Hughesabd62612013-11-08 11:45:48 -0800826struct f_format {
Tao Baod7db5942015-01-28 10:07:51 -0800827 __BITFIELD_FIELD(unsigned int opcode : 6, __BITFIELD_FIELD(unsigned int : 1, __BITFIELD_FIELD(unsigned int fmt : 4, __BITFIELD_FIELD(unsigned int rt : 5, __BITFIELD_FIELD(unsigned int rd : 5, __BITFIELD_FIELD(unsigned int re : 5, __BITFIELD_FIELD(unsigned int func : 6,;
Elliott Hughes8ed7a232014-05-15 12:01:11 -0700828/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Tao Baod7db5942015-01-28 10:07:51 -0800829 )))))))
Elliott Hughesabd62612013-11-08 11:45:48 -0800830};
831struct ma_format {
Tao Baod7db5942015-01-28 10:07:51 -0800832 __BITFIELD_FIELD(unsigned int opcode : 6, __BITFIELD_FIELD(unsigned int fr : 5, __BITFIELD_FIELD(unsigned int ft : 5, __BITFIELD_FIELD(unsigned int fs : 5, __BITFIELD_FIELD(unsigned int fd : 5, __BITFIELD_FIELD(unsigned int func : 4, __BITFIELD_FIELD(unsigned int fmt : 2,;
Elliott Hughes8ed7a232014-05-15 12:01:11 -0700833/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Tao Baod7db5942015-01-28 10:07:51 -0800834 )))))))
Elliott Hughesabd62612013-11-08 11:45:48 -0800835};
Elliott Hughesabd62612013-11-08 11:45:48 -0800836struct b_format {
Tao Baod7db5942015-01-28 10:07:51 -0800837 __BITFIELD_FIELD(unsigned int opcode : 6, __BITFIELD_FIELD(unsigned int code : 20, __BITFIELD_FIELD(unsigned int func : 6,;
Elliott Hughes8ed7a232014-05-15 12:01:11 -0700838/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Tao Baod7db5942015-01-28 10:07:51 -0800839 )))
Elliott Hughesabd62612013-11-08 11:45:48 -0800840};
841struct ps_format {
Tao Baod7db5942015-01-28 10:07:51 -0800842 __BITFIELD_FIELD(unsigned int opcode : 6, __BITFIELD_FIELD(unsigned int rs : 5, __BITFIELD_FIELD(unsigned int ft : 5, __BITFIELD_FIELD(unsigned int fs : 5, __BITFIELD_FIELD(unsigned int fd : 5, __BITFIELD_FIELD(unsigned int func : 6,;
Elliott Hughes8ed7a232014-05-15 12:01:11 -0700843/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Tao Baod7db5942015-01-28 10:07:51 -0800844 ))))))
Elliott Hughesabd62612013-11-08 11:45:48 -0800845};
846struct v_format {
Tao Baod7db5942015-01-28 10:07:51 -0800847 __BITFIELD_FIELD(unsigned int opcode : 6, __BITFIELD_FIELD(unsigned int sel : 4, __BITFIELD_FIELD(unsigned int fmt : 1, __BITFIELD_FIELD(unsigned int vt : 5, __BITFIELD_FIELD(unsigned int vs : 5, __BITFIELD_FIELD(unsigned int vd : 5, __BITFIELD_FIELD(unsigned int func : 6,;
Elliott Hughes8ed7a232014-05-15 12:01:11 -0700848/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Tao Baod7db5942015-01-28 10:07:51 -0800849 )))))))
Elliott Hughesabd62612013-11-08 11:45:48 -0800850};
Christopher Ferrisba8d4f42014-09-03 19:56:49 -0700851struct spec3_format {
Tao Baod7db5942015-01-28 10:07:51 -0800852 __BITFIELD_FIELD(unsigned int opcode : 6, __BITFIELD_FIELD(unsigned int rs : 5, __BITFIELD_FIELD(unsigned int rt : 5, __BITFIELD_FIELD(signed int simmediate : 9, __BITFIELD_FIELD(unsigned int func : 7,;
Christopher Ferrisba8d4f42014-09-03 19:56:49 -0700853/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Tao Baod7db5942015-01-28 10:07:51 -0800854 )))))
Christopher Ferrisba8d4f42014-09-03 19:56:49 -0700855};
Elliott Hughesabd62612013-11-08 11:45:48 -0800856struct fb_format {
Tao Baod7db5942015-01-28 10:07:51 -0800857 __BITFIELD_FIELD(unsigned int opcode : 6, __BITFIELD_FIELD(unsigned int bc : 5, __BITFIELD_FIELD(unsigned int cc : 3, __BITFIELD_FIELD(unsigned int flag : 2, __BITFIELD_FIELD(signed int simmediate : 16,;
Elliott Hughes8ed7a232014-05-15 12:01:11 -0700858/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Tao Baod7db5942015-01-28 10:07:51 -0800859 )))))
Elliott Hughesabd62612013-11-08 11:45:48 -0800860};
861struct fp0_format {
Tao Baod7db5942015-01-28 10:07:51 -0800862 __BITFIELD_FIELD(unsigned int opcode : 6, __BITFIELD_FIELD(unsigned int fmt : 5, __BITFIELD_FIELD(unsigned int ft : 5, __BITFIELD_FIELD(unsigned int fs : 5, __BITFIELD_FIELD(unsigned int fd : 5, __BITFIELD_FIELD(unsigned int func : 6,;
Elliott Hughes8ed7a232014-05-15 12:01:11 -0700863/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Tao Baod7db5942015-01-28 10:07:51 -0800864 ))))))
Elliott Hughesabd62612013-11-08 11:45:48 -0800865};
866struct mm_fp0_format {
Tao Baod7db5942015-01-28 10:07:51 -0800867 __BITFIELD_FIELD(unsigned int opcode : 6, __BITFIELD_FIELD(unsigned int ft : 5, __BITFIELD_FIELD(unsigned int fs : 5, __BITFIELD_FIELD(unsigned int fd : 5, __BITFIELD_FIELD(unsigned int fmt : 3, __BITFIELD_FIELD(unsigned int op : 2, __BITFIELD_FIELD(unsigned int func : 6,;
Elliott Hughes8ed7a232014-05-15 12:01:11 -0700868/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Tao Baod7db5942015-01-28 10:07:51 -0800869 )))))))
Elliott Hughesabd62612013-11-08 11:45:48 -0800870};
Elliott Hughesabd62612013-11-08 11:45:48 -0800871struct fp1_format {
Tao Baod7db5942015-01-28 10:07:51 -0800872 __BITFIELD_FIELD(unsigned int opcode : 6, __BITFIELD_FIELD(unsigned int op : 5, __BITFIELD_FIELD(unsigned int rt : 5, __BITFIELD_FIELD(unsigned int fs : 5, __BITFIELD_FIELD(unsigned int fd : 5, __BITFIELD_FIELD(unsigned int func : 6,;
Elliott Hughes8ed7a232014-05-15 12:01:11 -0700873/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Tao Baod7db5942015-01-28 10:07:51 -0800874 ))))))
Elliott Hughesabd62612013-11-08 11:45:48 -0800875};
876struct mm_fp1_format {
Tao Baod7db5942015-01-28 10:07:51 -0800877 __BITFIELD_FIELD(unsigned int opcode : 6, __BITFIELD_FIELD(unsigned int rt : 5, __BITFIELD_FIELD(unsigned int fs : 5, __BITFIELD_FIELD(unsigned int fmt : 2, __BITFIELD_FIELD(unsigned int op : 8, __BITFIELD_FIELD(unsigned int func : 6,;
Elliott Hughes8ed7a232014-05-15 12:01:11 -0700878/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Tao Baod7db5942015-01-28 10:07:51 -0800879 ))))))
Elliott Hughesabd62612013-11-08 11:45:48 -0800880};
881struct mm_fp2_format {
Tao Baod7db5942015-01-28 10:07:51 -0800882 __BITFIELD_FIELD(unsigned int opcode : 6, __BITFIELD_FIELD(unsigned int fd : 5, __BITFIELD_FIELD(unsigned int fs : 5, __BITFIELD_FIELD(unsigned int cc : 3, __BITFIELD_FIELD(unsigned int zero : 2, __BITFIELD_FIELD(unsigned int fmt : 2, __BITFIELD_FIELD(unsigned int op : 3, __BITFIELD_FIELD(unsigned int func : 6,;
Elliott Hughes8ed7a232014-05-15 12:01:11 -0700883/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Tao Baod7db5942015-01-28 10:07:51 -0800884 ))))))))
Elliott Hughesabd62612013-11-08 11:45:48 -0800885};
886struct mm_fp3_format {
Tao Baod7db5942015-01-28 10:07:51 -0800887 __BITFIELD_FIELD(unsigned int opcode : 6, __BITFIELD_FIELD(unsigned int rt : 5, __BITFIELD_FIELD(unsigned int fs : 5, __BITFIELD_FIELD(unsigned int fmt : 3, __BITFIELD_FIELD(unsigned int op : 7, __BITFIELD_FIELD(unsigned int func : 6,;
Elliott Hughes8ed7a232014-05-15 12:01:11 -0700888/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Tao Baod7db5942015-01-28 10:07:51 -0800889 ))))))
Elliott Hughesabd62612013-11-08 11:45:48 -0800890};
891struct mm_fp4_format {
Tao Baod7db5942015-01-28 10:07:51 -0800892 __BITFIELD_FIELD(unsigned int opcode : 6, __BITFIELD_FIELD(unsigned int rt : 5, __BITFIELD_FIELD(unsigned int fs : 5, __BITFIELD_FIELD(unsigned int cc : 3, __BITFIELD_FIELD(unsigned int fmt : 3, __BITFIELD_FIELD(unsigned int cond : 4, __BITFIELD_FIELD(unsigned int func : 6,;
Elliott Hughes8ed7a232014-05-15 12:01:11 -0700893/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Tao Baod7db5942015-01-28 10:07:51 -0800894 )))))))
Elliott Hughesabd62612013-11-08 11:45:48 -0800895};
Elliott Hughesabd62612013-11-08 11:45:48 -0800896struct mm_fp5_format {
Tao Baod7db5942015-01-28 10:07:51 -0800897 __BITFIELD_FIELD(unsigned int opcode : 6, __BITFIELD_FIELD(unsigned int index : 5, __BITFIELD_FIELD(unsigned int base : 5, __BITFIELD_FIELD(unsigned int fd : 5, __BITFIELD_FIELD(unsigned int op : 5, __BITFIELD_FIELD(unsigned int func : 6,;
Elliott Hughes8ed7a232014-05-15 12:01:11 -0700898/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Tao Baod7db5942015-01-28 10:07:51 -0800899 ))))))
Elliott Hughesabd62612013-11-08 11:45:48 -0800900};
901struct fp6_format {
Tao Baod7db5942015-01-28 10:07:51 -0800902 __BITFIELD_FIELD(unsigned int opcode : 6, __BITFIELD_FIELD(unsigned int fr : 5, __BITFIELD_FIELD(unsigned int ft : 5, __BITFIELD_FIELD(unsigned int fs : 5, __BITFIELD_FIELD(unsigned int fd : 5, __BITFIELD_FIELD(unsigned int func : 6,;
Elliott Hughes8ed7a232014-05-15 12:01:11 -0700903/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Tao Baod7db5942015-01-28 10:07:51 -0800904 ))))))
Elliott Hughesabd62612013-11-08 11:45:48 -0800905};
906struct mm_fp6_format {
Tao Baod7db5942015-01-28 10:07:51 -0800907 __BITFIELD_FIELD(unsigned int opcode : 6, __BITFIELD_FIELD(unsigned int ft : 5, __BITFIELD_FIELD(unsigned int fs : 5, __BITFIELD_FIELD(unsigned int fd : 5, __BITFIELD_FIELD(unsigned int fr : 5, __BITFIELD_FIELD(unsigned int func : 6,;
Elliott Hughes8ed7a232014-05-15 12:01:11 -0700908/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Tao Baod7db5942015-01-28 10:07:51 -0800909 ))))))
Elliott Hughesabd62612013-11-08 11:45:48 -0800910};
911struct mm_i_format {
Tao Baod7db5942015-01-28 10:07:51 -0800912 __BITFIELD_FIELD(unsigned int opcode : 6, __BITFIELD_FIELD(unsigned int rt : 5, __BITFIELD_FIELD(unsigned int rs : 5, __BITFIELD_FIELD(signed int simmediate : 16,;
Elliott Hughes8ed7a232014-05-15 12:01:11 -0700913/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Tao Baod7db5942015-01-28 10:07:51 -0800914 ))))
Elliott Hughesabd62612013-11-08 11:45:48 -0800915};
916struct mm_m_format {
Tao Baod7db5942015-01-28 10:07:51 -0800917 __BITFIELD_FIELD(unsigned int opcode : 6, __BITFIELD_FIELD(unsigned int rd : 5, __BITFIELD_FIELD(unsigned int base : 5, __BITFIELD_FIELD(unsigned int func : 4, __BITFIELD_FIELD(signed int simmediate : 12,;
Elliott Hughes8ed7a232014-05-15 12:01:11 -0700918/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Tao Baod7db5942015-01-28 10:07:51 -0800919 )))))
Elliott Hughesabd62612013-11-08 11:45:48 -0800920};
921struct mm_x_format {
Tao Baod7db5942015-01-28 10:07:51 -0800922 __BITFIELD_FIELD(unsigned int opcode : 6, __BITFIELD_FIELD(unsigned int index : 5, __BITFIELD_FIELD(unsigned int base : 5, __BITFIELD_FIELD(unsigned int rd : 5, __BITFIELD_FIELD(unsigned int func : 11,;
Elliott Hughes8ed7a232014-05-15 12:01:11 -0700923/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Tao Baod7db5942015-01-28 10:07:51 -0800924 )))))
Elliott Hughesabd62612013-11-08 11:45:48 -0800925};
926struct mm_b0_format {
Tao Baod7db5942015-01-28 10:07:51 -0800927 __BITFIELD_FIELD(unsigned int opcode : 6, __BITFIELD_FIELD(signed int simmediate : 10, __BITFIELD_FIELD(unsigned int : 16,;
Elliott Hughes8ed7a232014-05-15 12:01:11 -0700928/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Tao Baod7db5942015-01-28 10:07:51 -0800929 )))
Elliott Hughesabd62612013-11-08 11:45:48 -0800930};
Elliott Hughesabd62612013-11-08 11:45:48 -0800931struct mm_b1_format {
Tao Baod7db5942015-01-28 10:07:51 -0800932 __BITFIELD_FIELD(unsigned int opcode : 6, __BITFIELD_FIELD(unsigned int rs : 3, __BITFIELD_FIELD(signed int simmediate : 7, __BITFIELD_FIELD(unsigned int : 16,;
Elliott Hughes8ed7a232014-05-15 12:01:11 -0700933/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Tao Baod7db5942015-01-28 10:07:51 -0800934 ))))
Christopher Ferrisba8d4f42014-09-03 19:56:49 -0700935};
Elliott Hughesabd62612013-11-08 11:45:48 -0800936struct mm16_m_format {
Tao Baod7db5942015-01-28 10:07:51 -0800937 __BITFIELD_FIELD(unsigned int opcode : 6, __BITFIELD_FIELD(unsigned int func : 4, __BITFIELD_FIELD(unsigned int rlist : 2, __BITFIELD_FIELD(unsigned int imm : 4, __BITFIELD_FIELD(unsigned int : 16,;
Elliott Hughes8ed7a232014-05-15 12:01:11 -0700938/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Tao Baod7db5942015-01-28 10:07:51 -0800939 )))))
Christopher Ferrisba8d4f42014-09-03 19:56:49 -0700940};
Elliott Hughesabd62612013-11-08 11:45:48 -0800941struct mm16_rb_format {
Tao Baod7db5942015-01-28 10:07:51 -0800942 __BITFIELD_FIELD(unsigned int opcode : 6, __BITFIELD_FIELD(unsigned int rt : 3, __BITFIELD_FIELD(unsigned int base : 3, __BITFIELD_FIELD(signed int simmediate : 4, __BITFIELD_FIELD(unsigned int : 16,;
Elliott Hughes8ed7a232014-05-15 12:01:11 -0700943/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Tao Baod7db5942015-01-28 10:07:51 -0800944 )))))
Elliott Hughesabd62612013-11-08 11:45:48 -0800945};
946struct mm16_r3_format {
Tao Baod7db5942015-01-28 10:07:51 -0800947 __BITFIELD_FIELD(unsigned int opcode : 6, __BITFIELD_FIELD(unsigned int rt : 3, __BITFIELD_FIELD(signed int simmediate : 7, __BITFIELD_FIELD(unsigned int : 16,;
Elliott Hughes8ed7a232014-05-15 12:01:11 -0700948/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Tao Baod7db5942015-01-28 10:07:51 -0800949 ))))
Elliott Hughesabd62612013-11-08 11:45:48 -0800950};
951struct mm16_r5_format {
Tao Baod7db5942015-01-28 10:07:51 -0800952 __BITFIELD_FIELD(unsigned int opcode : 6, __BITFIELD_FIELD(unsigned int rt : 5, __BITFIELD_FIELD(signed int simmediate : 5, __BITFIELD_FIELD(unsigned int : 16,;
Elliott Hughes8ed7a232014-05-15 12:01:11 -0700953/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Tao Baod7db5942015-01-28 10:07:51 -0800954 ))))
Elliott Hughesabd62612013-11-08 11:45:48 -0800955};
956struct m16e_rr {
Tao Baod7db5942015-01-28 10:07:51 -0800957 __BITFIELD_FIELD(unsigned int opcode : 5, __BITFIELD_FIELD(unsigned int rx : 3, __BITFIELD_FIELD(unsigned int nd : 1, __BITFIELD_FIELD(unsigned int l : 1, __BITFIELD_FIELD(unsigned int ra : 1, __BITFIELD_FIELD(unsigned int func : 5,;
Elliott Hughes8ed7a232014-05-15 12:01:11 -0700958/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Tao Baod7db5942015-01-28 10:07:51 -0800959 ))))))
Elliott Hughesabd62612013-11-08 11:45:48 -0800960};
961struct m16e_jal {
Tao Baod7db5942015-01-28 10:07:51 -0800962 __BITFIELD_FIELD(unsigned int opcode : 5, __BITFIELD_FIELD(unsigned int x : 1, __BITFIELD_FIELD(unsigned int imm20_16 : 5, __BITFIELD_FIELD(signed int imm25_21 : 5,;
Elliott Hughes8ed7a232014-05-15 12:01:11 -0700963/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Tao Baod7db5942015-01-28 10:07:51 -0800964 ))))
Elliott Hughesabd62612013-11-08 11:45:48 -0800965};
966struct m16e_i64 {
Tao Baod7db5942015-01-28 10:07:51 -0800967 __BITFIELD_FIELD(unsigned int opcode : 5, __BITFIELD_FIELD(unsigned int func : 3, __BITFIELD_FIELD(unsigned int imm : 8,;
Elliott Hughes8ed7a232014-05-15 12:01:11 -0700968/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Tao Baod7db5942015-01-28 10:07:51 -0800969 )))
Elliott Hughesabd62612013-11-08 11:45:48 -0800970};
971struct m16e_ri64 {
Tao Baod7db5942015-01-28 10:07:51 -0800972 __BITFIELD_FIELD(unsigned int opcode : 5, __BITFIELD_FIELD(unsigned int func : 3, __BITFIELD_FIELD(unsigned int ry : 3, __BITFIELD_FIELD(unsigned int imm : 5,;
Elliott Hughes8ed7a232014-05-15 12:01:11 -0700973/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Tao Baod7db5942015-01-28 10:07:51 -0800974 ))))
Elliott Hughesabd62612013-11-08 11:45:48 -0800975};
976struct m16e_ri {
Tao Baod7db5942015-01-28 10:07:51 -0800977 __BITFIELD_FIELD(unsigned int opcode : 5, __BITFIELD_FIELD(unsigned int rx : 3, __BITFIELD_FIELD(unsigned int imm : 8,;
Elliott Hughes8ed7a232014-05-15 12:01:11 -0700978/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Tao Baod7db5942015-01-28 10:07:51 -0800979 )))
Elliott Hughesabd62612013-11-08 11:45:48 -0800980};
Elliott Hughesabd62612013-11-08 11:45:48 -0800981struct m16e_rri {
Tao Baod7db5942015-01-28 10:07:51 -0800982 __BITFIELD_FIELD(unsigned int opcode : 5, __BITFIELD_FIELD(unsigned int rx : 3, __BITFIELD_FIELD(unsigned int ry : 3, __BITFIELD_FIELD(unsigned int imm : 5,;
Elliott Hughes8ed7a232014-05-15 12:01:11 -0700983/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Tao Baod7db5942015-01-28 10:07:51 -0800984 ))))
Elliott Hughesabd62612013-11-08 11:45:48 -0800985};
986struct m16e_i8 {
Tao Baod7db5942015-01-28 10:07:51 -0800987 __BITFIELD_FIELD(unsigned int opcode : 5, __BITFIELD_FIELD(unsigned int func : 3, __BITFIELD_FIELD(unsigned int imm : 8,;
Elliott Hughes8ed7a232014-05-15 12:01:11 -0700988/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Tao Baod7db5942015-01-28 10:07:51 -0800989 )))
Elliott Hughesabd62612013-11-08 11:45:48 -0800990};
991union mips_instruction {
Tao Baod7db5942015-01-28 10:07:51 -0800992 unsigned int word;
Elliott Hughes8ed7a232014-05-15 12:01:11 -0700993/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Tao Baod7db5942015-01-28 10:07:51 -0800994 unsigned short halfword[2];
995 unsigned char byte[4];
996 struct j_format j_format;
997 struct i_format i_format;
Elliott Hughes8ed7a232014-05-15 12:01:11 -0700998/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Tao Baod7db5942015-01-28 10:07:51 -0800999 struct u_format u_format;
1000 struct c_format c_format;
1001 struct r_format r_format;
1002 struct p_format p_format;
Elliott Hughes8ed7a232014-05-15 12:01:11 -07001003/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Tao Baod7db5942015-01-28 10:07:51 -08001004 struct f_format f_format;
1005 struct ma_format ma_format;
1006 struct b_format b_format;
1007 struct ps_format ps_format;
Elliott Hughes8ed7a232014-05-15 12:01:11 -07001008/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Tao Baod7db5942015-01-28 10:07:51 -08001009 struct v_format v_format;
1010 struct spec3_format spec3_format;
1011 struct fb_format fb_format;
1012 struct fp0_format fp0_format;
Christopher Ferrisba8d4f42014-09-03 19:56:49 -07001013/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Tao Baod7db5942015-01-28 10:07:51 -08001014 struct mm_fp0_format mm_fp0_format;
1015 struct fp1_format fp1_format;
1016 struct mm_fp1_format mm_fp1_format;
1017 struct mm_fp2_format mm_fp2_format;
Christopher Ferrisba8d4f42014-09-03 19:56:49 -07001018/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Tao Baod7db5942015-01-28 10:07:51 -08001019 struct mm_fp3_format mm_fp3_format;
1020 struct mm_fp4_format mm_fp4_format;
1021 struct mm_fp5_format mm_fp5_format;
1022 struct fp6_format fp6_format;
Christopher Ferrisba8d4f42014-09-03 19:56:49 -07001023/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Tao Baod7db5942015-01-28 10:07:51 -08001024 struct mm_fp6_format mm_fp6_format;
1025 struct mm_i_format mm_i_format;
1026 struct mm_m_format mm_m_format;
1027 struct mm_x_format mm_x_format;
Christopher Ferrisba8d4f42014-09-03 19:56:49 -07001028/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Tao Baod7db5942015-01-28 10:07:51 -08001029 struct mm_b0_format mm_b0_format;
1030 struct mm_b1_format mm_b1_format;
1031 struct mm16_m_format mm16_m_format;
1032 struct mm16_rb_format mm16_rb_format;
Christopher Ferrisba8d4f42014-09-03 19:56:49 -07001033/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Tao Baod7db5942015-01-28 10:07:51 -08001034 struct mm16_r3_format mm16_r3_format;
1035 struct mm16_r5_format mm16_r5_format;
Elliott Hughesabd62612013-11-08 11:45:48 -08001036};
1037union mips16e_instruction {
Christopher Ferrisba8d4f42014-09-03 19:56:49 -07001038/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Tao Baod7db5942015-01-28 10:07:51 -08001039 unsigned int full : 16;
1040 struct m16e_rr rr;
1041 struct m16e_jal jal;
1042 struct m16e_i64 i64;
Christopher Ferrisba8d4f42014-09-03 19:56:49 -07001043/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Tao Baod7db5942015-01-28 10:07:51 -08001044 struct m16e_ri64 ri64;
1045 struct m16e_ri ri;
1046 struct m16e_rri rri;
1047 struct m16e_i8 i8;
1048/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Elliott Hughesabd62612013-11-08 11:45:48 -08001049};
1050#endif