inst.h revision d7db594b8d1dab36b711bd887a9dd21675c87243
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>
22enum 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};
105enum 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};
187enum 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 */
204enum 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};
242enum 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};
285enum 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};
301enum 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 */
309enum 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};
320enum 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 */
329enum 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 */
339enum 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};
375enum 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 */
399enum 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};
406enum 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};
417enum 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};
425enum 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};
507enum 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};
555enum 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};
581enum 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};
600enum 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 */
609enum 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};
632enum 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};
657enum 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};
667enum 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};
675enum 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};
680enum 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};
687enum 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};
692enum 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};
736enum 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};
747enum 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};
752enum 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 */
779enum 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};
787enum MIPS16e_rr_func {
788/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
789  MIPS16e_jr_func,
790};
791enum 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
796struct 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};
801struct 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};
806struct 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};
811struct 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};
816struct 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};
821struct 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};
826struct 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};
831struct 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};
836struct 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};
841struct 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};
846struct 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};
851struct 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};
856struct 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};
861struct 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};
866struct 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};
871struct 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};
876struct 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};
881struct 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};
886struct 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};
891struct 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};
896struct 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};
901struct 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};
906struct 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};
911struct 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};
916struct 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};
921struct 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};
926struct 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};
931struct 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};
936struct 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};
941struct 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};
946struct 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};
951struct 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};
956struct 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};
961struct 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};
966struct 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};
971struct 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};
976struct 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};
981struct 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};
986struct 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};
991union 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};
1037union 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