• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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   cbcond0_op = addi_op,
36   addiu_op,
37   slti_op,
38 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
39   sltiu_op,
40   andi_op,
41   ori_op,
42   xori_op,
43 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
44   lui_op,
45   cop0_op,
46   cop1_op,
47   cop2_op,
48 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
49   cop1x_op,
50   beql_op,
51   bnel_op,
52   blezl_op,
53 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
54   bgtzl_op,
55   daddi_op,
56   cbcond1_op = daddi_op,
57   daddiu_op,
58 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
59   ldl_op,
60   ldr_op,
61   spec2_op,
62   jalx_op,
63 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
64   mdmx_op,
65   msa_op = mdmx_op,
66   spec3_op,
67   lb_op,
68 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
69   lh_op,
70   lwl_op,
71   lw_op,
72   lbu_op,
73 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
74   lhu_op,
75   lwr_op,
76   lwu_op,
77   sb_op,
78 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
79   sh_op,
80   swl_op,
81   sw_op,
82   sdl_op,
83 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
84   sdr_op,
85   swr_op,
86   cache_op,
87   ll_op,
88 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
89   lwc1_op,
90   lwc2_op,
91   bc6_op = lwc2_op,
92   pref_op,
93 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
94   lld_op,
95   ldc1_op,
96   ldc2_op,
97   beqzcjic_op = ldc2_op,
98 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
99   ld_op,
100   sc_op,
101   swc1_op,
102   swc2_op,
103 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
104   balc6_op = swc2_op,
105   major_3b_op,
106   scd_op,
107   sdc1_op,
108 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
109   sdc2_op,
110   bnezcjialc_op = sdc2_op,
111   sd_op
112 };
113 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
114 enum spec_op {
115   sll_op,
116   movc_op,
117   srl_op,
118 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
119   sra_op,
120   sllv_op,
121   pmon_op,
122   srlv_op,
123 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
124   srav_op,
125   jr_op,
126   jalr_op,
127   movz_op,
128 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
129   movn_op,
130   syscall_op,
131   break_op,
132   spim_op,
133 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
134   sync_op,
135   mfhi_op,
136   mthi_op,
137   mflo_op,
138 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
139   mtlo_op,
140   dsllv_op,
141   spec2_unused_op,
142   dsrlv_op,
143 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
144   dsrav_op,
145   mult_op,
146   multu_op,
147   div_op,
148 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
149   divu_op,
150   dmult_op,
151   dmultu_op,
152   ddiv_op,
153 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
154   ddivu_op,
155   add_op,
156   addu_op,
157   sub_op,
158 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
159   subu_op,
160   and_op,
161   or_op,
162   xor_op,
163 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
164   nor_op,
165   spec3_unused_op,
166   spec4_unused_op,
167   slt_op,
168 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
169   sltu_op,
170   dadd_op,
171   daddu_op,
172   dsub_op,
173 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
174   dsubu_op,
175   tge_op,
176   tgeu_op,
177   tlt_op,
178 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
179   tltu_op,
180   teq_op,
181   spec5_unused_op,
182   tne_op,
183 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
184   spec6_unused_op,
185   dsll_op,
186   spec7_unused_op,
187   dsrl_op,
188 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
189   dsra_op,
190   dsll32_op,
191   spec8_unused_op,
192   dsrl32_op,
193 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
194   dsra32_op
195 };
196 enum spec2_op {
197   madd_op,
198 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
199   maddu_op,
200   mul_op,
201   spec2_3_unused_op,
202   msub_op,
203 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
204   msubu_op,
205   clz_op = 0x20,
206   clo_op,
207   dclz_op = 0x24,
208 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
209   dclo_op,
210   sdbpp_op = 0x3f
211 };
212 enum spec3_op {
213 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
214   ext_op,
215   dextm_op,
216   dextu_op,
217   dext_op,
218 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
219   ins_op,
220   dinsm_op,
221   dinsu_op,
222   dins_op,
223 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
224   yield_op = 0x09,
225   lx_op = 0x0a,
226   lwle_op = 0x19,
227   lwre_op = 0x1a,
228 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
229   cachee_op = 0x1b,
230   sbe_op = 0x1c,
231   she_op = 0x1d,
232   sce_op = 0x1e,
233 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
234   swe_op = 0x1f,
235   bshfl_op = 0x20,
236   swle_op = 0x21,
237   swre_op = 0x22,
238 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
239   prefe_op = 0x23,
240   dbshfl_op = 0x24,
241   cache6_op = 0x25,
242   sc6_op = 0x26,
243 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
244   scd6_op = 0x27,
245   lbue_op = 0x28,
246   lhue_op = 0x29,
247   lbe_op = 0x2c,
248 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
249   lhe_op = 0x2d,
250   lle_op = 0x2e,
251   lwe_op = 0x2f,
252   pref6_op = 0x35,
253 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
254   ll6_op = 0x36,
255   lld6_op = 0x37,
256   rdhwr_op = 0x3b
257 };
258 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
259 enum rt_op {
260   bltz_op,
261   bgez_op,
262   bltzl_op,
263 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
264   bgezl_op,
265   spimi_op,
266   unused_rt_op_0x05,
267   unused_rt_op_0x06,
268 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
269   unused_rt_op_0x07,
270   tgei_op,
271   tgeiu_op,
272   tlti_op,
273 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
274   tltiu_op,
275   teqi_op,
276   unused_0x0d_rt_op,
277   tnei_op,
278 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
279   unused_0x0f_rt_op,
280   bltzal_op,
281   bgezal_op,
282   bltzall_op,
283 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
284   bgezall_op,
285   rt_op_0x14,
286   rt_op_0x15,
287   rt_op_0x16,
288 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
289   rt_op_0x17,
290   rt_op_0x18,
291   rt_op_0x19,
292   rt_op_0x1a,
293 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
294   rt_op_0x1b,
295   bposge32_op,
296   rt_op_0x1d,
297   rt_op_0x1e,
298 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
299   rt_op_0x1f
300 };
301 enum cop_op {
302   mfc_op = 0x00,
303 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
304   dmfc_op = 0x01,
305   cfc_op = 0x02,
306   mfhc0_op = 0x02,
307   mfhc_op = 0x03,
308 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
309   mtc_op = 0x04,
310   dmtc_op = 0x05,
311   ctc_op = 0x06,
312   mthc0_op = 0x06,
313 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
314   mthc_op = 0x07,
315   bc_op = 0x08,
316   bc1eqz_op = 0x09,
317   bc1nez_op = 0x0d,
318 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
319   cop_op = 0x10,
320   copm_op = 0x18
321 };
322 enum bcop_op {
323 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
324   bcf_op,
325   bct_op,
326   bcfl_op,
327   bctl_op
328 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
329 };
330 enum cop0_coi_func {
331   tlbr_op = 0x01,
332   tlbwi_op = 0x02,
333 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
334   tlbwr_op = 0x06,
335   tlbp_op = 0x08,
336   rfe_op = 0x10,
337   eret_op = 0x18,
338 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
339   wait_op = 0x20,
340 };
341 enum cop0_com_func {
342   tlbr1_op = 0x01,
343 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
344   tlbw_op = 0x02,
345   tlbp1_op = 0x08,
346   dctr_op = 0x09,
347   dctw_op = 0x0a
348 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
349 };
350 enum cop1_fmt {
351   s_fmt,
352   d_fmt,
353 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
354   e_fmt,
355   q_fmt,
356   w_fmt,
357   l_fmt
358 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
359 };
360 enum cop1_sdw_func {
361   fadd_op = 0x00,
362   fsub_op = 0x01,
363 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
364   fmul_op = 0x02,
365   fdiv_op = 0x03,
366   fsqrt_op = 0x04,
367   fabs_op = 0x05,
368 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
369   fmov_op = 0x06,
370   fneg_op = 0x07,
371   froundl_op = 0x08,
372   ftruncl_op = 0x09,
373 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
374   fceill_op = 0x0a,
375   ffloorl_op = 0x0b,
376   fround_op = 0x0c,
377   ftrunc_op = 0x0d,
378 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
379   fceil_op = 0x0e,
380   ffloor_op = 0x0f,
381   fmovc_op = 0x11,
382   fmovz_op = 0x12,
383 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
384   fmovn_op = 0x13,
385   fseleqz_op = 0x14,
386   frecip_op = 0x15,
387   frsqrt_op = 0x16,
388 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
389   fselnez_op = 0x17,
390   fmaddf_op = 0x18,
391   fmsubf_op = 0x19,
392   frint_op = 0x1a,
393 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
394   fclass_op = 0x1b,
395   fmin_op = 0x1c,
396   fmina_op = 0x1d,
397   fmax_op = 0x1e,
398 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
399   fmaxa_op = 0x1f,
400   fcvts_op = 0x20,
401   fcvtd_op = 0x21,
402   fcvte_op = 0x22,
403 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
404   fcvtw_op = 0x24,
405   fcvtl_op = 0x25,
406   fcmp_op = 0x30
407 };
408 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
409 enum cop1x_func {
410   lwxc1_op = 0x00,
411   ldxc1_op = 0x01,
412   swxc1_op = 0x08,
413 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
414   sdxc1_op = 0x09,
415   pfetch_op = 0x0f,
416   madd_s_op = 0x20,
417   madd_d_op = 0x21,
418 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
419   madd_e_op = 0x22,
420   msub_s_op = 0x28,
421   msub_d_op = 0x29,
422   msub_e_op = 0x2a,
423 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
424   nmadd_s_op = 0x30,
425   nmadd_d_op = 0x31,
426   nmadd_e_op = 0x32,
427   nmsub_s_op = 0x38,
428 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
429   nmsub_d_op = 0x39,
430   nmsub_e_op = 0x3a
431 };
432 enum mad_func {
433 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
434   madd_fp_op = 0x08,
435   msub_fp_op = 0x0a,
436   nmadd_fp_op = 0x0c,
437   nmsub_fp_op = 0x0e
438 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
439 };
440 enum lx_func {
441   lwx_op = 0x00,
442   lhx_op = 0x04,
443 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
444   lbux_op = 0x06,
445   ldx_op = 0x08,
446   lwux_op = 0x10,
447   lhux_op = 0x14,
448 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
449   lbx_op = 0x16,
450 };
451 enum bshfl_func {
452   wsbh_op = 0x2,
453 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
454   dshd_op = 0x5,
455   seb_op = 0x10,
456   seh_op = 0x18,
457 };
458 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
459 enum msa_mi10_func {
460   msa_ld_op = 8,
461   msa_st_op = 9,
462 };
463 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
464 enum msa_2b_fmt {
465   msa_fmt_b = 0,
466   msa_fmt_h = 1,
467   msa_fmt_w = 2,
468 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
469   msa_fmt_d = 3,
470 };
471 enum mm_major_op {
472   mm_pool32a_op,
473 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
474   mm_pool16a_op,
475   mm_lbu16_op,
476   mm_move16_op,
477   mm_addi32_op,
478 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
479   mm_lbu32_op,
480   mm_sb32_op,
481   mm_lb32_op,
482   mm_pool32b_op,
483 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
484   mm_pool16b_op,
485   mm_lhu16_op,
486   mm_andi16_op,
487   mm_addiu32_op,
488 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
489   mm_lhu32_op,
490   mm_sh32_op,
491   mm_lh32_op,
492   mm_pool32i_op,
493 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
494   mm_pool16c_op,
495   mm_lwsp16_op,
496   mm_pool16d_op,
497   mm_ori32_op,
498 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
499   mm_pool32f_op,
500   mm_reserved1_op,
501   mm_reserved2_op,
502   mm_pool32c_op,
503 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
504   mm_lwgp16_op,
505   mm_lw16_op,
506   mm_pool16e_op,
507   mm_xori32_op,
508 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
509   mm_jals32_op,
510   mm_addiupc_op,
511   mm_reserved3_op,
512   mm_reserved4_op,
513 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
514   mm_pool16f_op,
515   mm_sb16_op,
516   mm_beqz16_op,
517   mm_slti32_op,
518 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
519   mm_beq32_op,
520   mm_swc132_op,
521   mm_lwc132_op,
522   mm_reserved5_op,
523 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
524   mm_reserved6_op,
525   mm_sh16_op,
526   mm_bnez16_op,
527   mm_sltiu32_op,
528 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
529   mm_bne32_op,
530   mm_sdc132_op,
531   mm_ldc132_op,
532   mm_reserved7_op,
533 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
534   mm_reserved8_op,
535   mm_swsp16_op,
536   mm_b16_op,
537   mm_andi32_op,
538 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
539   mm_j32_op,
540   mm_sd32_op,
541   mm_ld32_op,
542   mm_reserved11_op,
543 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
544   mm_reserved12_op,
545   mm_sw16_op,
546   mm_li16_op,
547   mm_jalx32_op,
548 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
549   mm_jal32_op,
550   mm_sw32_op,
551   mm_lw32_op,
552 };
553 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
554 enum mm_32i_minor_op {
555   mm_bltz_op,
556   mm_bltzal_op,
557   mm_bgez_op,
558 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
559   mm_bgezal_op,
560   mm_blez_op,
561   mm_bnezc_op,
562   mm_bgtz_op,
563 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
564   mm_beqzc_op,
565   mm_tlti_op,
566   mm_tgei_op,
567   mm_tltiu_op,
568 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
569   mm_tgeiu_op,
570   mm_tnei_op,
571   mm_lui_op,
572   mm_teqi_op,
573 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
574   mm_reserved13_op,
575   mm_synci_op,
576   mm_bltzals_op,
577   mm_reserved14_op,
578 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
579   mm_bgezals_op,
580   mm_bc2f_op,
581   mm_bc2t_op,
582   mm_reserved15_op,
583 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
584   mm_reserved16_op,
585   mm_reserved17_op,
586   mm_reserved18_op,
587   mm_bposge64_op,
588 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
589   mm_bposge32_op,
590   mm_bc1f_op,
591   mm_bc1t_op,
592   mm_reserved19_op,
593 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
594   mm_reserved20_op,
595   mm_bc1any2f_op,
596   mm_bc1any2t_op,
597   mm_bc1any4f_op,
598 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
599   mm_bc1any4t_op,
600 };
601 enum mm_32a_minor_op {
602   mm_sll32_op = 0x000,
603 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
604   mm_ins_op = 0x00c,
605   mm_sllv32_op = 0x010,
606   mm_ext_op = 0x02c,
607   mm_pool32axf_op = 0x03c,
608 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
609   mm_srl32_op = 0x040,
610   mm_sra_op = 0x080,
611   mm_srlv32_op = 0x090,
612   mm_rotr_op = 0x0c0,
613 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
614   mm_lwxs_op = 0x118,
615   mm_addu32_op = 0x150,
616   mm_subu32_op = 0x1d0,
617   mm_wsbh_op = 0x1ec,
618 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
619   mm_mul_op = 0x210,
620   mm_and_op = 0x250,
621   mm_or32_op = 0x290,
622   mm_xor32_op = 0x310,
623 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
624   mm_slt_op = 0x350,
625   mm_sltu_op = 0x390,
626 };
627 enum mm_32b_func {
628 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
629   mm_lwc2_func = 0x0,
630   mm_lwp_func = 0x1,
631   mm_ldc2_func = 0x2,
632   mm_ldp_func = 0x4,
633 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
634   mm_lwm32_func = 0x5,
635   mm_cache_func = 0x6,
636   mm_ldm_func = 0x7,
637   mm_swc2_func = 0x8,
638 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
639   mm_swp_func = 0x9,
640   mm_sdc2_func = 0xa,
641   mm_sdp_func = 0xc,
642   mm_swm32_func = 0xd,
643 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
644   mm_sdm_func = 0xf,
645 };
646 enum mm_32c_func {
647   mm_pref_func = 0x2,
648 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
649   mm_ll_func = 0x3,
650   mm_swr_func = 0x9,
651   mm_sc_func = 0xb,
652   mm_lwu_func = 0xe,
653 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
654 };
655 enum mm_32axf_minor_op {
656   mm_mfc0_op = 0x003,
657   mm_mtc0_op = 0x00b,
658 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
659   mm_tlbp_op = 0x00d,
660   mm_mfhi32_op = 0x035,
661   mm_jalr_op = 0x03c,
662   mm_tlbr_op = 0x04d,
663 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
664   mm_mflo32_op = 0x075,
665   mm_jalrhb_op = 0x07c,
666   mm_tlbwi_op = 0x08d,
667   mm_tlbwr_op = 0x0cd,
668 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
669   mm_jalrs_op = 0x13c,
670   mm_jalrshb_op = 0x17c,
671   mm_sync_op = 0x1ad,
672   mm_syscall_op = 0x22d,
673 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
674   mm_wait_op = 0x24d,
675   mm_eret_op = 0x3cd,
676   mm_divu_op = 0x5dc,
677 };
678 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
679 enum mm_32f_minor_op {
680   mm_32f_00_op = 0x00,
681   mm_32f_01_op = 0x01,
682   mm_32f_02_op = 0x02,
683 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
684   mm_32f_10_op = 0x08,
685   mm_32f_11_op = 0x09,
686   mm_32f_12_op = 0x0a,
687   mm_32f_20_op = 0x10,
688 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
689   mm_32f_30_op = 0x18,
690   mm_32f_40_op = 0x20,
691   mm_32f_41_op = 0x21,
692   mm_32f_42_op = 0x22,
693 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
694   mm_32f_50_op = 0x28,
695   mm_32f_51_op = 0x29,
696   mm_32f_52_op = 0x2a,
697   mm_32f_60_op = 0x30,
698 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
699   mm_32f_70_op = 0x38,
700   mm_32f_73_op = 0x3b,
701   mm_32f_74_op = 0x3c,
702 };
703 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
704 enum mm_32f_10_minor_op {
705   mm_lwxc1_op = 0x1,
706   mm_swxc1_op,
707   mm_ldxc1_op,
708 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
709   mm_sdxc1_op,
710   mm_luxc1_op,
711   mm_suxc1_op,
712 };
713 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
714 enum mm_32f_func {
715   mm_lwxc1_func = 0x048,
716   mm_swxc1_func = 0x088,
717   mm_ldxc1_func = 0x0c8,
718 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
719   mm_sdxc1_func = 0x108,
720 };
721 enum mm_32f_40_minor_op {
722   mm_fmovf_op,
723 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
724   mm_fmovt_op,
725 };
726 enum mm_32f_60_minor_op {
727   mm_fadd_op,
728 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
729   mm_fsub_op,
730   mm_fmul_op,
731   mm_fdiv_op,
732 };
733 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
734 enum mm_32f_70_minor_op {
735   mm_fmovn_op,
736   mm_fmovz_op,
737 };
738 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
739 enum mm_32f_73_minor_op {
740   mm_fmov0_op = 0x01,
741   mm_fcvtl_op = 0x04,
742   mm_movf0_op = 0x05,
743 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
744   mm_frsqrt_op = 0x08,
745   mm_ffloorl_op = 0x0c,
746   mm_fabs0_op = 0x0d,
747   mm_fcvtw_op = 0x24,
748 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
749   mm_movt0_op = 0x25,
750   mm_fsqrt_op = 0x28,
751   mm_ffloorw_op = 0x2c,
752   mm_fneg0_op = 0x2d,
753 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
754   mm_cfc1_op = 0x40,
755   mm_frecip_op = 0x48,
756   mm_fceill_op = 0x4c,
757   mm_fcvtd0_op = 0x4d,
758 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
759   mm_ctc1_op = 0x60,
760   mm_fceilw_op = 0x6c,
761   mm_fcvts0_op = 0x6d,
762   mm_mfc1_op = 0x80,
763 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
764   mm_fmov1_op = 0x81,
765   mm_movf1_op = 0x85,
766   mm_ftruncl_op = 0x8c,
767   mm_fabs1_op = 0x8d,
768 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
769   mm_mtc1_op = 0xa0,
770   mm_movt1_op = 0xa5,
771   mm_ftruncw_op = 0xac,
772   mm_fneg1_op = 0xad,
773 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
774   mm_mfhc1_op = 0xc0,
775   mm_froundl_op = 0xcc,
776   mm_fcvtd1_op = 0xcd,
777   mm_mthc1_op = 0xe0,
778 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
779   mm_froundw_op = 0xec,
780   mm_fcvts1_op = 0xed,
781 };
782 enum mm_16c_minor_op {
783 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
784   mm_lwm16_op = 0x04,
785   mm_swm16_op = 0x05,
786   mm_jr16_op = 0x0c,
787   mm_jrc_op = 0x0d,
788 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
789   mm_jalr16_op = 0x0e,
790   mm_jalrs16_op = 0x0f,
791   mm_jraddiusp_op = 0x18,
792 };
793 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
794 enum mm_16d_minor_op {
795   mm_addius5_func,
796   mm_addiusp_func,
797 };
798 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
799 enum MIPS16e_ops {
800   MIPS16e_jal_op = 003,
801   MIPS16e_ld_op = 007,
802   MIPS16e_i8_op = 014,
803 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
804   MIPS16e_sd_op = 017,
805   MIPS16e_lb_op = 020,
806   MIPS16e_lh_op = 021,
807   MIPS16e_lwsp_op = 022,
808 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
809   MIPS16e_lw_op = 023,
810   MIPS16e_lbu_op = 024,
811   MIPS16e_lhu_op = 025,
812   MIPS16e_lwpc_op = 026,
813 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
814   MIPS16e_lwu_op = 027,
815   MIPS16e_sb_op = 030,
816   MIPS16e_sh_op = 031,
817   MIPS16e_swsp_op = 032,
818 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
819   MIPS16e_sw_op = 033,
820   MIPS16e_rr_op = 035,
821   MIPS16e_extend_op = 036,
822   MIPS16e_i64_op = 037,
823 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
824 };
825 enum MIPS16e_i64_func {
826   MIPS16e_ldsp_func,
827   MIPS16e_sdsp_func,
828 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
829   MIPS16e_sdrasp_func,
830   MIPS16e_dadjsp_func,
831   MIPS16e_ldpc_func,
832 };
833 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
834 enum MIPS16e_rr_func {
835   MIPS16e_jr_func,
836 };
837 enum MIPS6e_i8_func {
838 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
839   MIPS16e_swrasp_func = 02,
840 };
841 #define MM_NOP16 0x0c00
842 struct j_format {
843 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
844   __BITFIELD_FIELD(unsigned int opcode : 6, __BITFIELD_FIELD(unsigned int target : 26,;
845  ))
846 };
847 struct i_format {
848 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
849   __BITFIELD_FIELD(unsigned int opcode : 6, __BITFIELD_FIELD(unsigned int rs : 5, __BITFIELD_FIELD(unsigned int rt : 5, __BITFIELD_FIELD(signed int simmediate : 16,;
850  ))))
851 };
852 struct u_format {
853 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
854   __BITFIELD_FIELD(unsigned int opcode : 6, __BITFIELD_FIELD(unsigned int rs : 5, __BITFIELD_FIELD(unsigned int rt : 5, __BITFIELD_FIELD(unsigned int uimmediate : 16,;
855  ))))
856 };
857 struct c_format {
858 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
859   __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,;
860  )))))
861 };
862 struct r_format {
863 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
864   __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,;
865  ))))))
866 };
867 struct p_format {
868 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
869   __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,;
870  ))))))
871 };
872 struct f_format {
873 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
874   __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,;
875  )))))))
876 };
877 struct ma_format {
878 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
879   __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,;
880  )))))))
881 };
882 struct b_format {
883 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
884   __BITFIELD_FIELD(unsigned int opcode : 6, __BITFIELD_FIELD(unsigned int code : 20, __BITFIELD_FIELD(unsigned int func : 6,;
885  )))
886 };
887 struct ps_format {
888 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
889   __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,;
890  ))))))
891 };
892 struct v_format {
893 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
894   __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,;
895  )))))))
896 };
897 struct msa_mi10_format {
898 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
899   __BITFIELD_FIELD(unsigned int opcode : 6, __BITFIELD_FIELD(signed int s10 : 10, __BITFIELD_FIELD(unsigned int rs : 5, __BITFIELD_FIELD(unsigned int wd : 5, __BITFIELD_FIELD(unsigned int func : 4, __BITFIELD_FIELD(unsigned int df : 2,;
900  ))))))
901 };
902 struct spec3_format {
903 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
904   __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,;
905  )))))
906 };
907 struct fb_format {
908 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
909   __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,;
910  )))))
911 };
912 struct fp0_format {
913 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
914   __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,;
915  ))))))
916 };
917 struct mm_fp0_format {
918 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
919   __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,;
920  )))))))
921 };
922 struct fp1_format {
923 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
924   __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,;
925  ))))))
926 };
927 struct mm_fp1_format {
928 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
929   __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,;
930  ))))))
931 };
932 struct mm_fp2_format {
933 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
934   __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,;
935  ))))))))
936 };
937 struct mm_fp3_format {
938 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
939   __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,;
940  ))))))
941 };
942 struct mm_fp4_format {
943 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
944   __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,;
945  )))))))
946 };
947 struct mm_fp5_format {
948 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
949   __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,;
950  ))))))
951 };
952 struct fp6_format {
953 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
954   __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,;
955  ))))))
956 };
957 struct mm_fp6_format {
958 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
959   __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,;
960  ))))))
961 };
962 struct mm_i_format {
963 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
964   __BITFIELD_FIELD(unsigned int opcode : 6, __BITFIELD_FIELD(unsigned int rt : 5, __BITFIELD_FIELD(unsigned int rs : 5, __BITFIELD_FIELD(signed int simmediate : 16,;
965  ))))
966 };
967 struct mm_m_format {
968 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
969   __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,;
970  )))))
971 };
972 struct mm_x_format {
973 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
974   __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,;
975  )))))
976 };
977 struct mm_b0_format {
978 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
979   __BITFIELD_FIELD(unsigned int opcode : 6, __BITFIELD_FIELD(signed int simmediate : 10, __BITFIELD_FIELD(unsigned int : 16,;
980  )))
981 };
982 struct mm_b1_format {
983 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
984   __BITFIELD_FIELD(unsigned int opcode : 6, __BITFIELD_FIELD(unsigned int rs : 3, __BITFIELD_FIELD(signed int simmediate : 7, __BITFIELD_FIELD(unsigned int : 16,;
985  ))))
986 };
987 struct mm16_m_format {
988 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
989   __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,;
990  )))))
991 };
992 struct mm16_rb_format {
993 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
994   __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,;
995  )))))
996 };
997 struct mm16_r3_format {
998 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
999   __BITFIELD_FIELD(unsigned int opcode : 6, __BITFIELD_FIELD(unsigned int rt : 3, __BITFIELD_FIELD(signed int simmediate : 7, __BITFIELD_FIELD(unsigned int : 16,;
1000  ))))
1001 };
1002 struct mm16_r5_format {
1003 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1004   __BITFIELD_FIELD(unsigned int opcode : 6, __BITFIELD_FIELD(unsigned int rt : 5, __BITFIELD_FIELD(signed int simmediate : 5, __BITFIELD_FIELD(unsigned int : 16,;
1005  ))))
1006 };
1007 struct m16e_rr {
1008 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1009   __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,;
1010  ))))))
1011 };
1012 struct m16e_jal {
1013 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1014   __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,;
1015  ))))
1016 };
1017 struct m16e_i64 {
1018 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1019   __BITFIELD_FIELD(unsigned int opcode : 5, __BITFIELD_FIELD(unsigned int func : 3, __BITFIELD_FIELD(unsigned int imm : 8,;
1020  )))
1021 };
1022 struct m16e_ri64 {
1023 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1024   __BITFIELD_FIELD(unsigned int opcode : 5, __BITFIELD_FIELD(unsigned int func : 3, __BITFIELD_FIELD(unsigned int ry : 3, __BITFIELD_FIELD(unsigned int imm : 5,;
1025  ))))
1026 };
1027 struct m16e_ri {
1028 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1029   __BITFIELD_FIELD(unsigned int opcode : 5, __BITFIELD_FIELD(unsigned int rx : 3, __BITFIELD_FIELD(unsigned int imm : 8,;
1030  )))
1031 };
1032 struct m16e_rri {
1033 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1034   __BITFIELD_FIELD(unsigned int opcode : 5, __BITFIELD_FIELD(unsigned int rx : 3, __BITFIELD_FIELD(unsigned int ry : 3, __BITFIELD_FIELD(unsigned int imm : 5,;
1035  ))))
1036 };
1037 struct m16e_i8 {
1038 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1039   __BITFIELD_FIELD(unsigned int opcode : 5, __BITFIELD_FIELD(unsigned int func : 3, __BITFIELD_FIELD(unsigned int imm : 8,;
1040  )))
1041 };
1042 union mips_instruction {
1043 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1044   unsigned int word;
1045   unsigned short halfword[2];
1046   unsigned char byte[4];
1047   struct j_format j_format;
1048 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1049   struct i_format i_format;
1050   struct u_format u_format;
1051   struct c_format c_format;
1052   struct r_format r_format;
1053 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1054   struct p_format p_format;
1055   struct f_format f_format;
1056   struct ma_format ma_format;
1057   struct msa_mi10_format msa_mi10_format;
1058 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1059   struct b_format b_format;
1060   struct ps_format ps_format;
1061   struct v_format v_format;
1062   struct spec3_format spec3_format;
1063 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1064   struct fb_format fb_format;
1065   struct fp0_format fp0_format;
1066   struct mm_fp0_format mm_fp0_format;
1067   struct fp1_format fp1_format;
1068 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1069   struct mm_fp1_format mm_fp1_format;
1070   struct mm_fp2_format mm_fp2_format;
1071   struct mm_fp3_format mm_fp3_format;
1072   struct mm_fp4_format mm_fp4_format;
1073 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1074   struct mm_fp5_format mm_fp5_format;
1075   struct fp6_format fp6_format;
1076   struct mm_fp6_format mm_fp6_format;
1077   struct mm_i_format mm_i_format;
1078 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1079   struct mm_m_format mm_m_format;
1080   struct mm_x_format mm_x_format;
1081   struct mm_b0_format mm_b0_format;
1082   struct mm_b1_format mm_b1_format;
1083 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1084   struct mm16_m_format mm16_m_format;
1085   struct mm16_rb_format mm16_rb_format;
1086   struct mm16_r3_format mm16_r3_format;
1087   struct mm16_r5_format mm16_r5_format;
1088 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1089 };
1090 union mips16e_instruction {
1091   unsigned int full : 16;
1092   struct m16e_rr rr;
1093 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1094   struct m16e_jal jal;
1095   struct m16e_i64 i64;
1096   struct m16e_ri64 ri64;
1097   struct m16e_ri ri;
1098 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1099   struct m16e_rri rri;
1100   struct m16e_i8 i8;
1101 };
1102 #endif
1103 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1104