x86: optimize EVEX packed integer logical instructions
[external/binutils.git] / opcodes / aarch64-asm-2.c
1 /* This file is automatically generated by aarch64-gen.  Do not edit!  */
2 /* Copyright (C) 2012-2019 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 758:   /* ror */
201     case 757:   /* extr */
202       value = 757;      /* --> extr.  */
203       break;
204     case 991:   /* bic */
205     case 990:   /* and */
206       value = 990;      /* --> and.  */
207       break;
208     case 993:   /* mov */
209     case 992:   /* orr */
210       value = 992;      /* --> orr.  */
211       break;
212     case 996:   /* tst */
213     case 995:   /* ands */
214       value = 995;      /* --> ands.  */
215       break;
216     case 1001:  /* uxtw */
217     case 1000:  /* mov */
218     case 999:   /* orr */
219       value = 999;      /* --> orr.  */
220       break;
221     case 1003:  /* mvn */
222     case 1002:  /* orn */
223       value = 1002;     /* --> orn.  */
224       break;
225     case 1007:  /* tst */
226     case 1006:  /* ands */
227       value = 1006;     /* --> ands.  */
228       break;
229     case 1133:  /* staddb */
230     case 1037:  /* ldaddb */
231       value = 1037;     /* --> ldaddb.  */
232       break;
233     case 1134:  /* staddh */
234     case 1038:  /* ldaddh */
235       value = 1038;     /* --> ldaddh.  */
236       break;
237     case 1135:  /* stadd */
238     case 1039:  /* ldadd */
239       value = 1039;     /* --> ldadd.  */
240       break;
241     case 1136:  /* staddlb */
242     case 1041:  /* ldaddlb */
243       value = 1041;     /* --> ldaddlb.  */
244       break;
245     case 1137:  /* staddlh */
246     case 1044:  /* ldaddlh */
247       value = 1044;     /* --> ldaddlh.  */
248       break;
249     case 1138:  /* staddl */
250     case 1047:  /* ldaddl */
251       value = 1047;     /* --> ldaddl.  */
252       break;
253     case 1139:  /* stclrb */
254     case 1049:  /* ldclrb */
255       value = 1049;     /* --> ldclrb.  */
256       break;
257     case 1140:  /* stclrh */
258     case 1050:  /* ldclrh */
259       value = 1050;     /* --> ldclrh.  */
260       break;
261     case 1141:  /* stclr */
262     case 1051:  /* ldclr */
263       value = 1051;     /* --> ldclr.  */
264       break;
265     case 1142:  /* stclrlb */
266     case 1053:  /* ldclrlb */
267       value = 1053;     /* --> ldclrlb.  */
268       break;
269     case 1143:  /* stclrlh */
270     case 1056:  /* ldclrlh */
271       value = 1056;     /* --> ldclrlh.  */
272       break;
273     case 1144:  /* stclrl */
274     case 1059:  /* ldclrl */
275       value = 1059;     /* --> ldclrl.  */
276       break;
277     case 1145:  /* steorb */
278     case 1061:  /* ldeorb */
279       value = 1061;     /* --> ldeorb.  */
280       break;
281     case 1146:  /* steorh */
282     case 1062:  /* ldeorh */
283       value = 1062;     /* --> ldeorh.  */
284       break;
285     case 1147:  /* steor */
286     case 1063:  /* ldeor */
287       value = 1063;     /* --> ldeor.  */
288       break;
289     case 1148:  /* steorlb */
290     case 1065:  /* ldeorlb */
291       value = 1065;     /* --> ldeorlb.  */
292       break;
293     case 1149:  /* steorlh */
294     case 1068:  /* ldeorlh */
295       value = 1068;     /* --> ldeorlh.  */
296       break;
297     case 1150:  /* steorl */
298     case 1071:  /* ldeorl */
299       value = 1071;     /* --> ldeorl.  */
300       break;
301     case 1151:  /* stsetb */
302     case 1073:  /* ldsetb */
303       value = 1073;     /* --> ldsetb.  */
304       break;
305     case 1152:  /* stseth */
306     case 1074:  /* ldseth */
307       value = 1074;     /* --> ldseth.  */
308       break;
309     case 1153:  /* stset */
310     case 1075:  /* ldset */
311       value = 1075;     /* --> ldset.  */
312       break;
313     case 1154:  /* stsetlb */
314     case 1077:  /* ldsetlb */
315       value = 1077;     /* --> ldsetlb.  */
316       break;
317     case 1155:  /* stsetlh */
318     case 1080:  /* ldsetlh */
319       value = 1080;     /* --> ldsetlh.  */
320       break;
321     case 1156:  /* stsetl */
322     case 1083:  /* ldsetl */
323       value = 1083;     /* --> ldsetl.  */
324       break;
325     case 1157:  /* stsmaxb */
326     case 1085:  /* ldsmaxb */
327       value = 1085;     /* --> ldsmaxb.  */
328       break;
329     case 1158:  /* stsmaxh */
330     case 1086:  /* ldsmaxh */
331       value = 1086;     /* --> ldsmaxh.  */
332       break;
333     case 1159:  /* stsmax */
334     case 1087:  /* ldsmax */
335       value = 1087;     /* --> ldsmax.  */
336       break;
337     case 1160:  /* stsmaxlb */
338     case 1089:  /* ldsmaxlb */
339       value = 1089;     /* --> ldsmaxlb.  */
340       break;
341     case 1161:  /* stsmaxlh */
342     case 1092:  /* ldsmaxlh */
343       value = 1092;     /* --> ldsmaxlh.  */
344       break;
345     case 1162:  /* stsmaxl */
346     case 1095:  /* ldsmaxl */
347       value = 1095;     /* --> ldsmaxl.  */
348       break;
349     case 1163:  /* stsminb */
350     case 1097:  /* ldsminb */
351       value = 1097;     /* --> ldsminb.  */
352       break;
353     case 1164:  /* stsminh */
354     case 1098:  /* ldsminh */
355       value = 1098;     /* --> ldsminh.  */
356       break;
357     case 1165:  /* stsmin */
358     case 1099:  /* ldsmin */
359       value = 1099;     /* --> ldsmin.  */
360       break;
361     case 1166:  /* stsminlb */
362     case 1101:  /* ldsminlb */
363       value = 1101;     /* --> ldsminlb.  */
364       break;
365     case 1167:  /* stsminlh */
366     case 1104:  /* ldsminlh */
367       value = 1104;     /* --> ldsminlh.  */
368       break;
369     case 1168:  /* stsminl */
370     case 1107:  /* ldsminl */
371       value = 1107;     /* --> ldsminl.  */
372       break;
373     case 1169:  /* stumaxb */
374     case 1109:  /* ldumaxb */
375       value = 1109;     /* --> ldumaxb.  */
376       break;
377     case 1170:  /* stumaxh */
378     case 1110:  /* ldumaxh */
379       value = 1110;     /* --> ldumaxh.  */
380       break;
381     case 1171:  /* stumax */
382     case 1111:  /* ldumax */
383       value = 1111;     /* --> ldumax.  */
384       break;
385     case 1172:  /* stumaxlb */
386     case 1113:  /* ldumaxlb */
387       value = 1113;     /* --> ldumaxlb.  */
388       break;
389     case 1173:  /* stumaxlh */
390     case 1116:  /* ldumaxlh */
391       value = 1116;     /* --> ldumaxlh.  */
392       break;
393     case 1174:  /* stumaxl */
394     case 1119:  /* ldumaxl */
395       value = 1119;     /* --> ldumaxl.  */
396       break;
397     case 1175:  /* stuminb */
398     case 1121:  /* lduminb */
399       value = 1121;     /* --> lduminb.  */
400       break;
401     case 1176:  /* stuminh */
402     case 1122:  /* lduminh */
403       value = 1122;     /* --> lduminh.  */
404       break;
405     case 1177:  /* stumin */
406     case 1123:  /* ldumin */
407       value = 1123;     /* --> ldumin.  */
408       break;
409     case 1178:  /* stuminlb */
410     case 1125:  /* lduminlb */
411       value = 1125;     /* --> lduminlb.  */
412       break;
413     case 1179:  /* stuminlh */
414     case 1128:  /* lduminlh */
415       value = 1128;     /* --> lduminlh.  */
416       break;
417     case 1180:  /* stuminl */
418     case 1131:  /* lduminl */
419       value = 1131;     /* --> lduminl.  */
420       break;
421     case 1182:  /* mov */
422     case 1181:  /* movn */
423       value = 1181;     /* --> movn.  */
424       break;
425     case 1184:  /* mov */
426     case 1183:  /* movz */
427       value = 1183;     /* --> movz.  */
428       break;
429     case 1234:  /* autibsp */
430     case 1233:  /* autibz */
431     case 1232:  /* autiasp */
432     case 1231:  /* autiaz */
433     case 1230:  /* pacibsp */
434     case 1229:  /* pacibz */
435     case 1228:  /* paciasp */
436     case 1227:  /* paciaz */
437     case 1208:  /* psb */
438     case 1207:  /* esb */
439     case 1206:  /* autib1716 */
440     case 1205:  /* autia1716 */
441     case 1204:  /* pacib1716 */
442     case 1203:  /* pacia1716 */
443     case 1202:  /* xpaclri */
444     case 1201:  /* sevl */
445     case 1200:  /* sev */
446     case 1199:  /* wfi */
447     case 1198:  /* wfe */
448     case 1197:  /* yield */
449     case 1196:  /* bti */
450     case 1195:  /* csdb */
451     case 1194:  /* nop */
452     case 1193:  /* hint */
453       value = 1193;     /* --> hint.  */
454       break;
455     case 1212:  /* pssbb */
456     case 1211:  /* ssbb */
457     case 1210:  /* dsb */
458       value = 1210;     /* --> dsb.  */
459       break;
460     case 1223:  /* cpp */
461     case 1222:  /* dvp */
462     case 1221:  /* cfp */
463     case 1220:  /* tlbi */
464     case 1219:  /* ic */
465     case 1218:  /* dc */
466     case 1217:  /* at */
467     case 1216:  /* sys */
468       value = 1216;     /* --> sys.  */
469       break;
470     case 2032:  /* bic */
471     case 1282:  /* and */
472       value = 1282;     /* --> and.  */
473       break;
474     case 1265:  /* mov */
475     case 1284:  /* and */
476       value = 1284;     /* --> and.  */
477       break;
478     case 1269:  /* movs */
479     case 1285:  /* ands */
480       value = 1285;     /* --> ands.  */
481       break;
482     case 2033:  /* cmple */
483     case 1320:  /* cmpge */
484       value = 1320;     /* --> cmpge.  */
485       break;
486     case 2036:  /* cmplt */
487     case 1323:  /* cmpgt */
488       value = 1323;     /* --> cmpgt.  */
489       break;
490     case 2034:  /* cmplo */
491     case 1325:  /* cmphi */
492       value = 1325;     /* --> cmphi.  */
493       break;
494     case 2035:  /* cmpls */
495     case 1328:  /* cmphs */
496       value = 1328;     /* --> cmphs.  */
497       break;
498     case 1262:  /* mov */
499     case 1350:  /* cpy */
500       value = 1350;     /* --> cpy.  */
501       break;
502     case 1264:  /* mov */
503     case 1351:  /* cpy */
504       value = 1351;     /* --> cpy.  */
505       break;
506     case 2043:  /* fmov */
507     case 1267:  /* mov */
508     case 1352:  /* cpy */
509       value = 1352;     /* --> cpy.  */
510       break;
511     case 1257:  /* mov */
512     case 1364:  /* dup */
513       value = 1364;     /* --> dup.  */
514       break;
515     case 1259:  /* mov */
516     case 1256:  /* mov */
517     case 1365:  /* dup */
518       value = 1365;     /* --> dup.  */
519       break;
520     case 2042:  /* fmov */
521     case 1261:  /* mov */
522     case 1366:  /* dup */
523       value = 1366;     /* --> dup.  */
524       break;
525     case 1260:  /* mov */
526     case 1367:  /* dupm */
527       value = 1367;     /* --> dupm.  */
528       break;
529     case 2037:  /* eon */
530     case 1369:  /* eor */
531       value = 1369;     /* --> eor.  */
532       break;
533     case 1270:  /* not */
534     case 1371:  /* eor */
535       value = 1371;     /* --> eor.  */
536       break;
537     case 1271:  /* nots */
538     case 1372:  /* eors */
539       value = 1372;     /* --> eors.  */
540       break;
541     case 2038:  /* facle */
542     case 1377:  /* facge */
543       value = 1377;     /* --> facge.  */
544       break;
545     case 2039:  /* faclt */
546     case 1378:  /* facgt */
547       value = 1378;     /* --> facgt.  */
548       break;
549     case 2040:  /* fcmle */
550     case 1391:  /* fcmge */
551       value = 1391;     /* --> fcmge.  */
552       break;
553     case 2041:  /* fcmlt */
554     case 1393:  /* fcmgt */
555       value = 1393;     /* --> fcmgt.  */
556       break;
557     case 1254:  /* fmov */
558     case 1399:  /* fcpy */
559       value = 1399;     /* --> fcpy.  */
560       break;
561     case 1253:  /* fmov */
562     case 1422:  /* fdup */
563       value = 1422;     /* --> fdup.  */
564       break;
565     case 1255:  /* mov */
566     case 1753:  /* orr */
567       value = 1753;     /* --> orr.  */
568       break;
569     case 2044:  /* orn */
570     case 1754:  /* orr */
571       value = 1754;     /* --> orr.  */
572       break;
573     case 1258:  /* mov */
574     case 1756:  /* orr */
575       value = 1756;     /* --> orr.  */
576       break;
577     case 1268:  /* movs */
578     case 1757:  /* orrs */
579       value = 1757;     /* --> orrs.  */
580       break;
581     case 1263:  /* mov */
582     case 1819:  /* sel */
583       value = 1819;     /* --> sel.  */
584       break;
585     case 1266:  /* mov */
586     case 1820:  /* sel */
587       value = 1820;     /* --> sel.  */
588       break;
589     default: return NULL;
590     }
591
592   return aarch64_opcode_table + value;
593 }
594
595 bfd_boolean
596 aarch64_insert_operand (const aarch64_operand *self,
597                            const aarch64_opnd_info *info,
598                            aarch64_insn *code, const aarch64_inst *inst,
599                            aarch64_operand_error *errors)
600 {
601   /* Use the index as the key.  */
602   int key = self - aarch64_operands;
603   switch (key)
604     {
605     case 1:
606     case 2:
607     case 3:
608     case 4:
609     case 5:
610     case 6:
611     case 7:
612     case 8:
613     case 9:
614     case 10:
615     case 11:
616     case 12:
617     case 16:
618     case 17:
619     case 18:
620     case 19:
621     case 21:
622     case 22:
623     case 23:
624     case 24:
625     case 25:
626     case 26:
627     case 27:
628     case 28:
629     case 29:
630     case 30:
631     case 162:
632     case 163:
633     case 164:
634     case 165:
635     case 166:
636     case 167:
637     case 168:
638     case 169:
639     case 170:
640     case 171:
641     case 186:
642     case 187:
643     case 188:
644     case 189:
645     case 190:
646     case 191:
647     case 192:
648     case 193:
649     case 194:
650     case 200:
651     case 203:
652       return aarch64_ins_regno (self, info, code, inst, errors);
653     case 14:
654       return aarch64_ins_reg_extended (self, info, code, inst, errors);
655     case 15:
656       return aarch64_ins_reg_shifted (self, info, code, inst, errors);
657     case 20:
658       return aarch64_ins_ft (self, info, code, inst, errors);
659     case 31:
660     case 32:
661     case 33:
662     case 34:
663     case 206:
664       return aarch64_ins_reglane (self, info, code, inst, errors);
665     case 35:
666       return aarch64_ins_reglist (self, info, code, inst, errors);
667     case 36:
668       return aarch64_ins_ldst_reglist (self, info, code, inst, errors);
669     case 37:
670       return aarch64_ins_ldst_reglist_r (self, info, code, inst, errors);
671     case 38:
672       return aarch64_ins_ldst_elemlist (self, info, code, inst, errors);
673     case 39:
674     case 40:
675     case 41:
676     case 42:
677     case 52:
678     case 53:
679     case 54:
680     case 55:
681     case 56:
682     case 57:
683     case 58:
684     case 59:
685     case 60:
686     case 61:
687     case 62:
688     case 63:
689     case 64:
690     case 65:
691     case 66:
692     case 67:
693     case 79:
694     case 80:
695     case 81:
696     case 82:
697     case 159:
698     case 161:
699     case 178:
700     case 179:
701     case 180:
702     case 181:
703     case 182:
704     case 183:
705     case 184:
706     case 185:
707     case 205:
708       return aarch64_ins_imm (self, info, code, inst, errors);
709     case 43:
710     case 44:
711       return aarch64_ins_advsimd_imm_shift (self, info, code, inst, errors);
712     case 45:
713     case 46:
714     case 47:
715       return aarch64_ins_advsimd_imm_modified (self, info, code, inst, errors);
716     case 51:
717     case 149:
718       return aarch64_ins_fpimm (self, info, code, inst, errors);
719     case 68:
720     case 157:
721       return aarch64_ins_limm (self, info, code, inst, errors);
722     case 69:
723       return aarch64_ins_aimm (self, info, code, inst, errors);
724     case 70:
725       return aarch64_ins_imm_half (self, info, code, inst, errors);
726     case 71:
727       return aarch64_ins_fbits (self, info, code, inst, errors);
728     case 73:
729     case 74:
730     case 154:
731       return aarch64_ins_imm_rotate2 (self, info, code, inst, errors);
732     case 75:
733     case 153:
734     case 155:
735       return aarch64_ins_imm_rotate1 (self, info, code, inst, errors);
736     case 76:
737     case 77:
738       return aarch64_ins_cond (self, info, code, inst, errors);
739     case 83:
740     case 92:
741       return aarch64_ins_addr_simple (self, info, code, inst, errors);
742     case 84:
743       return aarch64_ins_addr_regoff (self, info, code, inst, errors);
744     case 85:
745     case 86:
746     case 87:
747     case 89:
748     case 91:
749       return aarch64_ins_addr_simm (self, info, code, inst, errors);
750     case 88:
751       return aarch64_ins_addr_simm10 (self, info, code, inst, errors);
752     case 90:
753       return aarch64_ins_addr_uimm12 (self, info, code, inst, errors);
754     case 93:
755       return aarch64_ins_addr_offset (self, info, code, inst, errors);
756     case 94:
757       return aarch64_ins_simd_addr_post (self, info, code, inst, errors);
758     case 95:
759       return aarch64_ins_sysreg (self, info, code, inst, errors);
760     case 96:
761       return aarch64_ins_pstatefield (self, info, code, inst, errors);
762     case 97:
763     case 98:
764     case 99:
765     case 100:
766     case 101:
767       return aarch64_ins_sysins_op (self, info, code, inst, errors);
768     case 102:
769     case 103:
770       return aarch64_ins_barrier (self, info, code, inst, errors);
771     case 104:
772       return aarch64_ins_prfop (self, info, code, inst, errors);
773     case 105:
774     case 106:
775       return aarch64_ins_hint (self, info, code, inst, errors);
776     case 107:
777       return aarch64_ins_sve_addr_ri_s4 (self, info, code, inst, errors);
778     case 108:
779     case 109:
780     case 110:
781     case 111:
782       return aarch64_ins_sve_addr_ri_s4xvl (self, info, code, inst, errors);
783     case 112:
784       return aarch64_ins_sve_addr_ri_s6xvl (self, info, code, inst, errors);
785     case 113:
786       return aarch64_ins_sve_addr_ri_s9xvl (self, info, code, inst, errors);
787     case 114:
788     case 115:
789     case 116:
790     case 117:
791       return aarch64_ins_sve_addr_ri_u6 (self, info, code, inst, errors);
792     case 118:
793     case 119:
794     case 120:
795     case 121:
796     case 122:
797     case 123:
798     case 124:
799     case 125:
800     case 126:
801     case 127:
802     case 128:
803     case 129:
804     case 130:
805     case 131:
806       return aarch64_ins_sve_addr_rr_lsl (self, info, code, inst, errors);
807     case 132:
808     case 133:
809     case 134:
810     case 135:
811     case 136:
812     case 137:
813     case 138:
814     case 139:
815       return aarch64_ins_sve_addr_rz_xtw (self, info, code, inst, errors);
816     case 140:
817     case 141:
818     case 142:
819     case 143:
820       return aarch64_ins_sve_addr_zi_u5 (self, info, code, inst, errors);
821     case 144:
822       return aarch64_ins_sve_addr_zz_lsl (self, info, code, inst, errors);
823     case 145:
824       return aarch64_ins_sve_addr_zz_sxtw (self, info, code, inst, errors);
825     case 146:
826       return aarch64_ins_sve_addr_zz_uxtw (self, info, code, inst, errors);
827     case 147:
828       return aarch64_ins_sve_aimm (self, info, code, inst, errors);
829     case 148:
830       return aarch64_ins_sve_asimm (self, info, code, inst, errors);
831     case 150:
832       return aarch64_ins_sve_float_half_one (self, info, code, inst, errors);
833     case 151:
834       return aarch64_ins_sve_float_half_two (self, info, code, inst, errors);
835     case 152:
836       return aarch64_ins_sve_float_zero_one (self, info, code, inst, errors);
837     case 156:
838       return aarch64_ins_inv_limm (self, info, code, inst, errors);
839     case 158:
840       return aarch64_ins_sve_limm_mov (self, info, code, inst, errors);
841     case 160:
842       return aarch64_ins_sve_scale (self, info, code, inst, errors);
843     case 172:
844     case 173:
845     case 174:
846       return aarch64_ins_sve_shlimm (self, info, code, inst, errors);
847     case 175:
848     case 176:
849     case 177:
850       return aarch64_ins_sve_shrimm (self, info, code, inst, errors);
851     case 195:
852     case 196:
853     case 197:
854     case 198:
855     case 199:
856       return aarch64_ins_sve_quad_index (self, info, code, inst, errors);
857     case 201:
858       return aarch64_ins_sve_index (self, info, code, inst, errors);
859     case 202:
860     case 204:
861       return aarch64_ins_sve_reglist (self, info, code, inst, errors);
862     default: assert (0); abort ();
863     }
864 }