1 /* This file is automatically generated by aarch64-gen. Do not edit! */ 2 /* Copyright (C) 2012-2022 Free Software Foundation, Inc. 3 Contributed by ARM Ltd. 4 5 This file is part of the GNU opcodes library. 6 7 This library is free software; you can redistribute it and/or modify 8 it under the terms of the GNU General Public License as published by 9 the Free Software Foundation; either version 3, or (at your option) 10 any later version. 11 12 It is distributed in the hope that it will be useful, but WITHOUT 13 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY 14 or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public 15 License for more details. 16 17 You should have received a copy of the GNU General Public License 18 along with this program; see the file COPYING3. If not, 19 see <http://www.gnu.org/licenses/>. */ 20 21 #include "sysdep.h" 22 #include "aarch64-asm.h" 23 24 25 const aarch64_opcode * 26 aarch64_find_real_opcode (const aarch64_opcode *opcode) 27 { 28 /* Use the index as the key to locate the real opcode. */ 29 int key = opcode - aarch64_opcode_table; 30 int value; 31 switch (key) 32 { 33 case 3: /* ngc */ 34 case 2: /* sbc */ 35 value = 2; /* --> sbc. */ 36 break; 37 case 5: /* ngcs */ 38 case 4: /* sbcs */ 39 value = 4; /* --> sbcs. */ 40 break; 41 case 8: /* cmn */ 42 case 7: /* adds */ 43 value = 7; /* --> adds. */ 44 break; 45 case 11: /* cmp */ 46 case 10: /* subs */ 47 value = 10; /* --> subs. */ 48 break; 49 case 13: /* mov */ 50 case 12: /* add */ 51 value = 12; /* --> add. */ 52 break; 53 case 15: /* cmn */ 54 case 14: /* adds */ 55 value = 14; /* --> adds. */ 56 break; 57 case 18: /* cmp */ 58 case 17: /* subs */ 59 value = 17; /* --> subs. */ 60 break; 61 case 23: /* cmn */ 62 case 22: /* adds */ 63 value = 22; /* --> adds. */ 64 break; 65 case 25: /* neg */ 66 case 24: /* sub */ 67 value = 24; /* --> sub. */ 68 break; 69 case 27: /* cmp */ 70 case 28: /* negs */ 71 case 26: /* subs */ 72 value = 26; /* --> subs. */ 73 break; 74 case 153: /* mov */ 75 case 152: /* umov */ 76 value = 152; /* --> umov. */ 77 break; 78 case 155: /* mov */ 79 case 154: /* ins */ 80 value = 154; /* --> ins. */ 81 break; 82 case 157: /* mov */ 83 case 156: /* ins */ 84 value = 156; /* --> ins. */ 85 break; 86 case 243: /* mvn */ 87 case 242: /* not */ 88 value = 242; /* --> not. */ 89 break; 90 case 318: /* mov */ 91 case 317: /* orr */ 92 value = 317; /* --> orr. */ 93 break; 94 case 389: /* sxtl */ 95 case 388: /* sshll */ 96 value = 388; /* --> sshll. */ 97 break; 98 case 391: /* sxtl2 */ 99 case 390: /* sshll2 */ 100 value = 390; /* --> sshll2. */ 101 break; 102 case 413: /* uxtl */ 103 case 412: /* ushll */ 104 value = 412; /* --> ushll. */ 105 break; 106 case 415: /* uxtl2 */ 107 case 414: /* ushll2 */ 108 value = 414; /* --> ushll2. */ 109 break; 110 case 536: /* mov */ 111 case 535: /* dup */ 112 value = 535; /* --> dup. */ 113 break; 114 case 623: /* sxtw */ 115 case 622: /* sxth */ 116 case 621: /* sxtb */ 117 case 624: /* asr */ 118 case 620: /* sbfx */ 119 case 619: /* sbfiz */ 120 case 618: /* sbfm */ 121 value = 618; /* --> sbfm. */ 122 break; 123 case 627: /* bfc */ 124 case 628: /* bfxil */ 125 case 626: /* bfi */ 126 case 625: /* bfm */ 127 value = 625; /* --> bfm. */ 128 break; 129 case 633: /* uxth */ 130 case 632: /* uxtb */ 131 case 635: /* lsr */ 132 case 634: /* lsl */ 133 case 631: /* ubfx */ 134 case 630: /* ubfiz */ 135 case 629: /* ubfm */ 136 value = 629; /* --> ubfm. */ 137 break; 138 case 665: /* cset */ 139 case 664: /* cinc */ 140 case 663: /* csinc */ 141 value = 663; /* --> csinc. */ 142 break; 143 case 668: /* csetm */ 144 case 667: /* cinv */ 145 case 666: /* csinv */ 146 value = 666; /* --> csinv. */ 147 break; 148 case 670: /* cneg */ 149 case 669: /* csneg */ 150 value = 669; /* --> csneg. */ 151 break; 152 case 688: /* rev */ 153 case 689: /* rev64 */ 154 value = 688; /* --> rev. */ 155 break; 156 case 714: /* lsl */ 157 case 713: /* lslv */ 158 value = 713; /* --> lslv. */ 159 break; 160 case 716: /* lsr */ 161 case 715: /* lsrv */ 162 value = 715; /* --> lsrv. */ 163 break; 164 case 718: /* asr */ 165 case 717: /* asrv */ 166 value = 717; /* --> asrv. */ 167 break; 168 case 720: /* ror */ 169 case 719: /* rorv */ 170 value = 719; /* --> rorv. */ 171 break; 172 case 723: /* cmpp */ 173 case 722: /* subps */ 174 value = 722; /* --> subps. */ 175 break; 176 case 736: /* mul */ 177 case 735: /* madd */ 178 value = 735; /* --> madd. */ 179 break; 180 case 738: /* mneg */ 181 case 737: /* msub */ 182 value = 737; /* --> msub. */ 183 break; 184 case 740: /* smull */ 185 case 739: /* smaddl */ 186 value = 739; /* --> smaddl. */ 187 break; 188 case 742: /* smnegl */ 189 case 741: /* smsubl */ 190 value = 741; /* --> smsubl. */ 191 break; 192 case 745: /* umull */ 193 case 744: /* umaddl */ 194 value = 744; /* --> umaddl. */ 195 break; 196 case 747: /* umnegl */ 197 case 746: /* umsubl */ 198 value = 746; /* --> umsubl. */ 199 break; 200 case 759: /* ror */ 201 case 758: /* extr */ 202 value = 758; /* --> extr. */ 203 break; 204 case 996: /* bic */ 205 case 995: /* and */ 206 value = 995; /* --> and. */ 207 break; 208 case 998: /* mov */ 209 case 997: /* orr */ 210 value = 997; /* --> orr. */ 211 break; 212 case 1001: /* tst */ 213 case 1000: /* ands */ 214 value = 1000; /* --> ands. */ 215 break; 216 case 1006: /* uxtw */ 217 case 1005: /* mov */ 218 case 1004: /* orr */ 219 value = 1004; /* --> orr. */ 220 break; 221 case 1008: /* mvn */ 222 case 1007: /* orn */ 223 value = 1007; /* --> orn. */ 224 break; 225 case 1012: /* tst */ 226 case 1011: /* ands */ 227 value = 1011; /* --> ands. */ 228 break; 229 case 1138: /* staddb */ 230 case 1042: /* ldaddb */ 231 value = 1042; /* --> ldaddb. */ 232 break; 233 case 1139: /* staddh */ 234 case 1043: /* ldaddh */ 235 value = 1043; /* --> ldaddh. */ 236 break; 237 case 1140: /* stadd */ 238 case 1044: /* ldadd */ 239 value = 1044; /* --> ldadd. */ 240 break; 241 case 1141: /* staddlb */ 242 case 1046: /* ldaddlb */ 243 value = 1046; /* --> ldaddlb. */ 244 break; 245 case 1142: /* staddlh */ 246 case 1049: /* ldaddlh */ 247 value = 1049; /* --> ldaddlh. */ 248 break; 249 case 1143: /* staddl */ 250 case 1052: /* ldaddl */ 251 value = 1052; /* --> ldaddl. */ 252 break; 253 case 1144: /* stclrb */ 254 case 1054: /* ldclrb */ 255 value = 1054; /* --> ldclrb. */ 256 break; 257 case 1145: /* stclrh */ 258 case 1055: /* ldclrh */ 259 value = 1055; /* --> ldclrh. */ 260 break; 261 case 1146: /* stclr */ 262 case 1056: /* ldclr */ 263 value = 1056; /* --> ldclr. */ 264 break; 265 case 1147: /* stclrlb */ 266 case 1058: /* ldclrlb */ 267 value = 1058; /* --> ldclrlb. */ 268 break; 269 case 1148: /* stclrlh */ 270 case 1061: /* ldclrlh */ 271 value = 1061; /* --> ldclrlh. */ 272 break; 273 case 1149: /* stclrl */ 274 case 1064: /* ldclrl */ 275 value = 1064; /* --> ldclrl. */ 276 break; 277 case 1150: /* steorb */ 278 case 1066: /* ldeorb */ 279 value = 1066; /* --> ldeorb. */ 280 break; 281 case 1151: /* steorh */ 282 case 1067: /* ldeorh */ 283 value = 1067; /* --> ldeorh. */ 284 break; 285 case 1152: /* steor */ 286 case 1068: /* ldeor */ 287 value = 1068; /* --> ldeor. */ 288 break; 289 case 1153: /* steorlb */ 290 case 1070: /* ldeorlb */ 291 value = 1070; /* --> ldeorlb. */ 292 break; 293 case 1154: /* steorlh */ 294 case 1073: /* ldeorlh */ 295 value = 1073; /* --> ldeorlh. */ 296 break; 297 case 1155: /* steorl */ 298 case 1076: /* ldeorl */ 299 value = 1076; /* --> ldeorl. */ 300 break; 301 case 1156: /* stsetb */ 302 case 1078: /* ldsetb */ 303 value = 1078; /* --> ldsetb. */ 304 break; 305 case 1157: /* stseth */ 306 case 1079: /* ldseth */ 307 value = 1079; /* --> ldseth. */ 308 break; 309 case 1158: /* stset */ 310 case 1080: /* ldset */ 311 value = 1080; /* --> ldset. */ 312 break; 313 case 1159: /* stsetlb */ 314 case 1082: /* ldsetlb */ 315 value = 1082; /* --> ldsetlb. */ 316 break; 317 case 1160: /* stsetlh */ 318 case 1085: /* ldsetlh */ 319 value = 1085; /* --> ldsetlh. */ 320 break; 321 case 1161: /* stsetl */ 322 case 1088: /* ldsetl */ 323 value = 1088; /* --> ldsetl. */ 324 break; 325 case 1162: /* stsmaxb */ 326 case 1090: /* ldsmaxb */ 327 value = 1090; /* --> ldsmaxb. */ 328 break; 329 case 1163: /* stsmaxh */ 330 case 1091: /* ldsmaxh */ 331 value = 1091; /* --> ldsmaxh. */ 332 break; 333 case 1164: /* stsmax */ 334 case 1092: /* ldsmax */ 335 value = 1092; /* --> ldsmax. */ 336 break; 337 case 1165: /* stsmaxlb */ 338 case 1094: /* ldsmaxlb */ 339 value = 1094; /* --> ldsmaxlb. */ 340 break; 341 case 1166: /* stsmaxlh */ 342 case 1097: /* ldsmaxlh */ 343 value = 1097; /* --> ldsmaxlh. */ 344 break; 345 case 1167: /* stsmaxl */ 346 case 1100: /* ldsmaxl */ 347 value = 1100; /* --> ldsmaxl. */ 348 break; 349 case 1168: /* stsminb */ 350 case 1102: /* ldsminb */ 351 value = 1102; /* --> ldsminb. */ 352 break; 353 case 1169: /* stsminh */ 354 case 1103: /* ldsminh */ 355 value = 1103; /* --> ldsminh. */ 356 break; 357 case 1170: /* stsmin */ 358 case 1104: /* ldsmin */ 359 value = 1104; /* --> ldsmin. */ 360 break; 361 case 1171: /* stsminlb */ 362 case 1106: /* ldsminlb */ 363 value = 1106; /* --> ldsminlb. */ 364 break; 365 case 1172: /* stsminlh */ 366 case 1109: /* ldsminlh */ 367 value = 1109; /* --> ldsminlh. */ 368 break; 369 case 1173: /* stsminl */ 370 case 1112: /* ldsminl */ 371 value = 1112; /* --> ldsminl. */ 372 break; 373 case 1174: /* stumaxb */ 374 case 1114: /* ldumaxb */ 375 value = 1114; /* --> ldumaxb. */ 376 break; 377 case 1175: /* stumaxh */ 378 case 1115: /* ldumaxh */ 379 value = 1115; /* --> ldumaxh. */ 380 break; 381 case 1176: /* stumax */ 382 case 1116: /* ldumax */ 383 value = 1116; /* --> ldumax. */ 384 break; 385 case 1177: /* stumaxlb */ 386 case 1118: /* ldumaxlb */ 387 value = 1118; /* --> ldumaxlb. */ 388 break; 389 case 1178: /* stumaxlh */ 390 case 1121: /* ldumaxlh */ 391 value = 1121; /* --> ldumaxlh. */ 392 break; 393 case 1179: /* stumaxl */ 394 case 1124: /* ldumaxl */ 395 value = 1124; /* --> ldumaxl. */ 396 break; 397 case 1180: /* stuminb */ 398 case 1126: /* lduminb */ 399 value = 1126; /* --> lduminb. */ 400 break; 401 case 1181: /* stuminh */ 402 case 1127: /* lduminh */ 403 value = 1127; /* --> lduminh. */ 404 break; 405 case 1182: /* stumin */ 406 case 1128: /* ldumin */ 407 value = 1128; /* --> ldumin. */ 408 break; 409 case 1183: /* stuminlb */ 410 case 1130: /* lduminlb */ 411 value = 1130; /* --> lduminlb. */ 412 break; 413 case 1184: /* stuminlh */ 414 case 1133: /* lduminlh */ 415 value = 1133; /* --> lduminlh. */ 416 break; 417 case 1185: /* stuminl */ 418 case 1136: /* lduminl */ 419 value = 1136; /* --> lduminl. */ 420 break; 421 case 1187: /* mov */ 422 case 1186: /* movn */ 423 value = 1186; /* --> movn. */ 424 break; 425 case 1189: /* mov */ 426 case 1188: /* movz */ 427 value = 1188; /* --> movz. */ 428 break; 429 case 1250: /* autibsp */ 430 case 1249: /* autibz */ 431 case 1248: /* autiasp */ 432 case 1247: /* autiaz */ 433 case 1246: /* pacibsp */ 434 case 1245: /* pacibz */ 435 case 1244: /* paciasp */ 436 case 1243: /* paciaz */ 437 case 1219: /* tsb */ 438 case 1218: /* psb */ 439 case 1217: /* esb */ 440 case 1216: /* autib1716 */ 441 case 1215: /* autia1716 */ 442 case 1214: /* pacib1716 */ 443 case 1213: /* pacia1716 */ 444 case 1212: /* xpaclri */ 445 case 1210: /* sevl */ 446 case 1209: /* sev */ 447 case 1208: /* wfi */ 448 case 1207: /* wfe */ 449 case 1206: /* yield */ 450 case 1205: /* bti */ 451 case 1204: /* csdb */ 452 case 1203: /* nop */ 453 case 1202: /* hint */ 454 value = 1202; /* --> hint. */ 455 break; 456 case 1225: /* pssbb */ 457 case 1224: /* ssbb */ 458 case 1223: /* dfb */ 459 case 1221: /* dsb */ 460 value = 1221; /* --> dsb. */ 461 break; 462 case 1222: /* dsb */ 463 value = 1222; /* --> dsb. */ 464 break; 465 case 1238: /* cpp */ 466 case 1237: /* dvp */ 467 case 1236: /* cfp */ 468 case 1233: /* tlbi */ 469 case 1232: /* ic */ 470 case 1231: /* dc */ 471 case 1230: /* at */ 472 case 1229: /* sys */ 473 value = 1229; /* --> sys. */ 474 break; 475 case 1234: /* wfet */ 476 value = 1234; /* --> wfet. */ 477 break; 478 case 1235: /* wfit */ 479 value = 1235; /* --> wfit. */ 480 break; 481 case 2048: /* bic */ 482 case 1298: /* and */ 483 value = 1298; /* --> and. */ 484 break; 485 case 1281: /* mov */ 486 case 1300: /* and */ 487 value = 1300; /* --> and. */ 488 break; 489 case 1285: /* movs */ 490 case 1301: /* ands */ 491 value = 1301; /* --> ands. */ 492 break; 493 case 2049: /* cmple */ 494 case 1336: /* cmpge */ 495 value = 1336; /* --> cmpge. */ 496 break; 497 case 2052: /* cmplt */ 498 case 1339: /* cmpgt */ 499 value = 1339; /* --> cmpgt. */ 500 break; 501 case 2050: /* cmplo */ 502 case 1341: /* cmphi */ 503 value = 1341; /* --> cmphi. */ 504 break; 505 case 2051: /* cmpls */ 506 case 1344: /* cmphs */ 507 value = 1344; /* --> cmphs. */ 508 break; 509 case 1278: /* mov */ 510 case 1366: /* cpy */ 511 value = 1366; /* --> cpy. */ 512 break; 513 case 1280: /* mov */ 514 case 1367: /* cpy */ 515 value = 1367; /* --> cpy. */ 516 break; 517 case 2059: /* fmov */ 518 case 1283: /* mov */ 519 case 1368: /* cpy */ 520 value = 1368; /* --> cpy. */ 521 break; 522 case 1273: /* mov */ 523 case 1380: /* dup */ 524 value = 1380; /* --> dup. */ 525 break; 526 case 1275: /* mov */ 527 case 1272: /* mov */ 528 case 1381: /* dup */ 529 value = 1381; /* --> dup. */ 530 break; 531 case 2058: /* fmov */ 532 case 1277: /* mov */ 533 case 1382: /* dup */ 534 value = 1382; /* --> dup. */ 535 break; 536 case 1276: /* mov */ 537 case 1383: /* dupm */ 538 value = 1383; /* --> dupm. */ 539 break; 540 case 2053: /* eon */ 541 case 1385: /* eor */ 542 value = 1385; /* --> eor. */ 543 break; 544 case 1286: /* not */ 545 case 1387: /* eor */ 546 value = 1387; /* --> eor. */ 547 break; 548 case 1287: /* nots */ 549 case 1388: /* eors */ 550 value = 1388; /* --> eors. */ 551 break; 552 case 2054: /* facle */ 553 case 1393: /* facge */ 554 value = 1393; /* --> facge. */ 555 break; 556 case 2055: /* faclt */ 557 case 1394: /* facgt */ 558 value = 1394; /* --> facgt. */ 559 break; 560 case 2056: /* fcmle */ 561 case 1407: /* fcmge */ 562 value = 1407; /* --> fcmge. */ 563 break; 564 case 2057: /* fcmlt */ 565 case 1409: /* fcmgt */ 566 value = 1409; /* --> fcmgt. */ 567 break; 568 case 1270: /* fmov */ 569 case 1415: /* fcpy */ 570 value = 1415; /* --> fcpy. */ 571 break; 572 case 1269: /* fmov */ 573 case 1438: /* fdup */ 574 value = 1438; /* --> fdup. */ 575 break; 576 case 1271: /* mov */ 577 case 1769: /* orr */ 578 value = 1769; /* --> orr. */ 579 break; 580 case 2060: /* orn */ 581 case 1770: /* orr */ 582 value = 1770; /* --> orr. */ 583 break; 584 case 1274: /* mov */ 585 case 1772: /* orr */ 586 value = 1772; /* --> orr. */ 587 break; 588 case 1284: /* movs */ 589 case 1773: /* orrs */ 590 value = 1773; /* --> orrs. */ 591 break; 592 case 1279: /* mov */ 593 case 1835: /* sel */ 594 value = 1835; /* --> sel. */ 595 break; 596 case 1282: /* mov */ 597 case 1836: /* sel */ 598 value = 1836; /* --> sel. */ 599 break; 600 default: return NULL; 601 } 602 603 return aarch64_opcode_table + value; 604 } 605 606 bool 607 aarch64_insert_operand (const aarch64_operand *self, 608 const aarch64_opnd_info *info, 609 aarch64_insn *code, const aarch64_inst *inst, 610 aarch64_operand_error *errors) 611 { 612 /* Use the index as the key. */ 613 int key = self - aarch64_operands; 614 switch (key) 615 { 616 case 1: 617 case 2: 618 case 3: 619 case 4: 620 case 5: 621 case 6: 622 case 7: 623 case 8: 624 case 9: 625 case 10: 626 case 11: 627 case 12: 628 case 13: 629 case 17: 630 case 18: 631 case 19: 632 case 20: 633 case 22: 634 case 23: 635 case 24: 636 case 25: 637 case 26: 638 case 27: 639 case 28: 640 case 29: 641 case 30: 642 case 31: 643 case 167: 644 case 168: 645 case 169: 646 case 170: 647 case 171: 648 case 172: 649 case 173: 650 case 174: 651 case 175: 652 case 176: 653 case 191: 654 case 192: 655 case 193: 656 case 194: 657 case 195: 658 case 196: 659 case 197: 660 case 198: 661 case 199: 662 case 205: 663 case 208: 664 case 210: 665 case 211: 666 case 214: 667 return aarch64_ins_regno (self, info, code, inst, errors); 668 case 15: 669 return aarch64_ins_reg_extended (self, info, code, inst, errors); 670 case 16: 671 return aarch64_ins_reg_shifted (self, info, code, inst, errors); 672 case 21: 673 return aarch64_ins_ft (self, info, code, inst, errors); 674 case 32: 675 case 33: 676 case 34: 677 case 35: 678 case 222: 679 return aarch64_ins_reglane (self, info, code, inst, errors); 680 case 36: 681 return aarch64_ins_reglist (self, info, code, inst, errors); 682 case 37: 683 return aarch64_ins_ldst_reglist (self, info, code, inst, errors); 684 case 38: 685 return aarch64_ins_ldst_reglist_r (self, info, code, inst, errors); 686 case 39: 687 return aarch64_ins_ldst_elemlist (self, info, code, inst, errors); 688 case 40: 689 case 41: 690 case 42: 691 case 43: 692 case 53: 693 case 54: 694 case 55: 695 case 56: 696 case 57: 697 case 58: 698 case 59: 699 case 60: 700 case 61: 701 case 62: 702 case 63: 703 case 64: 704 case 65: 705 case 66: 706 case 67: 707 case 68: 708 case 69: 709 case 81: 710 case 82: 711 case 83: 712 case 84: 713 case 164: 714 case 166: 715 case 183: 716 case 184: 717 case 185: 718 case 186: 719 case 187: 720 case 188: 721 case 189: 722 case 190: 723 case 215: 724 case 221: 725 return aarch64_ins_imm (self, info, code, inst, errors); 726 case 44: 727 case 45: 728 return aarch64_ins_advsimd_imm_shift (self, info, code, inst, errors); 729 case 46: 730 case 47: 731 case 48: 732 return aarch64_ins_advsimd_imm_modified (self, info, code, inst, errors); 733 case 52: 734 case 154: 735 return aarch64_ins_fpimm (self, info, code, inst, errors); 736 case 70: 737 case 162: 738 return aarch64_ins_limm (self, info, code, inst, errors); 739 case 71: 740 return aarch64_ins_aimm (self, info, code, inst, errors); 741 case 72: 742 return aarch64_ins_imm_half (self, info, code, inst, errors); 743 case 73: 744 return aarch64_ins_fbits (self, info, code, inst, errors); 745 case 75: 746 case 76: 747 case 159: 748 return aarch64_ins_imm_rotate2 (self, info, code, inst, errors); 749 case 77: 750 case 158: 751 case 160: 752 return aarch64_ins_imm_rotate1 (self, info, code, inst, errors); 753 case 78: 754 case 79: 755 return aarch64_ins_cond (self, info, code, inst, errors); 756 case 85: 757 case 94: 758 return aarch64_ins_addr_simple (self, info, code, inst, errors); 759 case 86: 760 return aarch64_ins_addr_regoff (self, info, code, inst, errors); 761 case 87: 762 case 88: 763 case 89: 764 case 91: 765 case 93: 766 return aarch64_ins_addr_simm (self, info, code, inst, errors); 767 case 90: 768 return aarch64_ins_addr_simm10 (self, info, code, inst, errors); 769 case 92: 770 return aarch64_ins_addr_uimm12 (self, info, code, inst, errors); 771 case 95: 772 return aarch64_ins_addr_offset (self, info, code, inst, errors); 773 case 96: 774 return aarch64_ins_simd_addr_post (self, info, code, inst, errors); 775 case 97: 776 return aarch64_ins_sysreg (self, info, code, inst, errors); 777 case 98: 778 return aarch64_ins_pstatefield (self, info, code, inst, errors); 779 case 99: 780 case 100: 781 case 101: 782 case 102: 783 case 103: 784 return aarch64_ins_sysins_op (self, info, code, inst, errors); 785 case 104: 786 case 106: 787 return aarch64_ins_barrier (self, info, code, inst, errors); 788 case 105: 789 return aarch64_ins_barrier_dsb_nxs (self, info, code, inst, errors); 790 case 107: 791 return aarch64_ins_prfop (self, info, code, inst, errors); 792 case 108: 793 return aarch64_ins_none (self, info, code, inst, errors); 794 case 109: 795 return aarch64_ins_hint (self, info, code, inst, errors); 796 case 110: 797 case 111: 798 return aarch64_ins_sve_addr_ri_s4 (self, info, code, inst, errors); 799 case 112: 800 case 113: 801 case 114: 802 case 115: 803 return aarch64_ins_sve_addr_ri_s4xvl (self, info, code, inst, errors); 804 case 116: 805 return aarch64_ins_sve_addr_ri_s6xvl (self, info, code, inst, errors); 806 case 117: 807 return aarch64_ins_sve_addr_ri_s9xvl (self, info, code, inst, errors); 808 case 118: 809 case 119: 810 case 120: 811 case 121: 812 return aarch64_ins_sve_addr_ri_u6 (self, info, code, inst, errors); 813 case 122: 814 case 123: 815 case 124: 816 case 125: 817 case 126: 818 case 127: 819 case 128: 820 case 129: 821 case 130: 822 case 131: 823 case 132: 824 case 133: 825 case 134: 826 case 135: 827 case 136: 828 return aarch64_ins_sve_addr_rr_lsl (self, info, code, inst, errors); 829 case 137: 830 case 138: 831 case 139: 832 case 140: 833 case 141: 834 case 142: 835 case 143: 836 case 144: 837 return aarch64_ins_sve_addr_rz_xtw (self, info, code, inst, errors); 838 case 145: 839 case 146: 840 case 147: 841 case 148: 842 return aarch64_ins_sve_addr_zi_u5 (self, info, code, inst, errors); 843 case 149: 844 return aarch64_ins_sve_addr_zz_lsl (self, info, code, inst, errors); 845 case 150: 846 return aarch64_ins_sve_addr_zz_sxtw (self, info, code, inst, errors); 847 case 151: 848 return aarch64_ins_sve_addr_zz_uxtw (self, info, code, inst, errors); 849 case 152: 850 return aarch64_ins_sve_aimm (self, info, code, inst, errors); 851 case 153: 852 return aarch64_ins_sve_asimm (self, info, code, inst, errors); 853 case 155: 854 return aarch64_ins_sve_float_half_one (self, info, code, inst, errors); 855 case 156: 856 return aarch64_ins_sve_float_half_two (self, info, code, inst, errors); 857 case 157: 858 return aarch64_ins_sve_float_zero_one (self, info, code, inst, errors); 859 case 161: 860 return aarch64_ins_inv_limm (self, info, code, inst, errors); 861 case 163: 862 return aarch64_ins_sve_limm_mov (self, info, code, inst, errors); 863 case 165: 864 return aarch64_ins_sve_scale (self, info, code, inst, errors); 865 case 177: 866 case 178: 867 case 179: 868 return aarch64_ins_sve_shlimm (self, info, code, inst, errors); 869 case 180: 870 case 181: 871 case 182: 872 return aarch64_ins_sve_shrimm (self, info, code, inst, errors); 873 case 200: 874 case 201: 875 case 202: 876 case 203: 877 case 204: 878 return aarch64_ins_sve_quad_index (self, info, code, inst, errors); 879 case 206: 880 return aarch64_ins_sve_index (self, info, code, inst, errors); 881 case 207: 882 case 209: 883 return aarch64_ins_sve_reglist (self, info, code, inst, errors); 884 case 212: 885 case 213: 886 case 216: 887 return aarch64_ins_sme_za_hv_tiles (self, info, code, inst, errors); 888 case 217: 889 return aarch64_ins_sme_za_array (self, info, code, inst, errors); 890 case 218: 891 return aarch64_ins_sme_addr_ri_u4xvl (self, info, code, inst, errors); 892 case 219: 893 return aarch64_ins_sme_sm_za (self, info, code, inst, errors); 894 case 220: 895 return aarch64_ins_sme_pred_reg_with_index (self, info, code, inst, errors); 896 case 223: 897 case 224: 898 case 225: 899 return aarch64_ins_x0_to_x30 (self, info, code, inst, errors); 900 default: assert (0); abort (); 901 } 902 } 903