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