aarch64-asm-2.c revision 1.1.1.8
1/* This file is automatically generated by aarch64-gen. Do not edit! */ 2/* Copyright (C) 2012-2024 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 25const aarch64_opcode * 26aarch64_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 1207: /* mov */ 422 case 1206: /* movn */ 423 value = 1206; /* --> movn. */ 424 break; 425 case 1209: /* mov */ 426 case 1208: /* movz */ 427 value = 1208; /* --> movz. */ 428 break; 429 case 3205: /* clrbhb */ 430 case 1288: /* autibsp */ 431 case 1287: /* autibz */ 432 case 1286: /* autiasp */ 433 case 1285: /* autiaz */ 434 case 1284: /* pacibsp */ 435 case 1283: /* pacibz */ 436 case 1282: /* paciasp */ 437 case 1281: /* paciaz */ 438 case 1261: /* gcsb */ 439 case 1241: /* clearbhb */ 440 case 1240: /* tsb */ 441 case 1239: /* psb */ 442 case 1238: /* esb */ 443 case 1237: /* autib1716 */ 444 case 1236: /* autia1716 */ 445 case 1235: /* pacib1716 */ 446 case 1234: /* pacia1716 */ 447 case 1233: /* xpaclri */ 448 case 1231: /* sevl */ 449 case 1230: /* sev */ 450 case 1229: /* wfi */ 451 case 1228: /* wfe */ 452 case 1227: /* yield */ 453 case 1226: /* bti */ 454 case 1225: /* csdb */ 455 case 1224: /* nop */ 456 case 1223: /* hint */ 457 value = 1223; /* --> hint. */ 458 break; 459 case 1247: /* pssbb */ 460 case 1246: /* ssbb */ 461 case 1245: /* dfb */ 462 case 1243: /* dsb */ 463 value = 1243; /* --> dsb. */ 464 break; 465 case 1244: /* dsb */ 466 value = 1244; /* --> dsb. */ 467 break; 468 case 3206: /* trcit */ 469 case 1274: /* cosp */ 470 case 1273: /* cpp */ 471 case 1272: /* dvp */ 472 case 1271: /* cfp */ 473 case 1267: /* tlbi */ 474 case 1266: /* ic */ 475 case 1265: /* dc */ 476 case 1264: /* at */ 477 case 1262: /* sys */ 478 value = 1262; /* --> sys. */ 479 break; 480 case 1268: /* tlbip */ 481 case 1263: /* sysp */ 482 value = 1263; /* --> sysp. */ 483 break; 484 case 1269: /* wfet */ 485 value = 1269; /* --> wfet. */ 486 break; 487 case 1270: /* wfit */ 488 value = 1270; /* --> wfit. */ 489 break; 490 case 2090: /* bic */ 491 case 1337: /* and */ 492 value = 1337; /* --> and. */ 493 break; 494 case 1320: /* mov */ 495 case 1339: /* and */ 496 value = 1339; /* --> and. */ 497 break; 498 case 1324: /* movs */ 499 case 1340: /* ands */ 500 value = 1340; /* --> ands. */ 501 break; 502 case 2091: /* cmple */ 503 case 1375: /* cmpge */ 504 value = 1375; /* --> cmpge. */ 505 break; 506 case 2094: /* cmplt */ 507 case 1378: /* cmpgt */ 508 value = 1378; /* --> cmpgt. */ 509 break; 510 case 2092: /* cmplo */ 511 case 1380: /* cmphi */ 512 value = 1380; /* --> cmphi. */ 513 break; 514 case 2093: /* cmpls */ 515 case 1383: /* cmphs */ 516 value = 1383; /* --> cmphs. */ 517 break; 518 case 1317: /* mov */ 519 case 1405: /* cpy */ 520 value = 1405; /* --> cpy. */ 521 break; 522 case 1319: /* mov */ 523 case 1406: /* cpy */ 524 value = 1406; /* --> cpy. */ 525 break; 526 case 2101: /* fmov */ 527 case 1322: /* mov */ 528 case 1407: /* cpy */ 529 value = 1407; /* --> cpy. */ 530 break; 531 case 1311: /* mov */ 532 case 1419: /* dup */ 533 value = 1419; /* --> dup. */ 534 break; 535 case 1314: /* mov */ 536 case 1310: /* mov */ 537 case 1420: /* dup */ 538 value = 1420; /* --> dup. */ 539 break; 540 case 2100: /* fmov */ 541 case 1316: /* mov */ 542 case 1421: /* dup */ 543 value = 1421; /* --> dup. */ 544 break; 545 case 1315: /* mov */ 546 case 1422: /* dupm */ 547 value = 1422; /* --> dupm. */ 548 break; 549 case 2095: /* eon */ 550 case 1424: /* eor */ 551 value = 1424; /* --> eor. */ 552 break; 553 case 1325: /* not */ 554 case 1426: /* eor */ 555 value = 1426; /* --> eor. */ 556 break; 557 case 1326: /* nots */ 558 case 1427: /* eors */ 559 value = 1427; /* --> eors. */ 560 break; 561 case 2096: /* facle */ 562 case 1432: /* facge */ 563 value = 1432; /* --> facge. */ 564 break; 565 case 2097: /* faclt */ 566 case 1433: /* facgt */ 567 value = 1433; /* --> facgt. */ 568 break; 569 case 2098: /* fcmle */ 570 case 1446: /* fcmge */ 571 value = 1446; /* --> fcmge. */ 572 break; 573 case 2099: /* fcmlt */ 574 case 1448: /* fcmgt */ 575 value = 1448; /* --> fcmgt. */ 576 break; 577 case 1308: /* fmov */ 578 case 1454: /* fcpy */ 579 value = 1454; /* --> fcpy. */ 580 break; 581 case 1307: /* fmov */ 582 case 1477: /* fdup */ 583 value = 1477; /* --> fdup. */ 584 break; 585 case 1309: /* mov */ 586 case 1809: /* orr */ 587 value = 1809; /* --> orr. */ 588 break; 589 case 2102: /* orn */ 590 case 1810: /* orr */ 591 value = 1810; /* --> orr. */ 592 break; 593 case 1313: /* mov */ 594 case 1312: /* mov */ 595 case 1812: /* orr */ 596 value = 1812; /* --> orr. */ 597 break; 598 case 1323: /* movs */ 599 case 1813: /* orrs */ 600 value = 1813; /* --> orrs. */ 601 break; 602 case 1318: /* mov */ 603 case 1876: /* sel */ 604 value = 1876; /* --> sel. */ 605 break; 606 case 1321: /* mov */ 607 case 1877: /* sel */ 608 value = 1877; /* --> sel. */ 609 break; 610 default: return NULL; 611 } 612 613 return aarch64_opcode_table + value; 614} 615 616bool 617aarch64_insert_operand (const aarch64_operand *self, 618 const aarch64_opnd_info *info, 619 aarch64_insn *code, const aarch64_inst *inst, 620 aarch64_operand_error *errors) 621{ 622 /* Use the index as the key. */ 623 int key = self - aarch64_operands; 624 switch (key) 625 { 626 case 1: 627 case 2: 628 case 3: 629 case 4: 630 case 5: 631 case 7: 632 case 8: 633 case 9: 634 case 10: 635 case 11: 636 case 12: 637 case 13: 638 case 14: 639 case 19: 640 case 20: 641 case 21: 642 case 22: 643 case 24: 644 case 25: 645 case 26: 646 case 27: 647 case 28: 648 case 29: 649 case 30: 650 case 31: 651 case 32: 652 case 33: 653 case 116: 654 case 117: 655 case 175: 656 case 176: 657 case 177: 658 case 178: 659 case 179: 660 case 180: 661 case 181: 662 case 182: 663 case 183: 664 case 184: 665 case 185: 666 case 186: 667 case 187: 668 case 188: 669 case 203: 670 case 204: 671 case 205: 672 case 206: 673 case 215: 674 case 216: 675 case 217: 676 case 218: 677 case 219: 678 case 227: 679 case 231: 680 case 235: 681 case 242: 682 case 243: 683 case 250: 684 case 251: 685 case 252: 686 case 253: 687 return aarch64_ins_regno (self, info, code, inst, errors); 688 case 6: 689 case 113: 690 case 114: 691 case 285: 692 case 287: 693 return aarch64_ins_none (self, info, code, inst, errors); 694 case 17: 695 return aarch64_ins_reg_extended (self, info, code, inst, errors); 696 case 18: 697 return aarch64_ins_reg_shifted (self, info, code, inst, errors); 698 case 23: 699 return aarch64_ins_ft (self, info, code, inst, errors); 700 case 34: 701 case 35: 702 case 36: 703 case 37: 704 case 289: 705 return aarch64_ins_reglane (self, info, code, inst, errors); 706 case 38: 707 return aarch64_ins_reglist (self, info, code, inst, errors); 708 case 39: 709 return aarch64_ins_ldst_reglist (self, info, code, inst, errors); 710 case 40: 711 return aarch64_ins_ldst_reglist_r (self, info, code, inst, errors); 712 case 41: 713 return aarch64_ins_ldst_elemlist (self, info, code, inst, errors); 714 case 42: 715 case 43: 716 case 44: 717 case 45: 718 case 55: 719 case 56: 720 case 57: 721 case 58: 722 case 59: 723 case 60: 724 case 61: 725 case 62: 726 case 63: 727 case 64: 728 case 65: 729 case 66: 730 case 67: 731 case 68: 732 case 69: 733 case 70: 734 case 71: 735 case 83: 736 case 84: 737 case 85: 738 case 86: 739 case 112: 740 case 172: 741 case 174: 742 case 195: 743 case 196: 744 case 197: 745 case 198: 746 case 199: 747 case 200: 748 case 201: 749 case 202: 750 case 256: 751 case 283: 752 case 284: 753 case 286: 754 case 288: 755 case 293: 756 case 294: 757 return aarch64_ins_imm (self, info, code, inst, errors); 758 case 46: 759 case 47: 760 return aarch64_ins_advsimd_imm_shift (self, info, code, inst, errors); 761 case 48: 762 case 49: 763 case 50: 764 return aarch64_ins_advsimd_imm_modified (self, info, code, inst, errors); 765 case 54: 766 case 162: 767 return aarch64_ins_fpimm (self, info, code, inst, errors); 768 case 72: 769 case 170: 770 return aarch64_ins_limm (self, info, code, inst, errors); 771 case 73: 772 return aarch64_ins_aimm (self, info, code, inst, errors); 773 case 74: 774 return aarch64_ins_imm_half (self, info, code, inst, errors); 775 case 75: 776 return aarch64_ins_fbits (self, info, code, inst, errors); 777 case 77: 778 case 78: 779 case 167: 780 return aarch64_ins_imm_rotate2 (self, info, code, inst, errors); 781 case 79: 782 case 166: 783 case 168: 784 return aarch64_ins_imm_rotate1 (self, info, code, inst, errors); 785 case 80: 786 case 81: 787 return aarch64_ins_cond (self, info, code, inst, errors); 788 case 87: 789 case 96: 790 return aarch64_ins_addr_simple (self, info, code, inst, errors); 791 case 88: 792 return aarch64_ins_addr_regoff (self, info, code, inst, errors); 793 case 89: 794 case 90: 795 case 91: 796 case 93: 797 case 95: 798 return aarch64_ins_addr_simm (self, info, code, inst, errors); 799 case 92: 800 return aarch64_ins_addr_simm10 (self, info, code, inst, errors); 801 case 94: 802 return aarch64_ins_addr_uimm12 (self, info, code, inst, errors); 803 case 97: 804 return aarch64_ins_addr_offset (self, info, code, inst, errors); 805 case 98: 806 return aarch64_ins_simd_addr_post (self, info, code, inst, errors); 807 case 99: 808 case 100: 809 return aarch64_ins_sysreg (self, info, code, inst, errors); 810 case 101: 811 return aarch64_ins_pstatefield (self, info, code, inst, errors); 812 case 102: 813 case 103: 814 case 104: 815 case 105: 816 case 106: 817 case 107: 818 return aarch64_ins_sysins_op (self, info, code, inst, errors); 819 case 108: 820 case 110: 821 return aarch64_ins_barrier (self, info, code, inst, errors); 822 case 109: 823 return aarch64_ins_barrier_dsb_nxs (self, info, code, inst, errors); 824 case 111: 825 return aarch64_ins_prfop (self, info, code, inst, errors); 826 case 115: 827 return aarch64_ins_hint (self, info, code, inst, errors); 828 case 118: 829 case 119: 830 return aarch64_ins_sve_addr_ri_s4 (self, info, code, inst, errors); 831 case 120: 832 case 121: 833 case 122: 834 case 123: 835 return aarch64_ins_sve_addr_ri_s4xvl (self, info, code, inst, errors); 836 case 124: 837 return aarch64_ins_sve_addr_ri_s6xvl (self, info, code, inst, errors); 838 case 125: 839 return aarch64_ins_sve_addr_ri_s9xvl (self, info, code, inst, errors); 840 case 126: 841 case 127: 842 case 128: 843 case 129: 844 return aarch64_ins_sve_addr_ri_u6 (self, info, code, inst, errors); 845 case 130: 846 case 131: 847 case 132: 848 case 133: 849 case 134: 850 case 135: 851 case 136: 852 case 137: 853 case 138: 854 case 139: 855 case 140: 856 case 141: 857 case 142: 858 case 143: 859 case 144: 860 return aarch64_ins_sve_addr_rr_lsl (self, info, code, inst, errors); 861 case 145: 862 case 146: 863 case 147: 864 case 148: 865 case 149: 866 case 150: 867 case 151: 868 case 152: 869 return aarch64_ins_sve_addr_rz_xtw (self, info, code, inst, errors); 870 case 153: 871 case 154: 872 case 155: 873 case 156: 874 return aarch64_ins_sve_addr_zi_u5 (self, info, code, inst, errors); 875 case 157: 876 return aarch64_ins_sve_addr_zz_lsl (self, info, code, inst, errors); 877 case 158: 878 return aarch64_ins_sve_addr_zz_sxtw (self, info, code, inst, errors); 879 case 159: 880 return aarch64_ins_sve_addr_zz_uxtw (self, info, code, inst, errors); 881 case 160: 882 return aarch64_ins_sve_aimm (self, info, code, inst, errors); 883 case 161: 884 return aarch64_ins_sve_asimm (self, info, code, inst, errors); 885 case 163: 886 return aarch64_ins_sve_float_half_one (self, info, code, inst, errors); 887 case 164: 888 return aarch64_ins_sve_float_half_two (self, info, code, inst, errors); 889 case 165: 890 return aarch64_ins_sve_float_zero_one (self, info, code, inst, errors); 891 case 169: 892 return aarch64_ins_inv_limm (self, info, code, inst, errors); 893 case 171: 894 return aarch64_ins_sve_limm_mov (self, info, code, inst, errors); 895 case 173: 896 return aarch64_ins_sve_scale (self, info, code, inst, errors); 897 case 189: 898 case 190: 899 case 191: 900 return aarch64_ins_sve_shlimm (self, info, code, inst, errors); 901 case 192: 902 case 193: 903 case 194: 904 case 269: 905 return aarch64_ins_sve_shrimm (self, info, code, inst, errors); 906 case 207: 907 case 208: 908 case 209: 909 case 210: 910 return aarch64_ins_sme_za_vrs1 (self, info, code, inst, errors); 911 case 211: 912 case 212: 913 case 213: 914 case 214: 915 return aarch64_ins_sme_za_vrs2 (self, info, code, inst, errors); 916 case 220: 917 case 221: 918 case 222: 919 case 223: 920 case 224: 921 case 225: 922 case 226: 923 return aarch64_ins_sve_quad_index (self, info, code, inst, errors); 924 case 228: 925 return aarch64_ins_sve_index_imm (self, info, code, inst, errors); 926 case 229: 927 return aarch64_ins_sve_index (self, info, code, inst, errors); 928 case 230: 929 case 232: 930 case 249: 931 case 295: 932 case 296: 933 case 297: 934 return aarch64_ins_sve_reglist (self, info, code, inst, errors); 935 case 233: 936 case 234: 937 case 236: 938 case 237: 939 case 238: 940 case 239: 941 case 248: 942 return aarch64_ins_sve_aligned_reglist (self, info, code, inst, errors); 943 case 240: 944 case 241: 945 return aarch64_ins_sve_strided_reglist (self, info, code, inst, errors); 946 case 244: 947 case 246: 948 case 257: 949 return aarch64_ins_sme_za_hv_tiles (self, info, code, inst, errors); 950 case 245: 951 case 247: 952 return aarch64_ins_sme_za_hv_tiles_range (self, info, code, inst, errors); 953 case 254: 954 case 255: 955 case 270: 956 case 271: 957 case 272: 958 case 273: 959 case 274: 960 case 275: 961 case 276: 962 case 277: 963 case 278: 964 case 279: 965 case 280: 966 case 281: 967 case 282: 968 return aarch64_ins_simple_index (self, info, code, inst, errors); 969 case 258: 970 case 259: 971 case 260: 972 case 261: 973 case 262: 974 case 263: 975 case 264: 976 return aarch64_ins_sme_za_array (self, info, code, inst, errors); 977 case 265: 978 return aarch64_ins_sme_addr_ri_u4xvl (self, info, code, inst, errors); 979 case 266: 980 return aarch64_ins_sme_sm_za (self, info, code, inst, errors); 981 case 267: 982 return aarch64_ins_sme_pred_reg_with_index (self, info, code, inst, errors); 983 case 268: 984 return aarch64_ins_plain_shrimm (self, info, code, inst, errors); 985 case 290: 986 case 291: 987 case 292: 988 return aarch64_ins_x0_to_x30 (self, info, code, inst, errors); 989 case 298: 990 case 299: 991 case 300: 992 case 301: 993 return aarch64_ins_rcpc3_addr_opt_offset (self, info, code, inst, errors); 994 case 302: 995 return aarch64_ins_rcpc3_addr_offset (self, info, code, inst, errors); 996 default: assert (0); abort (); 997 } 998} 999