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