1 /****************************************************************************
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
21 #include <asm/bitfield.h>
22 enum major_op {
23 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
24   spec_op,
25   bcond_op,
26   j_op,
27   jal_op,
28 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
29   beq_op,
30   bne_op,
31   blez_op,
32   bgtz_op,
33 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
34   addi_op,
35   addiu_op,
36   slti_op,
37   sltiu_op,
38 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
39   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
103 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
104 };
105 enum spec_op {
106   sll_op,
107   movc_op,
108 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
109   srl_op,
110   sra_op,
111   sllv_op,
112   pmon_op,
113 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
114   srlv_op,
115   srav_op,
116   jr_op,
117   jalr_op,
118 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
119   movz_op,
120   movn_op,
121   syscall_op,
122   break_op,
123 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
124   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
186 };
187 enum spec2_op {
188 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
189   madd_op,
190   maddu_op,
191   mul_op,
192   spec2_3_unused_op,
193 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
194   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
202 };
203 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
204 enum spec3_op {
205   ext_op,
206   dextm_op,
207   dextu_op,
208 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
209   dext_op,
210   ins_op,
211   dinsm_op,
212   dinsu_op,
213 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
214   dins_op,
215   yield_op = 0x09,
216   lx_op = 0x0a,
217   lwle_op = 0x19,
218 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
219   lwre_op = 0x1a,
220   cachee_op = 0x1b,
221   sbe_op = 0x1c,
222   she_op = 0x1d,
223 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
224   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
241 };
242 enum rt_op {
243 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
244   bltz_op,
245   bgez_op,
246   bltzl_op,
247   bgezl_op,
248 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
249   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 */
284 };
285 enum cop_op {
286   mfc_op = 0x00,
287   dmfc_op = 0x01,
288 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
289   cfc_op = 0x02,
290   mfhc_op = 0x03,
291   mtc_op = 0x04,
292   dmtc_op = 0x05,
293 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
294   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
300 };
301 enum bcop_op {
302   bcf_op,
303 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
304   bct_op,
305   bcfl_op,
306   bctl_op
307 };
308 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
309 enum cop0_coi_func {
310   tlbr_op = 0x01,
311   tlbwi_op = 0x02,
312   tlbwr_op = 0x06,
313 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
314   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 */
319 };
320 enum cop0_com_func {
321   tlbr1_op = 0x01,
322   tlbw_op = 0x02,
323 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
324   tlbp1_op = 0x08,
325   dctr_op = 0x09,
326   dctw_op = 0x0a
327 };
328 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
329 enum cop1_fmt {
330   s_fmt,
331   d_fmt,
332   e_fmt,
333 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
334   q_fmt,
335   w_fmt,
336   l_fmt
337 };
338 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
339 enum cop1_sdw_func {
340   fadd_op = 0x00,
341   fsub_op = 0x01,
342   fmul_op = 0x02,
343 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
344   fdiv_op = 0x03,
345   fsqrt_op = 0x04,
346   fabs_op = 0x05,
347   fmov_op = 0x06,
348 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
349   fneg_op = 0x07,
350   froundl_op = 0x08,
351   ftruncl_op = 0x09,
352   fceill_op = 0x0a,
353 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
354   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
373 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
374 };
375 enum cop1x_func {
376   lwxc1_op = 0x00,
377   ldxc1_op = 0x01,
378 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
379   swxc1_op = 0x08,
380   sdxc1_op = 0x09,
381   pfetch_op = 0x0f,
382   madd_s_op = 0x20,
383 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
384   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
397 };
398 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
399 enum mad_func {
400   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
405 };
406 enum lx_func {
407   lwx_op = 0x00,
408 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
409   lhx_op = 0x04,
410   lbux_op = 0x06,
411   ldx_op = 0x08,
412   lwux_op = 0x10,
413 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
414   lhux_op = 0x14,
415   lbx_op = 0x16,
416 };
417 enum bshfl_func {
418 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
419   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 */
424 };
425 enum mm_major_op {
426   mm_pool32a_op,
427   mm_pool16a_op,
428 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
429   mm_lbu16_op,
430   mm_move16_op,
431   mm_addi32_op,
432   mm_lbu32_op,
433 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
434   mm_sb32_op,
435   mm_lb32_op,
436   mm_pool32b_op,
437   mm_pool16b_op,
438 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
439   mm_lhu16_op,
440   mm_andi16_op,
441   mm_addiu32_op,
442   mm_lhu32_op,
443 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
444   mm_sh32_op,
445   mm_lh32_op,
446   mm_pool32i_op,
447   mm_pool16c_op,
448 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
449   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,
506 };
507 enum mm_32i_minor_op {
508 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
509   mm_bltz_op,
510   mm_bltzal_op,
511   mm_bgez_op,
512   mm_bgezal_op,
513 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
514   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 */
554 };
555 enum mm_32a_minor_op {
556   mm_sll32_op = 0x000,
557   mm_ins_op = 0x00c,
558 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
559   mm_sllv32_op = 0x010,
560   mm_ext_op = 0x02c,
561   mm_pool32axf_op = 0x03c,
562   mm_srl32_op = 0x040,
563 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
564   mm_sra_op = 0x080,
565   mm_srlv32_op = 0x090,
566   mm_rotr_op = 0x0c0,
567   mm_lwxs_op = 0x118,
568 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
569   mm_addu32_op = 0x150,
570   mm_subu32_op = 0x1d0,
571   mm_wsbh_op = 0x1ec,
572   mm_mul_op = 0x210,
573 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
574   mm_and_op = 0x250,
575   mm_or32_op = 0x290,
576   mm_xor32_op = 0x310,
577   mm_slt_op = 0x350,
578 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
579   mm_sltu_op = 0x390,
580 };
581 enum mm_32b_func {
582   mm_lwc2_func = 0x0,
583 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
584   mm_lwp_func = 0x1,
585   mm_ldc2_func = 0x2,
586   mm_ldp_func = 0x4,
587   mm_lwm32_func = 0x5,
588 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
589   mm_cache_func = 0x6,
590   mm_ldm_func = 0x7,
591   mm_swc2_func = 0x8,
592   mm_swp_func = 0x9,
593 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
594   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 */
599 };
600 enum mm_32c_func {
601   mm_pref_func = 0x2,
602   mm_ll_func = 0x3,
603 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
604   mm_swr_func = 0x9,
605   mm_sc_func = 0xb,
606   mm_lwu_func = 0xe,
607 };
608 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
609 enum mm_32axf_minor_op {
610   mm_mfc0_op = 0x003,
611   mm_mtc0_op = 0x00b,
612   mm_tlbp_op = 0x00d,
613 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
614   mm_mfhi32_op = 0x035,
615   mm_jalr_op = 0x03c,
616   mm_tlbr_op = 0x04d,
617   mm_mflo32_op = 0x075,
618 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
619   mm_jalrhb_op = 0x07c,
620   mm_tlbwi_op = 0x08d,
621   mm_tlbwr_op = 0x0cd,
622   mm_jalrs_op = 0x13c,
623 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
624   mm_jalrshb_op = 0x17c,
625   mm_sync_op = 0x1ad,
626   mm_syscall_op = 0x22d,
627   mm_wait_op = 0x24d,
628 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
629   mm_eret_op = 0x3cd,
630   mm_divu_op = 0x5dc,
631 };
632 enum mm_32f_minor_op {
633 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
634   mm_32f_00_op = 0x00,
635   mm_32f_01_op = 0x01,
636   mm_32f_02_op = 0x02,
637   mm_32f_10_op = 0x08,
638 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
639   mm_32f_11_op = 0x09,
640   mm_32f_12_op = 0x0a,
641   mm_32f_20_op = 0x10,
642   mm_32f_30_op = 0x18,
643 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
644   mm_32f_40_op = 0x20,
645   mm_32f_41_op = 0x21,
646   mm_32f_42_op = 0x22,
647   mm_32f_50_op = 0x28,
648 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
649   mm_32f_51_op = 0x29,
650   mm_32f_52_op = 0x2a,
651   mm_32f_60_op = 0x30,
652   mm_32f_70_op = 0x38,
653 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
654   mm_32f_73_op = 0x3b,
655   mm_32f_74_op = 0x3c,
656 };
657 enum mm_32f_10_minor_op {
658 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
659   mm_lwxc1_op = 0x1,
660   mm_swxc1_op,
661   mm_ldxc1_op,
662   mm_sdxc1_op,
663 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
664   mm_luxc1_op,
665   mm_suxc1_op,
666 };
667 enum mm_32f_func {
668 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
669   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 */
674 };
675 enum mm_32f_40_minor_op {
676   mm_fmovf_op,
677   mm_fmovt_op,
678 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
679 };
680 enum mm_32f_60_minor_op {
681   mm_fadd_op,
682   mm_fsub_op,
683 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
684   mm_fmul_op,
685   mm_fdiv_op,
686 };
687 enum mm_32f_70_minor_op {
688 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
689   mm_fmovn_op,
690   mm_fmovz_op,
691 };
692 enum mm_32f_73_minor_op {
693 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
694   mm_fmov0_op = 0x01,
695   mm_fcvtl_op = 0x04,
696   mm_movf0_op = 0x05,
697   mm_frsqrt_op = 0x08,
698 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
699   mm_ffloorl_op = 0x0c,
700   mm_fabs0_op = 0x0d,
701   mm_fcvtw_op = 0x24,
702   mm_movt0_op = 0x25,
703 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
704   mm_fsqrt_op = 0x28,
705   mm_ffloorw_op = 0x2c,
706   mm_fneg0_op = 0x2d,
707   mm_cfc1_op = 0x40,
708 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
709   mm_frecip_op = 0x48,
710   mm_fceill_op = 0x4c,
711   mm_fcvtd0_op = 0x4d,
712   mm_ctc1_op = 0x60,
713 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
714   mm_fceilw_op = 0x6c,
715   mm_fcvts0_op = 0x6d,
716   mm_mfc1_op = 0x80,
717   mm_fmov1_op = 0x81,
718 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
719   mm_movf1_op = 0x85,
720   mm_ftruncl_op = 0x8c,
721   mm_fabs1_op = 0x8d,
722   mm_mtc1_op = 0xa0,
723 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
724   mm_movt1_op = 0xa5,
725   mm_ftruncw_op = 0xac,
726   mm_fneg1_op = 0xad,
727   mm_mfhc1_op = 0xc0,
728 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
729   mm_froundl_op = 0xcc,
730   mm_fcvtd1_op = 0xcd,
731   mm_mthc1_op = 0xe0,
732   mm_froundw_op = 0xec,
733 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
734   mm_fcvts1_op = 0xed,
735 };
736 enum mm_16c_minor_op {
737   mm_lwm16_op = 0x04,
738 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
739   mm_swm16_op = 0x05,
740   mm_jr16_op = 0x0c,
741   mm_jrc_op = 0x0d,
742   mm_jalr16_op = 0x0e,
743 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
744   mm_jalrs16_op = 0x0f,
745   mm_jraddiusp_op = 0x18,
746 };
747 enum mm_16d_minor_op {
748 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
749   mm_addius5_func,
750   mm_addiusp_func,
751 };
752 enum MIPS16e_ops {
753 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
754   MIPS16e_jal_op = 003,
755   MIPS16e_ld_op = 007,
756   MIPS16e_i8_op = 014,
757   MIPS16e_sd_op = 017,
758 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
759   MIPS16e_lb_op = 020,
760   MIPS16e_lh_op = 021,
761   MIPS16e_lwsp_op = 022,
762   MIPS16e_lw_op = 023,
763 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
764   MIPS16e_lbu_op = 024,
765   MIPS16e_lhu_op = 025,
766   MIPS16e_lwpc_op = 026,
767   MIPS16e_lwu_op = 027,
768 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
769   MIPS16e_sb_op = 030,
770   MIPS16e_sh_op = 031,
771   MIPS16e_swsp_op = 032,
772   MIPS16e_sw_op = 033,
773 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
774   MIPS16e_rr_op = 035,
775   MIPS16e_extend_op = 036,
776   MIPS16e_i64_op = 037,
777 };
778 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
779 enum MIPS16e_i64_func {
780   MIPS16e_ldsp_func,
781   MIPS16e_sdsp_func,
782   MIPS16e_sdrasp_func,
783 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
784   MIPS16e_dadjsp_func,
785   MIPS16e_ldpc_func,
786 };
787 enum MIPS16e_rr_func {
788 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
789   MIPS16e_jr_func,
790 };
791 enum MIPS6e_i8_func {
792   MIPS16e_swrasp_func = 02,
793 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
794 };
795 #define MM_NOP16 0x0c00
796 struct j_format {
797   __BITFIELD_FIELD(unsigned int opcode : 6, __BITFIELD_FIELD(unsigned int target : 26,;
798 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
799  ))
800 };
801 struct i_format {
802   __BITFIELD_FIELD(unsigned int opcode : 6, __BITFIELD_FIELD(unsigned int rs : 5, __BITFIELD_FIELD(unsigned int rt : 5, __BITFIELD_FIELD(signed int simmediate : 16,;
803 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
804  ))))
805 };
806 struct u_format {
807   __BITFIELD_FIELD(unsigned int opcode : 6, __BITFIELD_FIELD(unsigned int rs : 5, __BITFIELD_FIELD(unsigned int rt : 5, __BITFIELD_FIELD(unsigned int uimmediate : 16,;
808 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
809  ))))
810 };
811 struct c_format {
812   __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,;
813 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
814  )))))
815 };
816 struct r_format {
817   __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,;
818 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
819  ))))))
820 };
821 struct p_format {
822   __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,;
823 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
824  ))))))
825 };
826 struct f_format {
827   __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,;
828 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
829  )))))))
830 };
831 struct ma_format {
832   __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,;
833 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
834  )))))))
835 };
836 struct b_format {
837   __BITFIELD_FIELD(unsigned int opcode : 6, __BITFIELD_FIELD(unsigned int code : 20, __BITFIELD_FIELD(unsigned int func : 6,;
838 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
839  )))
840 };
841 struct ps_format {
842   __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,;
843 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
844  ))))))
845 };
846 struct v_format {
847   __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,;
848 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
849  )))))))
850 };
851 struct spec3_format {
852   __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,;
853 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
854  )))))
855 };
856 struct fb_format {
857   __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,;
858 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
859  )))))
860 };
861 struct fp0_format {
862   __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,;
863 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
864  ))))))
865 };
866 struct mm_fp0_format {
867   __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,;
868 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
869  )))))))
870 };
871 struct fp1_format {
872   __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,;
873 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
874  ))))))
875 };
876 struct mm_fp1_format {
877   __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,;
878 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
879  ))))))
880 };
881 struct mm_fp2_format {
882   __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,;
883 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
884  ))))))))
885 };
886 struct mm_fp3_format {
887   __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,;
888 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
889  ))))))
890 };
891 struct mm_fp4_format {
892   __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,;
893 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
894  )))))))
895 };
896 struct mm_fp5_format {
897   __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,;
898 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
899  ))))))
900 };
901 struct fp6_format {
902   __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,;
903 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
904  ))))))
905 };
906 struct mm_fp6_format {
907   __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,;
908 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
909  ))))))
910 };
911 struct mm_i_format {
912   __BITFIELD_FIELD(unsigned int opcode : 6, __BITFIELD_FIELD(unsigned int rt : 5, __BITFIELD_FIELD(unsigned int rs : 5, __BITFIELD_FIELD(signed int simmediate : 16,;
913 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
914  ))))
915 };
916 struct mm_m_format {
917   __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,;
918 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
919  )))))
920 };
921 struct mm_x_format {
922   __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,;
923 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
924  )))))
925 };
926 struct mm_b0_format {
927   __BITFIELD_FIELD(unsigned int opcode : 6, __BITFIELD_FIELD(signed int simmediate : 10, __BITFIELD_FIELD(unsigned int : 16,;
928 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
929  )))
930 };
931 struct mm_b1_format {
932   __BITFIELD_FIELD(unsigned int opcode : 6, __BITFIELD_FIELD(unsigned int rs : 3, __BITFIELD_FIELD(signed int simmediate : 7, __BITFIELD_FIELD(unsigned int : 16,;
933 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
934  ))))
935 };
936 struct mm16_m_format {
937   __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,;
938 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
939  )))))
940 };
941 struct mm16_rb_format {
942   __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,;
943 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
944  )))))
945 };
946 struct mm16_r3_format {
947   __BITFIELD_FIELD(unsigned int opcode : 6, __BITFIELD_FIELD(unsigned int rt : 3, __BITFIELD_FIELD(signed int simmediate : 7, __BITFIELD_FIELD(unsigned int : 16,;
948 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
949  ))))
950 };
951 struct mm16_r5_format {
952   __BITFIELD_FIELD(unsigned int opcode : 6, __BITFIELD_FIELD(unsigned int rt : 5, __BITFIELD_FIELD(signed int simmediate : 5, __BITFIELD_FIELD(unsigned int : 16,;
953 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
954  ))))
955 };
956 struct m16e_rr {
957   __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,;
958 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
959  ))))))
960 };
961 struct m16e_jal {
962   __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,;
963 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
964  ))))
965 };
966 struct m16e_i64 {
967   __BITFIELD_FIELD(unsigned int opcode : 5, __BITFIELD_FIELD(unsigned int func : 3, __BITFIELD_FIELD(unsigned int imm : 8,;
968 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
969  )))
970 };
971 struct m16e_ri64 {
972   __BITFIELD_FIELD(unsigned int opcode : 5, __BITFIELD_FIELD(unsigned int func : 3, __BITFIELD_FIELD(unsigned int ry : 3, __BITFIELD_FIELD(unsigned int imm : 5,;
973 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
974  ))))
975 };
976 struct m16e_ri {
977   __BITFIELD_FIELD(unsigned int opcode : 5, __BITFIELD_FIELD(unsigned int rx : 3, __BITFIELD_FIELD(unsigned int imm : 8,;
978 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
979  )))
980 };
981 struct m16e_rri {
982   __BITFIELD_FIELD(unsigned int opcode : 5, __BITFIELD_FIELD(unsigned int rx : 3, __BITFIELD_FIELD(unsigned int ry : 3, __BITFIELD_FIELD(unsigned int imm : 5,;
983 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
984  ))))
985 };
986 struct m16e_i8 {
987   __BITFIELD_FIELD(unsigned int opcode : 5, __BITFIELD_FIELD(unsigned int func : 3, __BITFIELD_FIELD(unsigned int imm : 8,;
988 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
989  )))
990 };
991 union mips_instruction {
992   unsigned int word;
993 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
994   unsigned short halfword[2];
995   unsigned char byte[4];
996   struct j_format j_format;
997   struct i_format i_format;
998 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
999   struct u_format u_format;
1000   struct c_format c_format;
1001   struct r_format r_format;
1002   struct p_format p_format;
1003 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1004   struct f_format f_format;
1005   struct ma_format ma_format;
1006   struct b_format b_format;
1007   struct ps_format ps_format;
1008 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1009   struct v_format v_format;
1010   struct spec3_format spec3_format;
1011   struct fb_format fb_format;
1012   struct fp0_format fp0_format;
1013 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1014   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;
1018 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1019   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;
1023 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1024   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;
1028 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1029   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;
1033 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1034   struct mm16_r3_format mm16_r3_format;
1035   struct mm16_r5_format mm16_r5_format;
1036 };
1037 union mips16e_instruction {
1038 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1039   unsigned int full : 16;
1040   struct m16e_rr rr;
1041   struct m16e_jal jal;
1042   struct m16e_i64 i64;
1043 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1044   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 */
1049 };
1050 #endif
1051