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