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   pop10_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   pop30_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   pop66_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   pop76_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 mult_op {
260   mult_mult_op = 0x0,
261   mult_mul_op = 0x2,
262   mult_muh_op = 0x3,
263 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
264 };
265 enum multu_op {
266   multu_multu_op = 0x0,
267   multu_mulu_op = 0x2,
268 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
269   multu_muhu_op = 0x3,
270 };
271 enum div_op {
272   div_div_op = 0x0,
273 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
274   div_div6_op = 0x2,
275   div_mod_op = 0x3,
276 };
277 enum divu_op {
278 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
279   divu_divu_op = 0x0,
280   divu_divu6_op = 0x2,
281   divu_modu_op = 0x3,
282 };
283 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
284 enum dmult_op {
285   dmult_dmult_op = 0x0,
286   dmult_dmul_op = 0x2,
287   dmult_dmuh_op = 0x3,
288 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
289 };
290 enum dmultu_op {
291   dmultu_dmultu_op = 0x0,
292   dmultu_dmulu_op = 0x2,
293 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
294   dmultu_dmuhu_op = 0x3,
295 };
296 enum ddiv_op {
297   ddiv_ddiv_op = 0x0,
298 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
299   ddiv_ddiv6_op = 0x2,
300   ddiv_dmod_op = 0x3,
301 };
302 enum ddivu_op {
303 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
304   ddivu_ddivu_op = 0x0,
305   ddivu_ddivu6_op = 0x2,
306   ddivu_dmodu_op = 0x3,
307 };
308 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
309 enum rt_op {
310   bltz_op,
311   bgez_op,
312   bltzl_op,
313 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
314   bgezl_op,
315   spimi_op,
316   unused_rt_op_0x05,
317   unused_rt_op_0x06,
318 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
319   unused_rt_op_0x07,
320   tgei_op,
321   tgeiu_op,
322   tlti_op,
323 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
324   tltiu_op,
325   teqi_op,
326   unused_0x0d_rt_op,
327   tnei_op,
328 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
329   unused_0x0f_rt_op,
330   bltzal_op,
331   bgezal_op,
332   bltzall_op,
333 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
334   bgezall_op,
335   rt_op_0x14,
336   rt_op_0x15,
337   rt_op_0x16,
338 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
339   rt_op_0x17,
340   rt_op_0x18,
341   rt_op_0x19,
342   rt_op_0x1a,
343 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
344   rt_op_0x1b,
345   bposge32_op,
346   rt_op_0x1d,
347   rt_op_0x1e,
348 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
349   synci_op
350 };
351 enum cop_op {
352   mfc_op = 0x00,
353 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
354   dmfc_op = 0x01,
355   cfc_op = 0x02,
356   mfhc0_op = 0x02,
357   mfhc_op = 0x03,
358 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
359   mtc_op = 0x04,
360   dmtc_op = 0x05,
361   ctc_op = 0x06,
362   mthc0_op = 0x06,
363 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
364   mthc_op = 0x07,
365   bc_op = 0x08,
366   bc1eqz_op = 0x09,
367   mfmc0_op = 0x0b,
368 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
369   bc1nez_op = 0x0d,
370   wrpgpr_op = 0x0e,
371   cop_op = 0x10,
372   copm_op = 0x18
373 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
374 };
375 enum bcop_op {
376   bcf_op,
377   bct_op,
378 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
379   bcfl_op,
380   bctl_op
381 };
382 enum cop0_coi_func {
383 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
384   tlbr_op = 0x01,
385   tlbwi_op = 0x02,
386   tlbwr_op = 0x06,
387   tlbp_op = 0x08,
388 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
389   rfe_op = 0x10,
390   eret_op = 0x18,
391   wait_op = 0x20,
392 };
393 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
394 enum cop0_com_func {
395   tlbr1_op = 0x01,
396   tlbw_op = 0x02,
397   tlbp1_op = 0x08,
398 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
399   dctr_op = 0x09,
400   dctw_op = 0x0a
401 };
402 enum cop1_fmt {
403 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
404   s_fmt,
405   d_fmt,
406   e_fmt,
407   q_fmt,
408 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
409   w_fmt,
410   l_fmt
411 };
412 enum cop1_sdw_func {
413 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
414   fadd_op = 0x00,
415   fsub_op = 0x01,
416   fmul_op = 0x02,
417   fdiv_op = 0x03,
418 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
419   fsqrt_op = 0x04,
420   fabs_op = 0x05,
421   fmov_op = 0x06,
422   fneg_op = 0x07,
423 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
424   froundl_op = 0x08,
425   ftruncl_op = 0x09,
426   fceill_op = 0x0a,
427   ffloorl_op = 0x0b,
428 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
429   fround_op = 0x0c,
430   ftrunc_op = 0x0d,
431   fceil_op = 0x0e,
432   ffloor_op = 0x0f,
433 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
434   fsel_op = 0x10,
435   fmovc_op = 0x11,
436   fmovz_op = 0x12,
437   fmovn_op = 0x13,
438 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
439   fseleqz_op = 0x14,
440   frecip_op = 0x15,
441   frsqrt_op = 0x16,
442   fselnez_op = 0x17,
443 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
444   fmaddf_op = 0x18,
445   fmsubf_op = 0x19,
446   frint_op = 0x1a,
447   fclass_op = 0x1b,
448 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
449   fmin_op = 0x1c,
450   fmina_op = 0x1d,
451   fmax_op = 0x1e,
452   fmaxa_op = 0x1f,
453 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
454   fcvts_op = 0x20,
455   fcvtd_op = 0x21,
456   fcvte_op = 0x22,
457   fcvtw_op = 0x24,
458 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
459   fcvtl_op = 0x25,
460   fcmp_op = 0x30
461 };
462 enum cop1x_func {
463 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
464   lwxc1_op = 0x00,
465   ldxc1_op = 0x01,
466   swxc1_op = 0x08,
467   sdxc1_op = 0x09,
468 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
469   pfetch_op = 0x0f,
470   madd_s_op = 0x20,
471   madd_d_op = 0x21,
472   madd_e_op = 0x22,
473 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
474   msub_s_op = 0x28,
475   msub_d_op = 0x29,
476   msub_e_op = 0x2a,
477   nmadd_s_op = 0x30,
478 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
479   nmadd_d_op = 0x31,
480   nmadd_e_op = 0x32,
481   nmsub_s_op = 0x38,
482   nmsub_d_op = 0x39,
483 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
484   nmsub_e_op = 0x3a
485 };
486 enum mad_func {
487   madd_fp_op = 0x08,
488 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
489   msub_fp_op = 0x0a,
490   nmadd_fp_op = 0x0c,
491   nmsub_fp_op = 0x0e
492 };
493 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
494 enum ptw_func {
495   lwdir_op = 0x00,
496   lwpte_op = 0x01,
497   lddir_op = 0x02,
498 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
499   ldpte_op = 0x03,
500 };
501 enum lx_func {
502   lwx_op = 0x00,
503 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
504   lhx_op = 0x04,
505   lbux_op = 0x06,
506   ldx_op = 0x08,
507   lwux_op = 0x10,
508 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
509   lhux_op = 0x14,
510   lbx_op = 0x16,
511 };
512 enum bshfl_func {
513 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
514   wsbh_op = 0x2,
515   dshd_op = 0x5,
516   seb_op = 0x10,
517   seh_op = 0x18,
518 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
519 };
520 enum msa_func {
521   msa_elm_op = 0x19,
522 };
523 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
524 enum msa_elm {
525   msa_ctc_op = 0x3e,
526   msa_cfc_op = 0x7e,
527 };
528 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
529 enum msa_mi10_func {
530   msa_ld_op = 8,
531   msa_st_op = 9,
532 };
533 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
534 enum msa_2b_fmt {
535   msa_fmt_b = 0,
536   msa_fmt_h = 1,
537   msa_fmt_w = 2,
538 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
539   msa_fmt_d = 3,
540 };
541 enum mm_major_op {
542   mm_pool32a_op,
543 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
544   mm_pool16a_op,
545   mm_lbu16_op,
546   mm_move16_op,
547   mm_addi32_op,
548 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
549   mm_lbu32_op,
550   mm_sb32_op,
551   mm_lb32_op,
552   mm_pool32b_op,
553 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
554   mm_pool16b_op,
555   mm_lhu16_op,
556   mm_andi16_op,
557   mm_addiu32_op,
558 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
559   mm_lhu32_op,
560   mm_sh32_op,
561   mm_lh32_op,
562   mm_pool32i_op,
563 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
564   mm_pool16c_op,
565   mm_lwsp16_op,
566   mm_pool16d_op,
567   mm_ori32_op,
568 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
569   mm_pool32f_op,
570   mm_pool32s_op,
571   mm_reserved2_op,
572   mm_pool32c_op,
573 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
574   mm_lwgp16_op,
575   mm_lw16_op,
576   mm_pool16e_op,
577   mm_xori32_op,
578 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
579   mm_jals32_op,
580   mm_addiupc_op,
581   mm_reserved3_op,
582   mm_reserved4_op,
583 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
584   mm_pool16f_op,
585   mm_sb16_op,
586   mm_beqz16_op,
587   mm_slti32_op,
588 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
589   mm_beq32_op,
590   mm_swc132_op,
591   mm_lwc132_op,
592   mm_reserved5_op,
593 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
594   mm_reserved6_op,
595   mm_sh16_op,
596   mm_bnez16_op,
597   mm_sltiu32_op,
598 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
599   mm_bne32_op,
600   mm_sdc132_op,
601   mm_ldc132_op,
602   mm_reserved7_op,
603 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
604   mm_reserved8_op,
605   mm_swsp16_op,
606   mm_b16_op,
607   mm_andi32_op,
608 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
609   mm_j32_op,
610   mm_sd32_op,
611   mm_ld32_op,
612   mm_reserved11_op,
613 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
614   mm_reserved12_op,
615   mm_sw16_op,
616   mm_li16_op,
617   mm_jalx32_op,
618 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
619   mm_jal32_op,
620   mm_sw32_op,
621   mm_lw32_op,
622 };
623 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
624 enum mm_32i_minor_op {
625   mm_bltz_op,
626   mm_bltzal_op,
627   mm_bgez_op,
628 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
629   mm_bgezal_op,
630   mm_blez_op,
631   mm_bnezc_op,
632   mm_bgtz_op,
633 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
634   mm_beqzc_op,
635   mm_tlti_op,
636   mm_tgei_op,
637   mm_tltiu_op,
638 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
639   mm_tgeiu_op,
640   mm_tnei_op,
641   mm_lui_op,
642   mm_teqi_op,
643 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
644   mm_reserved13_op,
645   mm_synci_op,
646   mm_bltzals_op,
647   mm_reserved14_op,
648 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
649   mm_bgezals_op,
650   mm_bc2f_op,
651   mm_bc2t_op,
652   mm_reserved15_op,
653 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
654   mm_reserved16_op,
655   mm_reserved17_op,
656   mm_reserved18_op,
657   mm_bposge64_op,
658 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
659   mm_bposge32_op,
660   mm_bc1f_op,
661   mm_bc1t_op,
662   mm_reserved19_op,
663 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
664   mm_reserved20_op,
665   mm_bc1any2f_op,
666   mm_bc1any2t_op,
667   mm_bc1any4f_op,
668 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
669   mm_bc1any4t_op,
670 };
671 enum mm_32a_minor_op {
672   mm_sll32_op = 0x000,
673 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
674   mm_ins_op = 0x00c,
675   mm_sllv32_op = 0x010,
676   mm_ext_op = 0x02c,
677   mm_pool32axf_op = 0x03c,
678 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
679   mm_srl32_op = 0x040,
680   mm_sra_op = 0x080,
681   mm_srlv32_op = 0x090,
682   mm_rotr_op = 0x0c0,
683 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
684   mm_lwxs_op = 0x118,
685   mm_addu32_op = 0x150,
686   mm_subu32_op = 0x1d0,
687   mm_wsbh_op = 0x1ec,
688 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
689   mm_mul_op = 0x210,
690   mm_and_op = 0x250,
691   mm_or32_op = 0x290,
692   mm_xor32_op = 0x310,
693 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
694   mm_slt_op = 0x350,
695   mm_sltu_op = 0x390,
696 };
697 enum mm_32b_func {
698 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
699   mm_lwc2_func = 0x0,
700   mm_lwp_func = 0x1,
701   mm_ldc2_func = 0x2,
702   mm_ldp_func = 0x4,
703 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
704   mm_lwm32_func = 0x5,
705   mm_cache_func = 0x6,
706   mm_ldm_func = 0x7,
707   mm_swc2_func = 0x8,
708 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
709   mm_swp_func = 0x9,
710   mm_sdc2_func = 0xa,
711   mm_sdp_func = 0xc,
712   mm_swm32_func = 0xd,
713 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
714   mm_sdm_func = 0xf,
715 };
716 enum mm_32c_func {
717   mm_pref_func = 0x2,
718 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
719   mm_ll_func = 0x3,
720   mm_swr_func = 0x9,
721   mm_sc_func = 0xb,
722   mm_lwu_func = 0xe,
723 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
724 };
725 enum mm_32axf_minor_op {
726   mm_mfc0_op = 0x003,
727   mm_mtc0_op = 0x00b,
728 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
729   mm_tlbp_op = 0x00d,
730   mm_mfhi32_op = 0x035,
731   mm_jalr_op = 0x03c,
732   mm_tlbr_op = 0x04d,
733 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
734   mm_mflo32_op = 0x075,
735   mm_jalrhb_op = 0x07c,
736   mm_tlbwi_op = 0x08d,
737   mm_mthi32_op = 0x0b5,
738 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
739   mm_tlbwr_op = 0x0cd,
740   mm_mtlo32_op = 0x0f5,
741   mm_di_op = 0x11d,
742   mm_jalrs_op = 0x13c,
743 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
744   mm_jalrshb_op = 0x17c,
745   mm_sync_op = 0x1ad,
746   mm_syscall_op = 0x22d,
747   mm_wait_op = 0x24d,
748 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
749   mm_eret_op = 0x3cd,
750   mm_divu_op = 0x5dc,
751 };
752 enum mm_32f_minor_op {
753 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
754   mm_32f_00_op = 0x00,
755   mm_32f_01_op = 0x01,
756   mm_32f_02_op = 0x02,
757   mm_32f_10_op = 0x08,
758 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
759   mm_32f_11_op = 0x09,
760   mm_32f_12_op = 0x0a,
761   mm_32f_20_op = 0x10,
762   mm_32f_30_op = 0x18,
763 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
764   mm_32f_40_op = 0x20,
765   mm_32f_41_op = 0x21,
766   mm_32f_42_op = 0x22,
767   mm_32f_50_op = 0x28,
768 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
769   mm_32f_51_op = 0x29,
770   mm_32f_52_op = 0x2a,
771   mm_32f_60_op = 0x30,
772   mm_32f_70_op = 0x38,
773 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
774   mm_32f_73_op = 0x3b,
775   mm_32f_74_op = 0x3c,
776 };
777 enum mm_32f_10_minor_op {
778 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
779   mm_lwxc1_op = 0x1,
780   mm_swxc1_op,
781   mm_ldxc1_op,
782   mm_sdxc1_op,
783 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
784   mm_luxc1_op,
785   mm_suxc1_op,
786 };
787 enum mm_32f_func {
788 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
789   mm_lwxc1_func = 0x048,
790   mm_swxc1_func = 0x088,
791   mm_ldxc1_func = 0x0c8,
792   mm_sdxc1_func = 0x108,
793 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
794 };
795 enum mm_32f_40_minor_op {
796   mm_fmovf_op,
797   mm_fmovt_op,
798 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
799 };
800 enum mm_32f_60_minor_op {
801   mm_fadd_op,
802   mm_fsub_op,
803 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
804   mm_fmul_op,
805   mm_fdiv_op,
806 };
807 enum mm_32f_70_minor_op {
808 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
809   mm_fmovn_op,
810   mm_fmovz_op,
811 };
812 enum mm_32f_73_minor_op {
813 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
814   mm_fmov0_op = 0x01,
815   mm_fcvtl_op = 0x04,
816   mm_movf0_op = 0x05,
817   mm_frsqrt_op = 0x08,
818 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
819   mm_ffloorl_op = 0x0c,
820   mm_fabs0_op = 0x0d,
821   mm_fcvtw_op = 0x24,
822   mm_movt0_op = 0x25,
823 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
824   mm_fsqrt_op = 0x28,
825   mm_ffloorw_op = 0x2c,
826   mm_fneg0_op = 0x2d,
827   mm_cfc1_op = 0x40,
828 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
829   mm_frecip_op = 0x48,
830   mm_fceill_op = 0x4c,
831   mm_fcvtd0_op = 0x4d,
832   mm_ctc1_op = 0x60,
833 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
834   mm_fceilw_op = 0x6c,
835   mm_fcvts0_op = 0x6d,
836   mm_mfc1_op = 0x80,
837   mm_fmov1_op = 0x81,
838 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
839   mm_movf1_op = 0x85,
840   mm_ftruncl_op = 0x8c,
841   mm_fabs1_op = 0x8d,
842   mm_mtc1_op = 0xa0,
843 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
844   mm_movt1_op = 0xa5,
845   mm_ftruncw_op = 0xac,
846   mm_fneg1_op = 0xad,
847   mm_mfhc1_op = 0xc0,
848 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
849   mm_froundl_op = 0xcc,
850   mm_fcvtd1_op = 0xcd,
851   mm_mthc1_op = 0xe0,
852   mm_froundw_op = 0xec,
853 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
854   mm_fcvts1_op = 0xed,
855 };
856 enum mm_32s_minor_op {
857   mm_32s_elm_op = 0x16,
858 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
859 };
860 enum mm_16c_minor_op {
861   mm_lwm16_op = 0x04,
862   mm_swm16_op = 0x05,
863 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
864   mm_jr16_op = 0x0c,
865   mm_jrc_op = 0x0d,
866   mm_jalr16_op = 0x0e,
867   mm_jalrs16_op = 0x0f,
868 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
869   mm_jraddiusp_op = 0x18,
870 };
871 enum mm_16d_minor_op {
872   mm_addius5_func,
873 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
874   mm_addiusp_func,
875 };
876 enum MIPS16e_ops {
877   MIPS16e_jal_op = 003,
878 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
879   MIPS16e_ld_op = 007,
880   MIPS16e_i8_op = 014,
881   MIPS16e_sd_op = 017,
882   MIPS16e_lb_op = 020,
883 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
884   MIPS16e_lh_op = 021,
885   MIPS16e_lwsp_op = 022,
886   MIPS16e_lw_op = 023,
887   MIPS16e_lbu_op = 024,
888 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
889   MIPS16e_lhu_op = 025,
890   MIPS16e_lwpc_op = 026,
891   MIPS16e_lwu_op = 027,
892   MIPS16e_sb_op = 030,
893 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
894   MIPS16e_sh_op = 031,
895   MIPS16e_swsp_op = 032,
896   MIPS16e_sw_op = 033,
897   MIPS16e_rr_op = 035,
898 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
899   MIPS16e_extend_op = 036,
900   MIPS16e_i64_op = 037,
901 };
902 enum MIPS16e_i64_func {
903 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
904   MIPS16e_ldsp_func,
905   MIPS16e_sdsp_func,
906   MIPS16e_sdrasp_func,
907   MIPS16e_dadjsp_func,
908 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
909   MIPS16e_ldpc_func,
910 };
911 enum MIPS16e_rr_func {
912   MIPS16e_jr_func,
913 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
914 };
915 enum MIPS6e_i8_func {
916   MIPS16e_swrasp_func = 02,
917 };
918 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
919 #define MM_NOP16 0x0c00
920 struct j_format {
921   __BITFIELD_FIELD(unsigned int opcode : 6, __BITFIELD_FIELD(unsigned int target : 26,;
922  ))
923 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
924 };
925 struct i_format {
926   __BITFIELD_FIELD(unsigned int opcode : 6, __BITFIELD_FIELD(unsigned int rs : 5, __BITFIELD_FIELD(unsigned int rt : 5, __BITFIELD_FIELD(signed int simmediate : 16,;
927  ))))
928 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
929 };
930 struct u_format {
931   __BITFIELD_FIELD(unsigned int opcode : 6, __BITFIELD_FIELD(unsigned int rs : 5, __BITFIELD_FIELD(unsigned int rt : 5, __BITFIELD_FIELD(unsigned int uimmediate : 16,;
932  ))))
933 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
934 };
935 struct c_format {
936   __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,;
937  )))))
938 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
939 };
940 struct r_format {
941   __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,;
942  ))))))
943 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
944 };
945 struct c0r_format {
946   __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 z : 8, __BITFIELD_FIELD(unsigned int sel : 3,;
947  ))))))
948 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
949 };
950 struct mfmc0_format {
951   __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 sc : 1, __BITFIELD_FIELD(unsigned int : 2, __BITFIELD_FIELD(unsigned int sel : 3,;
952  ))))))))
953 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
954 };
955 struct co_format {
956   __BITFIELD_FIELD(unsigned int opcode : 6, __BITFIELD_FIELD(unsigned int co : 1, __BITFIELD_FIELD(unsigned int code : 19, __BITFIELD_FIELD(unsigned int func : 6,;
957  ))))
958 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
959 };
960 struct p_format {
961   __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,;
962  ))))))
963 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
964 };
965 struct f_format {
966   __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,;
967  )))))))
968 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
969 };
970 struct ma_format {
971   __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,;
972  )))))))
973 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
974 };
975 struct b_format {
976   __BITFIELD_FIELD(unsigned int opcode : 6, __BITFIELD_FIELD(unsigned int code : 20, __BITFIELD_FIELD(unsigned int func : 6,;
977  )))
978 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
979 };
980 struct ps_format {
981   __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,;
982  ))))))
983 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
984 };
985 struct v_format {
986   __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,;
987  )))))))
988 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
989 };
990 struct msa_mi10_format {
991   __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,;
992  ))))))
993 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
994 };
995 struct spec3_format {
996   __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,;
997  )))))
998 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
999 };
1000 struct fb_format {
1001   __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,;
1002  )))))
1003 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1004 };
1005 struct fp0_format {
1006   __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,;
1007  ))))))
1008 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1009 };
1010 struct mm_fp0_format {
1011   __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,;
1012  )))))))
1013 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1014 };
1015 struct fp1_format {
1016   __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,;
1017  ))))))
1018 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1019 };
1020 struct mm_fp1_format {
1021   __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,;
1022  ))))))
1023 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1024 };
1025 struct mm_fp2_format {
1026   __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,;
1027  ))))))))
1028 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1029 };
1030 struct mm_fp3_format {
1031   __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,;
1032  ))))))
1033 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1034 };
1035 struct mm_fp4_format {
1036   __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,;
1037  )))))))
1038 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1039 };
1040 struct mm_fp5_format {
1041   __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,;
1042  ))))))
1043 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1044 };
1045 struct fp6_format {
1046   __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,;
1047  ))))))
1048 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1049 };
1050 struct mm_fp6_format {
1051   __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,;
1052  ))))))
1053 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1054 };
1055 struct mm_i_format {
1056   __BITFIELD_FIELD(unsigned int opcode : 6, __BITFIELD_FIELD(unsigned int rt : 5, __BITFIELD_FIELD(unsigned int rs : 5, __BITFIELD_FIELD(signed int simmediate : 16,;
1057  ))))
1058 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1059 };
1060 struct mm_m_format {
1061   __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,;
1062  )))))
1063 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1064 };
1065 struct mm_x_format {
1066   __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,;
1067  )))))
1068 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1069 };
1070 struct mm_a_format {
1071   __BITFIELD_FIELD(unsigned int opcode : 6, __BITFIELD_FIELD(unsigned int rs : 3, __BITFIELD_FIELD(signed int simmediate : 23,;
1072  )))
1073 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1074 };
1075 struct mm_b0_format {
1076   __BITFIELD_FIELD(unsigned int opcode : 6, __BITFIELD_FIELD(signed int simmediate : 10, __BITFIELD_FIELD(unsigned int : 16,;
1077  )))
1078 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1079 };
1080 struct mm_b1_format {
1081   __BITFIELD_FIELD(unsigned int opcode : 6, __BITFIELD_FIELD(unsigned int rs : 3, __BITFIELD_FIELD(signed int simmediate : 7, __BITFIELD_FIELD(unsigned int : 16,;
1082  ))))
1083 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1084 };
1085 struct mm16_m_format {
1086   __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,;
1087  )))))
1088 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1089 };
1090 struct mm16_rb_format {
1091   __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,;
1092  )))))
1093 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1094 };
1095 struct mm16_r3_format {
1096   __BITFIELD_FIELD(unsigned int opcode : 6, __BITFIELD_FIELD(unsigned int rt : 3, __BITFIELD_FIELD(signed int simmediate : 7, __BITFIELD_FIELD(unsigned int : 16,;
1097  ))))
1098 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1099 };
1100 struct mm16_r5_format {
1101   __BITFIELD_FIELD(unsigned int opcode : 6, __BITFIELD_FIELD(unsigned int rt : 5, __BITFIELD_FIELD(signed int simmediate : 5, __BITFIELD_FIELD(unsigned int : 16,;
1102  ))))
1103 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1104 };
1105 struct m16e_rr {
1106   __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,;
1107  ))))))
1108 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1109 };
1110 struct m16e_jal {
1111   __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,;
1112  ))))
1113 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1114 };
1115 struct m16e_i64 {
1116   __BITFIELD_FIELD(unsigned int opcode : 5, __BITFIELD_FIELD(unsigned int func : 3, __BITFIELD_FIELD(unsigned int imm : 8,;
1117  )))
1118 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1119 };
1120 struct m16e_ri64 {
1121   __BITFIELD_FIELD(unsigned int opcode : 5, __BITFIELD_FIELD(unsigned int func : 3, __BITFIELD_FIELD(unsigned int ry : 3, __BITFIELD_FIELD(unsigned int imm : 5,;
1122  ))))
1123 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1124 };
1125 struct m16e_ri {
1126   __BITFIELD_FIELD(unsigned int opcode : 5, __BITFIELD_FIELD(unsigned int rx : 3, __BITFIELD_FIELD(unsigned int imm : 8,;
1127  )))
1128 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1129 };
1130 struct m16e_rri {
1131   __BITFIELD_FIELD(unsigned int opcode : 5, __BITFIELD_FIELD(unsigned int rx : 3, __BITFIELD_FIELD(unsigned int ry : 3, __BITFIELD_FIELD(unsigned int imm : 5,;
1132  ))))
1133 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1134 };
1135 struct m16e_i8 {
1136   __BITFIELD_FIELD(unsigned int opcode : 5, __BITFIELD_FIELD(unsigned int func : 3, __BITFIELD_FIELD(unsigned int imm : 8,;
1137  )))
1138 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1139 };
1140 union mips_instruction {
1141   unsigned int word;
1142   unsigned short halfword[2];
1143 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1144   unsigned char byte[4];
1145   struct j_format j_format;
1146   struct i_format i_format;
1147   struct u_format u_format;
1148 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1149   struct c_format c_format;
1150   struct r_format r_format;
1151   struct c0r_format c0r_format;
1152   struct mfmc0_format mfmc0_format;
1153 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1154   struct co_format co_format;
1155   struct p_format p_format;
1156   struct f_format f_format;
1157   struct ma_format ma_format;
1158 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1159   struct msa_mi10_format msa_mi10_format;
1160   struct b_format b_format;
1161   struct ps_format ps_format;
1162   struct v_format v_format;
1163 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1164   struct spec3_format spec3_format;
1165   struct fb_format fb_format;
1166   struct fp0_format fp0_format;
1167   struct mm_fp0_format mm_fp0_format;
1168 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1169   struct fp1_format fp1_format;
1170   struct mm_fp1_format mm_fp1_format;
1171   struct mm_fp2_format mm_fp2_format;
1172   struct mm_fp3_format mm_fp3_format;
1173 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1174   struct mm_fp4_format mm_fp4_format;
1175   struct mm_fp5_format mm_fp5_format;
1176   struct fp6_format fp6_format;
1177   struct mm_fp6_format mm_fp6_format;
1178 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1179   struct mm_i_format mm_i_format;
1180   struct mm_m_format mm_m_format;
1181   struct mm_x_format mm_x_format;
1182   struct mm_a_format mm_a_format;
1183 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1184   struct mm_b0_format mm_b0_format;
1185   struct mm_b1_format mm_b1_format;
1186   struct mm16_m_format mm16_m_format;
1187   struct mm16_rb_format mm16_rb_format;
1188 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1189   struct mm16_r3_format mm16_r3_format;
1190   struct mm16_r5_format mm16_r5_format;
1191 };
1192 union mips16e_instruction {
1193 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1194   unsigned int full : 16;
1195   struct m16e_rr rr;
1196   struct m16e_jal jal;
1197   struct m16e_i64 i64;
1198 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1199   struct m16e_ri64 ri64;
1200   struct m16e_ri ri;
1201   struct m16e_rri rri;
1202   struct m16e_i8 i8;
1203 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1204 };
1205 #endif
1206