blob: 7446223625ac0f0dd7b921f2e45ffe428d23c2f9 [file] [log] [blame]
Elliott Hughesabd62612013-11-08 11:45:48 -08001/****************************************************************************
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
Christopher Ferrisba8d4f42014-09-03 19:56:49 -070021#include <asm/bitfield.h>
Elliott Hughesabd62612013-11-08 11:45:48 -080022enum major_op {
Elliott Hughesabd62612013-11-08 11:45:48 -080023/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Tao Baod7db5942015-01-28 10:07:51 -080024 spec_op,
25 bcond_op,
26 j_op,
27 jal_op,
Elliott Hughesabd62612013-11-08 11:45:48 -080028/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Tao Baod7db5942015-01-28 10:07:51 -080029 beq_op,
30 bne_op,
31 blez_op,
32 bgtz_op,
Elliott Hughesabd62612013-11-08 11:45:48 -080033/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Tao Baod7db5942015-01-28 10:07:51 -080034 addi_op,
Christopher Ferris05d08e92016-02-04 13:16:38 -080035 cbcond0_op = addi_op,
Tao Baod7db5942015-01-28 10:07:51 -080036 addiu_op,
37 slti_op,
Elliott Hughesabd62612013-11-08 11:45:48 -080038/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Christopher Ferris05d08e92016-02-04 13:16:38 -080039 sltiu_op,
Tao Baod7db5942015-01-28 10:07:51 -080040 andi_op,
41 ori_op,
42 xori_op,
Tao Baod7db5942015-01-28 10:07:51 -080043/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Christopher Ferris05d08e92016-02-04 13:16:38 -080044 lui_op,
Tao Baod7db5942015-01-28 10:07:51 -080045 cop0_op,
46 cop1_op,
47 cop2_op,
Tao Baod7db5942015-01-28 10:07:51 -080048/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Christopher Ferris05d08e92016-02-04 13:16:38 -080049 cop1x_op,
Tao Baod7db5942015-01-28 10:07:51 -080050 beql_op,
51 bnel_op,
52 blezl_op,
Tao Baod7db5942015-01-28 10:07:51 -080053/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Christopher Ferris05d08e92016-02-04 13:16:38 -080054 bgtzl_op,
Tao Baod7db5942015-01-28 10:07:51 -080055 daddi_op,
Christopher Ferris05d08e92016-02-04 13:16:38 -080056 cbcond1_op = daddi_op,
Tao Baod7db5942015-01-28 10:07:51 -080057 daddiu_op,
Christopher Ferris05d08e92016-02-04 13:16:38 -080058/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Tao Baod7db5942015-01-28 10:07:51 -080059 ldl_op,
60 ldr_op,
Tao Baod7db5942015-01-28 10:07:51 -080061 spec2_op,
62 jalx_op,
Tao Baod7db5942015-01-28 10:07:51 -080063/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Christopher Ferris05d08e92016-02-04 13:16:38 -080064 mdmx_op,
65 msa_op = mdmx_op,
66 spec3_op,
Tao Baod7db5942015-01-28 10:07:51 -080067 lb_op,
Christopher Ferris05d08e92016-02-04 13:16:38 -080068/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Tao Baod7db5942015-01-28 10:07:51 -080069 lh_op,
70 lwl_op,
71 lw_op,
Tao Baod7db5942015-01-28 10:07:51 -080072 lbu_op,
Christopher Ferris05d08e92016-02-04 13:16:38 -080073/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Tao Baod7db5942015-01-28 10:07:51 -080074 lhu_op,
75 lwr_op,
76 lwu_op,
Tao Baod7db5942015-01-28 10:07:51 -080077 sb_op,
Christopher Ferris05d08e92016-02-04 13:16:38 -080078/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Tao Baod7db5942015-01-28 10:07:51 -080079 sh_op,
80 swl_op,
81 sw_op,
Tao Baod7db5942015-01-28 10:07:51 -080082 sdl_op,
Christopher Ferris05d08e92016-02-04 13:16:38 -080083/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Tao Baod7db5942015-01-28 10:07:51 -080084 sdr_op,
85 swr_op,
86 cache_op,
Tao Baod7db5942015-01-28 10:07:51 -080087 ll_op,
Christopher Ferris05d08e92016-02-04 13:16:38 -080088/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Tao Baod7db5942015-01-28 10:07:51 -080089 lwc1_op,
90 lwc2_op,
Christopher Ferris05d08e92016-02-04 13:16:38 -080091 bc6_op = lwc2_op,
Tao Baod7db5942015-01-28 10:07:51 -080092 pref_op,
93/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
94 lld_op,
95 ldc1_op,
96 ldc2_op,
Christopher Ferris05d08e92016-02-04 13:16:38 -080097 beqzcjic_op = ldc2_op,
Tao Baod7db5942015-01-28 10:07:51 -080098/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Christopher Ferris05d08e92016-02-04 13:16:38 -080099 ld_op,
Tao Baod7db5942015-01-28 10:07:51 -0800100 sc_op,
101 swc1_op,
102 swc2_op,
Tao Baod7db5942015-01-28 10:07:51 -0800103/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Christopher Ferris05d08e92016-02-04 13:16:38 -0800104 balc6_op = swc2_op,
105 major_3b_op,
Tao Baod7db5942015-01-28 10:07:51 -0800106 scd_op,
107 sdc1_op,
Elliott Hughesabd62612013-11-08 11:45:48 -0800108/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Christopher Ferris05d08e92016-02-04 13:16:38 -0800109 sdc2_op,
110 bnezcjialc_op = sdc2_op,
111 sd_op
Christopher Ferrisba8d4f42014-09-03 19:56:49 -0700112};
Christopher Ferris05d08e92016-02-04 13:16:38 -0800113/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Elliott Hughesabd62612013-11-08 11:45:48 -0800114enum spec_op {
Tao Baod7db5942015-01-28 10:07:51 -0800115 sll_op,
116 movc_op,
Tao Baod7db5942015-01-28 10:07:51 -0800117 srl_op,
Christopher Ferris05d08e92016-02-04 13:16:38 -0800118/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Tao Baod7db5942015-01-28 10:07:51 -0800119 sra_op,
120 sllv_op,
121 pmon_op,
Tao Baod7db5942015-01-28 10:07:51 -0800122 srlv_op,
Christopher Ferris05d08e92016-02-04 13:16:38 -0800123/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Tao Baod7db5942015-01-28 10:07:51 -0800124 srav_op,
125 jr_op,
126 jalr_op,
Tao Baod7db5942015-01-28 10:07:51 -0800127 movz_op,
Christopher Ferris05d08e92016-02-04 13:16:38 -0800128/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Tao Baod7db5942015-01-28 10:07:51 -0800129 movn_op,
130 syscall_op,
131 break_op,
Tao Baod7db5942015-01-28 10:07:51 -0800132 spim_op,
Christopher Ferris05d08e92016-02-04 13:16:38 -0800133/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Tao Baod7db5942015-01-28 10:07:51 -0800134 sync_op,
135 mfhi_op,
136 mthi_op,
Tao Baod7db5942015-01-28 10:07:51 -0800137 mflo_op,
Christopher Ferris05d08e92016-02-04 13:16:38 -0800138/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Tao Baod7db5942015-01-28 10:07:51 -0800139 mtlo_op,
140 dsllv_op,
141 spec2_unused_op,
Tao Baod7db5942015-01-28 10:07:51 -0800142 dsrlv_op,
Christopher Ferris05d08e92016-02-04 13:16:38 -0800143/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Tao Baod7db5942015-01-28 10:07:51 -0800144 dsrav_op,
145 mult_op,
146 multu_op,
Tao Baod7db5942015-01-28 10:07:51 -0800147 div_op,
Christopher Ferris05d08e92016-02-04 13:16:38 -0800148/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Tao Baod7db5942015-01-28 10:07:51 -0800149 divu_op,
150 dmult_op,
151 dmultu_op,
Tao Baod7db5942015-01-28 10:07:51 -0800152 ddiv_op,
Christopher Ferris05d08e92016-02-04 13:16:38 -0800153/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Tao Baod7db5942015-01-28 10:07:51 -0800154 ddivu_op,
155 add_op,
156 addu_op,
Tao Baod7db5942015-01-28 10:07:51 -0800157 sub_op,
Christopher Ferris05d08e92016-02-04 13:16:38 -0800158/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Tao Baod7db5942015-01-28 10:07:51 -0800159 subu_op,
160 and_op,
161 or_op,
Tao Baod7db5942015-01-28 10:07:51 -0800162 xor_op,
Christopher Ferris05d08e92016-02-04 13:16:38 -0800163/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Tao Baod7db5942015-01-28 10:07:51 -0800164 nor_op,
165 spec3_unused_op,
166 spec4_unused_op,
Tao Baod7db5942015-01-28 10:07:51 -0800167 slt_op,
Christopher Ferris05d08e92016-02-04 13:16:38 -0800168/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Tao Baod7db5942015-01-28 10:07:51 -0800169 sltu_op,
170 dadd_op,
171 daddu_op,
Tao Baod7db5942015-01-28 10:07:51 -0800172 dsub_op,
Christopher Ferris05d08e92016-02-04 13:16:38 -0800173/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Tao Baod7db5942015-01-28 10:07:51 -0800174 dsubu_op,
175 tge_op,
176 tgeu_op,
Tao Baod7db5942015-01-28 10:07:51 -0800177 tlt_op,
Christopher Ferris05d08e92016-02-04 13:16:38 -0800178/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Tao Baod7db5942015-01-28 10:07:51 -0800179 tltu_op,
180 teq_op,
181 spec5_unused_op,
Tao Baod7db5942015-01-28 10:07:51 -0800182 tne_op,
Christopher Ferris05d08e92016-02-04 13:16:38 -0800183/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Tao Baod7db5942015-01-28 10:07:51 -0800184 spec6_unused_op,
185 dsll_op,
186 spec7_unused_op,
Tao Baod7db5942015-01-28 10:07:51 -0800187 dsrl_op,
Christopher Ferris05d08e92016-02-04 13:16:38 -0800188/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Tao Baod7db5942015-01-28 10:07:51 -0800189 dsra_op,
190 dsll32_op,
191 spec8_unused_op,
Tao Baod7db5942015-01-28 10:07:51 -0800192 dsrl32_op,
Christopher Ferris05d08e92016-02-04 13:16:38 -0800193/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Tao Baod7db5942015-01-28 10:07:51 -0800194 dsra32_op
Elliott Hughesabd62612013-11-08 11:45:48 -0800195};
196enum spec2_op {
Tao Baod7db5942015-01-28 10:07:51 -0800197 madd_op,
Christopher Ferris05d08e92016-02-04 13:16:38 -0800198/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Tao Baod7db5942015-01-28 10:07:51 -0800199 maddu_op,
200 mul_op,
201 spec2_3_unused_op,
Tao Baod7db5942015-01-28 10:07:51 -0800202 msub_op,
Christopher Ferris05d08e92016-02-04 13:16:38 -0800203/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Tao Baod7db5942015-01-28 10:07:51 -0800204 msubu_op,
205 clz_op = 0x20,
206 clo_op,
Tao Baod7db5942015-01-28 10:07:51 -0800207 dclz_op = 0x24,
Christopher Ferris05d08e92016-02-04 13:16:38 -0800208/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Tao Baod7db5942015-01-28 10:07:51 -0800209 dclo_op,
210 sdbpp_op = 0x3f
Elliott Hughesabd62612013-11-08 11:45:48 -0800211};
212enum spec3_op {
Christopher Ferris05d08e92016-02-04 13:16:38 -0800213/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Tao Baod7db5942015-01-28 10:07:51 -0800214 ext_op,
215 dextm_op,
216 dextu_op,
Tao Baod7db5942015-01-28 10:07:51 -0800217 dext_op,
Christopher Ferris05d08e92016-02-04 13:16:38 -0800218/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Tao Baod7db5942015-01-28 10:07:51 -0800219 ins_op,
220 dinsm_op,
221 dinsu_op,
Tao Baod7db5942015-01-28 10:07:51 -0800222 dins_op,
Christopher Ferris05d08e92016-02-04 13:16:38 -0800223/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Tao Baod7db5942015-01-28 10:07:51 -0800224 yield_op = 0x09,
225 lx_op = 0x0a,
226 lwle_op = 0x19,
Tao Baod7db5942015-01-28 10:07:51 -0800227 lwre_op = 0x1a,
Christopher Ferris05d08e92016-02-04 13:16:38 -0800228/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Tao Baod7db5942015-01-28 10:07:51 -0800229 cachee_op = 0x1b,
230 sbe_op = 0x1c,
231 she_op = 0x1d,
Tao Baod7db5942015-01-28 10:07:51 -0800232 sce_op = 0x1e,
Christopher Ferris05d08e92016-02-04 13:16:38 -0800233/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Tao Baod7db5942015-01-28 10:07:51 -0800234 swe_op = 0x1f,
235 bshfl_op = 0x20,
236 swle_op = 0x21,
Tao Baod7db5942015-01-28 10:07:51 -0800237 swre_op = 0x22,
Christopher Ferris05d08e92016-02-04 13:16:38 -0800238/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Tao Baod7db5942015-01-28 10:07:51 -0800239 prefe_op = 0x23,
240 dbshfl_op = 0x24,
Christopher Ferris05d08e92016-02-04 13:16:38 -0800241 cache6_op = 0x25,
242 sc6_op = 0x26,
Tao Baod7db5942015-01-28 10:07:51 -0800243/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Christopher Ferris05d08e92016-02-04 13:16:38 -0800244 scd6_op = 0x27,
245 lbue_op = 0x28,
Tao Baod7db5942015-01-28 10:07:51 -0800246 lhue_op = 0x29,
247 lbe_op = 0x2c,
Christopher Ferris05d08e92016-02-04 13:16:38 -0800248/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Tao Baod7db5942015-01-28 10:07:51 -0800249 lhe_op = 0x2d,
250 lle_op = 0x2e,
Tao Baod7db5942015-01-28 10:07:51 -0800251 lwe_op = 0x2f,
Christopher Ferris05d08e92016-02-04 13:16:38 -0800252 pref6_op = 0x35,
253/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
254 ll6_op = 0x36,
255 lld6_op = 0x37,
Tao Baod7db5942015-01-28 10:07:51 -0800256 rdhwr_op = 0x3b
Elliott Hughesabd62612013-11-08 11:45:48 -0800257};
Elliott Hughesabd62612013-11-08 11:45:48 -0800258/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Christopher Ferris05d08e92016-02-04 13:16:38 -0800259enum rt_op {
Tao Baod7db5942015-01-28 10:07:51 -0800260 bltz_op,
261 bgez_op,
262 bltzl_op,
Elliott Hughesabd62612013-11-08 11:45:48 -0800263/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Christopher Ferris05d08e92016-02-04 13:16:38 -0800264 bgezl_op,
Tao Baod7db5942015-01-28 10:07:51 -0800265 spimi_op,
266 unused_rt_op_0x05,
267 unused_rt_op_0x06,
Tao Baod7db5942015-01-28 10:07:51 -0800268/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Christopher Ferris05d08e92016-02-04 13:16:38 -0800269 unused_rt_op_0x07,
Tao Baod7db5942015-01-28 10:07:51 -0800270 tgei_op,
271 tgeiu_op,
272 tlti_op,
Tao Baod7db5942015-01-28 10:07:51 -0800273/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Christopher Ferris05d08e92016-02-04 13:16:38 -0800274 tltiu_op,
Tao Baod7db5942015-01-28 10:07:51 -0800275 teqi_op,
276 unused_0x0d_rt_op,
277 tnei_op,
Tao Baod7db5942015-01-28 10:07:51 -0800278/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Christopher Ferris05d08e92016-02-04 13:16:38 -0800279 unused_0x0f_rt_op,
Tao Baod7db5942015-01-28 10:07:51 -0800280 bltzal_op,
281 bgezal_op,
282 bltzall_op,
Tao Baod7db5942015-01-28 10:07:51 -0800283/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Christopher Ferris05d08e92016-02-04 13:16:38 -0800284 bgezall_op,
Tao Baod7db5942015-01-28 10:07:51 -0800285 rt_op_0x14,
286 rt_op_0x15,
287 rt_op_0x16,
Tao Baod7db5942015-01-28 10:07:51 -0800288/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Christopher Ferris05d08e92016-02-04 13:16:38 -0800289 rt_op_0x17,
Tao Baod7db5942015-01-28 10:07:51 -0800290 rt_op_0x18,
291 rt_op_0x19,
292 rt_op_0x1a,
Tao Baod7db5942015-01-28 10:07:51 -0800293/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Christopher Ferris05d08e92016-02-04 13:16:38 -0800294 rt_op_0x1b,
Tao Baod7db5942015-01-28 10:07:51 -0800295 bposge32_op,
296 rt_op_0x1d,
297 rt_op_0x1e,
Tao Baod7db5942015-01-28 10:07:51 -0800298/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Christopher Ferris05d08e92016-02-04 13:16:38 -0800299 rt_op_0x1f
Elliott Hughesabd62612013-11-08 11:45:48 -0800300};
301enum cop_op {
Tao Baod7db5942015-01-28 10:07:51 -0800302 mfc_op = 0x00,
Elliott Hughesabd62612013-11-08 11:45:48 -0800303/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Christopher Ferris05d08e92016-02-04 13:16:38 -0800304 dmfc_op = 0x01,
Tao Baod7db5942015-01-28 10:07:51 -0800305 cfc_op = 0x02,
Christopher Ferris05d08e92016-02-04 13:16:38 -0800306 mfhc0_op = 0x02,
Tao Baod7db5942015-01-28 10:07:51 -0800307 mfhc_op = 0x03,
Christopher Ferris05d08e92016-02-04 13:16:38 -0800308/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Tao Baod7db5942015-01-28 10:07:51 -0800309 mtc_op = 0x04,
310 dmtc_op = 0x05,
Tao Baod7db5942015-01-28 10:07:51 -0800311 ctc_op = 0x06,
Christopher Ferris05d08e92016-02-04 13:16:38 -0800312 mthc0_op = 0x06,
313/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Tao Baod7db5942015-01-28 10:07:51 -0800314 mthc_op = 0x07,
315 bc_op = 0x08,
Christopher Ferris05d08e92016-02-04 13:16:38 -0800316 bc1eqz_op = 0x09,
317 bc1nez_op = 0x0d,
Tao Baod7db5942015-01-28 10:07:51 -0800318/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Christopher Ferris05d08e92016-02-04 13:16:38 -0800319 cop_op = 0x10,
Tao Baod7db5942015-01-28 10:07:51 -0800320 copm_op = 0x18
Elliott Hughesabd62612013-11-08 11:45:48 -0800321};
322enum bcop_op {
Elliott Hughesabd62612013-11-08 11:45:48 -0800323/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Christopher Ferris05d08e92016-02-04 13:16:38 -0800324 bcf_op,
Tao Baod7db5942015-01-28 10:07:51 -0800325 bct_op,
326 bcfl_op,
327 bctl_op
Tao Baod7db5942015-01-28 10:07:51 -0800328/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Christopher Ferris05d08e92016-02-04 13:16:38 -0800329};
Elliott Hughesabd62612013-11-08 11:45:48 -0800330enum cop0_coi_func {
Tao Baod7db5942015-01-28 10:07:51 -0800331 tlbr_op = 0x01,
332 tlbwi_op = 0x02,
Elliott Hughesabd62612013-11-08 11:45:48 -0800333/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Christopher Ferris05d08e92016-02-04 13:16:38 -0800334 tlbwr_op = 0x06,
Tao Baod7db5942015-01-28 10:07:51 -0800335 tlbp_op = 0x08,
336 rfe_op = 0x10,
337 eret_op = 0x18,
Tao Baod7db5942015-01-28 10:07:51 -0800338/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Christopher Ferris05d08e92016-02-04 13:16:38 -0800339 wait_op = 0x20,
Elliott Hughesabd62612013-11-08 11:45:48 -0800340};
Christopher Ferrisba8d4f42014-09-03 19:56:49 -0700341enum cop0_com_func {
Tao Baod7db5942015-01-28 10:07:51 -0800342 tlbr1_op = 0x01,
Elliott Hughesabd62612013-11-08 11:45:48 -0800343/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Christopher Ferris05d08e92016-02-04 13:16:38 -0800344 tlbw_op = 0x02,
Tao Baod7db5942015-01-28 10:07:51 -0800345 tlbp1_op = 0x08,
346 dctr_op = 0x09,
347 dctw_op = 0x0a
Tao Baod7db5942015-01-28 10:07:51 -0800348/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Christopher Ferris05d08e92016-02-04 13:16:38 -0800349};
Christopher Ferris38062f92014-07-09 15:33:25 -0700350enum cop1_fmt {
Tao Baod7db5942015-01-28 10:07:51 -0800351 s_fmt,
352 d_fmt,
Elliott Hughesabd62612013-11-08 11:45:48 -0800353/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Christopher Ferris05d08e92016-02-04 13:16:38 -0800354 e_fmt,
Tao Baod7db5942015-01-28 10:07:51 -0800355 q_fmt,
356 w_fmt,
357 l_fmt
Tao Baod7db5942015-01-28 10:07:51 -0800358/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Christopher Ferris05d08e92016-02-04 13:16:38 -0800359};
Christopher Ferris38062f92014-07-09 15:33:25 -0700360enum cop1_sdw_func {
Tao Baod7db5942015-01-28 10:07:51 -0800361 fadd_op = 0x00,
362 fsub_op = 0x01,
Elliott Hughesabd62612013-11-08 11:45:48 -0800363/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Christopher Ferris05d08e92016-02-04 13:16:38 -0800364 fmul_op = 0x02,
Tao Baod7db5942015-01-28 10:07:51 -0800365 fdiv_op = 0x03,
366 fsqrt_op = 0x04,
367 fabs_op = 0x05,
Elliott Hughesabd62612013-11-08 11:45:48 -0800368/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Christopher Ferris05d08e92016-02-04 13:16:38 -0800369 fmov_op = 0x06,
Tao Baod7db5942015-01-28 10:07:51 -0800370 fneg_op = 0x07,
371 froundl_op = 0x08,
372 ftruncl_op = 0x09,
Elliott Hughesabd62612013-11-08 11:45:48 -0800373/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Christopher Ferris05d08e92016-02-04 13:16:38 -0800374 fceill_op = 0x0a,
Tao Baod7db5942015-01-28 10:07:51 -0800375 ffloorl_op = 0x0b,
376 fround_op = 0x0c,
377 ftrunc_op = 0x0d,
Tao Baod7db5942015-01-28 10:07:51 -0800378/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Christopher Ferris05d08e92016-02-04 13:16:38 -0800379 fceil_op = 0x0e,
Tao Baod7db5942015-01-28 10:07:51 -0800380 ffloor_op = 0x0f,
381 fmovc_op = 0x11,
382 fmovz_op = 0x12,
Tao Baod7db5942015-01-28 10:07:51 -0800383/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Christopher Ferris05d08e92016-02-04 13:16:38 -0800384 fmovn_op = 0x13,
385 fseleqz_op = 0x14,
Tao Baod7db5942015-01-28 10:07:51 -0800386 frecip_op = 0x15,
387 frsqrt_op = 0x16,
Christopher Ferris05d08e92016-02-04 13:16:38 -0800388/* 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,
Tao Baod7db5942015-01-28 10:07:51 -0800400 fcvts_op = 0x20,
401 fcvtd_op = 0x21,
Tao Baod7db5942015-01-28 10:07:51 -0800402 fcvte_op = 0x22,
Christopher Ferris05d08e92016-02-04 13:16:38 -0800403/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Tao Baod7db5942015-01-28 10:07:51 -0800404 fcvtw_op = 0x24,
405 fcvtl_op = 0x25,
406 fcmp_op = 0x30
Christopher Ferrisba8d4f42014-09-03 19:56:49 -0700407};
Christopher Ferris05d08e92016-02-04 13:16:38 -0800408/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Elliott Hughesabd62612013-11-08 11:45:48 -0800409enum cop1x_func {
Tao Baod7db5942015-01-28 10:07:51 -0800410 lwxc1_op = 0x00,
411 ldxc1_op = 0x01,
Tao Baod7db5942015-01-28 10:07:51 -0800412 swxc1_op = 0x08,
Christopher Ferris05d08e92016-02-04 13:16:38 -0800413/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Tao Baod7db5942015-01-28 10:07:51 -0800414 sdxc1_op = 0x09,
415 pfetch_op = 0x0f,
416 madd_s_op = 0x20,
Tao Baod7db5942015-01-28 10:07:51 -0800417 madd_d_op = 0x21,
Christopher Ferris05d08e92016-02-04 13:16:38 -0800418/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Tao Baod7db5942015-01-28 10:07:51 -0800419 madd_e_op = 0x22,
420 msub_s_op = 0x28,
421 msub_d_op = 0x29,
Tao Baod7db5942015-01-28 10:07:51 -0800422 msub_e_op = 0x2a,
Christopher Ferris05d08e92016-02-04 13:16:38 -0800423/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Tao Baod7db5942015-01-28 10:07:51 -0800424 nmadd_s_op = 0x30,
425 nmadd_d_op = 0x31,
426 nmadd_e_op = 0x32,
Tao Baod7db5942015-01-28 10:07:51 -0800427 nmsub_s_op = 0x38,
Christopher Ferris05d08e92016-02-04 13:16:38 -0800428/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Tao Baod7db5942015-01-28 10:07:51 -0800429 nmsub_d_op = 0x39,
430 nmsub_e_op = 0x3a
Elliott Hughesabd62612013-11-08 11:45:48 -0800431};
Christopher Ferrisba8d4f42014-09-03 19:56:49 -0700432enum mad_func {
Christopher Ferris05d08e92016-02-04 13:16:38 -0800433/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Tao Baod7db5942015-01-28 10:07:51 -0800434 madd_fp_op = 0x08,
435 msub_fp_op = 0x0a,
436 nmadd_fp_op = 0x0c,
Tao Baod7db5942015-01-28 10:07:51 -0800437 nmsub_fp_op = 0x0e
Christopher Ferris05d08e92016-02-04 13:16:38 -0800438/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Elliott Hughesabd62612013-11-08 11:45:48 -0800439};
Christopher Ferrisba8d4f42014-09-03 19:56:49 -0700440enum lx_func {
Tao Baod7db5942015-01-28 10:07:51 -0800441 lwx_op = 0x00,
Tao Baod7db5942015-01-28 10:07:51 -0800442 lhx_op = 0x04,
Christopher Ferris05d08e92016-02-04 13:16:38 -0800443/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Tao Baod7db5942015-01-28 10:07:51 -0800444 lbux_op = 0x06,
445 ldx_op = 0x08,
446 lwux_op = 0x10,
Tao Baod7db5942015-01-28 10:07:51 -0800447 lhux_op = 0x14,
Christopher Ferris05d08e92016-02-04 13:16:38 -0800448/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Tao Baod7db5942015-01-28 10:07:51 -0800449 lbx_op = 0x16,
Christopher Ferrisba8d4f42014-09-03 19:56:49 -0700450};
451enum bshfl_func {
Tao Baod7db5942015-01-28 10:07:51 -0800452 wsbh_op = 0x2,
Christopher Ferris05d08e92016-02-04 13:16:38 -0800453/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Tao Baod7db5942015-01-28 10:07:51 -0800454 dshd_op = 0x5,
455 seb_op = 0x10,
456 seh_op = 0x18,
Christopher Ferris05d08e92016-02-04 13:16:38 -0800457};
Tao Baod7db5942015-01-28 10:07:51 -0800458/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Christopher Ferris05d08e92016-02-04 13:16:38 -0800459enum 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,
Christopher Ferrisba8d4f42014-09-03 19:56:49 -0700470};
Christopher Ferris38062f92014-07-09 15:33:25 -0700471enum mm_major_op {
Tao Baod7db5942015-01-28 10:07:51 -0800472 mm_pool32a_op,
Christopher Ferrisba8d4f42014-09-03 19:56:49 -0700473/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Christopher Ferris05d08e92016-02-04 13:16:38 -0800474 mm_pool16a_op,
Tao Baod7db5942015-01-28 10:07:51 -0800475 mm_lbu16_op,
476 mm_move16_op,
477 mm_addi32_op,
Christopher Ferrisba8d4f42014-09-03 19:56:49 -0700478/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Christopher Ferris05d08e92016-02-04 13:16:38 -0800479 mm_lbu32_op,
Tao Baod7db5942015-01-28 10:07:51 -0800480 mm_sb32_op,
481 mm_lb32_op,
482 mm_pool32b_op,
Christopher Ferrisba8d4f42014-09-03 19:56:49 -0700483/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Christopher Ferris05d08e92016-02-04 13:16:38 -0800484 mm_pool16b_op,
Tao Baod7db5942015-01-28 10:07:51 -0800485 mm_lhu16_op,
486 mm_andi16_op,
487 mm_addiu32_op,
Christopher Ferrisba8d4f42014-09-03 19:56:49 -0700488/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Christopher Ferris05d08e92016-02-04 13:16:38 -0800489 mm_lhu32_op,
Tao Baod7db5942015-01-28 10:07:51 -0800490 mm_sh32_op,
491 mm_lh32_op,
492 mm_pool32i_op,
Christopher Ferrisba8d4f42014-09-03 19:56:49 -0700493/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Christopher Ferris05d08e92016-02-04 13:16:38 -0800494 mm_pool16c_op,
Tao Baod7db5942015-01-28 10:07:51 -0800495 mm_lwsp16_op,
496 mm_pool16d_op,
497 mm_ori32_op,
Tao Baod7db5942015-01-28 10:07:51 -0800498/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Christopher Ferris05d08e92016-02-04 13:16:38 -0800499 mm_pool32f_op,
Tao Baod7db5942015-01-28 10:07:51 -0800500 mm_reserved1_op,
501 mm_reserved2_op,
502 mm_pool32c_op,
Tao Baod7db5942015-01-28 10:07:51 -0800503/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Christopher Ferris05d08e92016-02-04 13:16:38 -0800504 mm_lwgp16_op,
Tao Baod7db5942015-01-28 10:07:51 -0800505 mm_lw16_op,
506 mm_pool16e_op,
507 mm_xori32_op,
Tao Baod7db5942015-01-28 10:07:51 -0800508/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Christopher Ferris05d08e92016-02-04 13:16:38 -0800509 mm_jals32_op,
Tao Baod7db5942015-01-28 10:07:51 -0800510 mm_addiupc_op,
511 mm_reserved3_op,
512 mm_reserved4_op,
Tao Baod7db5942015-01-28 10:07:51 -0800513/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Christopher Ferris05d08e92016-02-04 13:16:38 -0800514 mm_pool16f_op,
Tao Baod7db5942015-01-28 10:07:51 -0800515 mm_sb16_op,
516 mm_beqz16_op,
517 mm_slti32_op,
Tao Baod7db5942015-01-28 10:07:51 -0800518/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Christopher Ferris05d08e92016-02-04 13:16:38 -0800519 mm_beq32_op,
Tao Baod7db5942015-01-28 10:07:51 -0800520 mm_swc132_op,
521 mm_lwc132_op,
522 mm_reserved5_op,
Tao Baod7db5942015-01-28 10:07:51 -0800523/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Christopher Ferris05d08e92016-02-04 13:16:38 -0800524 mm_reserved6_op,
Tao Baod7db5942015-01-28 10:07:51 -0800525 mm_sh16_op,
526 mm_bnez16_op,
527 mm_sltiu32_op,
Tao Baod7db5942015-01-28 10:07:51 -0800528/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Christopher Ferris05d08e92016-02-04 13:16:38 -0800529 mm_bne32_op,
Tao Baod7db5942015-01-28 10:07:51 -0800530 mm_sdc132_op,
531 mm_ldc132_op,
532 mm_reserved7_op,
Tao Baod7db5942015-01-28 10:07:51 -0800533/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Christopher Ferris05d08e92016-02-04 13:16:38 -0800534 mm_reserved8_op,
Tao Baod7db5942015-01-28 10:07:51 -0800535 mm_swsp16_op,
536 mm_b16_op,
537 mm_andi32_op,
Tao Baod7db5942015-01-28 10:07:51 -0800538/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Christopher Ferris05d08e92016-02-04 13:16:38 -0800539 mm_j32_op,
Tao Baod7db5942015-01-28 10:07:51 -0800540 mm_sd32_op,
541 mm_ld32_op,
542 mm_reserved11_op,
Tao Baod7db5942015-01-28 10:07:51 -0800543/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Christopher Ferris05d08e92016-02-04 13:16:38 -0800544 mm_reserved12_op,
Tao Baod7db5942015-01-28 10:07:51 -0800545 mm_sw16_op,
546 mm_li16_op,
547 mm_jalx32_op,
Tao Baod7db5942015-01-28 10:07:51 -0800548/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Christopher Ferris05d08e92016-02-04 13:16:38 -0800549 mm_jal32_op,
Tao Baod7db5942015-01-28 10:07:51 -0800550 mm_sw32_op,
551 mm_lw32_op,
Elliott Hughesabd62612013-11-08 11:45:48 -0800552};
Christopher Ferrisba8d4f42014-09-03 19:56:49 -0700553/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Christopher Ferris05d08e92016-02-04 13:16:38 -0800554enum mm_32i_minor_op {
Tao Baod7db5942015-01-28 10:07:51 -0800555 mm_bltz_op,
556 mm_bltzal_op,
557 mm_bgez_op,
Christopher Ferrisba8d4f42014-09-03 19:56:49 -0700558/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Christopher Ferris05d08e92016-02-04 13:16:38 -0800559 mm_bgezal_op,
Tao Baod7db5942015-01-28 10:07:51 -0800560 mm_blez_op,
561 mm_bnezc_op,
562 mm_bgtz_op,
Tao Baod7db5942015-01-28 10:07:51 -0800563/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Christopher Ferris05d08e92016-02-04 13:16:38 -0800564 mm_beqzc_op,
Tao Baod7db5942015-01-28 10:07:51 -0800565 mm_tlti_op,
566 mm_tgei_op,
567 mm_tltiu_op,
Tao Baod7db5942015-01-28 10:07:51 -0800568/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Christopher Ferris05d08e92016-02-04 13:16:38 -0800569 mm_tgeiu_op,
Tao Baod7db5942015-01-28 10:07:51 -0800570 mm_tnei_op,
571 mm_lui_op,
572 mm_teqi_op,
Tao Baod7db5942015-01-28 10:07:51 -0800573/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Christopher Ferris05d08e92016-02-04 13:16:38 -0800574 mm_reserved13_op,
Tao Baod7db5942015-01-28 10:07:51 -0800575 mm_synci_op,
576 mm_bltzals_op,
577 mm_reserved14_op,
Tao Baod7db5942015-01-28 10:07:51 -0800578/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Christopher Ferris05d08e92016-02-04 13:16:38 -0800579 mm_bgezals_op,
Tao Baod7db5942015-01-28 10:07:51 -0800580 mm_bc2f_op,
581 mm_bc2t_op,
582 mm_reserved15_op,
Tao Baod7db5942015-01-28 10:07:51 -0800583/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Christopher Ferris05d08e92016-02-04 13:16:38 -0800584 mm_reserved16_op,
Tao Baod7db5942015-01-28 10:07:51 -0800585 mm_reserved17_op,
586 mm_reserved18_op,
587 mm_bposge64_op,
Tao Baod7db5942015-01-28 10:07:51 -0800588/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Christopher Ferris05d08e92016-02-04 13:16:38 -0800589 mm_bposge32_op,
Tao Baod7db5942015-01-28 10:07:51 -0800590 mm_bc1f_op,
591 mm_bc1t_op,
592 mm_reserved19_op,
Tao Baod7db5942015-01-28 10:07:51 -0800593/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Christopher Ferris05d08e92016-02-04 13:16:38 -0800594 mm_reserved20_op,
Tao Baod7db5942015-01-28 10:07:51 -0800595 mm_bc1any2f_op,
596 mm_bc1any2t_op,
597 mm_bc1any4f_op,
Tao Baod7db5942015-01-28 10:07:51 -0800598/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Christopher Ferris05d08e92016-02-04 13:16:38 -0800599 mm_bc1any4t_op,
Christopher Ferris38062f92014-07-09 15:33:25 -0700600};
Elliott Hughesabd62612013-11-08 11:45:48 -0800601enum mm_32a_minor_op {
Tao Baod7db5942015-01-28 10:07:51 -0800602 mm_sll32_op = 0x000,
Elliott Hughesabd62612013-11-08 11:45:48 -0800603/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Christopher Ferris05d08e92016-02-04 13:16:38 -0800604 mm_ins_op = 0x00c,
Tao Baod7db5942015-01-28 10:07:51 -0800605 mm_sllv32_op = 0x010,
606 mm_ext_op = 0x02c,
607 mm_pool32axf_op = 0x03c,
Elliott Hughesabd62612013-11-08 11:45:48 -0800608/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Christopher Ferris05d08e92016-02-04 13:16:38 -0800609 mm_srl32_op = 0x040,
Tao Baod7db5942015-01-28 10:07:51 -0800610 mm_sra_op = 0x080,
611 mm_srlv32_op = 0x090,
612 mm_rotr_op = 0x0c0,
Elliott Hughesabd62612013-11-08 11:45:48 -0800613/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Christopher Ferris05d08e92016-02-04 13:16:38 -0800614 mm_lwxs_op = 0x118,
Tao Baod7db5942015-01-28 10:07:51 -0800615 mm_addu32_op = 0x150,
616 mm_subu32_op = 0x1d0,
617 mm_wsbh_op = 0x1ec,
Christopher Ferrisba8d4f42014-09-03 19:56:49 -0700618/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Christopher Ferris05d08e92016-02-04 13:16:38 -0800619 mm_mul_op = 0x210,
Tao Baod7db5942015-01-28 10:07:51 -0800620 mm_and_op = 0x250,
621 mm_or32_op = 0x290,
622 mm_xor32_op = 0x310,
Elliott Hughesabd62612013-11-08 11:45:48 -0800623/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Christopher Ferris05d08e92016-02-04 13:16:38 -0800624 mm_slt_op = 0x350,
Tao Baod7db5942015-01-28 10:07:51 -0800625 mm_sltu_op = 0x390,
Christopher Ferrisba8d4f42014-09-03 19:56:49 -0700626};
Christopher Ferris38062f92014-07-09 15:33:25 -0700627enum mm_32b_func {
Elliott Hughesabd62612013-11-08 11:45:48 -0800628/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Christopher Ferris05d08e92016-02-04 13:16:38 -0800629 mm_lwc2_func = 0x0,
Tao Baod7db5942015-01-28 10:07:51 -0800630 mm_lwp_func = 0x1,
631 mm_ldc2_func = 0x2,
632 mm_ldp_func = 0x4,
Elliott Hughesabd62612013-11-08 11:45:48 -0800633/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Christopher Ferris05d08e92016-02-04 13:16:38 -0800634 mm_lwm32_func = 0x5,
Tao Baod7db5942015-01-28 10:07:51 -0800635 mm_cache_func = 0x6,
636 mm_ldm_func = 0x7,
637 mm_swc2_func = 0x8,
Elliott Hughesabd62612013-11-08 11:45:48 -0800638/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Christopher Ferris05d08e92016-02-04 13:16:38 -0800639 mm_swp_func = 0x9,
Tao Baod7db5942015-01-28 10:07:51 -0800640 mm_sdc2_func = 0xa,
641 mm_sdp_func = 0xc,
642 mm_swm32_func = 0xd,
Tao Baod7db5942015-01-28 10:07:51 -0800643/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Christopher Ferris05d08e92016-02-04 13:16:38 -0800644 mm_sdm_func = 0xf,
Elliott Hughesabd62612013-11-08 11:45:48 -0800645};
Christopher Ferrisba8d4f42014-09-03 19:56:49 -0700646enum mm_32c_func {
Tao Baod7db5942015-01-28 10:07:51 -0800647 mm_pref_func = 0x2,
Elliott Hughesabd62612013-11-08 11:45:48 -0800648/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Christopher Ferris05d08e92016-02-04 13:16:38 -0800649 mm_ll_func = 0x3,
Tao Baod7db5942015-01-28 10:07:51 -0800650 mm_swr_func = 0x9,
651 mm_sc_func = 0xb,
652 mm_lwu_func = 0xe,
Tao Baod7db5942015-01-28 10:07:51 -0800653/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Christopher Ferris05d08e92016-02-04 13:16:38 -0800654};
Elliott Hughesabd62612013-11-08 11:45:48 -0800655enum mm_32axf_minor_op {
Tao Baod7db5942015-01-28 10:07:51 -0800656 mm_mfc0_op = 0x003,
657 mm_mtc0_op = 0x00b,
Elliott Hughesabd62612013-11-08 11:45:48 -0800658/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Christopher Ferris05d08e92016-02-04 13:16:38 -0800659 mm_tlbp_op = 0x00d,
Tao Baod7db5942015-01-28 10:07:51 -0800660 mm_mfhi32_op = 0x035,
661 mm_jalr_op = 0x03c,
662 mm_tlbr_op = 0x04d,
Christopher Ferrisba8d4f42014-09-03 19:56:49 -0700663/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Christopher Ferris05d08e92016-02-04 13:16:38 -0800664 mm_mflo32_op = 0x075,
Tao Baod7db5942015-01-28 10:07:51 -0800665 mm_jalrhb_op = 0x07c,
666 mm_tlbwi_op = 0x08d,
667 mm_tlbwr_op = 0x0cd,
Christopher Ferrisba8d4f42014-09-03 19:56:49 -0700668/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Christopher Ferris05d08e92016-02-04 13:16:38 -0800669 mm_jalrs_op = 0x13c,
Tao Baod7db5942015-01-28 10:07:51 -0800670 mm_jalrshb_op = 0x17c,
671 mm_sync_op = 0x1ad,
672 mm_syscall_op = 0x22d,
Elliott Hughesabd62612013-11-08 11:45:48 -0800673/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Christopher Ferris05d08e92016-02-04 13:16:38 -0800674 mm_wait_op = 0x24d,
Tao Baod7db5942015-01-28 10:07:51 -0800675 mm_eret_op = 0x3cd,
676 mm_divu_op = 0x5dc,
Christopher Ferrisba8d4f42014-09-03 19:56:49 -0700677};
Christopher Ferrisba8d4f42014-09-03 19:56:49 -0700678/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Christopher Ferris05d08e92016-02-04 13:16:38 -0800679enum mm_32f_minor_op {
Tao Baod7db5942015-01-28 10:07:51 -0800680 mm_32f_00_op = 0x00,
681 mm_32f_01_op = 0x01,
682 mm_32f_02_op = 0x02,
Christopher Ferrisba8d4f42014-09-03 19:56:49 -0700683/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Christopher Ferris05d08e92016-02-04 13:16:38 -0800684 mm_32f_10_op = 0x08,
Tao Baod7db5942015-01-28 10:07:51 -0800685 mm_32f_11_op = 0x09,
686 mm_32f_12_op = 0x0a,
687 mm_32f_20_op = 0x10,
Christopher Ferrisba8d4f42014-09-03 19:56:49 -0700688/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Christopher Ferris05d08e92016-02-04 13:16:38 -0800689 mm_32f_30_op = 0x18,
Tao Baod7db5942015-01-28 10:07:51 -0800690 mm_32f_40_op = 0x20,
691 mm_32f_41_op = 0x21,
692 mm_32f_42_op = 0x22,
Christopher Ferrisba8d4f42014-09-03 19:56:49 -0700693/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Christopher Ferris05d08e92016-02-04 13:16:38 -0800694 mm_32f_50_op = 0x28,
Tao Baod7db5942015-01-28 10:07:51 -0800695 mm_32f_51_op = 0x29,
696 mm_32f_52_op = 0x2a,
697 mm_32f_60_op = 0x30,
Christopher Ferrisba8d4f42014-09-03 19:56:49 -0700698/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Christopher Ferris05d08e92016-02-04 13:16:38 -0800699 mm_32f_70_op = 0x38,
Tao Baod7db5942015-01-28 10:07:51 -0800700 mm_32f_73_op = 0x3b,
701 mm_32f_74_op = 0x3c,
Elliott Hughesabd62612013-11-08 11:45:48 -0800702};
Christopher Ferrisba8d4f42014-09-03 19:56:49 -0700703/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Christopher Ferris05d08e92016-02-04 13:16:38 -0800704enum mm_32f_10_minor_op {
Tao Baod7db5942015-01-28 10:07:51 -0800705 mm_lwxc1_op = 0x1,
706 mm_swxc1_op,
707 mm_ldxc1_op,
Christopher Ferrisba8d4f42014-09-03 19:56:49 -0700708/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Christopher Ferris05d08e92016-02-04 13:16:38 -0800709 mm_sdxc1_op,
Tao Baod7db5942015-01-28 10:07:51 -0800710 mm_luxc1_op,
711 mm_suxc1_op,
Elliott Hughesabd62612013-11-08 11:45:48 -0800712};
Christopher Ferrisba8d4f42014-09-03 19:56:49 -0700713/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Christopher Ferris05d08e92016-02-04 13:16:38 -0800714enum mm_32f_func {
Tao Baod7db5942015-01-28 10:07:51 -0800715 mm_lwxc1_func = 0x048,
716 mm_swxc1_func = 0x088,
717 mm_ldxc1_func = 0x0c8,
Tao Baod7db5942015-01-28 10:07:51 -0800718/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Christopher Ferris05d08e92016-02-04 13:16:38 -0800719 mm_sdxc1_func = 0x108,
Elliott Hughesabd62612013-11-08 11:45:48 -0800720};
721enum mm_32f_40_minor_op {
Tao Baod7db5942015-01-28 10:07:51 -0800722 mm_fmovf_op,
Tao Baod7db5942015-01-28 10:07:51 -0800723/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Christopher Ferris05d08e92016-02-04 13:16:38 -0800724 mm_fmovt_op,
Elliott Hughesabd62612013-11-08 11:45:48 -0800725};
726enum mm_32f_60_minor_op {
Tao Baod7db5942015-01-28 10:07:51 -0800727 mm_fadd_op,
Christopher Ferrisba8d4f42014-09-03 19:56:49 -0700728/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Christopher Ferris05d08e92016-02-04 13:16:38 -0800729 mm_fsub_op,
Tao Baod7db5942015-01-28 10:07:51 -0800730 mm_fmul_op,
731 mm_fdiv_op,
Elliott Hughesabd62612013-11-08 11:45:48 -0800732};
Christopher Ferrisba8d4f42014-09-03 19:56:49 -0700733/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Christopher Ferris05d08e92016-02-04 13:16:38 -0800734enum mm_32f_70_minor_op {
Tao Baod7db5942015-01-28 10:07:51 -0800735 mm_fmovn_op,
736 mm_fmovz_op,
Elliott Hughesabd62612013-11-08 11:45:48 -0800737};
Christopher Ferrisba8d4f42014-09-03 19:56:49 -0700738/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Christopher Ferris05d08e92016-02-04 13:16:38 -0800739enum mm_32f_73_minor_op {
Tao Baod7db5942015-01-28 10:07:51 -0800740 mm_fmov0_op = 0x01,
741 mm_fcvtl_op = 0x04,
742 mm_movf0_op = 0x05,
Christopher Ferrisba8d4f42014-09-03 19:56:49 -0700743/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Christopher Ferris05d08e92016-02-04 13:16:38 -0800744 mm_frsqrt_op = 0x08,
Tao Baod7db5942015-01-28 10:07:51 -0800745 mm_ffloorl_op = 0x0c,
746 mm_fabs0_op = 0x0d,
747 mm_fcvtw_op = 0x24,
Christopher Ferrisba8d4f42014-09-03 19:56:49 -0700748/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Christopher Ferris05d08e92016-02-04 13:16:38 -0800749 mm_movt0_op = 0x25,
Tao Baod7db5942015-01-28 10:07:51 -0800750 mm_fsqrt_op = 0x28,
751 mm_ffloorw_op = 0x2c,
752 mm_fneg0_op = 0x2d,
Christopher Ferrisba8d4f42014-09-03 19:56:49 -0700753/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Christopher Ferris05d08e92016-02-04 13:16:38 -0800754 mm_cfc1_op = 0x40,
Tao Baod7db5942015-01-28 10:07:51 -0800755 mm_frecip_op = 0x48,
756 mm_fceill_op = 0x4c,
757 mm_fcvtd0_op = 0x4d,
Christopher Ferrisba8d4f42014-09-03 19:56:49 -0700758/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Christopher Ferris05d08e92016-02-04 13:16:38 -0800759 mm_ctc1_op = 0x60,
Tao Baod7db5942015-01-28 10:07:51 -0800760 mm_fceilw_op = 0x6c,
761 mm_fcvts0_op = 0x6d,
762 mm_mfc1_op = 0x80,
Christopher Ferrisba8d4f42014-09-03 19:56:49 -0700763/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Christopher Ferris05d08e92016-02-04 13:16:38 -0800764 mm_fmov1_op = 0x81,
Tao Baod7db5942015-01-28 10:07:51 -0800765 mm_movf1_op = 0x85,
766 mm_ftruncl_op = 0x8c,
767 mm_fabs1_op = 0x8d,
Christopher Ferrisba8d4f42014-09-03 19:56:49 -0700768/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Christopher Ferris05d08e92016-02-04 13:16:38 -0800769 mm_mtc1_op = 0xa0,
Tao Baod7db5942015-01-28 10:07:51 -0800770 mm_movt1_op = 0xa5,
771 mm_ftruncw_op = 0xac,
772 mm_fneg1_op = 0xad,
Christopher Ferrisba8d4f42014-09-03 19:56:49 -0700773/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Christopher Ferris05d08e92016-02-04 13:16:38 -0800774 mm_mfhc1_op = 0xc0,
Tao Baod7db5942015-01-28 10:07:51 -0800775 mm_froundl_op = 0xcc,
776 mm_fcvtd1_op = 0xcd,
777 mm_mthc1_op = 0xe0,
Christopher Ferrisba8d4f42014-09-03 19:56:49 -0700778/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Christopher Ferris05d08e92016-02-04 13:16:38 -0800779 mm_froundw_op = 0xec,
Tao Baod7db5942015-01-28 10:07:51 -0800780 mm_fcvts1_op = 0xed,
Elliott Hughesabd62612013-11-08 11:45:48 -0800781};
Elliott Hughesabd62612013-11-08 11:45:48 -0800782enum mm_16c_minor_op {
Christopher Ferrisba8d4f42014-09-03 19:56:49 -0700783/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Christopher Ferris05d08e92016-02-04 13:16:38 -0800784 mm_lwm16_op = 0x04,
Tao Baod7db5942015-01-28 10:07:51 -0800785 mm_swm16_op = 0x05,
786 mm_jr16_op = 0x0c,
787 mm_jrc_op = 0x0d,
Christopher Ferrisba8d4f42014-09-03 19:56:49 -0700788/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Christopher Ferris05d08e92016-02-04 13:16:38 -0800789 mm_jalr16_op = 0x0e,
Tao Baod7db5942015-01-28 10:07:51 -0800790 mm_jalrs16_op = 0x0f,
791 mm_jraddiusp_op = 0x18,
Elliott Hughesabd62612013-11-08 11:45:48 -0800792};
Christopher Ferrisba8d4f42014-09-03 19:56:49 -0700793/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Christopher Ferris05d08e92016-02-04 13:16:38 -0800794enum mm_16d_minor_op {
Tao Baod7db5942015-01-28 10:07:51 -0800795 mm_addius5_func,
796 mm_addiusp_func,
Elliott Hughesabd62612013-11-08 11:45:48 -0800797};
Christopher Ferrisba8d4f42014-09-03 19:56:49 -0700798/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Christopher Ferris05d08e92016-02-04 13:16:38 -0800799enum MIPS16e_ops {
Tao Baod7db5942015-01-28 10:07:51 -0800800 MIPS16e_jal_op = 003,
801 MIPS16e_ld_op = 007,
802 MIPS16e_i8_op = 014,
Christopher Ferrisba8d4f42014-09-03 19:56:49 -0700803/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Christopher Ferris05d08e92016-02-04 13:16:38 -0800804 MIPS16e_sd_op = 017,
Tao Baod7db5942015-01-28 10:07:51 -0800805 MIPS16e_lb_op = 020,
806 MIPS16e_lh_op = 021,
807 MIPS16e_lwsp_op = 022,
Christopher Ferrisba8d4f42014-09-03 19:56:49 -0700808/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Christopher Ferris05d08e92016-02-04 13:16:38 -0800809 MIPS16e_lw_op = 023,
Tao Baod7db5942015-01-28 10:07:51 -0800810 MIPS16e_lbu_op = 024,
811 MIPS16e_lhu_op = 025,
812 MIPS16e_lwpc_op = 026,
Christopher Ferrisba8d4f42014-09-03 19:56:49 -0700813/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Christopher Ferris05d08e92016-02-04 13:16:38 -0800814 MIPS16e_lwu_op = 027,
Tao Baod7db5942015-01-28 10:07:51 -0800815 MIPS16e_sb_op = 030,
816 MIPS16e_sh_op = 031,
817 MIPS16e_swsp_op = 032,
Christopher Ferrisba8d4f42014-09-03 19:56:49 -0700818/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Christopher Ferris05d08e92016-02-04 13:16:38 -0800819 MIPS16e_sw_op = 033,
Tao Baod7db5942015-01-28 10:07:51 -0800820 MIPS16e_rr_op = 035,
821 MIPS16e_extend_op = 036,
822 MIPS16e_i64_op = 037,
Tao Baod7db5942015-01-28 10:07:51 -0800823/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Christopher Ferris05d08e92016-02-04 13:16:38 -0800824};
Elliott Hughesabd62612013-11-08 11:45:48 -0800825enum MIPS16e_i64_func {
Tao Baod7db5942015-01-28 10:07:51 -0800826 MIPS16e_ldsp_func,
827 MIPS16e_sdsp_func,
Christopher Ferrisba8d4f42014-09-03 19:56:49 -0700828/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Christopher Ferris05d08e92016-02-04 13:16:38 -0800829 MIPS16e_sdrasp_func,
Tao Baod7db5942015-01-28 10:07:51 -0800830 MIPS16e_dadjsp_func,
831 MIPS16e_ldpc_func,
Elliott Hughesabd62612013-11-08 11:45:48 -0800832};
Christopher Ferrisba8d4f42014-09-03 19:56:49 -0700833/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Christopher Ferris05d08e92016-02-04 13:16:38 -0800834enum MIPS16e_rr_func {
Tao Baod7db5942015-01-28 10:07:51 -0800835 MIPS16e_jr_func,
Elliott Hughesabd62612013-11-08 11:45:48 -0800836};
Elliott Hughesabd62612013-11-08 11:45:48 -0800837enum MIPS6e_i8_func {
Christopher Ferrisba8d4f42014-09-03 19:56:49 -0700838/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Christopher Ferris05d08e92016-02-04 13:16:38 -0800839 MIPS16e_swrasp_func = 02,
Tao Baod7db5942015-01-28 10:07:51 -0800840};
Elliott Hughesabd62612013-11-08 11:45:48 -0800841#define MM_NOP16 0x0c00
Elliott Hughesabd62612013-11-08 11:45:48 -0800842struct j_format {
Elliott Hughes8ed7a232014-05-15 12:01:11 -0700843/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Christopher Ferris05d08e92016-02-04 13:16:38 -0800844 __BITFIELD_FIELD(unsigned int opcode : 6, __BITFIELD_FIELD(unsigned int target : 26,;
Tao Baod7db5942015-01-28 10:07:51 -0800845 ))
Elliott Hughesabd62612013-11-08 11:45:48 -0800846};
Elliott Hughesabd62612013-11-08 11:45:48 -0800847struct i_format {
Elliott Hughes8ed7a232014-05-15 12:01:11 -0700848/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Christopher Ferris05d08e92016-02-04 13:16:38 -0800849 __BITFIELD_FIELD(unsigned int opcode : 6, __BITFIELD_FIELD(unsigned int rs : 5, __BITFIELD_FIELD(unsigned int rt : 5, __BITFIELD_FIELD(signed int simmediate : 16,;
Tao Baod7db5942015-01-28 10:07:51 -0800850 ))))
Christopher Ferrisba8d4f42014-09-03 19:56:49 -0700851};
Elliott Hughesabd62612013-11-08 11:45:48 -0800852struct u_format {
Elliott Hughes8ed7a232014-05-15 12:01:11 -0700853/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Christopher Ferris05d08e92016-02-04 13:16:38 -0800854 __BITFIELD_FIELD(unsigned int opcode : 6, __BITFIELD_FIELD(unsigned int rs : 5, __BITFIELD_FIELD(unsigned int rt : 5, __BITFIELD_FIELD(unsigned int uimmediate : 16,;
Tao Baod7db5942015-01-28 10:07:51 -0800855 ))))
Elliott Hughesabd62612013-11-08 11:45:48 -0800856};
857struct c_format {
Elliott Hughes8ed7a232014-05-15 12:01:11 -0700858/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Christopher Ferris05d08e92016-02-04 13:16:38 -0800859 __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,;
Tao Baod7db5942015-01-28 10:07:51 -0800860 )))))
Elliott Hughesabd62612013-11-08 11:45:48 -0800861};
862struct r_format {
Elliott Hughes8ed7a232014-05-15 12:01:11 -0700863/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Christopher Ferris05d08e92016-02-04 13:16:38 -0800864 __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,;
Tao Baod7db5942015-01-28 10:07:51 -0800865 ))))))
Elliott Hughesabd62612013-11-08 11:45:48 -0800866};
867struct p_format {
Elliott Hughes8ed7a232014-05-15 12:01:11 -0700868/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Christopher Ferris05d08e92016-02-04 13:16:38 -0800869 __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,;
Tao Baod7db5942015-01-28 10:07:51 -0800870 ))))))
Elliott Hughesabd62612013-11-08 11:45:48 -0800871};
Elliott Hughesabd62612013-11-08 11:45:48 -0800872struct f_format {
Elliott Hughes8ed7a232014-05-15 12:01:11 -0700873/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Christopher Ferris05d08e92016-02-04 13:16:38 -0800874 __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,;
Tao Baod7db5942015-01-28 10:07:51 -0800875 )))))))
Elliott Hughesabd62612013-11-08 11:45:48 -0800876};
877struct ma_format {
Elliott Hughes8ed7a232014-05-15 12:01:11 -0700878/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Christopher Ferris05d08e92016-02-04 13:16:38 -0800879 __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,;
Tao Baod7db5942015-01-28 10:07:51 -0800880 )))))))
Elliott Hughesabd62612013-11-08 11:45:48 -0800881};
Elliott Hughesabd62612013-11-08 11:45:48 -0800882struct b_format {
Elliott Hughes8ed7a232014-05-15 12:01:11 -0700883/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Christopher Ferris05d08e92016-02-04 13:16:38 -0800884 __BITFIELD_FIELD(unsigned int opcode : 6, __BITFIELD_FIELD(unsigned int code : 20, __BITFIELD_FIELD(unsigned int func : 6,;
Tao Baod7db5942015-01-28 10:07:51 -0800885 )))
Elliott Hughesabd62612013-11-08 11:45:48 -0800886};
887struct ps_format {
Elliott Hughes8ed7a232014-05-15 12:01:11 -0700888/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Christopher Ferris05d08e92016-02-04 13:16:38 -0800889 __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,;
Tao Baod7db5942015-01-28 10:07:51 -0800890 ))))))
Elliott Hughesabd62612013-11-08 11:45:48 -0800891};
892struct v_format {
Elliott Hughes8ed7a232014-05-15 12:01:11 -0700893/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Christopher Ferris05d08e92016-02-04 13:16:38 -0800894 __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,;
Tao Baod7db5942015-01-28 10:07:51 -0800895 )))))))
Elliott Hughesabd62612013-11-08 11:45:48 -0800896};
Christopher Ferris05d08e92016-02-04 13:16:38 -0800897struct msa_mi10_format {
Christopher Ferrisba8d4f42014-09-03 19:56:49 -0700898/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Christopher Ferris05d08e92016-02-04 13:16:38 -0800899 __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,;
Tao Baod7db5942015-01-28 10:07:51 -0800905 )))))
Christopher Ferrisba8d4f42014-09-03 19:56:49 -0700906};
Elliott Hughesabd62612013-11-08 11:45:48 -0800907struct fb_format {
Elliott Hughes8ed7a232014-05-15 12:01:11 -0700908/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Christopher Ferris05d08e92016-02-04 13:16:38 -0800909 __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,;
Tao Baod7db5942015-01-28 10:07:51 -0800910 )))))
Elliott Hughesabd62612013-11-08 11:45:48 -0800911};
912struct fp0_format {
Elliott Hughes8ed7a232014-05-15 12:01:11 -0700913/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Christopher Ferris05d08e92016-02-04 13:16:38 -0800914 __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,;
Tao Baod7db5942015-01-28 10:07:51 -0800915 ))))))
Elliott Hughesabd62612013-11-08 11:45:48 -0800916};
917struct mm_fp0_format {
Elliott Hughes8ed7a232014-05-15 12:01:11 -0700918/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Christopher Ferris05d08e92016-02-04 13:16:38 -0800919 __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,;
Tao Baod7db5942015-01-28 10:07:51 -0800920 )))))))
Elliott Hughesabd62612013-11-08 11:45:48 -0800921};
Elliott Hughesabd62612013-11-08 11:45:48 -0800922struct fp1_format {
Elliott Hughes8ed7a232014-05-15 12:01:11 -0700923/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Christopher Ferris05d08e92016-02-04 13:16:38 -0800924 __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,;
Tao Baod7db5942015-01-28 10:07:51 -0800925 ))))))
Elliott Hughesabd62612013-11-08 11:45:48 -0800926};
927struct mm_fp1_format {
Elliott Hughes8ed7a232014-05-15 12:01:11 -0700928/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Christopher Ferris05d08e92016-02-04 13:16:38 -0800929 __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,;
Tao Baod7db5942015-01-28 10:07:51 -0800930 ))))))
Elliott Hughesabd62612013-11-08 11:45:48 -0800931};
932struct mm_fp2_format {
Elliott Hughes8ed7a232014-05-15 12:01:11 -0700933/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Christopher Ferris05d08e92016-02-04 13:16:38 -0800934 __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,;
Tao Baod7db5942015-01-28 10:07:51 -0800935 ))))))))
Elliott Hughesabd62612013-11-08 11:45:48 -0800936};
937struct mm_fp3_format {
Elliott Hughes8ed7a232014-05-15 12:01:11 -0700938/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Christopher Ferris05d08e92016-02-04 13:16:38 -0800939 __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,;
Tao Baod7db5942015-01-28 10:07:51 -0800940 ))))))
Elliott Hughesabd62612013-11-08 11:45:48 -0800941};
942struct mm_fp4_format {
Elliott Hughes8ed7a232014-05-15 12:01:11 -0700943/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Christopher Ferris05d08e92016-02-04 13:16:38 -0800944 __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,;
Tao Baod7db5942015-01-28 10:07:51 -0800945 )))))))
Elliott Hughesabd62612013-11-08 11:45:48 -0800946};
Elliott Hughesabd62612013-11-08 11:45:48 -0800947struct mm_fp5_format {
Elliott Hughes8ed7a232014-05-15 12:01:11 -0700948/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Christopher Ferris05d08e92016-02-04 13:16:38 -0800949 __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,;
Tao Baod7db5942015-01-28 10:07:51 -0800950 ))))))
Elliott Hughesabd62612013-11-08 11:45:48 -0800951};
952struct fp6_format {
Elliott Hughes8ed7a232014-05-15 12:01:11 -0700953/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Christopher Ferris05d08e92016-02-04 13:16:38 -0800954 __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,;
Tao Baod7db5942015-01-28 10:07:51 -0800955 ))))))
Elliott Hughesabd62612013-11-08 11:45:48 -0800956};
957struct mm_fp6_format {
Elliott Hughes8ed7a232014-05-15 12:01:11 -0700958/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Christopher Ferris05d08e92016-02-04 13:16:38 -0800959 __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,;
Tao Baod7db5942015-01-28 10:07:51 -0800960 ))))))
Elliott Hughesabd62612013-11-08 11:45:48 -0800961};
962struct mm_i_format {
Elliott Hughes8ed7a232014-05-15 12:01:11 -0700963/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Christopher Ferris05d08e92016-02-04 13:16:38 -0800964 __BITFIELD_FIELD(unsigned int opcode : 6, __BITFIELD_FIELD(unsigned int rt : 5, __BITFIELD_FIELD(unsigned int rs : 5, __BITFIELD_FIELD(signed int simmediate : 16,;
Tao Baod7db5942015-01-28 10:07:51 -0800965 ))))
Elliott Hughesabd62612013-11-08 11:45:48 -0800966};
967struct mm_m_format {
Elliott Hughes8ed7a232014-05-15 12:01:11 -0700968/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Christopher Ferris05d08e92016-02-04 13:16:38 -0800969 __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,;
Tao Baod7db5942015-01-28 10:07:51 -0800970 )))))
Elliott Hughesabd62612013-11-08 11:45:48 -0800971};
972struct mm_x_format {
Elliott Hughes8ed7a232014-05-15 12:01:11 -0700973/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Christopher Ferris05d08e92016-02-04 13:16:38 -0800974 __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,;
Tao Baod7db5942015-01-28 10:07:51 -0800975 )))))
Elliott Hughesabd62612013-11-08 11:45:48 -0800976};
977struct mm_b0_format {
Elliott Hughes8ed7a232014-05-15 12:01:11 -0700978/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Christopher Ferris05d08e92016-02-04 13:16:38 -0800979 __BITFIELD_FIELD(unsigned int opcode : 6, __BITFIELD_FIELD(signed int simmediate : 10, __BITFIELD_FIELD(unsigned int : 16,;
Tao Baod7db5942015-01-28 10:07:51 -0800980 )))
Elliott Hughesabd62612013-11-08 11:45:48 -0800981};
Elliott Hughesabd62612013-11-08 11:45:48 -0800982struct mm_b1_format {
Elliott Hughes8ed7a232014-05-15 12:01:11 -0700983/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Christopher Ferris05d08e92016-02-04 13:16:38 -0800984 __BITFIELD_FIELD(unsigned int opcode : 6, __BITFIELD_FIELD(unsigned int rs : 3, __BITFIELD_FIELD(signed int simmediate : 7, __BITFIELD_FIELD(unsigned int : 16,;
Tao Baod7db5942015-01-28 10:07:51 -0800985 ))))
Christopher Ferrisba8d4f42014-09-03 19:56:49 -0700986};
Elliott Hughesabd62612013-11-08 11:45:48 -0800987struct mm16_m_format {
Elliott Hughes8ed7a232014-05-15 12:01:11 -0700988/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Christopher Ferris05d08e92016-02-04 13:16:38 -0800989 __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,;
Tao Baod7db5942015-01-28 10:07:51 -0800990 )))))
Christopher Ferrisba8d4f42014-09-03 19:56:49 -0700991};
Elliott Hughesabd62612013-11-08 11:45:48 -0800992struct mm16_rb_format {
Elliott Hughes8ed7a232014-05-15 12:01:11 -0700993/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Christopher Ferris05d08e92016-02-04 13:16:38 -0800994 __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,;
Tao Baod7db5942015-01-28 10:07:51 -0800995 )))))
Elliott Hughesabd62612013-11-08 11:45:48 -0800996};
997struct mm16_r3_format {
Elliott Hughes8ed7a232014-05-15 12:01:11 -0700998/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Christopher Ferris05d08e92016-02-04 13:16:38 -0800999 __BITFIELD_FIELD(unsigned int opcode : 6, __BITFIELD_FIELD(unsigned int rt : 3, __BITFIELD_FIELD(signed int simmediate : 7, __BITFIELD_FIELD(unsigned int : 16,;
Tao Baod7db5942015-01-28 10:07:51 -08001000 ))))
Elliott Hughesabd62612013-11-08 11:45:48 -08001001};
1002struct mm16_r5_format {
Elliott Hughes8ed7a232014-05-15 12:01:11 -07001003/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Christopher Ferris05d08e92016-02-04 13:16:38 -08001004 __BITFIELD_FIELD(unsigned int opcode : 6, __BITFIELD_FIELD(unsigned int rt : 5, __BITFIELD_FIELD(signed int simmediate : 5, __BITFIELD_FIELD(unsigned int : 16,;
Tao Baod7db5942015-01-28 10:07:51 -08001005 ))))
Elliott Hughesabd62612013-11-08 11:45:48 -08001006};
1007struct m16e_rr {
Elliott Hughes8ed7a232014-05-15 12:01:11 -07001008/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Christopher Ferris05d08e92016-02-04 13:16:38 -08001009 __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,;
Tao Baod7db5942015-01-28 10:07:51 -08001010 ))))))
Elliott Hughesabd62612013-11-08 11:45:48 -08001011};
1012struct m16e_jal {
Elliott Hughes8ed7a232014-05-15 12:01:11 -07001013/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Christopher Ferris05d08e92016-02-04 13:16:38 -08001014 __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,;
Tao Baod7db5942015-01-28 10:07:51 -08001015 ))))
Elliott Hughesabd62612013-11-08 11:45:48 -08001016};
1017struct m16e_i64 {
Elliott Hughes8ed7a232014-05-15 12:01:11 -07001018/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Christopher Ferris05d08e92016-02-04 13:16:38 -08001019 __BITFIELD_FIELD(unsigned int opcode : 5, __BITFIELD_FIELD(unsigned int func : 3, __BITFIELD_FIELD(unsigned int imm : 8,;
Tao Baod7db5942015-01-28 10:07:51 -08001020 )))
Elliott Hughesabd62612013-11-08 11:45:48 -08001021};
1022struct m16e_ri64 {
Elliott Hughes8ed7a232014-05-15 12:01:11 -07001023/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Christopher Ferris05d08e92016-02-04 13:16:38 -08001024 __BITFIELD_FIELD(unsigned int opcode : 5, __BITFIELD_FIELD(unsigned int func : 3, __BITFIELD_FIELD(unsigned int ry : 3, __BITFIELD_FIELD(unsigned int imm : 5,;
Tao Baod7db5942015-01-28 10:07:51 -08001025 ))))
Elliott Hughesabd62612013-11-08 11:45:48 -08001026};
1027struct m16e_ri {
Elliott Hughes8ed7a232014-05-15 12:01:11 -07001028/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Christopher Ferris05d08e92016-02-04 13:16:38 -08001029 __BITFIELD_FIELD(unsigned int opcode : 5, __BITFIELD_FIELD(unsigned int rx : 3, __BITFIELD_FIELD(unsigned int imm : 8,;
Tao Baod7db5942015-01-28 10:07:51 -08001030 )))
Elliott Hughesabd62612013-11-08 11:45:48 -08001031};
Elliott Hughesabd62612013-11-08 11:45:48 -08001032struct m16e_rri {
Elliott Hughes8ed7a232014-05-15 12:01:11 -07001033/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Christopher Ferris05d08e92016-02-04 13:16:38 -08001034 __BITFIELD_FIELD(unsigned int opcode : 5, __BITFIELD_FIELD(unsigned int rx : 3, __BITFIELD_FIELD(unsigned int ry : 3, __BITFIELD_FIELD(unsigned int imm : 5,;
Tao Baod7db5942015-01-28 10:07:51 -08001035 ))))
Elliott Hughesabd62612013-11-08 11:45:48 -08001036};
1037struct m16e_i8 {
Elliott Hughes8ed7a232014-05-15 12:01:11 -07001038/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Christopher Ferris05d08e92016-02-04 13:16:38 -08001039 __BITFIELD_FIELD(unsigned int opcode : 5, __BITFIELD_FIELD(unsigned int func : 3, __BITFIELD_FIELD(unsigned int imm : 8,;
Tao Baod7db5942015-01-28 10:07:51 -08001040 )))
Elliott Hughesabd62612013-11-08 11:45:48 -08001041};
1042union mips_instruction {
Elliott Hughes8ed7a232014-05-15 12:01:11 -07001043/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Christopher Ferris05d08e92016-02-04 13:16:38 -08001044 unsigned int word;
Tao Baod7db5942015-01-28 10:07:51 -08001045 unsigned short halfword[2];
1046 unsigned char byte[4];
1047 struct j_format j_format;
Elliott Hughes8ed7a232014-05-15 12:01:11 -07001048/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Christopher Ferris05d08e92016-02-04 13:16:38 -08001049 struct i_format i_format;
Tao Baod7db5942015-01-28 10:07:51 -08001050 struct u_format u_format;
1051 struct c_format c_format;
1052 struct r_format r_format;
Elliott Hughes8ed7a232014-05-15 12:01:11 -07001053/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Christopher Ferris05d08e92016-02-04 13:16:38 -08001054 struct p_format p_format;
Tao Baod7db5942015-01-28 10:07:51 -08001055 struct f_format f_format;
1056 struct ma_format ma_format;
Christopher Ferris05d08e92016-02-04 13:16:38 -08001057 struct msa_mi10_format msa_mi10_format;
1058/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Tao Baod7db5942015-01-28 10:07:51 -08001059 struct b_format b_format;
1060 struct ps_format ps_format;
Tao Baod7db5942015-01-28 10:07:51 -08001061 struct v_format v_format;
1062 struct spec3_format spec3_format;
Christopher Ferris05d08e92016-02-04 13:16:38 -08001063/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Tao Baod7db5942015-01-28 10:07:51 -08001064 struct fb_format fb_format;
1065 struct fp0_format fp0_format;
Tao Baod7db5942015-01-28 10:07:51 -08001066 struct mm_fp0_format mm_fp0_format;
1067 struct fp1_format fp1_format;
Christopher Ferris05d08e92016-02-04 13:16:38 -08001068/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Tao Baod7db5942015-01-28 10:07:51 -08001069 struct mm_fp1_format mm_fp1_format;
1070 struct mm_fp2_format mm_fp2_format;
Tao Baod7db5942015-01-28 10:07:51 -08001071 struct mm_fp3_format mm_fp3_format;
1072 struct mm_fp4_format mm_fp4_format;
Christopher Ferris05d08e92016-02-04 13:16:38 -08001073/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Tao Baod7db5942015-01-28 10:07:51 -08001074 struct mm_fp5_format mm_fp5_format;
1075 struct fp6_format fp6_format;
Tao Baod7db5942015-01-28 10:07:51 -08001076 struct mm_fp6_format mm_fp6_format;
1077 struct mm_i_format mm_i_format;
Christopher Ferris05d08e92016-02-04 13:16:38 -08001078/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Tao Baod7db5942015-01-28 10:07:51 -08001079 struct mm_m_format mm_m_format;
1080 struct mm_x_format mm_x_format;
Tao Baod7db5942015-01-28 10:07:51 -08001081 struct mm_b0_format mm_b0_format;
1082 struct mm_b1_format mm_b1_format;
Christopher Ferris05d08e92016-02-04 13:16:38 -08001083/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Tao Baod7db5942015-01-28 10:07:51 -08001084 struct mm16_m_format mm16_m_format;
1085 struct mm16_rb_format mm16_rb_format;
Tao Baod7db5942015-01-28 10:07:51 -08001086 struct mm16_r3_format mm16_r3_format;
1087 struct mm16_r5_format mm16_r5_format;
Christopher Ferris05d08e92016-02-04 13:16:38 -08001088/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Elliott Hughesabd62612013-11-08 11:45:48 -08001089};
1090union mips16e_instruction {
Tao Baod7db5942015-01-28 10:07:51 -08001091 unsigned int full : 16;
1092 struct m16e_rr rr;
Christopher Ferris05d08e92016-02-04 13:16:38 -08001093/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Tao Baod7db5942015-01-28 10:07:51 -08001094 struct m16e_jal jal;
1095 struct m16e_i64 i64;
Tao Baod7db5942015-01-28 10:07:51 -08001096 struct m16e_ri64 ri64;
1097 struct m16e_ri ri;
Christopher Ferris05d08e92016-02-04 13:16:38 -08001098/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Tao Baod7db5942015-01-28 10:07:51 -08001099 struct m16e_rri rri;
1100 struct m16e_i8 i8;
Elliott Hughesabd62612013-11-08 11:45:48 -08001101};
1102#endif
Christopher Ferris05d08e92016-02-04 13:16:38 -08001103/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */