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  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 */
114enum 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};
196enum 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};
212enum 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 */
259enum 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};
301enum 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};
322enum 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};
330enum 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};
341enum 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};
350enum 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};
360enum 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 */
409enum 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};
432enum 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};
440enum 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};
451enum 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 */
459enum 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 */
464enum 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};
471enum 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 */
554enum 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};
601enum 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};
627enum 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};
646enum 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};
655enum 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 */
679enum 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 */
704enum 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 */
714enum 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};
721enum 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};
726enum 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 */
734enum 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 */
739enum 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};
782enum 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 */
794enum 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 */
799enum 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};
825enum 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 */
834enum MIPS16e_rr_func {
835  MIPS16e_jr_func,
836};
837enum 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
842struct 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};
847struct 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};
852struct 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};
857struct 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};
862struct 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};
867struct 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};
872struct 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};
877struct 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};
882struct 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};
887struct 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};
892struct 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};
897struct 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};
902struct 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};
907struct 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};
912struct 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};
917struct 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};
922struct 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};
927struct 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};
932struct 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};
937struct 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};
942struct 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};
947struct 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};
952struct 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};
957struct 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};
962struct 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};
967struct 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};
972struct 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};
977struct 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};
982struct 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};
987struct 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};
992struct 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};
997struct 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};
1002struct 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};
1007struct 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};
1012struct 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};
1017struct 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};
1022struct 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};
1027struct 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};
1032struct 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};
1037struct 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};
1042union 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};
1090union 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