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 cbcond0_op = addi_op, 36 addiu_op, 37 slti_op, 38 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 39 sltiu_op, 40 andi_op, 41 ori_op, 42 xori_op, 43 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 44 lui_op, 45 cop0_op, 46 cop1_op, 47 cop2_op, 48 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 49 cop1x_op, 50 beql_op, 51 bnel_op, 52 blezl_op, 53 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 54 bgtzl_op, 55 daddi_op, 56 cbcond1_op = daddi_op, 57 daddiu_op, 58 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 59 ldl_op, 60 ldr_op, 61 spec2_op, 62 jalx_op, 63 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 64 mdmx_op, 65 msa_op = mdmx_op, 66 spec3_op, 67 lb_op, 68 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 69 lh_op, 70 lwl_op, 71 lw_op, 72 lbu_op, 73 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 74 lhu_op, 75 lwr_op, 76 lwu_op, 77 sb_op, 78 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 79 sh_op, 80 swl_op, 81 sw_op, 82 sdl_op, 83 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 84 sdr_op, 85 swr_op, 86 cache_op, 87 ll_op, 88 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 89 lwc1_op, 90 lwc2_op, 91 bc6_op = lwc2_op, 92 pref_op, 93 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 94 lld_op, 95 ldc1_op, 96 ldc2_op, 97 beqzcjic_op = ldc2_op, 98 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 99 ld_op, 100 sc_op, 101 swc1_op, 102 swc2_op, 103 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 104 balc6_op = swc2_op, 105 major_3b_op, 106 scd_op, 107 sdc1_op, 108 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 109 sdc2_op, 110 bnezcjialc_op = sdc2_op, 111 sd_op 112 }; 113 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 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 rt_op { 260 bltz_op, 261 bgez_op, 262 bltzl_op, 263 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 264 bgezl_op, 265 spimi_op, 266 unused_rt_op_0x05, 267 unused_rt_op_0x06, 268 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 269 unused_rt_op_0x07, 270 tgei_op, 271 tgeiu_op, 272 tlti_op, 273 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 274 tltiu_op, 275 teqi_op, 276 unused_0x0d_rt_op, 277 tnei_op, 278 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 279 unused_0x0f_rt_op, 280 bltzal_op, 281 bgezal_op, 282 bltzall_op, 283 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 284 bgezall_op, 285 rt_op_0x14, 286 rt_op_0x15, 287 rt_op_0x16, 288 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 289 rt_op_0x17, 290 rt_op_0x18, 291 rt_op_0x19, 292 rt_op_0x1a, 293 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 294 rt_op_0x1b, 295 bposge32_op, 296 rt_op_0x1d, 297 rt_op_0x1e, 298 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 299 rt_op_0x1f 300 }; 301 enum cop_op { 302 mfc_op = 0x00, 303 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 304 dmfc_op = 0x01, 305 cfc_op = 0x02, 306 mfhc0_op = 0x02, 307 mfhc_op = 0x03, 308 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 309 mtc_op = 0x04, 310 dmtc_op = 0x05, 311 ctc_op = 0x06, 312 mthc0_op = 0x06, 313 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 314 mthc_op = 0x07, 315 bc_op = 0x08, 316 bc1eqz_op = 0x09, 317 bc1nez_op = 0x0d, 318 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 319 cop_op = 0x10, 320 copm_op = 0x18 321 }; 322 enum bcop_op { 323 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 324 bcf_op, 325 bct_op, 326 bcfl_op, 327 bctl_op 328 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 329 }; 330 enum cop0_coi_func { 331 tlbr_op = 0x01, 332 tlbwi_op = 0x02, 333 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 334 tlbwr_op = 0x06, 335 tlbp_op = 0x08, 336 rfe_op = 0x10, 337 eret_op = 0x18, 338 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 339 wait_op = 0x20, 340 }; 341 enum cop0_com_func { 342 tlbr1_op = 0x01, 343 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 344 tlbw_op = 0x02, 345 tlbp1_op = 0x08, 346 dctr_op = 0x09, 347 dctw_op = 0x0a 348 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 349 }; 350 enum cop1_fmt { 351 s_fmt, 352 d_fmt, 353 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 354 e_fmt, 355 q_fmt, 356 w_fmt, 357 l_fmt 358 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 359 }; 360 enum cop1_sdw_func { 361 fadd_op = 0x00, 362 fsub_op = 0x01, 363 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 364 fmul_op = 0x02, 365 fdiv_op = 0x03, 366 fsqrt_op = 0x04, 367 fabs_op = 0x05, 368 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 369 fmov_op = 0x06, 370 fneg_op = 0x07, 371 froundl_op = 0x08, 372 ftruncl_op = 0x09, 373 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 374 fceill_op = 0x0a, 375 ffloorl_op = 0x0b, 376 fround_op = 0x0c, 377 ftrunc_op = 0x0d, 378 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 379 fceil_op = 0x0e, 380 ffloor_op = 0x0f, 381 fmovc_op = 0x11, 382 fmovz_op = 0x12, 383 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 384 fmovn_op = 0x13, 385 fseleqz_op = 0x14, 386 frecip_op = 0x15, 387 frsqrt_op = 0x16, 388 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 389 fselnez_op = 0x17, 390 fmaddf_op = 0x18, 391 fmsubf_op = 0x19, 392 frint_op = 0x1a, 393 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 394 fclass_op = 0x1b, 395 fmin_op = 0x1c, 396 fmina_op = 0x1d, 397 fmax_op = 0x1e, 398 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 399 fmaxa_op = 0x1f, 400 fcvts_op = 0x20, 401 fcvtd_op = 0x21, 402 fcvte_op = 0x22, 403 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 404 fcvtw_op = 0x24, 405 fcvtl_op = 0x25, 406 fcmp_op = 0x30 407 }; 408 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 409 enum cop1x_func { 410 lwxc1_op = 0x00, 411 ldxc1_op = 0x01, 412 swxc1_op = 0x08, 413 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 414 sdxc1_op = 0x09, 415 pfetch_op = 0x0f, 416 madd_s_op = 0x20, 417 madd_d_op = 0x21, 418 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 419 madd_e_op = 0x22, 420 msub_s_op = 0x28, 421 msub_d_op = 0x29, 422 msub_e_op = 0x2a, 423 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 424 nmadd_s_op = 0x30, 425 nmadd_d_op = 0x31, 426 nmadd_e_op = 0x32, 427 nmsub_s_op = 0x38, 428 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 429 nmsub_d_op = 0x39, 430 nmsub_e_op = 0x3a 431 }; 432 enum mad_func { 433 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 434 madd_fp_op = 0x08, 435 msub_fp_op = 0x0a, 436 nmadd_fp_op = 0x0c, 437 nmsub_fp_op = 0x0e 438 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 439 }; 440 enum lx_func { 441 lwx_op = 0x00, 442 lhx_op = 0x04, 443 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 444 lbux_op = 0x06, 445 ldx_op = 0x08, 446 lwux_op = 0x10, 447 lhux_op = 0x14, 448 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 449 lbx_op = 0x16, 450 }; 451 enum bshfl_func { 452 wsbh_op = 0x2, 453 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 454 dshd_op = 0x5, 455 seb_op = 0x10, 456 seh_op = 0x18, 457 }; 458 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 459 enum 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 */ 464 enum msa_2b_fmt { 465 msa_fmt_b = 0, 466 msa_fmt_h = 1, 467 msa_fmt_w = 2, 468 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 469 msa_fmt_d = 3, 470 }; 471 enum mm_major_op { 472 mm_pool32a_op, 473 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 474 mm_pool16a_op, 475 mm_lbu16_op, 476 mm_move16_op, 477 mm_addi32_op, 478 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 479 mm_lbu32_op, 480 mm_sb32_op, 481 mm_lb32_op, 482 mm_pool32b_op, 483 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 484 mm_pool16b_op, 485 mm_lhu16_op, 486 mm_andi16_op, 487 mm_addiu32_op, 488 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 489 mm_lhu32_op, 490 mm_sh32_op, 491 mm_lh32_op, 492 mm_pool32i_op, 493 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 494 mm_pool16c_op, 495 mm_lwsp16_op, 496 mm_pool16d_op, 497 mm_ori32_op, 498 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 499 mm_pool32f_op, 500 mm_reserved1_op, 501 mm_reserved2_op, 502 mm_pool32c_op, 503 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 504 mm_lwgp16_op, 505 mm_lw16_op, 506 mm_pool16e_op, 507 mm_xori32_op, 508 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 509 mm_jals32_op, 510 mm_addiupc_op, 511 mm_reserved3_op, 512 mm_reserved4_op, 513 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 514 mm_pool16f_op, 515 mm_sb16_op, 516 mm_beqz16_op, 517 mm_slti32_op, 518 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 519 mm_beq32_op, 520 mm_swc132_op, 521 mm_lwc132_op, 522 mm_reserved5_op, 523 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 524 mm_reserved6_op, 525 mm_sh16_op, 526 mm_bnez16_op, 527 mm_sltiu32_op, 528 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 529 mm_bne32_op, 530 mm_sdc132_op, 531 mm_ldc132_op, 532 mm_reserved7_op, 533 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 534 mm_reserved8_op, 535 mm_swsp16_op, 536 mm_b16_op, 537 mm_andi32_op, 538 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 539 mm_j32_op, 540 mm_sd32_op, 541 mm_ld32_op, 542 mm_reserved11_op, 543 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 544 mm_reserved12_op, 545 mm_sw16_op, 546 mm_li16_op, 547 mm_jalx32_op, 548 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 549 mm_jal32_op, 550 mm_sw32_op, 551 mm_lw32_op, 552 }; 553 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 554 enum mm_32i_minor_op { 555 mm_bltz_op, 556 mm_bltzal_op, 557 mm_bgez_op, 558 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 559 mm_bgezal_op, 560 mm_blez_op, 561 mm_bnezc_op, 562 mm_bgtz_op, 563 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 564 mm_beqzc_op, 565 mm_tlti_op, 566 mm_tgei_op, 567 mm_tltiu_op, 568 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 569 mm_tgeiu_op, 570 mm_tnei_op, 571 mm_lui_op, 572 mm_teqi_op, 573 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 574 mm_reserved13_op, 575 mm_synci_op, 576 mm_bltzals_op, 577 mm_reserved14_op, 578 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 579 mm_bgezals_op, 580 mm_bc2f_op, 581 mm_bc2t_op, 582 mm_reserved15_op, 583 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 584 mm_reserved16_op, 585 mm_reserved17_op, 586 mm_reserved18_op, 587 mm_bposge64_op, 588 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 589 mm_bposge32_op, 590 mm_bc1f_op, 591 mm_bc1t_op, 592 mm_reserved19_op, 593 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 594 mm_reserved20_op, 595 mm_bc1any2f_op, 596 mm_bc1any2t_op, 597 mm_bc1any4f_op, 598 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 599 mm_bc1any4t_op, 600 }; 601 enum mm_32a_minor_op { 602 mm_sll32_op = 0x000, 603 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 604 mm_ins_op = 0x00c, 605 mm_sllv32_op = 0x010, 606 mm_ext_op = 0x02c, 607 mm_pool32axf_op = 0x03c, 608 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 609 mm_srl32_op = 0x040, 610 mm_sra_op = 0x080, 611 mm_srlv32_op = 0x090, 612 mm_rotr_op = 0x0c0, 613 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 614 mm_lwxs_op = 0x118, 615 mm_addu32_op = 0x150, 616 mm_subu32_op = 0x1d0, 617 mm_wsbh_op = 0x1ec, 618 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 619 mm_mul_op = 0x210, 620 mm_and_op = 0x250, 621 mm_or32_op = 0x290, 622 mm_xor32_op = 0x310, 623 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 624 mm_slt_op = 0x350, 625 mm_sltu_op = 0x390, 626 }; 627 enum mm_32b_func { 628 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 629 mm_lwc2_func = 0x0, 630 mm_lwp_func = 0x1, 631 mm_ldc2_func = 0x2, 632 mm_ldp_func = 0x4, 633 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 634 mm_lwm32_func = 0x5, 635 mm_cache_func = 0x6, 636 mm_ldm_func = 0x7, 637 mm_swc2_func = 0x8, 638 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 639 mm_swp_func = 0x9, 640 mm_sdc2_func = 0xa, 641 mm_sdp_func = 0xc, 642 mm_swm32_func = 0xd, 643 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 644 mm_sdm_func = 0xf, 645 }; 646 enum mm_32c_func { 647 mm_pref_func = 0x2, 648 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 649 mm_ll_func = 0x3, 650 mm_swr_func = 0x9, 651 mm_sc_func = 0xb, 652 mm_lwu_func = 0xe, 653 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 654 }; 655 enum mm_32axf_minor_op { 656 mm_mfc0_op = 0x003, 657 mm_mtc0_op = 0x00b, 658 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 659 mm_tlbp_op = 0x00d, 660 mm_mfhi32_op = 0x035, 661 mm_jalr_op = 0x03c, 662 mm_tlbr_op = 0x04d, 663 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 664 mm_mflo32_op = 0x075, 665 mm_jalrhb_op = 0x07c, 666 mm_tlbwi_op = 0x08d, 667 mm_tlbwr_op = 0x0cd, 668 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 669 mm_jalrs_op = 0x13c, 670 mm_jalrshb_op = 0x17c, 671 mm_sync_op = 0x1ad, 672 mm_syscall_op = 0x22d, 673 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 674 mm_wait_op = 0x24d, 675 mm_eret_op = 0x3cd, 676 mm_divu_op = 0x5dc, 677 }; 678 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 679 enum mm_32f_minor_op { 680 mm_32f_00_op = 0x00, 681 mm_32f_01_op = 0x01, 682 mm_32f_02_op = 0x02, 683 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 684 mm_32f_10_op = 0x08, 685 mm_32f_11_op = 0x09, 686 mm_32f_12_op = 0x0a, 687 mm_32f_20_op = 0x10, 688 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 689 mm_32f_30_op = 0x18, 690 mm_32f_40_op = 0x20, 691 mm_32f_41_op = 0x21, 692 mm_32f_42_op = 0x22, 693 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 694 mm_32f_50_op = 0x28, 695 mm_32f_51_op = 0x29, 696 mm_32f_52_op = 0x2a, 697 mm_32f_60_op = 0x30, 698 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 699 mm_32f_70_op = 0x38, 700 mm_32f_73_op = 0x3b, 701 mm_32f_74_op = 0x3c, 702 }; 703 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 704 enum mm_32f_10_minor_op { 705 mm_lwxc1_op = 0x1, 706 mm_swxc1_op, 707 mm_ldxc1_op, 708 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 709 mm_sdxc1_op, 710 mm_luxc1_op, 711 mm_suxc1_op, 712 }; 713 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 714 enum mm_32f_func { 715 mm_lwxc1_func = 0x048, 716 mm_swxc1_func = 0x088, 717 mm_ldxc1_func = 0x0c8, 718 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 719 mm_sdxc1_func = 0x108, 720 }; 721 enum mm_32f_40_minor_op { 722 mm_fmovf_op, 723 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 724 mm_fmovt_op, 725 }; 726 enum mm_32f_60_minor_op { 727 mm_fadd_op, 728 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 729 mm_fsub_op, 730 mm_fmul_op, 731 mm_fdiv_op, 732 }; 733 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 734 enum mm_32f_70_minor_op { 735 mm_fmovn_op, 736 mm_fmovz_op, 737 }; 738 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 739 enum mm_32f_73_minor_op { 740 mm_fmov0_op = 0x01, 741 mm_fcvtl_op = 0x04, 742 mm_movf0_op = 0x05, 743 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 744 mm_frsqrt_op = 0x08, 745 mm_ffloorl_op = 0x0c, 746 mm_fabs0_op = 0x0d, 747 mm_fcvtw_op = 0x24, 748 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 749 mm_movt0_op = 0x25, 750 mm_fsqrt_op = 0x28, 751 mm_ffloorw_op = 0x2c, 752 mm_fneg0_op = 0x2d, 753 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 754 mm_cfc1_op = 0x40, 755 mm_frecip_op = 0x48, 756 mm_fceill_op = 0x4c, 757 mm_fcvtd0_op = 0x4d, 758 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 759 mm_ctc1_op = 0x60, 760 mm_fceilw_op = 0x6c, 761 mm_fcvts0_op = 0x6d, 762 mm_mfc1_op = 0x80, 763 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 764 mm_fmov1_op = 0x81, 765 mm_movf1_op = 0x85, 766 mm_ftruncl_op = 0x8c, 767 mm_fabs1_op = 0x8d, 768 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 769 mm_mtc1_op = 0xa0, 770 mm_movt1_op = 0xa5, 771 mm_ftruncw_op = 0xac, 772 mm_fneg1_op = 0xad, 773 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 774 mm_mfhc1_op = 0xc0, 775 mm_froundl_op = 0xcc, 776 mm_fcvtd1_op = 0xcd, 777 mm_mthc1_op = 0xe0, 778 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 779 mm_froundw_op = 0xec, 780 mm_fcvts1_op = 0xed, 781 }; 782 enum mm_16c_minor_op { 783 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 784 mm_lwm16_op = 0x04, 785 mm_swm16_op = 0x05, 786 mm_jr16_op = 0x0c, 787 mm_jrc_op = 0x0d, 788 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 789 mm_jalr16_op = 0x0e, 790 mm_jalrs16_op = 0x0f, 791 mm_jraddiusp_op = 0x18, 792 }; 793 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 794 enum mm_16d_minor_op { 795 mm_addius5_func, 796 mm_addiusp_func, 797 }; 798 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 799 enum MIPS16e_ops { 800 MIPS16e_jal_op = 003, 801 MIPS16e_ld_op = 007, 802 MIPS16e_i8_op = 014, 803 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 804 MIPS16e_sd_op = 017, 805 MIPS16e_lb_op = 020, 806 MIPS16e_lh_op = 021, 807 MIPS16e_lwsp_op = 022, 808 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 809 MIPS16e_lw_op = 023, 810 MIPS16e_lbu_op = 024, 811 MIPS16e_lhu_op = 025, 812 MIPS16e_lwpc_op = 026, 813 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 814 MIPS16e_lwu_op = 027, 815 MIPS16e_sb_op = 030, 816 MIPS16e_sh_op = 031, 817 MIPS16e_swsp_op = 032, 818 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 819 MIPS16e_sw_op = 033, 820 MIPS16e_rr_op = 035, 821 MIPS16e_extend_op = 036, 822 MIPS16e_i64_op = 037, 823 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 824 }; 825 enum MIPS16e_i64_func { 826 MIPS16e_ldsp_func, 827 MIPS16e_sdsp_func, 828 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 829 MIPS16e_sdrasp_func, 830 MIPS16e_dadjsp_func, 831 MIPS16e_ldpc_func, 832 }; 833 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 834 enum MIPS16e_rr_func { 835 MIPS16e_jr_func, 836 }; 837 enum MIPS6e_i8_func { 838 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 839 MIPS16e_swrasp_func = 02, 840 }; 841 #define MM_NOP16 0x0c00 842 struct j_format { 843 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 844 __BITFIELD_FIELD(unsigned int opcode : 6, __BITFIELD_FIELD(unsigned int target : 26,; 845 )) 846 }; 847 struct i_format { 848 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 849 __BITFIELD_FIELD(unsigned int opcode : 6, __BITFIELD_FIELD(unsigned int rs : 5, __BITFIELD_FIELD(unsigned int rt : 5, __BITFIELD_FIELD(signed int simmediate : 16,; 850 )))) 851 }; 852 struct u_format { 853 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 854 __BITFIELD_FIELD(unsigned int opcode : 6, __BITFIELD_FIELD(unsigned int rs : 5, __BITFIELD_FIELD(unsigned int rt : 5, __BITFIELD_FIELD(unsigned int uimmediate : 16,; 855 )))) 856 }; 857 struct c_format { 858 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 859 __BITFIELD_FIELD(unsigned int opcode : 6, __BITFIELD_FIELD(unsigned int rs : 5, __BITFIELD_FIELD(unsigned int c_op : 3, __BITFIELD_FIELD(unsigned int cache : 2, __BITFIELD_FIELD(unsigned int simmediate : 16,; 860 ))))) 861 }; 862 struct r_format { 863 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 864 __BITFIELD_FIELD(unsigned int opcode : 6, __BITFIELD_FIELD(unsigned int rs : 5, __BITFIELD_FIELD(unsigned int rt : 5, __BITFIELD_FIELD(unsigned int rd : 5, __BITFIELD_FIELD(unsigned int re : 5, __BITFIELD_FIELD(unsigned int func : 6,; 865 )))))) 866 }; 867 struct p_format { 868 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 869 __BITFIELD_FIELD(unsigned int opcode : 6, __BITFIELD_FIELD(unsigned int rs : 5, __BITFIELD_FIELD(unsigned int rt : 5, __BITFIELD_FIELD(unsigned int rd : 5, __BITFIELD_FIELD(unsigned int re : 5, __BITFIELD_FIELD(unsigned int func : 6,; 870 )))))) 871 }; 872 struct f_format { 873 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 874 __BITFIELD_FIELD(unsigned int opcode : 6, __BITFIELD_FIELD(unsigned int : 1, __BITFIELD_FIELD(unsigned int fmt : 4, __BITFIELD_FIELD(unsigned int rt : 5, __BITFIELD_FIELD(unsigned int rd : 5, __BITFIELD_FIELD(unsigned int re : 5, __BITFIELD_FIELD(unsigned int func : 6,; 875 ))))))) 876 }; 877 struct ma_format { 878 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 879 __BITFIELD_FIELD(unsigned int opcode : 6, __BITFIELD_FIELD(unsigned int fr : 5, __BITFIELD_FIELD(unsigned int ft : 5, __BITFIELD_FIELD(unsigned int fs : 5, __BITFIELD_FIELD(unsigned int fd : 5, __BITFIELD_FIELD(unsigned int func : 4, __BITFIELD_FIELD(unsigned int fmt : 2,; 880 ))))))) 881 }; 882 struct b_format { 883 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 884 __BITFIELD_FIELD(unsigned int opcode : 6, __BITFIELD_FIELD(unsigned int code : 20, __BITFIELD_FIELD(unsigned int func : 6,; 885 ))) 886 }; 887 struct ps_format { 888 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 889 __BITFIELD_FIELD(unsigned int opcode : 6, __BITFIELD_FIELD(unsigned int rs : 5, __BITFIELD_FIELD(unsigned int ft : 5, __BITFIELD_FIELD(unsigned int fs : 5, __BITFIELD_FIELD(unsigned int fd : 5, __BITFIELD_FIELD(unsigned int func : 6,; 890 )))))) 891 }; 892 struct v_format { 893 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 894 __BITFIELD_FIELD(unsigned int opcode : 6, __BITFIELD_FIELD(unsigned int sel : 4, __BITFIELD_FIELD(unsigned int fmt : 1, __BITFIELD_FIELD(unsigned int vt : 5, __BITFIELD_FIELD(unsigned int vs : 5, __BITFIELD_FIELD(unsigned int vd : 5, __BITFIELD_FIELD(unsigned int func : 6,; 895 ))))))) 896 }; 897 struct msa_mi10_format { 898 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 899 __BITFIELD_FIELD(unsigned int opcode : 6, __BITFIELD_FIELD(signed int s10 : 10, __BITFIELD_FIELD(unsigned int rs : 5, __BITFIELD_FIELD(unsigned int wd : 5, __BITFIELD_FIELD(unsigned int func : 4, __BITFIELD_FIELD(unsigned int df : 2,; 900 )))))) 901 }; 902 struct spec3_format { 903 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 904 __BITFIELD_FIELD(unsigned int opcode : 6, __BITFIELD_FIELD(unsigned int rs : 5, __BITFIELD_FIELD(unsigned int rt : 5, __BITFIELD_FIELD(signed int simmediate : 9, __BITFIELD_FIELD(unsigned int func : 7,; 905 ))))) 906 }; 907 struct fb_format { 908 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 909 __BITFIELD_FIELD(unsigned int opcode : 6, __BITFIELD_FIELD(unsigned int bc : 5, __BITFIELD_FIELD(unsigned int cc : 3, __BITFIELD_FIELD(unsigned int flag : 2, __BITFIELD_FIELD(signed int simmediate : 16,; 910 ))))) 911 }; 912 struct fp0_format { 913 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 914 __BITFIELD_FIELD(unsigned int opcode : 6, __BITFIELD_FIELD(unsigned int fmt : 5, __BITFIELD_FIELD(unsigned int ft : 5, __BITFIELD_FIELD(unsigned int fs : 5, __BITFIELD_FIELD(unsigned int fd : 5, __BITFIELD_FIELD(unsigned int func : 6,; 915 )))))) 916 }; 917 struct mm_fp0_format { 918 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 919 __BITFIELD_FIELD(unsigned int opcode : 6, __BITFIELD_FIELD(unsigned int ft : 5, __BITFIELD_FIELD(unsigned int fs : 5, __BITFIELD_FIELD(unsigned int fd : 5, __BITFIELD_FIELD(unsigned int fmt : 3, __BITFIELD_FIELD(unsigned int op : 2, __BITFIELD_FIELD(unsigned int func : 6,; 920 ))))))) 921 }; 922 struct fp1_format { 923 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 924 __BITFIELD_FIELD(unsigned int opcode : 6, __BITFIELD_FIELD(unsigned int op : 5, __BITFIELD_FIELD(unsigned int rt : 5, __BITFIELD_FIELD(unsigned int fs : 5, __BITFIELD_FIELD(unsigned int fd : 5, __BITFIELD_FIELD(unsigned int func : 6,; 925 )))))) 926 }; 927 struct mm_fp1_format { 928 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 929 __BITFIELD_FIELD(unsigned int opcode : 6, __BITFIELD_FIELD(unsigned int rt : 5, __BITFIELD_FIELD(unsigned int fs : 5, __BITFIELD_FIELD(unsigned int fmt : 2, __BITFIELD_FIELD(unsigned int op : 8, __BITFIELD_FIELD(unsigned int func : 6,; 930 )))))) 931 }; 932 struct mm_fp2_format { 933 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 934 __BITFIELD_FIELD(unsigned int opcode : 6, __BITFIELD_FIELD(unsigned int fd : 5, __BITFIELD_FIELD(unsigned int fs : 5, __BITFIELD_FIELD(unsigned int cc : 3, __BITFIELD_FIELD(unsigned int zero : 2, __BITFIELD_FIELD(unsigned int fmt : 2, __BITFIELD_FIELD(unsigned int op : 3, __BITFIELD_FIELD(unsigned int func : 6,; 935 )))))))) 936 }; 937 struct mm_fp3_format { 938 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 939 __BITFIELD_FIELD(unsigned int opcode : 6, __BITFIELD_FIELD(unsigned int rt : 5, __BITFIELD_FIELD(unsigned int fs : 5, __BITFIELD_FIELD(unsigned int fmt : 3, __BITFIELD_FIELD(unsigned int op : 7, __BITFIELD_FIELD(unsigned int func : 6,; 940 )))))) 941 }; 942 struct mm_fp4_format { 943 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 944 __BITFIELD_FIELD(unsigned int opcode : 6, __BITFIELD_FIELD(unsigned int rt : 5, __BITFIELD_FIELD(unsigned int fs : 5, __BITFIELD_FIELD(unsigned int cc : 3, __BITFIELD_FIELD(unsigned int fmt : 3, __BITFIELD_FIELD(unsigned int cond : 4, __BITFIELD_FIELD(unsigned int func : 6,; 945 ))))))) 946 }; 947 struct mm_fp5_format { 948 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 949 __BITFIELD_FIELD(unsigned int opcode : 6, __BITFIELD_FIELD(unsigned int index : 5, __BITFIELD_FIELD(unsigned int base : 5, __BITFIELD_FIELD(unsigned int fd : 5, __BITFIELD_FIELD(unsigned int op : 5, __BITFIELD_FIELD(unsigned int func : 6,; 950 )))))) 951 }; 952 struct fp6_format { 953 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 954 __BITFIELD_FIELD(unsigned int opcode : 6, __BITFIELD_FIELD(unsigned int fr : 5, __BITFIELD_FIELD(unsigned int ft : 5, __BITFIELD_FIELD(unsigned int fs : 5, __BITFIELD_FIELD(unsigned int fd : 5, __BITFIELD_FIELD(unsigned int func : 6,; 955 )))))) 956 }; 957 struct mm_fp6_format { 958 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 959 __BITFIELD_FIELD(unsigned int opcode : 6, __BITFIELD_FIELD(unsigned int ft : 5, __BITFIELD_FIELD(unsigned int fs : 5, __BITFIELD_FIELD(unsigned int fd : 5, __BITFIELD_FIELD(unsigned int fr : 5, __BITFIELD_FIELD(unsigned int func : 6,; 960 )))))) 961 }; 962 struct mm_i_format { 963 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 964 __BITFIELD_FIELD(unsigned int opcode : 6, __BITFIELD_FIELD(unsigned int rt : 5, __BITFIELD_FIELD(unsigned int rs : 5, __BITFIELD_FIELD(signed int simmediate : 16,; 965 )))) 966 }; 967 struct mm_m_format { 968 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 969 __BITFIELD_FIELD(unsigned int opcode : 6, __BITFIELD_FIELD(unsigned int rd : 5, __BITFIELD_FIELD(unsigned int base : 5, __BITFIELD_FIELD(unsigned int func : 4, __BITFIELD_FIELD(signed int simmediate : 12,; 970 ))))) 971 }; 972 struct mm_x_format { 973 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 974 __BITFIELD_FIELD(unsigned int opcode : 6, __BITFIELD_FIELD(unsigned int index : 5, __BITFIELD_FIELD(unsigned int base : 5, __BITFIELD_FIELD(unsigned int rd : 5, __BITFIELD_FIELD(unsigned int func : 11,; 975 ))))) 976 }; 977 struct mm_b0_format { 978 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 979 __BITFIELD_FIELD(unsigned int opcode : 6, __BITFIELD_FIELD(signed int simmediate : 10, __BITFIELD_FIELD(unsigned int : 16,; 980 ))) 981 }; 982 struct mm_b1_format { 983 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 984 __BITFIELD_FIELD(unsigned int opcode : 6, __BITFIELD_FIELD(unsigned int rs : 3, __BITFIELD_FIELD(signed int simmediate : 7, __BITFIELD_FIELD(unsigned int : 16,; 985 )))) 986 }; 987 struct mm16_m_format { 988 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 989 __BITFIELD_FIELD(unsigned int opcode : 6, __BITFIELD_FIELD(unsigned int func : 4, __BITFIELD_FIELD(unsigned int rlist : 2, __BITFIELD_FIELD(unsigned int imm : 4, __BITFIELD_FIELD(unsigned int : 16,; 990 ))))) 991 }; 992 struct mm16_rb_format { 993 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 994 __BITFIELD_FIELD(unsigned int opcode : 6, __BITFIELD_FIELD(unsigned int rt : 3, __BITFIELD_FIELD(unsigned int base : 3, __BITFIELD_FIELD(signed int simmediate : 4, __BITFIELD_FIELD(unsigned int : 16,; 995 ))))) 996 }; 997 struct mm16_r3_format { 998 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 999 __BITFIELD_FIELD(unsigned int opcode : 6, __BITFIELD_FIELD(unsigned int rt : 3, __BITFIELD_FIELD(signed int simmediate : 7, __BITFIELD_FIELD(unsigned int : 16,; 1000 )))) 1001 }; 1002 struct mm16_r5_format { 1003 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 1004 __BITFIELD_FIELD(unsigned int opcode : 6, __BITFIELD_FIELD(unsigned int rt : 5, __BITFIELD_FIELD(signed int simmediate : 5, __BITFIELD_FIELD(unsigned int : 16,; 1005 )))) 1006 }; 1007 struct m16e_rr { 1008 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 1009 __BITFIELD_FIELD(unsigned int opcode : 5, __BITFIELD_FIELD(unsigned int rx : 3, __BITFIELD_FIELD(unsigned int nd : 1, __BITFIELD_FIELD(unsigned int l : 1, __BITFIELD_FIELD(unsigned int ra : 1, __BITFIELD_FIELD(unsigned int func : 5,; 1010 )))))) 1011 }; 1012 struct m16e_jal { 1013 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 1014 __BITFIELD_FIELD(unsigned int opcode : 5, __BITFIELD_FIELD(unsigned int x : 1, __BITFIELD_FIELD(unsigned int imm20_16 : 5, __BITFIELD_FIELD(signed int imm25_21 : 5,; 1015 )))) 1016 }; 1017 struct m16e_i64 { 1018 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 1019 __BITFIELD_FIELD(unsigned int opcode : 5, __BITFIELD_FIELD(unsigned int func : 3, __BITFIELD_FIELD(unsigned int imm : 8,; 1020 ))) 1021 }; 1022 struct m16e_ri64 { 1023 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 1024 __BITFIELD_FIELD(unsigned int opcode : 5, __BITFIELD_FIELD(unsigned int func : 3, __BITFIELD_FIELD(unsigned int ry : 3, __BITFIELD_FIELD(unsigned int imm : 5,; 1025 )))) 1026 }; 1027 struct m16e_ri { 1028 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 1029 __BITFIELD_FIELD(unsigned int opcode : 5, __BITFIELD_FIELD(unsigned int rx : 3, __BITFIELD_FIELD(unsigned int imm : 8,; 1030 ))) 1031 }; 1032 struct m16e_rri { 1033 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 1034 __BITFIELD_FIELD(unsigned int opcode : 5, __BITFIELD_FIELD(unsigned int rx : 3, __BITFIELD_FIELD(unsigned int ry : 3, __BITFIELD_FIELD(unsigned int imm : 5,; 1035 )))) 1036 }; 1037 struct m16e_i8 { 1038 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 1039 __BITFIELD_FIELD(unsigned int opcode : 5, __BITFIELD_FIELD(unsigned int func : 3, __BITFIELD_FIELD(unsigned int imm : 8,; 1040 ))) 1041 }; 1042 union mips_instruction { 1043 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 1044 unsigned int word; 1045 unsigned short halfword[2]; 1046 unsigned char byte[4]; 1047 struct j_format j_format; 1048 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 1049 struct i_format i_format; 1050 struct u_format u_format; 1051 struct c_format c_format; 1052 struct r_format r_format; 1053 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 1054 struct p_format p_format; 1055 struct f_format f_format; 1056 struct ma_format ma_format; 1057 struct msa_mi10_format msa_mi10_format; 1058 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 1059 struct b_format b_format; 1060 struct ps_format ps_format; 1061 struct v_format v_format; 1062 struct spec3_format spec3_format; 1063 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 1064 struct fb_format fb_format; 1065 struct fp0_format fp0_format; 1066 struct mm_fp0_format mm_fp0_format; 1067 struct fp1_format fp1_format; 1068 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 1069 struct mm_fp1_format mm_fp1_format; 1070 struct mm_fp2_format mm_fp2_format; 1071 struct mm_fp3_format mm_fp3_format; 1072 struct mm_fp4_format mm_fp4_format; 1073 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 1074 struct mm_fp5_format mm_fp5_format; 1075 struct fp6_format fp6_format; 1076 struct mm_fp6_format mm_fp6_format; 1077 struct mm_i_format mm_i_format; 1078 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 1079 struct mm_m_format mm_m_format; 1080 struct mm_x_format mm_x_format; 1081 struct mm_b0_format mm_b0_format; 1082 struct mm_b1_format mm_b1_format; 1083 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 1084 struct mm16_m_format mm16_m_format; 1085 struct mm16_rb_format mm16_rb_format; 1086 struct mm16_r3_format mm16_r3_format; 1087 struct mm16_r5_format mm16_r5_format; 1088 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 1089 }; 1090 union mips16e_instruction { 1091 unsigned int full : 16; 1092 struct m16e_rr rr; 1093 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 1094 struct m16e_jal jal; 1095 struct m16e_i64 i64; 1096 struct m16e_ri64 ri64; 1097 struct m16e_ri ri; 1098 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 1099 struct m16e_rri rri; 1100 struct m16e_i8 i8; 1101 }; 1102 #endif 1103 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 1104