1/*===- TableGen'erated file -------------------------------------*- C++ -*-===*\ 2|* *| 3|* Assembly Writer Source Fragment *| 4|* *| 5|* Automatically generated file, do not edit! *| 6|* *| 7\*===----------------------------------------------------------------------===*/ 8 9/// getMnemonic - This method is automatically generated by tablegen 10/// from the instruction set description. 11std::pair<const char *, uint64_t> LoongArchInstPrinter::getMnemonic(const MCInst *MI) { 12 13#ifdef __GNUC__ 14#pragma GCC diagnostic push 15#pragma GCC diagnostic ignored "-Woverlength-strings" 16#endif 17 static const char AsmStrs[] = { 18 /* 0 */ "ld.b\t\0" 19 /* 6 */ "iocsrrd.b\t\0" 20 /* 17 */ "ldle.b\t\0" 21 /* 25 */ "stle.b\t\0" 22 /* 33 */ "iocsrwr.b\t\0" 23 /* 44 */ "ldgt.b\t\0" 24 /* 52 */ "stgt.b\t\0" 25 /* 60 */ "st.b\t\0" 26 /* 66 */ "ext.w.b\t\0" 27 /* 75 */ "ldx.b\t\0" 28 /* 82 */ "stx.b\t\0" 29 /* 89 */ "bitrev.4b\t\0" 30 /* 100 */ "bitrev.8b\t\0" 31 /* 111 */ "invtlb\t\0" 32 /* 119 */ "fmina.d\t\0" 33 /* 128 */ "sra.d\t\0" 34 /* 135 */ "fmaxa.d\t\0" 35 /* 144 */ "amadd_db.d\t\0" 36 /* 156 */ "amand_db.d\t\0" 37 /* 168 */ "ammin_db.d\t\0" 38 /* 180 */ "amswap_db.d\t\0" 39 /* 193 */ "amor_db.d\t\0" 40 /* 204 */ "amxor_db.d\t\0" 41 /* 216 */ "ammax_db.d\t\0" 42 /* 228 */ "fscaleb.d\t\0" 43 /* 239 */ "flogb.d\t\0" 44 /* 248 */ "fsub.d\t\0" 45 /* 256 */ "fmsub.d\t\0" 46 /* 265 */ "fnmsub.d\t\0" 47 /* 275 */ "revb.d\t\0" 48 /* 283 */ "sc.d\t\0" 49 /* 289 */ "fadd.d\t\0" 50 /* 297 */ "amadd.d\t\0" 51 /* 306 */ "fmadd.d\t\0" 52 /* 315 */ "fnmadd.d\t\0" 53 /* 325 */ "fld.d\t\0" 54 /* 332 */ "amand.d\t\0" 55 /* 341 */ "mod.d\t\0" 56 /* 348 */ "iocsrrd.d\t\0" 57 /* 359 */ "fcmp.cle.d\t\0" 58 /* 371 */ "fldle.d\t\0" 59 /* 380 */ "fcmp.sle.d\t\0" 60 /* 392 */ "asrtle.d\t\0" 61 /* 402 */ "fstle.d\t\0" 62 /* 411 */ "fcmp.cule.d\t\0" 63 /* 424 */ "fcmp.sule.d\t\0" 64 /* 437 */ "rdtime.d\t\0" 65 /* 447 */ "fcmp.cne.d\t\0" 66 /* 459 */ "fcmp.sne.d\t\0" 67 /* 471 */ "fcmp.cune.d\t\0" 68 /* 484 */ "fcmp.sune.d\t\0" 69 /* 497 */ "fcmp.caf.d\t\0" 70 /* 509 */ "fcmp.saf.d\t\0" 71 /* 521 */ "fneg.d\t\0" 72 /* 529 */ "mulh.d\t\0" 73 /* 537 */ "revh.d\t\0" 74 /* 545 */ "lu32i.d\t\0" 75 /* 554 */ "lu52i.d\t\0" 76 /* 563 */ "addu16i.d\t\0" 77 /* 574 */ "srai.d\t\0" 78 /* 582 */ "addi.d\t\0" 79 /* 590 */ "slli.d\t\0" 80 /* 598 */ "srli.d\t\0" 81 /* 606 */ "rotri.d\t\0" 82 /* 615 */ "bytepick.d\t\0" 83 /* 627 */ "bstrpick.d\t\0" 84 /* 639 */ "ftintrne.l.d\t\0" 85 /* 653 */ "ftintrm.l.d\t\0" 86 /* 666 */ "ftintrp.l.d\t\0" 87 /* 679 */ "ftint.l.d\t\0" 88 /* 690 */ "ftintrz.l.d\t\0" 89 /* 703 */ "sll.d\t\0" 90 /* 710 */ "srl.d\t\0" 91 /* 717 */ "alsl.d\t\0" 92 /* 725 */ "fmul.d\t\0" 93 /* 733 */ "fcopysign.d\t\0" 94 /* 746 */ "fmin.d\t\0" 95 /* 754 */ "ammin.d\t\0" 96 /* 763 */ "fcmp.cun.d\t\0" 97 /* 775 */ "fcmp.sun.d\t\0" 98 /* 787 */ "clo.d\t\0" 99 /* 794 */ "cto.d\t\0" 100 /* 801 */ "amswap.d\t\0" 101 /* 811 */ "frecip.d\t\0" 102 /* 821 */ "fcmp.ceq.d\t\0" 103 /* 833 */ "fcmp.seq.d\t\0" 104 /* 845 */ "fcmp.cueq.d\t\0" 105 /* 858 */ "fcmp.sueq.d\t\0" 106 /* 871 */ "movgr2fr.d\t\0" 107 /* 883 */ "movfr2gr.d\t\0" 108 /* 895 */ "fcmp.cor.d\t\0" 109 /* 907 */ "amor.d\t\0" 110 /* 915 */ "fcmp.sor.d\t\0" 111 /* 927 */ "amxor.d\t\0" 112 /* 936 */ "rotr.d\t\0" 113 /* 944 */ "ldptr.d\t\0" 114 /* 953 */ "stptr.d\t\0" 115 /* 962 */ "iocsrwr.d\t\0" 116 /* 973 */ "fcvt.s.d\t\0" 117 /* 983 */ "fabs.d\t\0" 118 /* 991 */ "bstrins.d\t\0" 119 /* 1002 */ "fclass.d\t\0" 120 /* 1012 */ "fldgt.d\t\0" 121 /* 1021 */ "asrtgt.d\t\0" 122 /* 1031 */ "fstgt.d\t\0" 123 /* 1040 */ "fcmp.clt.d\t\0" 124 /* 1052 */ "fcmp.slt.d\t\0" 125 /* 1064 */ "fcmp.cult.d\t\0" 126 /* 1077 */ "fcmp.sult.d\t\0" 127 /* 1090 */ "frint.d\t\0" 128 /* 1099 */ "fsqrt.d\t\0" 129 /* 1108 */ "frsqrt.d\t\0" 130 /* 1118 */ "fst.d\t\0" 131 /* 1125 */ "bitrev.d\t\0" 132 /* 1135 */ "fdiv.d\t\0" 133 /* 1143 */ "fmov.d\t\0" 134 /* 1151 */ "ftintrne.w.d\t\0" 135 /* 1165 */ "ftintrm.w.d\t\0" 136 /* 1178 */ "ftintrp.w.d\t\0" 137 /* 1191 */ "ftint.w.d\t\0" 138 /* 1202 */ "ftintrz.w.d\t\0" 139 /* 1215 */ "fmax.d\t\0" 140 /* 1223 */ "ammax.d\t\0" 141 /* 1232 */ "fldx.d\t\0" 142 /* 1240 */ "fstx.d\t\0" 143 /* 1248 */ "clz.d\t\0" 144 /* 1255 */ "ctz.d\t\0" 145 /* 1262 */ "la.tls.gd\t\0" 146 /* 1273 */ "la.tls.ld\t\0" 147 /* 1284 */ "preld\t\0" 148 /* 1291 */ "and\t\0" 149 /* 1296 */ "tlbrd\t\0" 150 /* 1303 */ "csrrd\t\0" 151 /* 1310 */ "bge\t\0" 152 /* 1315 */ "la.tls.ie\t\0" 153 /* 1326 */ "la.tls.le\t\0" 154 /* 1337 */ "idle\t\0" 155 /* 1343 */ "bne\t\0" 156 /* 1348 */ "ldpte\t\0" 157 /* 1355 */ "movfr2cf\t\0" 158 /* 1365 */ "movgr2cf\t\0" 159 /* 1375 */ "cpucfg\t\0" 160 /* 1383 */ "csrxchg\t\0" 161 /* 1392 */ "ld.h\t\0" 162 /* 1398 */ "iocsrrd.h\t\0" 163 /* 1409 */ "ldle.h\t\0" 164 /* 1417 */ "stle.h\t\0" 165 /* 1425 */ "iocsrwr.h\t\0" 166 /* 1436 */ "ldgt.h\t\0" 167 /* 1444 */ "stgt.h\t\0" 168 /* 1452 */ "st.h\t\0" 169 /* 1458 */ "ext.w.h\t\0" 170 /* 1467 */ "ldx.h\t\0" 171 /* 1474 */ "stx.h\t\0" 172 /* 1481 */ "revb.2h\t\0" 173 /* 1490 */ "revb.4h\t\0" 174 /* 1499 */ "tlbsrch\t\0" 175 /* 1508 */ "tlbflush\t\0" 176 /* 1518 */ "pcalau12i\t\0" 177 /* 1529 */ "pcaddu12i\t\0" 178 /* 1540 */ "pcaddu18i\t\0" 179 /* 1551 */ "pcaddi\t\0" 180 /* 1559 */ "andi\t\0" 181 /* 1565 */ "xori\t\0" 182 /* 1571 */ "slti\t\0" 183 /* 1577 */ "sltui\t\0" 184 /* 1584 */ "break\t\0" 185 /* 1591 */ "ffint.d.l\t\0" 186 /* 1602 */ "ffint.s.l\t\0" 187 /* 1613 */ "bl\t\0" 188 /* 1617 */ "dbcl\t\0" 189 /* 1623 */ "la.pcrel\t\0" 190 /* 1633 */ "fsel\t\0" 191 /* 1639 */ "syscall\t\0" 192 /* 1648 */ "tlbfill\t\0" 193 /* 1657 */ "jirl\t\0" 194 /* 1663 */ "andn\t\0" 195 /* 1669 */ "orn\t\0" 196 /* 1674 */ "ertn\t\0" 197 /* 1680 */ "cacop\t\0" 198 /* 1687 */ "beq\t\0" 199 /* 1692 */ "dbar\t\0" 200 /* 1698 */ "ibar\t\0" 201 /* 1704 */ "movcf2fr\t\0" 202 /* 1714 */ "movcf2gr\t\0" 203 /* 1724 */ "movfcsr2gr\t\0" 204 /* 1736 */ "lddir\t\0" 205 /* 1743 */ "tlbclr\t\0" 206 /* 1751 */ "nor\t\0" 207 /* 1756 */ "xor\t\0" 208 /* 1761 */ "movgr2fcsr\t\0" 209 /* 1773 */ "tlbwr\t\0" 210 /* 1780 */ "csrwr\t\0" 211 /* 1787 */ "fmina.s\t\0" 212 /* 1796 */ "fmaxa.s\t\0" 213 /* 1805 */ "fscaleb.s\t\0" 214 /* 1816 */ "flogb.s\t\0" 215 /* 1825 */ "fsub.s\t\0" 216 /* 1833 */ "fmsub.s\t\0" 217 /* 1842 */ "fnmsub.s\t\0" 218 /* 1852 */ "fcvt.d.s\t\0" 219 /* 1862 */ "fadd.s\t\0" 220 /* 1870 */ "fmadd.s\t\0" 221 /* 1879 */ "fnmadd.s\t\0" 222 /* 1889 */ "fld.s\t\0" 223 /* 1896 */ "fcmp.cle.s\t\0" 224 /* 1908 */ "fldle.s\t\0" 225 /* 1917 */ "fcmp.sle.s\t\0" 226 /* 1929 */ "fstle.s\t\0" 227 /* 1938 */ "fcmp.cule.s\t\0" 228 /* 1951 */ "fcmp.sule.s\t\0" 229 /* 1964 */ "fcmp.cne.s\t\0" 230 /* 1976 */ "fcmp.sne.s\t\0" 231 /* 1988 */ "fcmp.cune.s\t\0" 232 /* 2001 */ "fcmp.sune.s\t\0" 233 /* 2014 */ "fcmp.caf.s\t\0" 234 /* 2026 */ "fcmp.saf.s\t\0" 235 /* 2038 */ "fneg.s\t\0" 236 /* 2046 */ "ftintrne.l.s\t\0" 237 /* 2060 */ "ftintrm.l.s\t\0" 238 /* 2073 */ "ftintrp.l.s\t\0" 239 /* 2086 */ "ftint.l.s\t\0" 240 /* 2097 */ "ftintrz.l.s\t\0" 241 /* 2110 */ "fmul.s\t\0" 242 /* 2118 */ "fcopysign.s\t\0" 243 /* 2131 */ "fmin.s\t\0" 244 /* 2139 */ "fcmp.cun.s\t\0" 245 /* 2151 */ "fcmp.sun.s\t\0" 246 /* 2163 */ "frecip.s\t\0" 247 /* 2173 */ "fcmp.ceq.s\t\0" 248 /* 2185 */ "fcmp.seq.s\t\0" 249 /* 2197 */ "fcmp.cueq.s\t\0" 250 /* 2210 */ "fcmp.sueq.s\t\0" 251 /* 2223 */ "movfrh2gr.s\t\0" 252 /* 2236 */ "movfr2gr.s\t\0" 253 /* 2248 */ "fcmp.cor.s\t\0" 254 /* 2260 */ "fcmp.sor.s\t\0" 255 /* 2272 */ "fabs.s\t\0" 256 /* 2280 */ "fclass.s\t\0" 257 /* 2290 */ "fldgt.s\t\0" 258 /* 2299 */ "fstgt.s\t\0" 259 /* 2308 */ "fcmp.clt.s\t\0" 260 /* 2320 */ "fcmp.slt.s\t\0" 261 /* 2332 */ "fcmp.cult.s\t\0" 262 /* 2345 */ "fcmp.sult.s\t\0" 263 /* 2358 */ "frint.s\t\0" 264 /* 2367 */ "fsqrt.s\t\0" 265 /* 2376 */ "frsqrt.s\t\0" 266 /* 2386 */ "fst.s\t\0" 267 /* 2393 */ "fdiv.s\t\0" 268 /* 2401 */ "fmov.s\t\0" 269 /* 2409 */ "ftintrne.w.s\t\0" 270 /* 2423 */ "ftintrm.w.s\t\0" 271 /* 2436 */ "ftintrp.w.s\t\0" 272 /* 2449 */ "ftint.w.s\t\0" 273 /* 2460 */ "ftintrz.w.s\t\0" 274 /* 2473 */ "fmax.s\t\0" 275 /* 2481 */ "fldx.s\t\0" 276 /* 2489 */ "fstx.s\t\0" 277 /* 2497 */ "la.abs\t\0" 278 /* 2505 */ "blt\t\0" 279 /* 2510 */ "slt\t\0" 280 /* 2515 */ "la.got\t\0" 281 /* 2523 */ "ld.bu\t\0" 282 /* 2530 */ "ldx.bu\t\0" 283 /* 2538 */ "ammin_db.du\t\0" 284 /* 2551 */ "ammax_db.du\t\0" 285 /* 2564 */ "mod.du\t\0" 286 /* 2572 */ "mulh.du\t\0" 287 /* 2581 */ "ammin.du\t\0" 288 /* 2591 */ "div.du\t\0" 289 /* 2599 */ "ammax.du\t\0" 290 /* 2609 */ "bgeu\t\0" 291 /* 2615 */ "ld.hu\t\0" 292 /* 2622 */ "ldx.hu\t\0" 293 /* 2630 */ "bltu\t\0" 294 /* 2636 */ "sltu\t\0" 295 /* 2642 */ "ammin_db.wu\t\0" 296 /* 2655 */ "ammax_db.wu\t\0" 297 /* 2668 */ "mulw.d.wu\t\0" 298 /* 2679 */ "ld.wu\t\0" 299 /* 2686 */ "mod.wu\t\0" 300 /* 2694 */ "mulh.wu\t\0" 301 /* 2703 */ "alsl.wu\t\0" 302 /* 2712 */ "ammin.wu\t\0" 303 /* 2722 */ "div.wu\t\0" 304 /* 2730 */ "ammax.wu\t\0" 305 /* 2740 */ "ldx.wu\t\0" 306 /* 2748 */ "sra.w\t\0" 307 /* 2755 */ "crcc.w.b.w\t\0" 308 /* 2767 */ "crc.w.b.w\t\0" 309 /* 2778 */ "amadd_db.w\t\0" 310 /* 2790 */ "amand_db.w\t\0" 311 /* 2802 */ "ammin_db.w\t\0" 312 /* 2814 */ "amswap_db.w\t\0" 313 /* 2827 */ "amor_db.w\t\0" 314 /* 2838 */ "amxor_db.w\t\0" 315 /* 2850 */ "ammax_db.w\t\0" 316 /* 2862 */ "sub.w\t\0" 317 /* 2869 */ "sc.w\t\0" 318 /* 2875 */ "ffint.d.w\t\0" 319 /* 2886 */ "crcc.w.d.w\t\0" 320 /* 2898 */ "crc.w.d.w\t\0" 321 /* 2909 */ "mulw.d.w\t\0" 322 /* 2919 */ "amadd.w\t\0" 323 /* 2928 */ "ld.w\t\0" 324 /* 2934 */ "amand.w\t\0" 325 /* 2943 */ "mod.w\t\0" 326 /* 2950 */ "iocsrrd.w\t\0" 327 /* 2961 */ "ldle.w\t\0" 328 /* 2969 */ "stle.w\t\0" 329 /* 2977 */ "crcc.w.h.w\t\0" 330 /* 2989 */ "crc.w.h.w\t\0" 331 /* 3000 */ "rdtimeh.w\t\0" 332 /* 3011 */ "mulh.w\t\0" 333 /* 3019 */ "movgr2frh.w\t\0" 334 /* 3032 */ "lu12i.w\t\0" 335 /* 3041 */ "srai.w\t\0" 336 /* 3049 */ "addi.w\t\0" 337 /* 3057 */ "slli.w\t\0" 338 /* 3065 */ "srli.w\t\0" 339 /* 3073 */ "rotri.w\t\0" 340 /* 3082 */ "bytepick.w\t\0" 341 /* 3094 */ "bstrpick.w\t\0" 342 /* 3106 */ "rdtimel.w\t\0" 343 /* 3117 */ "sll.w\t\0" 344 /* 3124 */ "srl.w\t\0" 345 /* 3131 */ "alsl.w\t\0" 346 /* 3139 */ "mul.w\t\0" 347 /* 3146 */ "ammin.w\t\0" 348 /* 3155 */ "clo.w\t\0" 349 /* 3162 */ "cto.w\t\0" 350 /* 3169 */ "amswap.w\t\0" 351 /* 3179 */ "movgr2fr.w\t\0" 352 /* 3191 */ "amor.w\t\0" 353 /* 3199 */ "amxor.w\t\0" 354 /* 3208 */ "rotr.w\t\0" 355 /* 3216 */ "ldptr.w\t\0" 356 /* 3225 */ "stptr.w\t\0" 357 /* 3234 */ "iocsrwr.w\t\0" 358 /* 3245 */ "ffint.s.w\t\0" 359 /* 3256 */ "bstrins.w\t\0" 360 /* 3267 */ "ldgt.w\t\0" 361 /* 3275 */ "stgt.w\t\0" 362 /* 3283 */ "st.w\t\0" 363 /* 3289 */ "bitrev.w\t\0" 364 /* 3299 */ "div.w\t\0" 365 /* 3306 */ "crcc.w.w.w\t\0" 366 /* 3318 */ "crc.w.w.w\t\0" 367 /* 3329 */ "ammax.w\t\0" 368 /* 3338 */ "ldx.w\t\0" 369 /* 3345 */ "stx.w\t\0" 370 /* 3352 */ "clz.w\t\0" 371 /* 3359 */ "ctz.w\t\0" 372 /* 3366 */ "revb.2w\t\0" 373 /* 3375 */ "revh.2w\t\0" 374 /* 3384 */ "preldx\t\0" 375 /* 3392 */ "bnez\t\0" 376 /* 3398 */ "bcnez\t\0" 377 /* 3405 */ "masknez\t\0" 378 /* 3414 */ "beqz\t\0" 379 /* 3420 */ "bceqz\t\0" 380 /* 3427 */ "maskeqz\t\0" 381 /* 3436 */ "# XRay Function Patchable RET.\0" 382 /* 3467 */ "# XRay Typed Event Log.\0" 383 /* 3491 */ "# XRay Custom Event Log.\0" 384 /* 3516 */ "# XRay Function Enter.\0" 385 /* 3539 */ "# XRay Tail Call Exit.\0" 386 /* 3562 */ "# XRay Function Exit.\0" 387 /* 3584 */ "LIFETIME_END\0" 388 /* 3597 */ "PSEUDO_PROBE\0" 389 /* 3610 */ "BUNDLE\0" 390 /* 3617 */ "DBG_VALUE\0" 391 /* 3627 */ "DBG_INSTR_REF\0" 392 /* 3641 */ "DBG_PHI\0" 393 /* 3649 */ "DBG_LABEL\0" 394 /* 3659 */ "LIFETIME_START\0" 395 /* 3674 */ "DBG_VALUE_LIST\0" 396 /* 3689 */ "# FEntry call\0" 397}; 398#ifdef __GNUC__ 399#pragma GCC diagnostic pop 400#endif 401 402 static const uint16_t OpInfo0[] = { 403 0U, // PHI 404 0U, // INLINEASM 405 0U, // INLINEASM_BR 406 0U, // CFI_INSTRUCTION 407 0U, // EH_LABEL 408 0U, // GC_LABEL 409 0U, // ANNOTATION_LABEL 410 0U, // KILL 411 0U, // EXTRACT_SUBREG 412 0U, // INSERT_SUBREG 413 0U, // IMPLICIT_DEF 414 0U, // SUBREG_TO_REG 415 0U, // COPY_TO_REGCLASS 416 3618U, // DBG_VALUE 417 3675U, // DBG_VALUE_LIST 418 3628U, // DBG_INSTR_REF 419 3642U, // DBG_PHI 420 3650U, // DBG_LABEL 421 0U, // REG_SEQUENCE 422 0U, // COPY 423 3611U, // BUNDLE 424 3660U, // LIFETIME_START 425 3585U, // LIFETIME_END 426 3598U, // PSEUDO_PROBE 427 0U, // ARITH_FENCE 428 0U, // STACKMAP 429 3690U, // FENTRY_CALL 430 0U, // PATCHPOINT 431 0U, // LOAD_STACK_GUARD 432 0U, // PREALLOCATED_SETUP 433 0U, // PREALLOCATED_ARG 434 0U, // STATEPOINT 435 0U, // LOCAL_ESCAPE 436 0U, // FAULTING_OP 437 0U, // PATCHABLE_OP 438 3517U, // PATCHABLE_FUNCTION_ENTER 439 3437U, // PATCHABLE_RET 440 3563U, // PATCHABLE_FUNCTION_EXIT 441 3540U, // PATCHABLE_TAIL_CALL 442 3492U, // PATCHABLE_EVENT_CALL 443 3468U, // PATCHABLE_TYPED_EVENT_CALL 444 0U, // ICALL_BRANCH_FUNNEL 445 0U, // MEMBARRIER 446 0U, // G_ASSERT_SEXT 447 0U, // G_ASSERT_ZEXT 448 0U, // G_ASSERT_ALIGN 449 0U, // G_ADD 450 0U, // G_SUB 451 0U, // G_MUL 452 0U, // G_SDIV 453 0U, // G_UDIV 454 0U, // G_SREM 455 0U, // G_UREM 456 0U, // G_SDIVREM 457 0U, // G_UDIVREM 458 0U, // G_AND 459 0U, // G_OR 460 0U, // G_XOR 461 0U, // G_IMPLICIT_DEF 462 0U, // G_PHI 463 0U, // G_FRAME_INDEX 464 0U, // G_GLOBAL_VALUE 465 0U, // G_EXTRACT 466 0U, // G_UNMERGE_VALUES 467 0U, // G_INSERT 468 0U, // G_MERGE_VALUES 469 0U, // G_BUILD_VECTOR 470 0U, // G_BUILD_VECTOR_TRUNC 471 0U, // G_CONCAT_VECTORS 472 0U, // G_PTRTOINT 473 0U, // G_INTTOPTR 474 0U, // G_BITCAST 475 0U, // G_FREEZE 476 0U, // G_INTRINSIC_FPTRUNC_ROUND 477 0U, // G_INTRINSIC_TRUNC 478 0U, // G_INTRINSIC_ROUND 479 0U, // G_INTRINSIC_LRINT 480 0U, // G_INTRINSIC_ROUNDEVEN 481 0U, // G_READCYCLECOUNTER 482 0U, // G_LOAD 483 0U, // G_SEXTLOAD 484 0U, // G_ZEXTLOAD 485 0U, // G_INDEXED_LOAD 486 0U, // G_INDEXED_SEXTLOAD 487 0U, // G_INDEXED_ZEXTLOAD 488 0U, // G_STORE 489 0U, // G_INDEXED_STORE 490 0U, // G_ATOMIC_CMPXCHG_WITH_SUCCESS 491 0U, // G_ATOMIC_CMPXCHG 492 0U, // G_ATOMICRMW_XCHG 493 0U, // G_ATOMICRMW_ADD 494 0U, // G_ATOMICRMW_SUB 495 0U, // G_ATOMICRMW_AND 496 0U, // G_ATOMICRMW_NAND 497 0U, // G_ATOMICRMW_OR 498 0U, // G_ATOMICRMW_XOR 499 0U, // G_ATOMICRMW_MAX 500 0U, // G_ATOMICRMW_MIN 501 0U, // G_ATOMICRMW_UMAX 502 0U, // G_ATOMICRMW_UMIN 503 0U, // G_ATOMICRMW_FADD 504 0U, // G_ATOMICRMW_FSUB 505 0U, // G_ATOMICRMW_FMAX 506 0U, // G_ATOMICRMW_FMIN 507 0U, // G_ATOMICRMW_UINC_WRAP 508 0U, // G_ATOMICRMW_UDEC_WRAP 509 0U, // G_FENCE 510 0U, // G_BRCOND 511 0U, // G_BRINDIRECT 512 0U, // G_INVOKE_REGION_START 513 0U, // G_INTRINSIC 514 0U, // G_INTRINSIC_W_SIDE_EFFECTS 515 0U, // G_ANYEXT 516 0U, // G_TRUNC 517 0U, // G_CONSTANT 518 0U, // G_FCONSTANT 519 0U, // G_VASTART 520 0U, // G_VAARG 521 0U, // G_SEXT 522 0U, // G_SEXT_INREG 523 0U, // G_ZEXT 524 0U, // G_SHL 525 0U, // G_LSHR 526 0U, // G_ASHR 527 0U, // G_FSHL 528 0U, // G_FSHR 529 0U, // G_ROTR 530 0U, // G_ROTL 531 0U, // G_ICMP 532 0U, // G_FCMP 533 0U, // G_SELECT 534 0U, // G_UADDO 535 0U, // G_UADDE 536 0U, // G_USUBO 537 0U, // G_USUBE 538 0U, // G_SADDO 539 0U, // G_SADDE 540 0U, // G_SSUBO 541 0U, // G_SSUBE 542 0U, // G_UMULO 543 0U, // G_SMULO 544 0U, // G_UMULH 545 0U, // G_SMULH 546 0U, // G_UADDSAT 547 0U, // G_SADDSAT 548 0U, // G_USUBSAT 549 0U, // G_SSUBSAT 550 0U, // G_USHLSAT 551 0U, // G_SSHLSAT 552 0U, // G_SMULFIX 553 0U, // G_UMULFIX 554 0U, // G_SMULFIXSAT 555 0U, // G_UMULFIXSAT 556 0U, // G_SDIVFIX 557 0U, // G_UDIVFIX 558 0U, // G_SDIVFIXSAT 559 0U, // G_UDIVFIXSAT 560 0U, // G_FADD 561 0U, // G_FSUB 562 0U, // G_FMUL 563 0U, // G_FMA 564 0U, // G_FMAD 565 0U, // G_FDIV 566 0U, // G_FREM 567 0U, // G_FPOW 568 0U, // G_FPOWI 569 0U, // G_FEXP 570 0U, // G_FEXP2 571 0U, // G_FLOG 572 0U, // G_FLOG2 573 0U, // G_FLOG10 574 0U, // G_FNEG 575 0U, // G_FPEXT 576 0U, // G_FPTRUNC 577 0U, // G_FPTOSI 578 0U, // G_FPTOUI 579 0U, // G_SITOFP 580 0U, // G_UITOFP 581 0U, // G_FABS 582 0U, // G_FCOPYSIGN 583 0U, // G_IS_FPCLASS 584 0U, // G_FCANONICALIZE 585 0U, // G_FMINNUM 586 0U, // G_FMAXNUM 587 0U, // G_FMINNUM_IEEE 588 0U, // G_FMAXNUM_IEEE 589 0U, // G_FMINIMUM 590 0U, // G_FMAXIMUM 591 0U, // G_PTR_ADD 592 0U, // G_PTRMASK 593 0U, // G_SMIN 594 0U, // G_SMAX 595 0U, // G_UMIN 596 0U, // G_UMAX 597 0U, // G_ABS 598 0U, // G_LROUND 599 0U, // G_LLROUND 600 0U, // G_BR 601 0U, // G_BRJT 602 0U, // G_INSERT_VECTOR_ELT 603 0U, // G_EXTRACT_VECTOR_ELT 604 0U, // G_SHUFFLE_VECTOR 605 0U, // G_CTTZ 606 0U, // G_CTTZ_ZERO_UNDEF 607 0U, // G_CTLZ 608 0U, // G_CTLZ_ZERO_UNDEF 609 0U, // G_CTPOP 610 0U, // G_BSWAP 611 0U, // G_BITREVERSE 612 0U, // G_FCEIL 613 0U, // G_FCOS 614 0U, // G_FSIN 615 0U, // G_FSQRT 616 0U, // G_FFLOOR 617 0U, // G_FRINT 618 0U, // G_FNEARBYINT 619 0U, // G_ADDRSPACE_CAST 620 0U, // G_BLOCK_ADDR 621 0U, // G_JUMP_TABLE 622 0U, // G_DYN_STACKALLOC 623 0U, // G_STRICT_FADD 624 0U, // G_STRICT_FSUB 625 0U, // G_STRICT_FMUL 626 0U, // G_STRICT_FDIV 627 0U, // G_STRICT_FREM 628 0U, // G_STRICT_FMA 629 0U, // G_STRICT_FSQRT 630 0U, // G_READ_REGISTER 631 0U, // G_WRITE_REGISTER 632 0U, // G_MEMCPY 633 0U, // G_MEMCPY_INLINE 634 0U, // G_MEMMOVE 635 0U, // G_MEMSET 636 0U, // G_BZERO 637 0U, // G_VECREDUCE_SEQ_FADD 638 0U, // G_VECREDUCE_SEQ_FMUL 639 0U, // G_VECREDUCE_FADD 640 0U, // G_VECREDUCE_FMUL 641 0U, // G_VECREDUCE_FMAX 642 0U, // G_VECREDUCE_FMIN 643 0U, // G_VECREDUCE_ADD 644 0U, // G_VECREDUCE_MUL 645 0U, // G_VECREDUCE_AND 646 0U, // G_VECREDUCE_OR 647 0U, // G_VECREDUCE_XOR 648 0U, // G_VECREDUCE_SMAX 649 0U, // G_VECREDUCE_SMIN 650 0U, // G_VECREDUCE_UMAX 651 0U, // G_VECREDUCE_UMIN 652 0U, // G_SBFX 653 0U, // G_UBFX 654 5U, // ADJCALLSTACKDOWN 655 5U, // ADJCALLSTACKUP 656 5U, // PseudoAtomicLoadAdd32 657 5U, // PseudoAtomicLoadAnd32 658 5U, // PseudoAtomicLoadNand32 659 5U, // PseudoAtomicLoadNand64 660 5U, // PseudoAtomicLoadOr32 661 5U, // PseudoAtomicLoadSub32 662 5U, // PseudoAtomicLoadXor32 663 5U, // PseudoAtomicStoreD 664 5U, // PseudoAtomicStoreW 665 5U, // PseudoAtomicSwap32 666 5U, // PseudoBR 667 5U, // PseudoBRIND 668 5U, // PseudoB_TAIL 669 5U, // PseudoCALL 670 5U, // PseudoCALLIndirect 671 5U, // PseudoCmpXchg32 672 5U, // PseudoCmpXchg64 673 5U, // PseudoJIRL_CALL 674 5U, // PseudoJIRL_TAIL 675 6594U, // PseudoLA_ABS 676 39362U, // PseudoLA_ABS_LARGE 677 6612U, // PseudoLA_GOT 678 6612U, // PseudoLA_GOT_LARGE 679 5720U, // PseudoLA_PCREL 680 5720U, // PseudoLA_PCREL_LARGE 681 5359U, // PseudoLA_TLS_GD 682 5359U, // PseudoLA_TLS_GD_LARGE 683 5412U, // PseudoLA_TLS_IE 684 5412U, // PseudoLA_TLS_IE_LARGE 685 5370U, // PseudoLA_TLS_LD 686 5370U, // PseudoLA_TLS_LD_LARGE 687 5423U, // PseudoLA_TLS_LE 688 5U, // PseudoLD_CFR 689 4689U, // PseudoLI_D 690 7156U, // PseudoLI_W 691 5U, // PseudoMaskedAtomicLoadAdd32 692 5U, // PseudoMaskedAtomicLoadMax32 693 5U, // PseudoMaskedAtomicLoadMin32 694 5U, // PseudoMaskedAtomicLoadNand32 695 5U, // PseudoMaskedAtomicLoadSub32 696 5U, // PseudoMaskedAtomicLoadUMax32 697 5U, // PseudoMaskedAtomicLoadUMin32 698 5U, // PseudoMaskedAtomicSwap32 699 5U, // PseudoMaskedCmpXchg32 700 5U, // PseudoRET 701 5U, // PseudoST_CFR 702 5U, // PseudoTAIL 703 5U, // PseudoTAILIndirect 704 5U, // PseudoUNIMP 705 5U, // RDFCSR 706 5U, // WRFCSR 707 4679U, // ADDI_D 708 7146U, // ADDI_W 709 4660U, // ADDU16I_D 710 4387U, // ADD_D 711 7018U, // ADD_W 712 4814U, // ALSL_D 713 7228U, // ALSL_W 714 6800U, // ALSL_WU 715 4394U, // AMADD_D 716 4241U, // AMADD_DB_D 717 6875U, // AMADD_DB_W 718 7016U, // AMADD_W 719 4429U, // AMAND_D 720 4253U, // AMAND_DB_D 721 6887U, // AMAND_DB_W 722 7031U, // AMAND_W 723 5320U, // AMMAX_D 724 4313U, // AMMAX_DB_D 725 6648U, // AMMAX_DB_DU 726 6947U, // AMMAX_DB_W 727 6752U, // AMMAX_DB_WU 728 6696U, // AMMAX_DU 729 7426U, // AMMAX_W 730 6827U, // AMMAX_WU 731 4851U, // AMMIN_D 732 4265U, // AMMIN_DB_D 733 6635U, // AMMIN_DB_DU 734 6899U, // AMMIN_DB_W 735 6739U, // AMMIN_DB_WU 736 6678U, // AMMIN_DU 737 7243U, // AMMIN_W 738 6809U, // AMMIN_WU 739 5004U, // AMOR_D 740 4290U, // AMOR_DB_D 741 6924U, // AMOR_DB_W 742 7288U, // AMOR_W 743 4898U, // AMSWAP_D 744 4277U, // AMSWAP_DB_D 745 6911U, // AMSWAP_DB_W 746 7266U, // AMSWAP_W 747 5024U, // AMXOR_D 748 4301U, // AMXOR_DB_D 749 6935U, // AMXOR_DB_W 750 7296U, // AMXOR_W 751 5388U, // AND 752 5656U, // ANDI 753 5760U, // ANDN 754 5118U, // ASRTGT_D 755 4489U, // ASRTLE_D 756 20484U, // B 757 7517U, // BCEQZ 758 7495U, // BCNEZ 759 5784U, // BEQ 760 7511U, // BEQZ 761 5407U, // BGE 762 6706U, // BGEU 763 4186U, // BITREV_4B 764 4197U, // BITREV_8B 765 5222U, // BITREV_D 766 7386U, // BITREV_W 767 22094U, // BL 768 6602U, // BLT 769 6727U, // BLTU 770 5440U, // BNE 771 7489U, // BNEZ 772 22065U, // BREAK 773 9184U, // BSTRINS_D 774 11449U, // BSTRINS_W 775 4724U, // BSTRPICK_D 776 7191U, // BSTRPICK_W 777 4712U, // BYTEPICK_D 778 7179U, // BYTEPICK_W 779 5777U, // CACOP 780 4884U, // CLO_D 781 7252U, // CLO_W 782 5345U, // CLZ_D 783 7449U, // CLZ_W 784 5472U, // CPUCFG 785 6852U, // CRCC_W_B_W 786 6983U, // CRCC_W_D_W 787 7074U, // CRCC_W_H_W 788 7403U, // CRCC_W_W_W 789 6864U, // CRC_W_B_W 790 6995U, // CRC_W_D_W 791 7086U, // CRC_W_H_W 792 7415U, // CRC_W_W_W 793 5400U, // CSRRD 794 26357U, // CSRWR 795 9576U, // CSRXCHG 796 4891U, // CTO_D 797 7259U, // CTO_W 798 5352U, // CTZ_D 799 7456U, // CTZ_W 800 22173U, // DBAR 801 22098U, // DBCL 802 5233U, // DIV_D 803 6688U, // DIV_DU 804 7396U, // DIV_W 805 6819U, // DIV_WU 806 1675U, // ERTN 807 4163U, // EXT_W_B 808 5555U, // EXT_W_H 809 5080U, // FABS_D 810 6369U, // FABS_S 811 4386U, // FADD_D 812 5959U, // FADD_S 813 5099U, // FCLASS_D 814 6377U, // FCLASS_S 815 4594U, // FCMP_CAF_D 816 6111U, // FCMP_CAF_S 817 4918U, // FCMP_CEQ_D 818 6270U, // FCMP_CEQ_S 819 4456U, // FCMP_CLE_D 820 5993U, // FCMP_CLE_S 821 5137U, // FCMP_CLT_D 822 6405U, // FCMP_CLT_S 823 4544U, // FCMP_CNE_D 824 6061U, // FCMP_CNE_S 825 4992U, // FCMP_COR_D 826 6345U, // FCMP_COR_S 827 4942U, // FCMP_CUEQ_D 828 6294U, // FCMP_CUEQ_S 829 4508U, // FCMP_CULE_D 830 6035U, // FCMP_CULE_S 831 5161U, // FCMP_CULT_D 832 6429U, // FCMP_CULT_S 833 4568U, // FCMP_CUNE_D 834 6085U, // FCMP_CUNE_S 835 4860U, // FCMP_CUN_D 836 6236U, // FCMP_CUN_S 837 4606U, // FCMP_SAF_D 838 6123U, // FCMP_SAF_S 839 4930U, // FCMP_SEQ_D 840 6282U, // FCMP_SEQ_S 841 4477U, // FCMP_SLE_D 842 6014U, // FCMP_SLE_S 843 5149U, // FCMP_SLT_D 844 6417U, // FCMP_SLT_S 845 4556U, // FCMP_SNE_D 846 6073U, // FCMP_SNE_S 847 5012U, // FCMP_SOR_D 848 6357U, // FCMP_SOR_S 849 4955U, // FCMP_SUEQ_D 850 6307U, // FCMP_SUEQ_S 851 4521U, // FCMP_SULE_D 852 6048U, // FCMP_SULE_S 853 5174U, // FCMP_SULT_D 854 6442U, // FCMP_SULT_S 855 4581U, // FCMP_SUNE_D 856 6098U, // FCMP_SUNE_S 857 4872U, // FCMP_SUN_D 858 6248U, // FCMP_SUN_S 859 4830U, // FCOPYSIGN_D 860 6215U, // FCOPYSIGN_S 861 5949U, // FCVT_D_S 862 5070U, // FCVT_S_D 863 5232U, // FDIV_D 864 6490U, // FDIV_S 865 5688U, // FFINT_D_L 866 6972U, // FFINT_D_W 867 5699U, // FFINT_S_L 868 7342U, // FFINT_S_W 869 5109U, // FLDGT_D 870 6387U, // FLDGT_S 871 4468U, // FLDLE_D 872 6005U, // FLDLE_S 873 5329U, // FLDX_D 874 6578U, // FLDX_S 875 4422U, // FLD_D 876 5986U, // FLD_S 877 4336U, // FLOGB_D 878 5913U, // FLOGB_S 879 4403U, // FMADD_D 880 5967U, // FMADD_S 881 4232U, // FMAXA_D 882 5893U, // FMAXA_S 883 5312U, // FMAX_D 884 6570U, // FMAX_S 885 4216U, // FMINA_D 886 5884U, // FMINA_S 887 4843U, // FMIN_D 888 6228U, // FMIN_S 889 5240U, // FMOV_D 890 6498U, // FMOV_S 891 4353U, // FMSUB_D 892 5930U, // FMSUB_S 893 4822U, // FMUL_D 894 6207U, // FMUL_S 895 4618U, // FNEG_D 896 6135U, // FNEG_S 897 4412U, // FNMADD_D 898 5976U, // FNMADD_S 899 4362U, // FNMSUB_D 900 5939U, // FNMSUB_S 901 4908U, // FRECIP_D 902 6260U, // FRECIP_S 903 5187U, // FRINT_D 904 6455U, // FRINT_S 905 5205U, // FRSQRT_D 906 6473U, // FRSQRT_S 907 4325U, // FSCALEB_D 908 5902U, // FSCALEB_S 909 5730U, // FSEL_D 910 5730U, // FSEL_S 911 5196U, // FSQRT_D 912 6464U, // FSQRT_S 913 5128U, // FSTGT_D 914 6396U, // FSTGT_S 915 4499U, // FSTLE_D 916 6026U, // FSTLE_S 917 5337U, // FSTX_D 918 6586U, // FSTX_S 919 5215U, // FST_D 920 6483U, // FST_S 921 4345U, // FSUB_D 922 5922U, // FSUB_S 923 4750U, // FTINTRM_L_D 924 6157U, // FTINTRM_L_S 925 5262U, // FTINTRM_W_D 926 6520U, // FTINTRM_W_S 927 4736U, // FTINTRNE_L_D 928 6143U, // FTINTRNE_L_S 929 5248U, // FTINTRNE_W_D 930 6506U, // FTINTRNE_W_S 931 4763U, // FTINTRP_L_D 932 6170U, // FTINTRP_L_S 933 5275U, // FTINTRP_W_D 934 6533U, // FTINTRP_W_S 935 4787U, // FTINTRZ_L_D 936 6194U, // FTINTRZ_L_S 937 5299U, // FTINTRZ_W_D 938 6557U, // FTINTRZ_W_S 939 4776U, // FTINT_L_D 940 6183U, // FTINT_L_S 941 5288U, // FTINT_W_D 942 6546U, // FTINT_W_S 943 22179U, // IBAR 944 21818U, // IDLE 945 12400U, // INVTLB 946 4103U, // IOCSRRD_B 947 4445U, // IOCSRRD_D 948 5495U, // IOCSRRD_H 949 7047U, // IOCSRRD_W 950 4130U, // IOCSRWR_B 951 5059U, // IOCSRWR_D 952 5522U, // IOCSRWR_H 953 7331U, // IOCSRWR_W 954 5754U, // JIRL 955 5833U, // LDDIR 956 4141U, // LDGT_B 957 5110U, // LDGT_D 958 5533U, // LDGT_H 959 7364U, // LDGT_W 960 4114U, // LDLE_B 961 4469U, // LDLE_D 962 5506U, // LDLE_H 963 7058U, // LDLE_W 964 5445U, // LDPTE 965 5041U, // LDPTR_D 966 7313U, // LDPTR_W 967 4172U, // LDX_B 968 6627U, // LDX_BU 969 5330U, // LDX_D 970 5564U, // LDX_H 971 6719U, // LDX_HU 972 7435U, // LDX_W 973 6837U, // LDX_WU 974 4097U, // LD_B 975 6620U, // LD_BU 976 4423U, // LD_D 977 5489U, // LD_H 978 6712U, // LD_HU 979 7025U, // LD_W 980 6776U, // LD_WU 981 4801U, // LL_D 982 7215U, // LL_W 983 7129U, // LU12I_W 984 25122U, // LU32I_D 985 4651U, // LU52I_D 986 7524U, // MASKEQZ 987 7502U, // MASKNEZ 988 4438U, // MOD_D 989 6661U, // MOD_DU 990 7040U, // MOD_W 991 6783U, // MOD_WU 992 5801U, // MOVCF2FR_S 993 5811U, // MOVCF2GR 994 5821U, // MOVFCSR2GR 995 5452U, // MOVFR2CF_S 996 4980U, // MOVFR2GR_D 997 6333U, // MOVFR2GR_S 998 6333U, // MOVFR2GR_S_64 999 6320U, // MOVFRH2GR_S 1000 5462U, // MOVGR2CF 1001 5858U, // MOVGR2FCSR 1002 27596U, // MOVGR2FRH_W 1003 4968U, // MOVGR2FR_D 1004 7276U, // MOVGR2FR_W 1005 7276U, // MOVGR2FR_W_64 1006 4626U, // MULH_D 1007 6669U, // MULH_DU 1008 7108U, // MULH_W 1009 6791U, // MULH_WU 1010 7006U, // MULW_D_W 1011 6765U, // MULW_D_WU 1012 4823U, // MUL_D 1013 7236U, // MUL_W 1014 5848U, // NOR 1015 5849U, // OR 1016 5663U, // ORI 1017 5766U, // ORN 1018 5648U, // PCADDI 1019 5626U, // PCADDU12I 1020 5637U, // PCADDU18I 1021 5615U, // PCALAU12I 1022 5381U, // PRELD 1023 7481U, // PRELDX 1024 7097U, // RDTIMEH_W 1025 7203U, // RDTIMEL_W 1026 4534U, // RDTIME_D 1027 5578U, // REVB_2H 1028 7463U, // REVB_2W 1029 5587U, // REVB_4H 1030 4372U, // REVB_D 1031 7472U, // REVH_2W 1032 4634U, // REVH_D 1033 4703U, // ROTRI_D 1034 7170U, // ROTRI_W 1035 5033U, // ROTR_D 1036 7305U, // ROTR_W 1037 8476U, // SC_D 1038 11062U, // SC_W 1039 4687U, // SLLI_D 1040 7154U, // SLLI_W 1041 4800U, // SLL_D 1042 7214U, // SLL_W 1043 6607U, // SLT 1044 5668U, // SLTI 1045 6733U, // SLTU 1046 5674U, // SLTUI 1047 4671U, // SRAI_D 1048 7138U, // SRAI_W 1049 4225U, // SRA_D 1050 6845U, // SRA_W 1051 4695U, // SRLI_D 1052 7162U, // SRLI_W 1053 4807U, // SRL_D 1054 7221U, // SRL_W 1055 4149U, // STGT_B 1056 5129U, // STGT_D 1057 5541U, // STGT_H 1058 7372U, // STGT_W 1059 4122U, // STLE_B 1060 4500U, // STLE_D 1061 5514U, // STLE_H 1062 7066U, // STLE_W 1063 5050U, // STPTR_D 1064 7322U, // STPTR_W 1065 4179U, // STX_B 1066 5338U, // STX_D 1067 5571U, // STX_H 1068 7442U, // STX_W 1069 4157U, // ST_B 1070 5216U, // ST_D 1071 5549U, // ST_H 1072 7380U, // ST_W 1073 4346U, // SUB_D 1074 6959U, // SUB_W 1075 22120U, // SYSCALL 1076 1744U, // TLBCLR 1077 1649U, // TLBFILL 1078 1509U, // TLBFLUSH 1079 1297U, // TLBRD 1080 1500U, // TLBSRCH 1081 1774U, // TLBWR 1082 5853U, // XOR 1083 5662U, // XORI 1084 }; 1085 1086 static const uint8_t OpInfo1[] = { 1087 0U, // PHI 1088 0U, // INLINEASM 1089 0U, // INLINEASM_BR 1090 0U, // CFI_INSTRUCTION 1091 0U, // EH_LABEL 1092 0U, // GC_LABEL 1093 0U, // ANNOTATION_LABEL 1094 0U, // KILL 1095 0U, // EXTRACT_SUBREG 1096 0U, // INSERT_SUBREG 1097 0U, // IMPLICIT_DEF 1098 0U, // SUBREG_TO_REG 1099 0U, // COPY_TO_REGCLASS 1100 0U, // DBG_VALUE 1101 0U, // DBG_VALUE_LIST 1102 0U, // DBG_INSTR_REF 1103 0U, // DBG_PHI 1104 0U, // DBG_LABEL 1105 0U, // REG_SEQUENCE 1106 0U, // COPY 1107 0U, // BUNDLE 1108 0U, // LIFETIME_START 1109 0U, // LIFETIME_END 1110 0U, // PSEUDO_PROBE 1111 0U, // ARITH_FENCE 1112 0U, // STACKMAP 1113 0U, // FENTRY_CALL 1114 0U, // PATCHPOINT 1115 0U, // LOAD_STACK_GUARD 1116 0U, // PREALLOCATED_SETUP 1117 0U, // PREALLOCATED_ARG 1118 0U, // STATEPOINT 1119 0U, // LOCAL_ESCAPE 1120 0U, // FAULTING_OP 1121 0U, // PATCHABLE_OP 1122 0U, // PATCHABLE_FUNCTION_ENTER 1123 0U, // PATCHABLE_RET 1124 0U, // PATCHABLE_FUNCTION_EXIT 1125 0U, // PATCHABLE_TAIL_CALL 1126 0U, // PATCHABLE_EVENT_CALL 1127 0U, // PATCHABLE_TYPED_EVENT_CALL 1128 0U, // ICALL_BRANCH_FUNNEL 1129 0U, // MEMBARRIER 1130 0U, // G_ASSERT_SEXT 1131 0U, // G_ASSERT_ZEXT 1132 0U, // G_ASSERT_ALIGN 1133 0U, // G_ADD 1134 0U, // G_SUB 1135 0U, // G_MUL 1136 0U, // G_SDIV 1137 0U, // G_UDIV 1138 0U, // G_SREM 1139 0U, // G_UREM 1140 0U, // G_SDIVREM 1141 0U, // G_UDIVREM 1142 0U, // G_AND 1143 0U, // G_OR 1144 0U, // G_XOR 1145 0U, // G_IMPLICIT_DEF 1146 0U, // G_PHI 1147 0U, // G_FRAME_INDEX 1148 0U, // G_GLOBAL_VALUE 1149 0U, // G_EXTRACT 1150 0U, // G_UNMERGE_VALUES 1151 0U, // G_INSERT 1152 0U, // G_MERGE_VALUES 1153 0U, // G_BUILD_VECTOR 1154 0U, // G_BUILD_VECTOR_TRUNC 1155 0U, // G_CONCAT_VECTORS 1156 0U, // G_PTRTOINT 1157 0U, // G_INTTOPTR 1158 0U, // G_BITCAST 1159 0U, // G_FREEZE 1160 0U, // G_INTRINSIC_FPTRUNC_ROUND 1161 0U, // G_INTRINSIC_TRUNC 1162 0U, // G_INTRINSIC_ROUND 1163 0U, // G_INTRINSIC_LRINT 1164 0U, // G_INTRINSIC_ROUNDEVEN 1165 0U, // G_READCYCLECOUNTER 1166 0U, // G_LOAD 1167 0U, // G_SEXTLOAD 1168 0U, // G_ZEXTLOAD 1169 0U, // G_INDEXED_LOAD 1170 0U, // G_INDEXED_SEXTLOAD 1171 0U, // G_INDEXED_ZEXTLOAD 1172 0U, // G_STORE 1173 0U, // G_INDEXED_STORE 1174 0U, // G_ATOMIC_CMPXCHG_WITH_SUCCESS 1175 0U, // G_ATOMIC_CMPXCHG 1176 0U, // G_ATOMICRMW_XCHG 1177 0U, // G_ATOMICRMW_ADD 1178 0U, // G_ATOMICRMW_SUB 1179 0U, // G_ATOMICRMW_AND 1180 0U, // G_ATOMICRMW_NAND 1181 0U, // G_ATOMICRMW_OR 1182 0U, // G_ATOMICRMW_XOR 1183 0U, // G_ATOMICRMW_MAX 1184 0U, // G_ATOMICRMW_MIN 1185 0U, // G_ATOMICRMW_UMAX 1186 0U, // G_ATOMICRMW_UMIN 1187 0U, // G_ATOMICRMW_FADD 1188 0U, // G_ATOMICRMW_FSUB 1189 0U, // G_ATOMICRMW_FMAX 1190 0U, // G_ATOMICRMW_FMIN 1191 0U, // G_ATOMICRMW_UINC_WRAP 1192 0U, // G_ATOMICRMW_UDEC_WRAP 1193 0U, // G_FENCE 1194 0U, // G_BRCOND 1195 0U, // G_BRINDIRECT 1196 0U, // G_INVOKE_REGION_START 1197 0U, // G_INTRINSIC 1198 0U, // G_INTRINSIC_W_SIDE_EFFECTS 1199 0U, // G_ANYEXT 1200 0U, // G_TRUNC 1201 0U, // G_CONSTANT 1202 0U, // G_FCONSTANT 1203 0U, // G_VASTART 1204 0U, // G_VAARG 1205 0U, // G_SEXT 1206 0U, // G_SEXT_INREG 1207 0U, // G_ZEXT 1208 0U, // G_SHL 1209 0U, // G_LSHR 1210 0U, // G_ASHR 1211 0U, // G_FSHL 1212 0U, // G_FSHR 1213 0U, // G_ROTR 1214 0U, // G_ROTL 1215 0U, // G_ICMP 1216 0U, // G_FCMP 1217 0U, // G_SELECT 1218 0U, // G_UADDO 1219 0U, // G_UADDE 1220 0U, // G_USUBO 1221 0U, // G_USUBE 1222 0U, // G_SADDO 1223 0U, // G_SADDE 1224 0U, // G_SSUBO 1225 0U, // G_SSUBE 1226 0U, // G_UMULO 1227 0U, // G_SMULO 1228 0U, // G_UMULH 1229 0U, // G_SMULH 1230 0U, // G_UADDSAT 1231 0U, // G_SADDSAT 1232 0U, // G_USUBSAT 1233 0U, // G_SSUBSAT 1234 0U, // G_USHLSAT 1235 0U, // G_SSHLSAT 1236 0U, // G_SMULFIX 1237 0U, // G_UMULFIX 1238 0U, // G_SMULFIXSAT 1239 0U, // G_UMULFIXSAT 1240 0U, // G_SDIVFIX 1241 0U, // G_UDIVFIX 1242 0U, // G_SDIVFIXSAT 1243 0U, // G_UDIVFIXSAT 1244 0U, // G_FADD 1245 0U, // G_FSUB 1246 0U, // G_FMUL 1247 0U, // G_FMA 1248 0U, // G_FMAD 1249 0U, // G_FDIV 1250 0U, // G_FREM 1251 0U, // G_FPOW 1252 0U, // G_FPOWI 1253 0U, // G_FEXP 1254 0U, // G_FEXP2 1255 0U, // G_FLOG 1256 0U, // G_FLOG2 1257 0U, // G_FLOG10 1258 0U, // G_FNEG 1259 0U, // G_FPEXT 1260 0U, // G_FPTRUNC 1261 0U, // G_FPTOSI 1262 0U, // G_FPTOUI 1263 0U, // G_SITOFP 1264 0U, // G_UITOFP 1265 0U, // G_FABS 1266 0U, // G_FCOPYSIGN 1267 0U, // G_IS_FPCLASS 1268 0U, // G_FCANONICALIZE 1269 0U, // G_FMINNUM 1270 0U, // G_FMAXNUM 1271 0U, // G_FMINNUM_IEEE 1272 0U, // G_FMAXNUM_IEEE 1273 0U, // G_FMINIMUM 1274 0U, // G_FMAXIMUM 1275 0U, // G_PTR_ADD 1276 0U, // G_PTRMASK 1277 0U, // G_SMIN 1278 0U, // G_SMAX 1279 0U, // G_UMIN 1280 0U, // G_UMAX 1281 0U, // G_ABS 1282 0U, // G_LROUND 1283 0U, // G_LLROUND 1284 0U, // G_BR 1285 0U, // G_BRJT 1286 0U, // G_INSERT_VECTOR_ELT 1287 0U, // G_EXTRACT_VECTOR_ELT 1288 0U, // G_SHUFFLE_VECTOR 1289 0U, // G_CTTZ 1290 0U, // G_CTTZ_ZERO_UNDEF 1291 0U, // G_CTLZ 1292 0U, // G_CTLZ_ZERO_UNDEF 1293 0U, // G_CTPOP 1294 0U, // G_BSWAP 1295 0U, // G_BITREVERSE 1296 0U, // G_FCEIL 1297 0U, // G_FCOS 1298 0U, // G_FSIN 1299 0U, // G_FSQRT 1300 0U, // G_FFLOOR 1301 0U, // G_FRINT 1302 0U, // G_FNEARBYINT 1303 0U, // G_ADDRSPACE_CAST 1304 0U, // G_BLOCK_ADDR 1305 0U, // G_JUMP_TABLE 1306 0U, // G_DYN_STACKALLOC 1307 0U, // G_STRICT_FADD 1308 0U, // G_STRICT_FSUB 1309 0U, // G_STRICT_FMUL 1310 0U, // G_STRICT_FDIV 1311 0U, // G_STRICT_FREM 1312 0U, // G_STRICT_FMA 1313 0U, // G_STRICT_FSQRT 1314 0U, // G_READ_REGISTER 1315 0U, // G_WRITE_REGISTER 1316 0U, // G_MEMCPY 1317 0U, // G_MEMCPY_INLINE 1318 0U, // G_MEMMOVE 1319 0U, // G_MEMSET 1320 0U, // G_BZERO 1321 0U, // G_VECREDUCE_SEQ_FADD 1322 0U, // G_VECREDUCE_SEQ_FMUL 1323 0U, // G_VECREDUCE_FADD 1324 0U, // G_VECREDUCE_FMUL 1325 0U, // G_VECREDUCE_FMAX 1326 0U, // G_VECREDUCE_FMIN 1327 0U, // G_VECREDUCE_ADD 1328 0U, // G_VECREDUCE_MUL 1329 0U, // G_VECREDUCE_AND 1330 0U, // G_VECREDUCE_OR 1331 0U, // G_VECREDUCE_XOR 1332 0U, // G_VECREDUCE_SMAX 1333 0U, // G_VECREDUCE_SMIN 1334 0U, // G_VECREDUCE_UMAX 1335 0U, // G_VECREDUCE_UMIN 1336 0U, // G_SBFX 1337 0U, // G_UBFX 1338 0U, // ADJCALLSTACKDOWN 1339 0U, // ADJCALLSTACKUP 1340 0U, // PseudoAtomicLoadAdd32 1341 0U, // PseudoAtomicLoadAnd32 1342 0U, // PseudoAtomicLoadNand32 1343 0U, // PseudoAtomicLoadNand64 1344 0U, // PseudoAtomicLoadOr32 1345 0U, // PseudoAtomicLoadSub32 1346 0U, // PseudoAtomicLoadXor32 1347 0U, // PseudoAtomicStoreD 1348 0U, // PseudoAtomicStoreW 1349 0U, // PseudoAtomicSwap32 1350 0U, // PseudoBR 1351 0U, // PseudoBRIND 1352 0U, // PseudoB_TAIL 1353 0U, // PseudoCALL 1354 0U, // PseudoCALLIndirect 1355 0U, // PseudoCmpXchg32 1356 0U, // PseudoCmpXchg64 1357 0U, // PseudoJIRL_CALL 1358 0U, // PseudoJIRL_TAIL 1359 0U, // PseudoLA_ABS 1360 0U, // PseudoLA_ABS_LARGE 1361 0U, // PseudoLA_GOT 1362 2U, // PseudoLA_GOT_LARGE 1363 0U, // PseudoLA_PCREL 1364 2U, // PseudoLA_PCREL_LARGE 1365 0U, // PseudoLA_TLS_GD 1366 2U, // PseudoLA_TLS_GD_LARGE 1367 0U, // PseudoLA_TLS_IE 1368 2U, // PseudoLA_TLS_IE_LARGE 1369 0U, // PseudoLA_TLS_LD 1370 2U, // PseudoLA_TLS_LD_LARGE 1371 0U, // PseudoLA_TLS_LE 1372 0U, // PseudoLD_CFR 1373 0U, // PseudoLI_D 1374 0U, // PseudoLI_W 1375 0U, // PseudoMaskedAtomicLoadAdd32 1376 0U, // PseudoMaskedAtomicLoadMax32 1377 0U, // PseudoMaskedAtomicLoadMin32 1378 0U, // PseudoMaskedAtomicLoadNand32 1379 0U, // PseudoMaskedAtomicLoadSub32 1380 0U, // PseudoMaskedAtomicLoadUMax32 1381 0U, // PseudoMaskedAtomicLoadUMin32 1382 0U, // PseudoMaskedAtomicSwap32 1383 0U, // PseudoMaskedCmpXchg32 1384 0U, // PseudoRET 1385 0U, // PseudoST_CFR 1386 0U, // PseudoTAIL 1387 0U, // PseudoTAILIndirect 1388 0U, // PseudoUNIMP 1389 0U, // RDFCSR 1390 0U, // WRFCSR 1391 2U, // ADDI_D 1392 2U, // ADDI_W 1393 2U, // ADDU16I_D 1394 2U, // ADD_D 1395 2U, // ADD_W 1396 18U, // ALSL_D 1397 18U, // ALSL_W 1398 18U, // ALSL_WU 1399 6U, // AMADD_D 1400 6U, // AMADD_DB_D 1401 6U, // AMADD_DB_W 1402 6U, // AMADD_W 1403 6U, // AMAND_D 1404 6U, // AMAND_DB_D 1405 6U, // AMAND_DB_W 1406 6U, // AMAND_W 1407 6U, // AMMAX_D 1408 6U, // AMMAX_DB_D 1409 6U, // AMMAX_DB_DU 1410 6U, // AMMAX_DB_W 1411 6U, // AMMAX_DB_WU 1412 6U, // AMMAX_DU 1413 6U, // AMMAX_W 1414 6U, // AMMAX_WU 1415 6U, // AMMIN_D 1416 6U, // AMMIN_DB_D 1417 6U, // AMMIN_DB_DU 1418 6U, // AMMIN_DB_W 1419 6U, // AMMIN_DB_WU 1420 6U, // AMMIN_DU 1421 6U, // AMMIN_W 1422 6U, // AMMIN_WU 1423 6U, // AMOR_D 1424 6U, // AMOR_DB_D 1425 6U, // AMOR_DB_W 1426 6U, // AMOR_W 1427 6U, // AMSWAP_D 1428 6U, // AMSWAP_DB_D 1429 6U, // AMSWAP_DB_W 1430 6U, // AMSWAP_W 1431 6U, // AMXOR_D 1432 6U, // AMXOR_DB_D 1433 6U, // AMXOR_DB_W 1434 6U, // AMXOR_W 1435 2U, // AND 1436 2U, // ANDI 1437 2U, // ANDN 1438 0U, // ASRTGT_D 1439 0U, // ASRTLE_D 1440 0U, // B 1441 0U, // BCEQZ 1442 0U, // BCNEZ 1443 2U, // BEQ 1444 0U, // BEQZ 1445 2U, // BGE 1446 2U, // BGEU 1447 0U, // BITREV_4B 1448 0U, // BITREV_8B 1449 0U, // BITREV_D 1450 0U, // BITREV_W 1451 0U, // BL 1452 2U, // BLT 1453 2U, // BLTU 1454 2U, // BNE 1455 0U, // BNEZ 1456 0U, // BREAK 1457 11U, // BSTRINS_D 1458 11U, // BSTRINS_W 1459 18U, // BSTRPICK_D 1460 18U, // BSTRPICK_W 1461 18U, // BYTEPICK_D 1462 18U, // BYTEPICK_W 1463 2U, // CACOP 1464 0U, // CLO_D 1465 0U, // CLO_W 1466 0U, // CLZ_D 1467 0U, // CLZ_W 1468 0U, // CPUCFG 1469 2U, // CRCC_W_B_W 1470 2U, // CRCC_W_D_W 1471 2U, // CRCC_W_H_W 1472 2U, // CRCC_W_W_W 1473 2U, // CRC_W_B_W 1474 2U, // CRC_W_D_W 1475 2U, // CRC_W_H_W 1476 2U, // CRC_W_W_W 1477 0U, // CSRRD 1478 0U, // CSRWR 1479 1U, // CSRXCHG 1480 0U, // CTO_D 1481 0U, // CTO_W 1482 0U, // CTZ_D 1483 0U, // CTZ_W 1484 0U, // DBAR 1485 0U, // DBCL 1486 2U, // DIV_D 1487 2U, // DIV_DU 1488 2U, // DIV_W 1489 2U, // DIV_WU 1490 0U, // ERTN 1491 0U, // EXT_W_B 1492 0U, // EXT_W_H 1493 0U, // FABS_D 1494 0U, // FABS_S 1495 2U, // FADD_D 1496 2U, // FADD_S 1497 0U, // FCLASS_D 1498 0U, // FCLASS_S 1499 2U, // FCMP_CAF_D 1500 2U, // FCMP_CAF_S 1501 2U, // FCMP_CEQ_D 1502 2U, // FCMP_CEQ_S 1503 2U, // FCMP_CLE_D 1504 2U, // FCMP_CLE_S 1505 2U, // FCMP_CLT_D 1506 2U, // FCMP_CLT_S 1507 2U, // FCMP_CNE_D 1508 2U, // FCMP_CNE_S 1509 2U, // FCMP_COR_D 1510 2U, // FCMP_COR_S 1511 2U, // FCMP_CUEQ_D 1512 2U, // FCMP_CUEQ_S 1513 2U, // FCMP_CULE_D 1514 2U, // FCMP_CULE_S 1515 2U, // FCMP_CULT_D 1516 2U, // FCMP_CULT_S 1517 2U, // FCMP_CUNE_D 1518 2U, // FCMP_CUNE_S 1519 2U, // FCMP_CUN_D 1520 2U, // FCMP_CUN_S 1521 2U, // FCMP_SAF_D 1522 2U, // FCMP_SAF_S 1523 2U, // FCMP_SEQ_D 1524 2U, // FCMP_SEQ_S 1525 2U, // FCMP_SLE_D 1526 2U, // FCMP_SLE_S 1527 2U, // FCMP_SLT_D 1528 2U, // FCMP_SLT_S 1529 2U, // FCMP_SNE_D 1530 2U, // FCMP_SNE_S 1531 2U, // FCMP_SOR_D 1532 2U, // FCMP_SOR_S 1533 2U, // FCMP_SUEQ_D 1534 2U, // FCMP_SUEQ_S 1535 2U, // FCMP_SULE_D 1536 2U, // FCMP_SULE_S 1537 2U, // FCMP_SULT_D 1538 2U, // FCMP_SULT_S 1539 2U, // FCMP_SUNE_D 1540 2U, // FCMP_SUNE_S 1541 2U, // FCMP_SUN_D 1542 2U, // FCMP_SUN_S 1543 2U, // FCOPYSIGN_D 1544 2U, // FCOPYSIGN_S 1545 0U, // FCVT_D_S 1546 0U, // FCVT_S_D 1547 2U, // FDIV_D 1548 2U, // FDIV_S 1549 0U, // FFINT_D_L 1550 0U, // FFINT_D_W 1551 0U, // FFINT_S_L 1552 0U, // FFINT_S_W 1553 2U, // FLDGT_D 1554 2U, // FLDGT_S 1555 2U, // FLDLE_D 1556 2U, // FLDLE_S 1557 2U, // FLDX_D 1558 2U, // FLDX_S 1559 2U, // FLD_D 1560 2U, // FLD_S 1561 0U, // FLOGB_D 1562 0U, // FLOGB_S 1563 18U, // FMADD_D 1564 18U, // FMADD_S 1565 2U, // FMAXA_D 1566 2U, // FMAXA_S 1567 2U, // FMAX_D 1568 2U, // FMAX_S 1569 2U, // FMINA_D 1570 2U, // FMINA_S 1571 2U, // FMIN_D 1572 2U, // FMIN_S 1573 0U, // FMOV_D 1574 0U, // FMOV_S 1575 18U, // FMSUB_D 1576 18U, // FMSUB_S 1577 2U, // FMUL_D 1578 2U, // FMUL_S 1579 0U, // FNEG_D 1580 0U, // FNEG_S 1581 18U, // FNMADD_D 1582 18U, // FNMADD_S 1583 18U, // FNMSUB_D 1584 18U, // FNMSUB_S 1585 0U, // FRECIP_D 1586 0U, // FRECIP_S 1587 0U, // FRINT_D 1588 0U, // FRINT_S 1589 0U, // FRSQRT_D 1590 0U, // FRSQRT_S 1591 2U, // FSCALEB_D 1592 2U, // FSCALEB_S 1593 18U, // FSEL_D 1594 18U, // FSEL_S 1595 0U, // FSQRT_D 1596 0U, // FSQRT_S 1597 2U, // FSTGT_D 1598 2U, // FSTGT_S 1599 2U, // FSTLE_D 1600 2U, // FSTLE_S 1601 2U, // FSTX_D 1602 2U, // FSTX_S 1603 2U, // FST_D 1604 2U, // FST_S 1605 2U, // FSUB_D 1606 2U, // FSUB_S 1607 0U, // FTINTRM_L_D 1608 0U, // FTINTRM_L_S 1609 0U, // FTINTRM_W_D 1610 0U, // FTINTRM_W_S 1611 0U, // FTINTRNE_L_D 1612 0U, // FTINTRNE_L_S 1613 0U, // FTINTRNE_W_D 1614 0U, // FTINTRNE_W_S 1615 0U, // FTINTRP_L_D 1616 0U, // FTINTRP_L_S 1617 0U, // FTINTRP_W_D 1618 0U, // FTINTRP_W_S 1619 0U, // FTINTRZ_L_D 1620 0U, // FTINTRZ_L_S 1621 0U, // FTINTRZ_W_D 1622 0U, // FTINTRZ_W_S 1623 0U, // FTINT_L_D 1624 0U, // FTINT_L_S 1625 0U, // FTINT_W_D 1626 0U, // FTINT_W_S 1627 0U, // IBAR 1628 0U, // IDLE 1629 0U, // INVTLB 1630 0U, // IOCSRRD_B 1631 0U, // IOCSRRD_D 1632 0U, // IOCSRRD_H 1633 0U, // IOCSRRD_W 1634 0U, // IOCSRWR_B 1635 0U, // IOCSRWR_D 1636 0U, // IOCSRWR_H 1637 0U, // IOCSRWR_W 1638 2U, // JIRL 1639 2U, // LDDIR 1640 2U, // LDGT_B 1641 2U, // LDGT_D 1642 2U, // LDGT_H 1643 2U, // LDGT_W 1644 2U, // LDLE_B 1645 2U, // LDLE_D 1646 2U, // LDLE_H 1647 2U, // LDLE_W 1648 0U, // LDPTE 1649 2U, // LDPTR_D 1650 2U, // LDPTR_W 1651 2U, // LDX_B 1652 2U, // LDX_BU 1653 2U, // LDX_D 1654 2U, // LDX_H 1655 2U, // LDX_HU 1656 2U, // LDX_W 1657 2U, // LDX_WU 1658 2U, // LD_B 1659 2U, // LD_BU 1660 2U, // LD_D 1661 2U, // LD_H 1662 2U, // LD_HU 1663 2U, // LD_W 1664 2U, // LD_WU 1665 2U, // LL_D 1666 2U, // LL_W 1667 0U, // LU12I_W 1668 0U, // LU32I_D 1669 2U, // LU52I_D 1670 2U, // MASKEQZ 1671 2U, // MASKNEZ 1672 2U, // MOD_D 1673 2U, // MOD_DU 1674 2U, // MOD_W 1675 2U, // MOD_WU 1676 0U, // MOVCF2FR_S 1677 0U, // MOVCF2GR 1678 0U, // MOVFCSR2GR 1679 0U, // MOVFR2CF_S 1680 0U, // MOVFR2GR_D 1681 0U, // MOVFR2GR_S 1682 0U, // MOVFR2GR_S_64 1683 0U, // MOVFRH2GR_S 1684 0U, // MOVGR2CF 1685 0U, // MOVGR2FCSR 1686 0U, // MOVGR2FRH_W 1687 0U, // MOVGR2FR_D 1688 0U, // MOVGR2FR_W 1689 0U, // MOVGR2FR_W_64 1690 2U, // MULH_D 1691 2U, // MULH_DU 1692 2U, // MULH_W 1693 2U, // MULH_WU 1694 2U, // MULW_D_W 1695 2U, // MULW_D_WU 1696 2U, // MUL_D 1697 2U, // MUL_W 1698 2U, // NOR 1699 2U, // OR 1700 2U, // ORI 1701 2U, // ORN 1702 0U, // PCADDI 1703 0U, // PCADDU12I 1704 0U, // PCADDU18I 1705 0U, // PCALAU12I 1706 2U, // PRELD 1707 2U, // PRELDX 1708 0U, // RDTIMEH_W 1709 0U, // RDTIMEL_W 1710 0U, // RDTIME_D 1711 0U, // REVB_2H 1712 0U, // REVB_2W 1713 0U, // REVB_4H 1714 0U, // REVB_D 1715 0U, // REVH_2W 1716 0U, // REVH_D 1717 2U, // ROTRI_D 1718 2U, // ROTRI_W 1719 2U, // ROTR_D 1720 2U, // ROTR_W 1721 1U, // SC_D 1722 1U, // SC_W 1723 2U, // SLLI_D 1724 2U, // SLLI_W 1725 2U, // SLL_D 1726 2U, // SLL_W 1727 2U, // SLT 1728 2U, // SLTI 1729 2U, // SLTU 1730 2U, // SLTUI 1731 2U, // SRAI_D 1732 2U, // SRAI_W 1733 2U, // SRA_D 1734 2U, // SRA_W 1735 2U, // SRLI_D 1736 2U, // SRLI_W 1737 2U, // SRL_D 1738 2U, // SRL_W 1739 2U, // STGT_B 1740 2U, // STGT_D 1741 2U, // STGT_H 1742 2U, // STGT_W 1743 2U, // STLE_B 1744 2U, // STLE_D 1745 2U, // STLE_H 1746 2U, // STLE_W 1747 2U, // STPTR_D 1748 2U, // STPTR_W 1749 2U, // STX_B 1750 2U, // STX_D 1751 2U, // STX_H 1752 2U, // STX_W 1753 2U, // ST_B 1754 2U, // ST_D 1755 2U, // ST_H 1756 2U, // ST_W 1757 2U, // SUB_D 1758 2U, // SUB_W 1759 0U, // SYSCALL 1760 0U, // TLBCLR 1761 0U, // TLBFILL 1762 0U, // TLBFLUSH 1763 0U, // TLBRD 1764 0U, // TLBSRCH 1765 0U, // TLBWR 1766 2U, // XOR 1767 2U, // XORI 1768 }; 1769 1770 // Emit the opcode for the instruction. 1771 uint32_t Bits = 0; 1772 Bits |= OpInfo0[MI->getOpcode()] << 0; 1773 Bits |= OpInfo1[MI->getOpcode()] << 16; 1774 return {AsmStrs+(Bits & 4095)-1, Bits}; 1775 1776} 1777/// printInstruction - This method is automatically generated by tablegen 1778/// from the instruction set description. 1779LLVM_NO_PROFILE_INSTRUMENT_FUNCTION 1780void LoongArchInstPrinter::printInstruction(const MCInst *MI, uint64_t Address, const MCSubtargetInfo &STI, raw_ostream &O) { 1781 O << "\t"; 1782 1783 auto MnemonicInfo = getMnemonic(MI); 1784 1785 O << MnemonicInfo.first; 1786 1787 uint32_t Bits = MnemonicInfo.second; 1788 assert(Bits != 0 && "Cannot print this instruction."); 1789 1790 // Fragment 0 encoded into 2 bits for 4 unique commands. 1791 switch ((Bits >> 12) & 3) { 1792 default: llvm_unreachable("Invalid command number."); 1793 case 0: 1794 // DBG_VALUE, DBG_VALUE_LIST, DBG_INSTR_REF, DBG_PHI, DBG_LABEL, BUNDLE, ... 1795 return; 1796 break; 1797 case 1: 1798 // PseudoLA_ABS, PseudoLA_ABS_LARGE, PseudoLA_GOT, PseudoLA_GOT_LARGE, Ps... 1799 printOperand(MI, 0, STI, O); 1800 break; 1801 case 2: 1802 // BSTRINS_D, BSTRINS_W, CSRWR, CSRXCHG, LU32I_D, MOVGR2FRH_W, SC_D, SC_W 1803 printOperand(MI, 1, STI, O); 1804 O << ", "; 1805 printOperand(MI, 2, STI, O); 1806 break; 1807 case 3: 1808 // INVTLB 1809 printOperand(MI, 2, STI, O); 1810 O << ", "; 1811 printOperand(MI, 1, STI, O); 1812 O << ", "; 1813 printOperand(MI, 0, STI, O); 1814 return; 1815 break; 1816 } 1817 1818 1819 // Fragment 1 encoded into 1 bits for 2 unique commands. 1820 if ((Bits >> 14) & 1) { 1821 // B, BL, BREAK, CSRWR, DBAR, DBCL, IBAR, IDLE, LU32I_D, MOVGR2FRH_W, SYS... 1822 return; 1823 } else { 1824 // PseudoLA_ABS, PseudoLA_ABS_LARGE, PseudoLA_GOT, PseudoLA_GOT_LARGE, Ps... 1825 O << ", "; 1826 } 1827 1828 1829 // Fragment 2 encoded into 2 bits for 3 unique commands. 1830 switch ((Bits >> 15) & 3) { 1831 default: llvm_unreachable("Invalid command number."); 1832 case 0: 1833 // PseudoLA_ABS, PseudoLA_GOT, PseudoLA_GOT_LARGE, PseudoLA_PCREL, Pseudo... 1834 printOperand(MI, 1, STI, O); 1835 break; 1836 case 1: 1837 // PseudoLA_ABS_LARGE 1838 printOperand(MI, 2, STI, O); 1839 return; 1840 break; 1841 case 2: 1842 // BSTRINS_D, BSTRINS_W, CSRXCHG, SC_D, SC_W 1843 printOperand(MI, 3, STI, O); 1844 break; 1845 } 1846 1847 1848 // Fragment 3 encoded into 1 bits for 2 unique commands. 1849 if ((Bits >> 17) & 1) { 1850 // PseudoLA_GOT_LARGE, PseudoLA_PCREL_LARGE, PseudoLA_TLS_GD_LARGE, Pseud... 1851 O << ", "; 1852 } else { 1853 // PseudoLA_ABS, PseudoLA_GOT, PseudoLA_PCREL, PseudoLA_TLS_GD, PseudoLA_... 1854 return; 1855 } 1856 1857 1858 // Fragment 4 encoded into 2 bits for 3 unique commands. 1859 switch ((Bits >> 18) & 3) { 1860 default: llvm_unreachable("Invalid command number."); 1861 case 0: 1862 // PseudoLA_GOT_LARGE, PseudoLA_PCREL_LARGE, PseudoLA_TLS_GD_LARGE, Pseud... 1863 printOperand(MI, 2, STI, O); 1864 break; 1865 case 1: 1866 // AMADD_D, AMADD_DB_D, AMADD_DB_W, AMADD_W, AMAND_D, AMAND_DB_D, AMAND_D... 1867 printAtomicMemOp(MI, 2, STI, O); 1868 return; 1869 break; 1870 case 2: 1871 // BSTRINS_D, BSTRINS_W 1872 printOperand(MI, 4, STI, O); 1873 return; 1874 break; 1875 } 1876 1877 1878 // Fragment 5 encoded into 1 bits for 2 unique commands. 1879 if ((Bits >> 20) & 1) { 1880 // ALSL_D, ALSL_W, ALSL_WU, BSTRPICK_D, BSTRPICK_W, BYTEPICK_D, BYTEPICK_... 1881 O << ", "; 1882 printOperand(MI, 3, STI, O); 1883 return; 1884 } else { 1885 // PseudoLA_GOT_LARGE, PseudoLA_PCREL_LARGE, PseudoLA_TLS_GD_LARGE, Pseud... 1886 return; 1887 } 1888 1889} 1890 1891 1892/// getRegisterName - This method is automatically generated by tblgen 1893/// from the register set description. This returns the assembler name 1894/// for the specified register. 1895const char *LoongArchInstPrinter:: 1896getRegisterName(MCRegister Reg, unsigned AltIdx) { 1897 unsigned RegNo = Reg.id(); 1898 assert(RegNo && RegNo < 109 && "Invalid register number!"); 1899 1900 1901#ifdef __GNUC__ 1902#pragma GCC diagnostic push 1903#pragma GCC diagnostic ignored "-Woverlength-strings" 1904#endif 1905 static const char AsmStrsNoRegAltName[] = { 1906 /* 0 */ "f10\0" 1907 /* 4 */ "r10\0" 1908 /* 8 */ "f20\0" 1909 /* 12 */ "r20\0" 1910 /* 16 */ "f30\0" 1911 /* 20 */ "r30\0" 1912 /* 24 */ "fcc0\0" 1913 /* 29 */ "f0\0" 1914 /* 32 */ "fcsr0\0" 1915 /* 38 */ "f11\0" 1916 /* 42 */ "r11\0" 1917 /* 46 */ "f21\0" 1918 /* 50 */ "r21\0" 1919 /* 54 */ "f31\0" 1920 /* 58 */ "r31\0" 1921 /* 62 */ "fcc1\0" 1922 /* 67 */ "f1\0" 1923 /* 70 */ "fcsr1\0" 1924 /* 76 */ "f12\0" 1925 /* 80 */ "r12\0" 1926 /* 84 */ "f22\0" 1927 /* 88 */ "r22\0" 1928 /* 92 */ "fcc2\0" 1929 /* 97 */ "f2\0" 1930 /* 100 */ "fcsr2\0" 1931 /* 106 */ "f13\0" 1932 /* 110 */ "r13\0" 1933 /* 114 */ "f23\0" 1934 /* 118 */ "r23\0" 1935 /* 122 */ "fcc3\0" 1936 /* 127 */ "f3\0" 1937 /* 130 */ "fcsr3\0" 1938 /* 136 */ "f14\0" 1939 /* 140 */ "r14\0" 1940 /* 144 */ "f24\0" 1941 /* 148 */ "r24\0" 1942 /* 152 */ "fcc4\0" 1943 /* 157 */ "f4\0" 1944 /* 160 */ "r4\0" 1945 /* 163 */ "f15\0" 1946 /* 167 */ "r15\0" 1947 /* 171 */ "f25\0" 1948 /* 175 */ "r25\0" 1949 /* 179 */ "fcc5\0" 1950 /* 184 */ "f5\0" 1951 /* 187 */ "r5\0" 1952 /* 190 */ "f16\0" 1953 /* 194 */ "r16\0" 1954 /* 198 */ "f26\0" 1955 /* 202 */ "r26\0" 1956 /* 206 */ "fcc6\0" 1957 /* 211 */ "f6\0" 1958 /* 214 */ "r6\0" 1959 /* 217 */ "f17\0" 1960 /* 221 */ "r17\0" 1961 /* 225 */ "f27\0" 1962 /* 229 */ "r27\0" 1963 /* 233 */ "fcc7\0" 1964 /* 238 */ "f7\0" 1965 /* 241 */ "r7\0" 1966 /* 244 */ "f18\0" 1967 /* 248 */ "r18\0" 1968 /* 252 */ "f28\0" 1969 /* 256 */ "r28\0" 1970 /* 260 */ "f8\0" 1971 /* 263 */ "r8\0" 1972 /* 266 */ "f19\0" 1973 /* 270 */ "r19\0" 1974 /* 274 */ "f29\0" 1975 /* 278 */ "r29\0" 1976 /* 282 */ "f9\0" 1977 /* 285 */ "r9\0" 1978}; 1979#ifdef __GNUC__ 1980#pragma GCC diagnostic pop 1981#endif 1982 1983 static const uint16_t RegAsmOffsetNoRegAltName[] = { 1984 29, 67, 97, 127, 157, 184, 211, 238, 260, 282, 0, 38, 76, 106, 1985 136, 163, 190, 217, 244, 266, 8, 46, 84, 114, 144, 171, 198, 225, 1986 252, 274, 16, 54, 24, 62, 92, 122, 152, 179, 206, 233, 32, 70, 1987 100, 130, 35, 73, 103, 133, 160, 187, 214, 241, 263, 285, 4, 42, 1988 80, 110, 140, 167, 194, 221, 248, 270, 12, 50, 88, 118, 148, 175, 1989 202, 229, 256, 278, 20, 58, 29, 67, 97, 127, 157, 184, 211, 238, 1990 260, 282, 0, 38, 76, 106, 136, 163, 190, 217, 244, 266, 8, 46, 1991 84, 114, 144, 171, 198, 225, 252, 274, 16, 54, 1992 }; 1993 1994 1995#ifdef __GNUC__ 1996#pragma GCC diagnostic push 1997#pragma GCC diagnostic ignored "-Woverlength-strings" 1998#endif 1999 static const char AsmStrsRegAliasName[] = { 2000 /* 0 */ "ft10\0" 2001 /* 5 */ "fa0\0" 2002 /* 9 */ "fs0\0" 2003 /* 13 */ "ft0\0" 2004 /* 17 */ "ft11\0" 2005 /* 22 */ "fa1\0" 2006 /* 26 */ "fs1\0" 2007 /* 30 */ "ft1\0" 2008 /* 34 */ "ft12\0" 2009 /* 39 */ "fa2\0" 2010 /* 43 */ "fs2\0" 2011 /* 47 */ "ft2\0" 2012 /* 51 */ "ft13\0" 2013 /* 56 */ "fa3\0" 2014 /* 60 */ "fs3\0" 2015 /* 64 */ "ft3\0" 2016 /* 68 */ "ft14\0" 2017 /* 73 */ "fa4\0" 2018 /* 77 */ "fs4\0" 2019 /* 81 */ "ft4\0" 2020 /* 85 */ "ft15\0" 2021 /* 90 */ "fa5\0" 2022 /* 94 */ "fs5\0" 2023 /* 98 */ "ft5\0" 2024 /* 102 */ "fa6\0" 2025 /* 106 */ "fs6\0" 2026 /* 110 */ "ft6\0" 2027 /* 114 */ "fa7\0" 2028 /* 118 */ "fs7\0" 2029 /* 122 */ "ft7\0" 2030 /* 126 */ "s8\0" 2031 /* 129 */ "ft8\0" 2032 /* 133 */ "ft9\0" 2033 /* 137 */ "ra\0" 2034 /* 140 */ "zero\0" 2035 /* 145 */ "fp\0" 2036 /* 148 */ "sp\0" 2037 /* 151 */ "tp\0" 2038}; 2039#ifdef __GNUC__ 2040#pragma GCC diagnostic pop 2041#endif 2042 2043 static const uint8_t RegAsmOffsetRegAliasName[] = { 2044 5, 22, 39, 56, 73, 90, 102, 114, 13, 30, 47, 64, 81, 98, 2045 110, 122, 129, 133, 0, 17, 34, 51, 68, 85, 9, 26, 43, 60, 2046 77, 94, 106, 118, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 2047 4, 4, 140, 137, 151, 148, 6, 23, 40, 57, 74, 91, 103, 115, 2048 14, 31, 48, 65, 82, 99, 111, 123, 130, 4, 145, 10, 27, 44, 2049 61, 78, 95, 107, 119, 126, 5, 22, 39, 56, 73, 90, 102, 114, 2050 13, 30, 47, 64, 81, 98, 110, 122, 129, 133, 0, 17, 34, 51, 2051 68, 85, 9, 26, 43, 60, 77, 94, 106, 118, 2052 }; 2053 2054 switch(AltIdx) { 2055 default: llvm_unreachable("Invalid register alt name index!"); 2056 case LoongArch::NoRegAltName: 2057 assert(*(AsmStrsNoRegAltName+RegAsmOffsetNoRegAltName[RegNo-1]) && 2058 "Invalid alt name index for register!"); 2059 return AsmStrsNoRegAltName+RegAsmOffsetNoRegAltName[RegNo-1]; 2060 case LoongArch::RegAliasName: 2061 if (!*(AsmStrsRegAliasName+RegAsmOffsetRegAliasName[RegNo-1])) 2062 return getRegisterName(RegNo, LoongArch::NoRegAltName); 2063 return AsmStrsRegAliasName+RegAsmOffsetRegAliasName[RegNo-1]; 2064 } 2065} 2066 2067#ifdef PRINT_ALIAS_INSTR 2068#undef PRINT_ALIAS_INSTR 2069 2070bool LoongArchInstPrinter::printAliasInstr(const MCInst *MI, uint64_t Address, const MCSubtargetInfo &STI, raw_ostream &OS) { 2071 static const PatternsForOpcode OpToPatterns[] = { 2072 {LoongArch::PseudoLA_ABS, 0, 1 }, 2073 {LoongArch::PseudoLA_GOT_LARGE, 1, 1 }, 2074 {LoongArch::PseudoLA_PCREL, 2, 1 }, 2075 {LoongArch::PseudoLA_PCREL_LARGE, 3, 2 }, 2076 {LoongArch::ANDI, 5, 1 }, 2077 {LoongArch::JIRL, 6, 2 }, 2078 {LoongArch::OR, 8, 1 }, 2079 }; 2080 2081 static const AliasPattern Patterns[] = { 2082 // LoongArch::PseudoLA_ABS - 0 2083 {0, 0, 2, 2 }, 2084 // LoongArch::PseudoLA_GOT_LARGE - 1 2085 {16, 2, 3, 2 }, 2086 // LoongArch::PseudoLA_PCREL - 2 2087 {0, 4, 2, 1 }, 2088 // LoongArch::PseudoLA_PCREL_LARGE - 3 2089 {37, 5, 3, 2 }, 2090 {16, 7, 3, 3 }, 2091 // LoongArch::ANDI - 5 2092 {57, 10, 3, 3 }, 2093 // LoongArch::JIRL - 6 2094 {61, 13, 3, 3 }, 2095 {65, 16, 3, 3 }, 2096 // LoongArch::OR - 8 2097 {71, 19, 3, 3 }, 2098 }; 2099 2100 static const AliasPatternCond Conds[] = { 2101 // (PseudoLA_ABS GPR:$dst, bare_symbol:$src) - 0 2102 {AliasPatternCond::K_RegClass, LoongArch::GPRRegClassID}, 2103 {AliasPatternCond::K_Feature, LoongArch::LaLocalWithAbs}, 2104 // (PseudoLA_GOT_LARGE GPR:$dst, GPR:$tmp, bare_symbol:$src) - 2 2105 {AliasPatternCond::K_RegClass, LoongArch::GPRRegClassID}, 2106 {AliasPatternCond::K_RegClass, LoongArch::GPRRegClassID}, 2107 // (PseudoLA_PCREL GPR:$dst, bare_symbol:$src) - 4 2108 {AliasPatternCond::K_RegClass, LoongArch::GPRRegClassID}, 2109 // (PseudoLA_PCREL_LARGE GPR:$dst, GPR:$tmp, bare_symbol:$src) - 5 2110 {AliasPatternCond::K_RegClass, LoongArch::GPRRegClassID}, 2111 {AliasPatternCond::K_RegClass, LoongArch::GPRRegClassID}, 2112 // (PseudoLA_PCREL_LARGE GPR:$dst, GPR:$tmp, bare_symbol:$src) - 7 2113 {AliasPatternCond::K_RegClass, LoongArch::GPRRegClassID}, 2114 {AliasPatternCond::K_RegClass, LoongArch::GPRRegClassID}, 2115 {AliasPatternCond::K_Feature, LoongArch::LaGlobalWithPcrel}, 2116 // (ANDI R0, R0, 0) - 10 2117 {AliasPatternCond::K_Reg, LoongArch::R0}, 2118 {AliasPatternCond::K_Reg, LoongArch::R0}, 2119 {AliasPatternCond::K_Imm, uint32_t(0)}, 2120 // (JIRL R0, R1, 0) - 13 2121 {AliasPatternCond::K_Reg, LoongArch::R0}, 2122 {AliasPatternCond::K_Reg, LoongArch::R1}, 2123 {AliasPatternCond::K_Imm, uint32_t(0)}, 2124 // (JIRL R0, GPR:$rj, 0) - 16 2125 {AliasPatternCond::K_Reg, LoongArch::R0}, 2126 {AliasPatternCond::K_RegClass, LoongArch::GPRRegClassID}, 2127 {AliasPatternCond::K_Imm, uint32_t(0)}, 2128 // (OR GPR:$dst, GPR:$src, R0) - 19 2129 {AliasPatternCond::K_RegClass, LoongArch::GPRRegClassID}, 2130 {AliasPatternCond::K_RegClass, LoongArch::GPRRegClassID}, 2131 {AliasPatternCond::K_Reg, LoongArch::R0}, 2132 }; 2133 2134 static const char AsmStrings[] = 2135 /* 0 */ "la.local $\x01, $\x02\0" 2136 /* 16 */ "la.global $\x01, $\x02, $\x03\0" 2137 /* 37 */ "la.local $\x01, $\x02, $\x03\0" 2138 /* 57 */ "nop\0" 2139 /* 61 */ "ret\0" 2140 /* 65 */ "jr $\x02\0" 2141 /* 71 */ "move $\x01, $\x02\0" 2142 ; 2143 2144#ifndef NDEBUG 2145 static struct SortCheck { 2146 SortCheck(ArrayRef<PatternsForOpcode> OpToPatterns) { 2147 assert(std::is_sorted( 2148 OpToPatterns.begin(), OpToPatterns.end(), 2149 [](const PatternsForOpcode &L, const PatternsForOpcode &R) { 2150 return L.Opcode < R.Opcode; 2151 }) && 2152 "tablegen failed to sort opcode patterns"); 2153 } 2154 } sortCheckVar(OpToPatterns); 2155#endif 2156 2157 AliasMatchingData M { 2158 ArrayRef(OpToPatterns), 2159 ArrayRef(Patterns), 2160 ArrayRef(Conds), 2161 StringRef(AsmStrings, std::size(AsmStrings)), 2162 nullptr, 2163 }; 2164 const char *AsmString = matchAliasPatterns(MI, &STI, M); 2165 if (!AsmString) return false; 2166 2167 unsigned I = 0; 2168 while (AsmString[I] != ' ' && AsmString[I] != '\t' && 2169 AsmString[I] != '$' && AsmString[I] != '\0') 2170 ++I; 2171 OS << '\t' << StringRef(AsmString, I); 2172 if (AsmString[I] != '\0') { 2173 if (AsmString[I] == ' ' || AsmString[I] == '\t') { 2174 OS << '\t'; 2175 ++I; 2176 } 2177 do { 2178 if (AsmString[I] == '$') { 2179 ++I; 2180 if (AsmString[I] == (char)0xff) { 2181 ++I; 2182 int OpIdx = AsmString[I++] - 1; 2183 int PrintMethodIdx = AsmString[I++] - 1; 2184 printCustomAliasOperand(MI, Address, OpIdx, PrintMethodIdx, STI, OS); 2185 } else 2186 printOperand(MI, unsigned(AsmString[I++]) - 1, STI, OS); 2187 } else { 2188 OS << AsmString[I++]; 2189 } 2190 } while (AsmString[I] != '\0'); 2191 } 2192 2193 return true; 2194} 2195 2196void LoongArchInstPrinter::printCustomAliasOperand( 2197 const MCInst *MI, uint64_t Address, unsigned OpIdx, 2198 unsigned PrintMethodIdx, 2199 const MCSubtargetInfo &STI, 2200 raw_ostream &OS) { 2201 llvm_unreachable("Unknown PrintMethod kind"); 2202} 2203 2204#endif // PRINT_ALIAS_INSTR 2205