• Home
  • History
  • Annotate
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1  /****************************************************************************
2   ****************************************************************************
3   ***
4   ***   This header was automatically generated from a Linux kernel header
5   ***   of the same name, to make information necessary for userspace to
6   ***   call into the kernel available to libc.  It contains only constants,
7   ***   structures, and macros generated from the original header, and thus,
8   ***   contains no copyrightable information.
9   ***
10   ***   To edit the content of this header, modify the corresponding
11   ***   source file (e.g. under external/kernel-headers/original/) then
12   ***   run bionic/libc/kernel/tools/update_all.py
13   ***
14   ***   Any manual change here will be lost the next time this script will
15   ***   be run. You've been warned!
16   ***
17   ****************************************************************************
18   ****************************************************************************/
19  #ifndef _UAPI_ASM_INST_H
20  #define _UAPI_ASM_INST_H
21  enum major_op {
22   spec_op, bcond_op, j_op, jal_op,
23  /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
24   beq_op, bne_op, blez_op, bgtz_op,
25   addi_op, addiu_op, slti_op, sltiu_op,
26   andi_op, ori_op, xori_op, lui_op,
27   cop0_op, cop1_op, cop2_op, cop1x_op,
28  /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
29   beql_op, bnel_op, blezl_op, bgtzl_op,
30   daddi_op, daddiu_op, ldl_op, ldr_op,
31   spec2_op, jalx_op, mdmx_op, spec3_op,
32   lb_op, lh_op, lwl_op, lw_op,
33  /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
34   lbu_op, lhu_op, lwr_op, lwu_op,
35   sb_op, sh_op, swl_op, sw_op,
36   sdl_op, sdr_op, swr_op, cache_op,
37   ll_op, lwc1_op, lwc2_op, pref_op,
38  /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
39   lld_op, ldc1_op, ldc2_op, ld_op,
40   sc_op, swc1_op, swc2_op, major_3b_op,
41   scd_op, sdc1_op, sdc2_op, sd_op
42  };
43  /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
44  enum spec_op {
45   sll_op, movc_op, srl_op, sra_op,
46   sllv_op, pmon_op, srlv_op, srav_op,
47   jr_op, jalr_op, movz_op, movn_op,
48  /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
49   syscall_op, break_op, spim_op, sync_op,
50   mfhi_op, mthi_op, mflo_op, mtlo_op,
51   dsllv_op, spec2_unused_op, dsrlv_op, dsrav_op,
52   mult_op, multu_op, div_op, divu_op,
53  /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
54   dmult_op, dmultu_op, ddiv_op, ddivu_op,
55   add_op, addu_op, sub_op, subu_op,
56   and_op, or_op, xor_op, nor_op,
57   spec3_unused_op, spec4_unused_op, slt_op, sltu_op,
58  /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
59   dadd_op, daddu_op, dsub_op, dsubu_op,
60   tge_op, tgeu_op, tlt_op, tltu_op,
61   teq_op, spec5_unused_op, tne_op, spec6_unused_op,
62   dsll_op, spec7_unused_op, dsrl_op, dsra_op,
63  /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
64   dsll32_op, spec8_unused_op, dsrl32_op, dsra32_op
65  };
66  enum spec2_op {
67   madd_op, maddu_op, mul_op, spec2_3_unused_op,
68  /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
69   msub_op, msubu_op,
70   clz_op = 0x20, clo_op,
71   dclz_op = 0x24, dclo_op,
72   sdbpp_op = 0x3f
73  /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
74  };
75  enum spec3_op {
76   ext_op, dextm_op, dextu_op, dext_op,
77   ins_op, dinsm_op, dinsu_op, dins_op,
78  /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
79   lx_op = 0x0a,
80   bshfl_op = 0x20,
81   dbshfl_op = 0x24,
82   rdhwr_op = 0x3b
83  /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
84  };
85  enum rt_op {
86   bltz_op, bgez_op, bltzl_op, bgezl_op,
87   spimi_op, unused_rt_op_0x05, unused_rt_op_0x06, unused_rt_op_0x07,
88  /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
89   tgei_op, tgeiu_op, tlti_op, tltiu_op,
90   teqi_op, unused_0x0d_rt_op, tnei_op, unused_0x0f_rt_op,
91   bltzal_op, bgezal_op, bltzall_op, bgezall_op,
92   rt_op_0x14, rt_op_0x15, rt_op_0x16, rt_op_0x17,
93  /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
94   rt_op_0x18, rt_op_0x19, rt_op_0x1a, rt_op_0x1b,
95   bposge32_op, rt_op_0x1d, rt_op_0x1e, rt_op_0x1f
96  };
97  enum cop_op {
98  /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
99   mfc_op = 0x00, dmfc_op = 0x01,
100   cfc_op = 0x02, mfhc_op = 0x03,
101   mtc_op = 0x04, dmtc_op = 0x05,
102   ctc_op = 0x06, mthc_op = 0x07,
103  /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
104   bc_op = 0x08, cop_op = 0x10,
105   copm_op = 0x18
106  };
107  enum bcop_op {
108  /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
109   bcf_op, bct_op, bcfl_op, bctl_op
110  };
111  enum cop0_coi_func {
112   tlbr_op = 0x01, tlbwi_op = 0x02,
113  /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
114   tlbwr_op = 0x06, tlbp_op = 0x08,
115   rfe_op = 0x10, eret_op = 0x18
116  };
117  enum cop0_com_func {
118  /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
119   tlbr1_op = 0x01, tlbw_op = 0x02,
120   tlbp1_op = 0x08, dctr_op = 0x09,
121   dctw_op = 0x0a
122  };
123  /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
124  enum cop1_fmt {
125   s_fmt, d_fmt, e_fmt, q_fmt,
126   w_fmt, l_fmt
127  };
128  /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
129  enum cop1_sdw_func {
130   fadd_op = 0x00, fsub_op = 0x01,
131   fmul_op = 0x02, fdiv_op = 0x03,
132   fsqrt_op = 0x04, fabs_op = 0x05,
133  /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
134   fmov_op = 0x06, fneg_op = 0x07,
135   froundl_op = 0x08, ftruncl_op = 0x09,
136   fceill_op = 0x0a, ffloorl_op = 0x0b,
137   fround_op = 0x0c, ftrunc_op = 0x0d,
138  /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
139   fceil_op = 0x0e, ffloor_op = 0x0f,
140   fmovc_op = 0x11, fmovz_op = 0x12,
141   fmovn_op = 0x13, frecip_op = 0x15,
142   frsqrt_op = 0x16, fcvts_op = 0x20,
143  /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
144   fcvtd_op = 0x21, fcvte_op = 0x22,
145   fcvtw_op = 0x24, fcvtl_op = 0x25,
146   fcmp_op = 0x30
147  };
148  /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
149  enum cop1x_func {
150   lwxc1_op = 0x00, ldxc1_op = 0x01,
151   swxc1_op = 0x08, sdxc1_op = 0x09,
152   pfetch_op = 0x0f, madd_s_op = 0x20,
153  /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
154   madd_d_op = 0x21, madd_e_op = 0x22,
155   msub_s_op = 0x28, msub_d_op = 0x29,
156   msub_e_op = 0x2a, nmadd_s_op = 0x30,
157   nmadd_d_op = 0x31, nmadd_e_op = 0x32,
158  /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
159   nmsub_s_op = 0x38, nmsub_d_op = 0x39,
160   nmsub_e_op = 0x3a
161  };
162  enum mad_func {
163  /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
164   madd_fp_op = 0x08, msub_fp_op = 0x0a,
165   nmadd_fp_op = 0x0c, nmsub_fp_op = 0x0e
166  };
167  enum lx_func {
168  /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
169   lwx_op = 0x00,
170   lhx_op = 0x04,
171   lbux_op = 0x06,
172   ldx_op = 0x08,
173  /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
174   lwux_op = 0x10,
175   lhux_op = 0x14,
176   lbx_op = 0x16,
177  };
178  /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
179  enum mm_major_op {
180   mm_pool32a_op, mm_pool16a_op, mm_lbu16_op, mm_move16_op,
181   mm_addi32_op, mm_lbu32_op, mm_sb32_op, mm_lb32_op,
182   mm_pool32b_op, mm_pool16b_op, mm_lhu16_op, mm_andi16_op,
183  /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
184   mm_addiu32_op, mm_lhu32_op, mm_sh32_op, mm_lh32_op,
185   mm_pool32i_op, mm_pool16c_op, mm_lwsp16_op, mm_pool16d_op,
186   mm_ori32_op, mm_pool32f_op, mm_reserved1_op, mm_reserved2_op,
187   mm_pool32c_op, mm_lwgp16_op, mm_lw16_op, mm_pool16e_op,
188  /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
189   mm_xori32_op, mm_jals32_op, mm_addiupc_op, mm_reserved3_op,
190   mm_reserved4_op, mm_pool16f_op, mm_sb16_op, mm_beqz16_op,
191   mm_slti32_op, mm_beq32_op, mm_swc132_op, mm_lwc132_op,
192   mm_reserved5_op, mm_reserved6_op, mm_sh16_op, mm_bnez16_op,
193  /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
194   mm_sltiu32_op, mm_bne32_op, mm_sdc132_op, mm_ldc132_op,
195   mm_reserved7_op, mm_reserved8_op, mm_swsp16_op, mm_b16_op,
196   mm_andi32_op, mm_j32_op, mm_sd32_op, mm_ld32_op,
197   mm_reserved11_op, mm_reserved12_op, mm_sw16_op, mm_li16_op,
198  /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
199   mm_jalx32_op, mm_jal32_op, mm_sw32_op, mm_lw32_op,
200  };
201  enum mm_32i_minor_op {
202   mm_bltz_op, mm_bltzal_op, mm_bgez_op, mm_bgezal_op,
203  /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
204   mm_blez_op, mm_bnezc_op, mm_bgtz_op, mm_beqzc_op,
205   mm_tlti_op, mm_tgei_op, mm_tltiu_op, mm_tgeiu_op,
206   mm_tnei_op, mm_lui_op, mm_teqi_op, mm_reserved13_op,
207   mm_synci_op, mm_bltzals_op, mm_reserved14_op, mm_bgezals_op,
208  /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
209   mm_bc2f_op, mm_bc2t_op, mm_reserved15_op, mm_reserved16_op,
210   mm_reserved17_op, mm_reserved18_op, mm_bposge64_op, mm_bposge32_op,
211   mm_bc1f_op, mm_bc1t_op, mm_reserved19_op, mm_reserved20_op,
212   mm_bc1any2f_op, mm_bc1any2t_op, mm_bc1any4f_op, mm_bc1any4t_op,
213  /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
214  };
215  enum mm_32a_minor_op {
216   mm_sll32_op = 0x000,
217   mm_ins_op = 0x00c,
218  /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
219   mm_ext_op = 0x02c,
220   mm_pool32axf_op = 0x03c,
221   mm_srl32_op = 0x040,
222   mm_sra_op = 0x080,
223  /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
224   mm_rotr_op = 0x0c0,
225   mm_lwxs_op = 0x118,
226   mm_addu32_op = 0x150,
227   mm_subu32_op = 0x1d0,
228  /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
229   mm_and_op = 0x250,
230   mm_or32_op = 0x290,
231   mm_xor32_op = 0x310,
232  };
233  /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
234  enum mm_32b_func {
235   mm_lwc2_func = 0x0,
236   mm_lwp_func = 0x1,
237   mm_ldc2_func = 0x2,
238  /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
239   mm_ldp_func = 0x4,
240   mm_lwm32_func = 0x5,
241   mm_cache_func = 0x6,
242   mm_ldm_func = 0x7,
243  /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
244   mm_swc2_func = 0x8,
245   mm_swp_func = 0x9,
246   mm_sdc2_func = 0xa,
247   mm_sdp_func = 0xc,
248  /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
249   mm_swm32_func = 0xd,
250   mm_sdm_func = 0xf,
251  };
252  enum mm_32c_func {
253  /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
254   mm_pref_func = 0x2,
255   mm_ll_func = 0x3,
256   mm_swr_func = 0x9,
257   mm_sc_func = 0xb,
258  /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
259   mm_lwu_func = 0xe,
260  };
261  enum mm_32axf_minor_op {
262   mm_mfc0_op = 0x003,
263  /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
264   mm_mtc0_op = 0x00b,
265   mm_tlbp_op = 0x00d,
266   mm_jalr_op = 0x03c,
267   mm_tlbr_op = 0x04d,
268  /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
269   mm_jalrhb_op = 0x07c,
270   mm_tlbwi_op = 0x08d,
271   mm_tlbwr_op = 0x0cd,
272   mm_jalrs_op = 0x13c,
273  /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
274   mm_jalrshb_op = 0x17c,
275   mm_syscall_op = 0x22d,
276   mm_eret_op = 0x3cd,
277  };
278  /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
279  enum mm_32f_minor_op {
280   mm_32f_00_op = 0x00,
281   mm_32f_01_op = 0x01,
282   mm_32f_02_op = 0x02,
283  /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
284   mm_32f_10_op = 0x08,
285   mm_32f_11_op = 0x09,
286   mm_32f_12_op = 0x0a,
287   mm_32f_20_op = 0x10,
288  /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
289   mm_32f_30_op = 0x18,
290   mm_32f_40_op = 0x20,
291   mm_32f_41_op = 0x21,
292   mm_32f_42_op = 0x22,
293  /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
294   mm_32f_50_op = 0x28,
295   mm_32f_51_op = 0x29,
296   mm_32f_52_op = 0x2a,
297   mm_32f_60_op = 0x30,
298  /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
299   mm_32f_70_op = 0x38,
300   mm_32f_73_op = 0x3b,
301   mm_32f_74_op = 0x3c,
302  };
303  /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
304  enum mm_32f_10_minor_op {
305   mm_lwxc1_op = 0x1,
306   mm_swxc1_op,
307   mm_ldxc1_op,
308  /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
309   mm_sdxc1_op,
310   mm_luxc1_op,
311   mm_suxc1_op,
312  };
313  /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
314  enum mm_32f_func {
315   mm_lwxc1_func = 0x048,
316   mm_swxc1_func = 0x088,
317   mm_ldxc1_func = 0x0c8,
318  /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
319   mm_sdxc1_func = 0x108,
320  };
321  enum mm_32f_40_minor_op {
322   mm_fmovf_op,
323  /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
324   mm_fmovt_op,
325  };
326  enum mm_32f_60_minor_op {
327   mm_fadd_op,
328  /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
329   mm_fsub_op,
330   mm_fmul_op,
331   mm_fdiv_op,
332  };
333  /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
334  enum mm_32f_70_minor_op {
335   mm_fmovn_op,
336   mm_fmovz_op,
337  };
338  /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
339  enum mm_32f_73_minor_op {
340   mm_fmov0_op = 0x01,
341   mm_fcvtl_op = 0x04,
342   mm_movf0_op = 0x05,
343  /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
344   mm_frsqrt_op = 0x08,
345   mm_ffloorl_op = 0x0c,
346   mm_fabs0_op = 0x0d,
347   mm_fcvtw_op = 0x24,
348  /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
349   mm_movt0_op = 0x25,
350   mm_fsqrt_op = 0x28,
351   mm_ffloorw_op = 0x2c,
352   mm_fneg0_op = 0x2d,
353  /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
354   mm_cfc1_op = 0x40,
355   mm_frecip_op = 0x48,
356   mm_fceill_op = 0x4c,
357   mm_fcvtd0_op = 0x4d,
358  /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
359   mm_ctc1_op = 0x60,
360   mm_fceilw_op = 0x6c,
361   mm_fcvts0_op = 0x6d,
362   mm_mfc1_op = 0x80,
363  /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
364   mm_fmov1_op = 0x81,
365   mm_movf1_op = 0x85,
366   mm_ftruncl_op = 0x8c,
367   mm_fabs1_op = 0x8d,
368  /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
369   mm_mtc1_op = 0xa0,
370   mm_movt1_op = 0xa5,
371   mm_ftruncw_op = 0xac,
372   mm_fneg1_op = 0xad,
373  /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
374   mm_mfhc1_op = 0xc0,
375   mm_froundl_op = 0xcc,
376   mm_fcvtd1_op = 0xcd,
377   mm_mthc1_op = 0xe0,
378  /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
379   mm_froundw_op = 0xec,
380   mm_fcvts1_op = 0xed,
381  };
382  enum mm_16c_minor_op {
383  /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
384   mm_lwm16_op = 0x04,
385   mm_swm16_op = 0x05,
386   mm_jr16_op = 0x0c,
387   mm_jrc_op = 0x0d,
388  /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
389   mm_jalr16_op = 0x0e,
390   mm_jalrs16_op = 0x0f,
391   mm_jraddiusp_op = 0x18,
392  };
393  /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
394  enum mm_16d_minor_op {
395   mm_addius5_func,
396   mm_addiusp_func,
397  };
398  /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
399  enum MIPS16e_ops {
400   MIPS16e_jal_op = 003,
401   MIPS16e_ld_op = 007,
402   MIPS16e_i8_op = 014,
403  /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
404   MIPS16e_sd_op = 017,
405   MIPS16e_lb_op = 020,
406   MIPS16e_lh_op = 021,
407   MIPS16e_lwsp_op = 022,
408  /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
409   MIPS16e_lw_op = 023,
410   MIPS16e_lbu_op = 024,
411   MIPS16e_lhu_op = 025,
412   MIPS16e_lwpc_op = 026,
413  /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
414   MIPS16e_lwu_op = 027,
415   MIPS16e_sb_op = 030,
416   MIPS16e_sh_op = 031,
417   MIPS16e_swsp_op = 032,
418  /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
419   MIPS16e_sw_op = 033,
420   MIPS16e_rr_op = 035,
421   MIPS16e_extend_op = 036,
422   MIPS16e_i64_op = 037,
423  /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
424  };
425  enum MIPS16e_i64_func {
426   MIPS16e_ldsp_func,
427   MIPS16e_sdsp_func,
428  /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
429   MIPS16e_sdrasp_func,
430   MIPS16e_dadjsp_func,
431   MIPS16e_ldpc_func,
432  };
433  /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
434  enum MIPS16e_rr_func {
435   MIPS16e_jr_func,
436  };
437  enum MIPS6e_i8_func {
438  /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
439   MIPS16e_swrasp_func = 02,
440  };
441  #define MM_NOP16 0x0c00
442  #define BITFIELD_FIELD(field, more)   more   field;
443  /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
444  struct j_format {
445   BITFIELD_FIELD(unsigned int opcode : 6,
446   BITFIELD_FIELD(unsigned int target : 26,
447   ;))
448  /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
449  };
450  struct i_format {
451   BITFIELD_FIELD(unsigned int opcode : 6,
452   BITFIELD_FIELD(unsigned int rs : 5,
453  /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
454   BITFIELD_FIELD(unsigned int rt : 5,
455   BITFIELD_FIELD(signed int simmediate : 16,
456   ;))))
457  };
458  /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
459  struct u_format {
460   BITFIELD_FIELD(unsigned int opcode : 6,
461   BITFIELD_FIELD(unsigned int rs : 5,
462   BITFIELD_FIELD(unsigned int rt : 5,
463  /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
464   BITFIELD_FIELD(unsigned int uimmediate : 16,
465   ;))))
466  };
467  struct c_format {
468  /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
469   BITFIELD_FIELD(unsigned int opcode : 6,
470   BITFIELD_FIELD(unsigned int rs : 5,
471   BITFIELD_FIELD(unsigned int c_op : 3,
472   BITFIELD_FIELD(unsigned int cache : 2,
473  /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
474   BITFIELD_FIELD(unsigned int simmediate : 16,
475   ;)))))
476  };
477  struct r_format {
478  /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
479   BITFIELD_FIELD(unsigned int opcode : 6,
480   BITFIELD_FIELD(unsigned int rs : 5,
481   BITFIELD_FIELD(unsigned int rt : 5,
482   BITFIELD_FIELD(unsigned int rd : 5,
483  /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
484   BITFIELD_FIELD(unsigned int re : 5,
485   BITFIELD_FIELD(unsigned int func : 6,
486   ;))))))
487  };
488  /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
489  struct p_format {
490   BITFIELD_FIELD(unsigned int opcode : 6,
491   BITFIELD_FIELD(unsigned int rs : 5,
492   BITFIELD_FIELD(unsigned int rt : 5,
493  /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
494   BITFIELD_FIELD(unsigned int rd : 5,
495   BITFIELD_FIELD(unsigned int re : 5,
496   BITFIELD_FIELD(unsigned int func : 6,
497   ;))))))
498  /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
499  };
500  struct f_format {
501   BITFIELD_FIELD(unsigned int opcode : 6,
502   BITFIELD_FIELD(unsigned int : 1,
503  /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
504   BITFIELD_FIELD(unsigned int fmt : 4,
505   BITFIELD_FIELD(unsigned int rt : 5,
506   BITFIELD_FIELD(unsigned int rd : 5,
507   BITFIELD_FIELD(unsigned int re : 5,
508  /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
509   BITFIELD_FIELD(unsigned int func : 6,
510   ;)))))))
511  };
512  struct ma_format {
513  /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
514   BITFIELD_FIELD(unsigned int opcode : 6,
515   BITFIELD_FIELD(unsigned int fr : 5,
516   BITFIELD_FIELD(unsigned int ft : 5,
517   BITFIELD_FIELD(unsigned int fs : 5,
518  /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
519   BITFIELD_FIELD(unsigned int fd : 5,
520   BITFIELD_FIELD(unsigned int func : 4,
521   BITFIELD_FIELD(unsigned int fmt : 2,
522   ;)))))))
523  /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
524  };
525  struct b_format {
526   BITFIELD_FIELD(unsigned int opcode : 6,
527   BITFIELD_FIELD(unsigned int code : 20,
528  /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
529   BITFIELD_FIELD(unsigned int func : 6,
530   ;)))
531  };
532  struct ps_format {
533  /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
534   BITFIELD_FIELD(unsigned int opcode : 6,
535   BITFIELD_FIELD(unsigned int rs : 5,
536   BITFIELD_FIELD(unsigned int ft : 5,
537   BITFIELD_FIELD(unsigned int fs : 5,
538  /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
539   BITFIELD_FIELD(unsigned int fd : 5,
540   BITFIELD_FIELD(unsigned int func : 6,
541   ;))))))
542  };
543  /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
544  struct v_format {
545   BITFIELD_FIELD(unsigned int opcode : 6,
546   BITFIELD_FIELD(unsigned int sel : 4,
547   BITFIELD_FIELD(unsigned int fmt : 1,
548  /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
549   BITFIELD_FIELD(unsigned int vt : 5,
550   BITFIELD_FIELD(unsigned int vs : 5,
551   BITFIELD_FIELD(unsigned int vd : 5,
552   BITFIELD_FIELD(unsigned int func : 6,
553  /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
554   ;)))))))
555  };
556  struct fb_format {
557   BITFIELD_FIELD(unsigned int opcode : 6,
558  /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
559   BITFIELD_FIELD(unsigned int bc : 5,
560   BITFIELD_FIELD(unsigned int cc : 3,
561   BITFIELD_FIELD(unsigned int flag : 2,
562   BITFIELD_FIELD(signed int simmediate : 16,
563  /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
564   ;)))))
565  };
566  struct fp0_format {
567   BITFIELD_FIELD(unsigned int opcode : 6,
568  /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
569   BITFIELD_FIELD(unsigned int fmt : 5,
570   BITFIELD_FIELD(unsigned int ft : 5,
571   BITFIELD_FIELD(unsigned int fs : 5,
572   BITFIELD_FIELD(unsigned int fd : 5,
573  /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
574   BITFIELD_FIELD(unsigned int func : 6,
575   ;))))))
576  };
577  struct mm_fp0_format {
578  /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
579   BITFIELD_FIELD(unsigned int opcode : 6,
580   BITFIELD_FIELD(unsigned int ft : 5,
581   BITFIELD_FIELD(unsigned int fs : 5,
582   BITFIELD_FIELD(unsigned int fd : 5,
583  /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
584   BITFIELD_FIELD(unsigned int fmt : 3,
585   BITFIELD_FIELD(unsigned int op : 2,
586   BITFIELD_FIELD(unsigned int func : 6,
587   ;)))))))
588  /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
589  };
590  struct fp1_format {
591   BITFIELD_FIELD(unsigned int opcode : 6,
592   BITFIELD_FIELD(unsigned int op : 5,
593  /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
594   BITFIELD_FIELD(unsigned int rt : 5,
595   BITFIELD_FIELD(unsigned int fs : 5,
596   BITFIELD_FIELD(unsigned int fd : 5,
597   BITFIELD_FIELD(unsigned int func : 6,
598  /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
599   ;))))))
600  };
601  struct mm_fp1_format {
602   BITFIELD_FIELD(unsigned int opcode : 6,
603  /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
604   BITFIELD_FIELD(unsigned int rt : 5,
605   BITFIELD_FIELD(unsigned int fs : 5,
606   BITFIELD_FIELD(unsigned int fmt : 2,
607   BITFIELD_FIELD(unsigned int op : 8,
608  /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
609   BITFIELD_FIELD(unsigned int func : 6,
610   ;))))))
611  };
612  struct mm_fp2_format {
613  /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
614   BITFIELD_FIELD(unsigned int opcode : 6,
615   BITFIELD_FIELD(unsigned int fd : 5,
616   BITFIELD_FIELD(unsigned int fs : 5,
617   BITFIELD_FIELD(unsigned int cc : 3,
618  /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
619   BITFIELD_FIELD(unsigned int zero : 2,
620   BITFIELD_FIELD(unsigned int fmt : 2,
621   BITFIELD_FIELD(unsigned int op : 3,
622   BITFIELD_FIELD(unsigned int func : 6,
623  /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
624   ;))))))))
625  };
626  struct mm_fp3_format {
627   BITFIELD_FIELD(unsigned int opcode : 6,
628  /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
629   BITFIELD_FIELD(unsigned int rt : 5,
630   BITFIELD_FIELD(unsigned int fs : 5,
631   BITFIELD_FIELD(unsigned int fmt : 3,
632   BITFIELD_FIELD(unsigned int op : 7,
633  /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
634   BITFIELD_FIELD(unsigned int func : 6,
635   ;))))))
636  };
637  struct mm_fp4_format {
638  /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
639   BITFIELD_FIELD(unsigned int opcode : 6,
640   BITFIELD_FIELD(unsigned int rt : 5,
641   BITFIELD_FIELD(unsigned int fs : 5,
642   BITFIELD_FIELD(unsigned int cc : 3,
643  /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
644   BITFIELD_FIELD(unsigned int fmt : 3,
645   BITFIELD_FIELD(unsigned int cond : 4,
646   BITFIELD_FIELD(unsigned int func : 6,
647   ;)))))))
648  /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
649  };
650  struct mm_fp5_format {
651   BITFIELD_FIELD(unsigned int opcode : 6,
652   BITFIELD_FIELD(unsigned int index : 5,
653  /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
654   BITFIELD_FIELD(unsigned int base : 5,
655   BITFIELD_FIELD(unsigned int fd : 5,
656   BITFIELD_FIELD(unsigned int op : 5,
657   BITFIELD_FIELD(unsigned int func : 6,
658  /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
659   ;))))))
660  };
661  struct fp6_format {
662   BITFIELD_FIELD(unsigned int opcode : 6,
663  /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
664   BITFIELD_FIELD(unsigned int fr : 5,
665   BITFIELD_FIELD(unsigned int ft : 5,
666   BITFIELD_FIELD(unsigned int fs : 5,
667   BITFIELD_FIELD(unsigned int fd : 5,
668  /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
669   BITFIELD_FIELD(unsigned int func : 6,
670   ;))))))
671  };
672  struct mm_fp6_format {
673  /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
674   BITFIELD_FIELD(unsigned int opcode : 6,
675   BITFIELD_FIELD(unsigned int ft : 5,
676   BITFIELD_FIELD(unsigned int fs : 5,
677   BITFIELD_FIELD(unsigned int fd : 5,
678  /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
679   BITFIELD_FIELD(unsigned int fr : 5,
680   BITFIELD_FIELD(unsigned int func : 6,
681   ;))))))
682  };
683  /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
684  struct mm_i_format {
685   BITFIELD_FIELD(unsigned int opcode : 6,
686   BITFIELD_FIELD(unsigned int rt : 5,
687   BITFIELD_FIELD(unsigned int rs : 5,
688  /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
689   BITFIELD_FIELD(signed int simmediate : 16,
690   ;))))
691  };
692  struct mm_m_format {
693  /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
694   BITFIELD_FIELD(unsigned int opcode : 6,
695   BITFIELD_FIELD(unsigned int rd : 5,
696   BITFIELD_FIELD(unsigned int base : 5,
697   BITFIELD_FIELD(unsigned int func : 4,
698  /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
699   BITFIELD_FIELD(signed int simmediate : 12,
700   ;)))))
701  };
702  struct mm_x_format {
703  /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
704   BITFIELD_FIELD(unsigned int opcode : 6,
705   BITFIELD_FIELD(unsigned int index : 5,
706   BITFIELD_FIELD(unsigned int base : 5,
707   BITFIELD_FIELD(unsigned int rd : 5,
708  /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
709   BITFIELD_FIELD(unsigned int func : 11,
710   ;)))))
711  };
712  struct mm_b0_format {
713  /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
714   BITFIELD_FIELD(unsigned int opcode : 6,
715   BITFIELD_FIELD(signed int simmediate : 10,
716   BITFIELD_FIELD(unsigned int : 16,
717   ;)))
718  /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
719  };
720  struct mm_b1_format {
721   BITFIELD_FIELD(unsigned int opcode : 6,
722   BITFIELD_FIELD(unsigned int rs : 3,
723  /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
724   BITFIELD_FIELD(signed int simmediate : 7,
725   BITFIELD_FIELD(unsigned int : 16,
726   ;))))
727  };
728  /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
729  struct mm16_m_format {
730   BITFIELD_FIELD(unsigned int opcode : 6,
731   BITFIELD_FIELD(unsigned int func : 4,
732   BITFIELD_FIELD(unsigned int rlist : 2,
733  /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
734   BITFIELD_FIELD(unsigned int imm : 4,
735   BITFIELD_FIELD(unsigned int : 16,
736   ;)))))
737  };
738  /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
739  struct mm16_rb_format {
740   BITFIELD_FIELD(unsigned int opcode : 6,
741   BITFIELD_FIELD(unsigned int rt : 3,
742   BITFIELD_FIELD(unsigned int base : 3,
743  /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
744   BITFIELD_FIELD(signed int simmediate : 4,
745   BITFIELD_FIELD(unsigned int : 16,
746   ;)))))
747  };
748  /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
749  struct mm16_r3_format {
750   BITFIELD_FIELD(unsigned int opcode : 6,
751   BITFIELD_FIELD(unsigned int rt : 3,
752   BITFIELD_FIELD(signed int simmediate : 7,
753  /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
754   BITFIELD_FIELD(unsigned int : 16,
755   ;))))
756  };
757  struct mm16_r5_format {
758  /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
759   BITFIELD_FIELD(unsigned int opcode : 6,
760   BITFIELD_FIELD(unsigned int rt : 5,
761   BITFIELD_FIELD(signed int simmediate : 5,
762   BITFIELD_FIELD(unsigned int : 16,
763  /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
764   ;))))
765  };
766  struct m16e_rr {
767   BITFIELD_FIELD(unsigned int opcode : 5,
768  /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
769   BITFIELD_FIELD(unsigned int rx : 3,
770   BITFIELD_FIELD(unsigned int nd : 1,
771   BITFIELD_FIELD(unsigned int l : 1,
772   BITFIELD_FIELD(unsigned int ra : 1,
773  /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
774   BITFIELD_FIELD(unsigned int func : 5,
775   ;))))))
776  };
777  struct m16e_jal {
778  /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
779   BITFIELD_FIELD(unsigned int opcode : 5,
780   BITFIELD_FIELD(unsigned int x : 1,
781   BITFIELD_FIELD(unsigned int imm20_16 : 5,
782   BITFIELD_FIELD(signed int imm25_21 : 5,
783  /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
784   ;))))
785  };
786  struct m16e_i64 {
787   BITFIELD_FIELD(unsigned int opcode : 5,
788  /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
789   BITFIELD_FIELD(unsigned int func : 3,
790   BITFIELD_FIELD(unsigned int imm : 8,
791   ;)))
792  };
793  /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
794  struct m16e_ri64 {
795   BITFIELD_FIELD(unsigned int opcode : 5,
796   BITFIELD_FIELD(unsigned int func : 3,
797   BITFIELD_FIELD(unsigned int ry : 3,
798  /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
799   BITFIELD_FIELD(unsigned int imm : 5,
800   ;))))
801  };
802  struct m16e_ri {
803  /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
804   BITFIELD_FIELD(unsigned int opcode : 5,
805   BITFIELD_FIELD(unsigned int rx : 3,
806   BITFIELD_FIELD(unsigned int imm : 8,
807   ;)))
808  /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
809  };
810  struct m16e_rri {
811   BITFIELD_FIELD(unsigned int opcode : 5,
812   BITFIELD_FIELD(unsigned int rx : 3,
813  /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
814   BITFIELD_FIELD(unsigned int ry : 3,
815   BITFIELD_FIELD(unsigned int imm : 5,
816   ;))))
817  };
818  /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
819  struct m16e_i8 {
820   BITFIELD_FIELD(unsigned int opcode : 5,
821   BITFIELD_FIELD(unsigned int func : 3,
822   BITFIELD_FIELD(unsigned int imm : 8,
823  /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
824   ;)))
825  };
826  union mips_instruction {
827   unsigned int word;
828  /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
829   unsigned short halfword[2];
830   unsigned char byte[4];
831   struct j_format j_format;
832   struct i_format i_format;
833  /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
834   struct u_format u_format;
835   struct c_format c_format;
836   struct r_format r_format;
837   struct p_format p_format;
838  /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
839   struct f_format f_format;
840   struct ma_format ma_format;
841   struct b_format b_format;
842   struct ps_format ps_format;
843  /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
844   struct v_format v_format;
845   struct fb_format fb_format;
846   struct fp0_format fp0_format;
847   struct mm_fp0_format mm_fp0_format;
848  /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
849   struct fp1_format fp1_format;
850   struct mm_fp1_format mm_fp1_format;
851   struct mm_fp2_format mm_fp2_format;
852   struct mm_fp3_format mm_fp3_format;
853  /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
854   struct mm_fp4_format mm_fp4_format;
855   struct mm_fp5_format mm_fp5_format;
856   struct fp6_format fp6_format;
857   struct mm_fp6_format mm_fp6_format;
858  /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
859   struct mm_i_format mm_i_format;
860   struct mm_m_format mm_m_format;
861   struct mm_x_format mm_x_format;
862   struct mm_b0_format mm_b0_format;
863  /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
864   struct mm_b1_format mm_b1_format;
865   struct mm16_m_format mm16_m_format ;
866   struct mm16_rb_format mm16_rb_format;
867   struct mm16_r3_format mm16_r3_format;
868  /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
869   struct mm16_r5_format mm16_r5_format;
870  };
871  union mips16e_instruction {
872   unsigned int full : 16;
873  /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
874   struct m16e_rr rr;
875   struct m16e_jal jal;
876   struct m16e_i64 i64;
877   struct m16e_ri64 ri64;
878  /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
879   struct m16e_ri ri;
880   struct m16e_rri rri;
881   struct m16e_i8 i8;
882  };
883  /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
884  #endif
885