Fix AArch64 encodings for by element 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-2018 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 21:    /* cmn */
62     case 20:    /* adds */
63       value = 20;       /* --> adds.  */
64       break;
65     case 23:    /* neg */
66     case 22:    /* sub */
67       value = 22;       /* --> sub.  */
68       break;
69     case 25:    /* cmp */
70     case 26:    /* negs */
71     case 24:    /* subs */
72       value = 24;       /* --> subs.  */
73       break;
74     case 151:   /* mov */
75     case 150:   /* umov */
76       value = 150;      /* --> umov.  */
77       break;
78     case 153:   /* mov */
79     case 152:   /* ins */
80       value = 152;      /* --> ins.  */
81       break;
82     case 155:   /* mov */
83     case 154:   /* ins */
84       value = 154;      /* --> ins.  */
85       break;
86     case 237:   /* mvn */
87     case 236:   /* not */
88       value = 236;      /* --> not.  */
89       break;
90     case 312:   /* mov */
91     case 311:   /* orr */
92       value = 311;      /* --> orr.  */
93       break;
94     case 383:   /* sxtl */
95     case 382:   /* sshll */
96       value = 382;      /* --> sshll.  */
97       break;
98     case 385:   /* sxtl2 */
99     case 384:   /* sshll2 */
100       value = 384;      /* --> sshll2.  */
101       break;
102     case 407:   /* uxtl */
103     case 406:   /* ushll */
104       value = 406;      /* --> ushll.  */
105       break;
106     case 409:   /* uxtl2 */
107     case 408:   /* ushll2 */
108       value = 408;      /* --> ushll2.  */
109       break;
110     case 530:   /* mov */
111     case 529:   /* dup */
112       value = 529;      /* --> dup.  */
113       break;
114     case 617:   /* sxtw */
115     case 616:   /* sxth */
116     case 615:   /* sxtb */
117     case 618:   /* asr */
118     case 614:   /* sbfx */
119     case 613:   /* sbfiz */
120     case 612:   /* sbfm */
121       value = 612;      /* --> sbfm.  */
122       break;
123     case 621:   /* bfc */
124     case 622:   /* bfxil */
125     case 620:   /* bfi */
126     case 619:   /* bfm */
127       value = 619;      /* --> bfm.  */
128       break;
129     case 627:   /* uxth */
130     case 626:   /* uxtb */
131     case 629:   /* lsr */
132     case 628:   /* lsl */
133     case 625:   /* ubfx */
134     case 624:   /* ubfiz */
135     case 623:   /* ubfm */
136       value = 623;      /* --> ubfm.  */
137       break;
138     case 659:   /* cset */
139     case 658:   /* cinc */
140     case 657:   /* csinc */
141       value = 657;      /* --> csinc.  */
142       break;
143     case 662:   /* csetm */
144     case 661:   /* cinv */
145     case 660:   /* csinv */
146       value = 660;      /* --> csinv.  */
147       break;
148     case 664:   /* cneg */
149     case 663:   /* csneg */
150       value = 663;      /* --> csneg.  */
151       break;
152     case 682:   /* rev */
153     case 683:   /* rev64 */
154       value = 682;      /* --> rev.  */
155       break;
156     case 708:   /* lsl */
157     case 707:   /* lslv */
158       value = 707;      /* --> lslv.  */
159       break;
160     case 710:   /* lsr */
161     case 709:   /* lsrv */
162       value = 709;      /* --> lsrv.  */
163       break;
164     case 712:   /* asr */
165     case 711:   /* asrv */
166       value = 711;      /* --> asrv.  */
167       break;
168     case 714:   /* ror */
169     case 713:   /* rorv */
170       value = 713;      /* --> rorv.  */
171       break;
172     case 725:   /* mul */
173     case 724:   /* madd */
174       value = 724;      /* --> madd.  */
175       break;
176     case 727:   /* mneg */
177     case 726:   /* msub */
178       value = 726;      /* --> msub.  */
179       break;
180     case 729:   /* smull */
181     case 728:   /* smaddl */
182       value = 728;      /* --> smaddl.  */
183       break;
184     case 731:   /* smnegl */
185     case 730:   /* smsubl */
186       value = 730;      /* --> smsubl.  */
187       break;
188     case 734:   /* umull */
189     case 733:   /* umaddl */
190       value = 733;      /* --> umaddl.  */
191       break;
192     case 736:   /* umnegl */
193     case 735:   /* umsubl */
194       value = 735;      /* --> umsubl.  */
195       break;
196     case 747:   /* ror */
197     case 746:   /* extr */
198       value = 746;      /* --> extr.  */
199       break;
200     case 960:   /* bic */
201     case 959:   /* and */
202       value = 959;      /* --> and.  */
203       break;
204     case 962:   /* mov */
205     case 961:   /* orr */
206       value = 961;      /* --> orr.  */
207       break;
208     case 965:   /* tst */
209     case 964:   /* ands */
210       value = 964;      /* --> ands.  */
211       break;
212     case 970:   /* uxtw */
213     case 969:   /* mov */
214     case 968:   /* orr */
215       value = 968;      /* --> orr.  */
216       break;
217     case 972:   /* mvn */
218     case 971:   /* orn */
219       value = 971;      /* --> orn.  */
220       break;
221     case 976:   /* tst */
222     case 975:   /* ands */
223       value = 975;      /* --> ands.  */
224       break;
225     case 1102:  /* staddb */
226     case 1006:  /* ldaddb */
227       value = 1006;     /* --> ldaddb.  */
228       break;
229     case 1103:  /* staddh */
230     case 1007:  /* ldaddh */
231       value = 1007;     /* --> ldaddh.  */
232       break;
233     case 1104:  /* stadd */
234     case 1008:  /* ldadd */
235       value = 1008;     /* --> ldadd.  */
236       break;
237     case 1105:  /* staddlb */
238     case 1010:  /* ldaddlb */
239       value = 1010;     /* --> ldaddlb.  */
240       break;
241     case 1106:  /* staddlh */
242     case 1013:  /* ldaddlh */
243       value = 1013;     /* --> ldaddlh.  */
244       break;
245     case 1107:  /* staddl */
246     case 1016:  /* ldaddl */
247       value = 1016;     /* --> ldaddl.  */
248       break;
249     case 1108:  /* stclrb */
250     case 1018:  /* ldclrb */
251       value = 1018;     /* --> ldclrb.  */
252       break;
253     case 1109:  /* stclrh */
254     case 1019:  /* ldclrh */
255       value = 1019;     /* --> ldclrh.  */
256       break;
257     case 1110:  /* stclr */
258     case 1020:  /* ldclr */
259       value = 1020;     /* --> ldclr.  */
260       break;
261     case 1111:  /* stclrlb */
262     case 1022:  /* ldclrlb */
263       value = 1022;     /* --> ldclrlb.  */
264       break;
265     case 1112:  /* stclrlh */
266     case 1025:  /* ldclrlh */
267       value = 1025;     /* --> ldclrlh.  */
268       break;
269     case 1113:  /* stclrl */
270     case 1028:  /* ldclrl */
271       value = 1028;     /* --> ldclrl.  */
272       break;
273     case 1114:  /* steorb */
274     case 1030:  /* ldeorb */
275       value = 1030;     /* --> ldeorb.  */
276       break;
277     case 1115:  /* steorh */
278     case 1031:  /* ldeorh */
279       value = 1031;     /* --> ldeorh.  */
280       break;
281     case 1116:  /* steor */
282     case 1032:  /* ldeor */
283       value = 1032;     /* --> ldeor.  */
284       break;
285     case 1117:  /* steorlb */
286     case 1034:  /* ldeorlb */
287       value = 1034;     /* --> ldeorlb.  */
288       break;
289     case 1118:  /* steorlh */
290     case 1037:  /* ldeorlh */
291       value = 1037;     /* --> ldeorlh.  */
292       break;
293     case 1119:  /* steorl */
294     case 1040:  /* ldeorl */
295       value = 1040;     /* --> ldeorl.  */
296       break;
297     case 1120:  /* stsetb */
298     case 1042:  /* ldsetb */
299       value = 1042;     /* --> ldsetb.  */
300       break;
301     case 1121:  /* stseth */
302     case 1043:  /* ldseth */
303       value = 1043;     /* --> ldseth.  */
304       break;
305     case 1122:  /* stset */
306     case 1044:  /* ldset */
307       value = 1044;     /* --> ldset.  */
308       break;
309     case 1123:  /* stsetlb */
310     case 1046:  /* ldsetlb */
311       value = 1046;     /* --> ldsetlb.  */
312       break;
313     case 1124:  /* stsetlh */
314     case 1049:  /* ldsetlh */
315       value = 1049;     /* --> ldsetlh.  */
316       break;
317     case 1125:  /* stsetl */
318     case 1052:  /* ldsetl */
319       value = 1052;     /* --> ldsetl.  */
320       break;
321     case 1126:  /* stsmaxb */
322     case 1054:  /* ldsmaxb */
323       value = 1054;     /* --> ldsmaxb.  */
324       break;
325     case 1127:  /* stsmaxh */
326     case 1055:  /* ldsmaxh */
327       value = 1055;     /* --> ldsmaxh.  */
328       break;
329     case 1128:  /* stsmax */
330     case 1056:  /* ldsmax */
331       value = 1056;     /* --> ldsmax.  */
332       break;
333     case 1129:  /* stsmaxlb */
334     case 1058:  /* ldsmaxlb */
335       value = 1058;     /* --> ldsmaxlb.  */
336       break;
337     case 1130:  /* stsmaxlh */
338     case 1061:  /* ldsmaxlh */
339       value = 1061;     /* --> ldsmaxlh.  */
340       break;
341     case 1131:  /* stsmaxl */
342     case 1064:  /* ldsmaxl */
343       value = 1064;     /* --> ldsmaxl.  */
344       break;
345     case 1132:  /* stsminb */
346     case 1066:  /* ldsminb */
347       value = 1066;     /* --> ldsminb.  */
348       break;
349     case 1133:  /* stsminh */
350     case 1067:  /* ldsminh */
351       value = 1067;     /* --> ldsminh.  */
352       break;
353     case 1134:  /* stsmin */
354     case 1068:  /* ldsmin */
355       value = 1068;     /* --> ldsmin.  */
356       break;
357     case 1135:  /* stsminlb */
358     case 1070:  /* ldsminlb */
359       value = 1070;     /* --> ldsminlb.  */
360       break;
361     case 1136:  /* stsminlh */
362     case 1073:  /* ldsminlh */
363       value = 1073;     /* --> ldsminlh.  */
364       break;
365     case 1137:  /* stsminl */
366     case 1076:  /* ldsminl */
367       value = 1076;     /* --> ldsminl.  */
368       break;
369     case 1138:  /* stumaxb */
370     case 1078:  /* ldumaxb */
371       value = 1078;     /* --> ldumaxb.  */
372       break;
373     case 1139:  /* stumaxh */
374     case 1079:  /* ldumaxh */
375       value = 1079;     /* --> ldumaxh.  */
376       break;
377     case 1140:  /* stumax */
378     case 1080:  /* ldumax */
379       value = 1080;     /* --> ldumax.  */
380       break;
381     case 1141:  /* stumaxlb */
382     case 1082:  /* ldumaxlb */
383       value = 1082;     /* --> ldumaxlb.  */
384       break;
385     case 1142:  /* stumaxlh */
386     case 1085:  /* ldumaxlh */
387       value = 1085;     /* --> ldumaxlh.  */
388       break;
389     case 1143:  /* stumaxl */
390     case 1088:  /* ldumaxl */
391       value = 1088;     /* --> ldumaxl.  */
392       break;
393     case 1144:  /* stuminb */
394     case 1090:  /* lduminb */
395       value = 1090;     /* --> lduminb.  */
396       break;
397     case 1145:  /* stuminh */
398     case 1091:  /* lduminh */
399       value = 1091;     /* --> lduminh.  */
400       break;
401     case 1146:  /* stumin */
402     case 1092:  /* ldumin */
403       value = 1092;     /* --> ldumin.  */
404       break;
405     case 1147:  /* stuminlb */
406     case 1094:  /* lduminlb */
407       value = 1094;     /* --> lduminlb.  */
408       break;
409     case 1148:  /* stuminlh */
410     case 1097:  /* lduminlh */
411       value = 1097;     /* --> lduminlh.  */
412       break;
413     case 1149:  /* stuminl */
414     case 1100:  /* lduminl */
415       value = 1100;     /* --> lduminl.  */
416       break;
417     case 1151:  /* mov */
418     case 1150:  /* movn */
419       value = 1150;     /* --> movn.  */
420       break;
421     case 1153:  /* mov */
422     case 1152:  /* movz */
423       value = 1152;     /* --> movz.  */
424       break;
425     case 1192:  /* autibsp */
426     case 1191:  /* autibz */
427     case 1190:  /* autiasp */
428     case 1189:  /* autiaz */
429     case 1188:  /* pacibsp */
430     case 1187:  /* pacibz */
431     case 1186:  /* paciasp */
432     case 1185:  /* paciaz */
433     case 1172:  /* psb */
434     case 1171:  /* esb */
435     case 1170:  /* autib1716 */
436     case 1169:  /* autia1716 */
437     case 1168:  /* pacib1716 */
438     case 1167:  /* pacia1716 */
439     case 1166:  /* xpaclri */
440     case 1165:  /* sevl */
441     case 1164:  /* sev */
442     case 1163:  /* wfi */
443     case 1162:  /* wfe */
444     case 1161:  /* yield */
445     case 1160:  /* csdb */
446     case 1159:  /* nop */
447     case 1158:  /* hint */
448       value = 1158;     /* --> hint.  */
449       break;
450     case 1181:  /* tlbi */
451     case 1180:  /* ic */
452     case 1179:  /* dc */
453     case 1178:  /* at */
454     case 1177:  /* sys */
455       value = 1177;     /* --> sys.  */
456       break;
457     case 1990:  /* bic */
458     case 1240:  /* and */
459       value = 1240;     /* --> and.  */
460       break;
461     case 1223:  /* mov */
462     case 1242:  /* and */
463       value = 1242;     /* --> and.  */
464       break;
465     case 1227:  /* movs */
466     case 1243:  /* ands */
467       value = 1243;     /* --> ands.  */
468       break;
469     case 1991:  /* cmple */
470     case 1278:  /* cmpge */
471       value = 1278;     /* --> cmpge.  */
472       break;
473     case 1994:  /* cmplt */
474     case 1281:  /* cmpgt */
475       value = 1281;     /* --> cmpgt.  */
476       break;
477     case 1992:  /* cmplo */
478     case 1283:  /* cmphi */
479       value = 1283;     /* --> cmphi.  */
480       break;
481     case 1993:  /* cmpls */
482     case 1286:  /* cmphs */
483       value = 1286;     /* --> cmphs.  */
484       break;
485     case 1220:  /* mov */
486     case 1308:  /* cpy */
487       value = 1308;     /* --> cpy.  */
488       break;
489     case 1222:  /* mov */
490     case 1309:  /* cpy */
491       value = 1309;     /* --> cpy.  */
492       break;
493     case 2001:  /* fmov */
494     case 1225:  /* mov */
495     case 1310:  /* cpy */
496       value = 1310;     /* --> cpy.  */
497       break;
498     case 1215:  /* mov */
499     case 1322:  /* dup */
500       value = 1322;     /* --> dup.  */
501       break;
502     case 1217:  /* mov */
503     case 1214:  /* mov */
504     case 1323:  /* dup */
505       value = 1323;     /* --> dup.  */
506       break;
507     case 2000:  /* fmov */
508     case 1219:  /* mov */
509     case 1324:  /* dup */
510       value = 1324;     /* --> dup.  */
511       break;
512     case 1218:  /* mov */
513     case 1325:  /* dupm */
514       value = 1325;     /* --> dupm.  */
515       break;
516     case 1995:  /* eon */
517     case 1327:  /* eor */
518       value = 1327;     /* --> eor.  */
519       break;
520     case 1228:  /* not */
521     case 1329:  /* eor */
522       value = 1329;     /* --> eor.  */
523       break;
524     case 1229:  /* nots */
525     case 1330:  /* eors */
526       value = 1330;     /* --> eors.  */
527       break;
528     case 1996:  /* facle */
529     case 1335:  /* facge */
530       value = 1335;     /* --> facge.  */
531       break;
532     case 1997:  /* faclt */
533     case 1336:  /* facgt */
534       value = 1336;     /* --> facgt.  */
535       break;
536     case 1998:  /* fcmle */
537     case 1349:  /* fcmge */
538       value = 1349;     /* --> fcmge.  */
539       break;
540     case 1999:  /* fcmlt */
541     case 1351:  /* fcmgt */
542       value = 1351;     /* --> fcmgt.  */
543       break;
544     case 1212:  /* fmov */
545     case 1357:  /* fcpy */
546       value = 1357;     /* --> fcpy.  */
547       break;
548     case 1211:  /* fmov */
549     case 1380:  /* fdup */
550       value = 1380;     /* --> fdup.  */
551       break;
552     case 1213:  /* mov */
553     case 1711:  /* orr */
554       value = 1711;     /* --> orr.  */
555       break;
556     case 2002:  /* orn */
557     case 1712:  /* orr */
558       value = 1712;     /* --> orr.  */
559       break;
560     case 1216:  /* mov */
561     case 1714:  /* orr */
562       value = 1714;     /* --> orr.  */
563       break;
564     case 1226:  /* movs */
565     case 1715:  /* orrs */
566       value = 1715;     /* --> orrs.  */
567       break;
568     case 1221:  /* mov */
569     case 1777:  /* sel */
570       value = 1777;     /* --> sel.  */
571       break;
572     case 1224:  /* mov */
573     case 1778:  /* sel */
574       value = 1778;     /* --> sel.  */
575       break;
576     default: return NULL;
577     }
578
579   return aarch64_opcode_table + value;
580 }
581
582 bfd_boolean
583 aarch64_insert_operand (const aarch64_operand *self,
584                            const aarch64_opnd_info *info,
585                            aarch64_insn *code, const aarch64_inst *inst,
586                            aarch64_operand_error *errors)
587 {
588   /* Use the index as the key.  */
589   int key = self - aarch64_operands;
590   switch (key)
591     {
592     case 1:
593     case 2:
594     case 3:
595     case 4:
596     case 5:
597     case 6:
598     case 7:
599     case 8:
600     case 9:
601     case 10:
602     case 11:
603     case 15:
604     case 16:
605     case 17:
606     case 18:
607     case 20:
608     case 21:
609     case 22:
610     case 23:
611     case 24:
612     case 25:
613     case 26:
614     case 27:
615     case 28:
616     case 29:
617     case 153:
618     case 154:
619     case 155:
620     case 156:
621     case 157:
622     case 158:
623     case 159:
624     case 160:
625     case 161:
626     case 162:
627     case 175:
628     case 176:
629     case 177:
630     case 178:
631     case 179:
632     case 180:
633     case 181:
634     case 182:
635     case 183:
636     case 187:
637     case 190:
638       return aarch64_ins_regno (self, info, code, inst, errors);
639     case 13:
640       return aarch64_ins_reg_extended (self, info, code, inst, errors);
641     case 14:
642       return aarch64_ins_reg_shifted (self, info, code, inst, errors);
643     case 19:
644       return aarch64_ins_ft (self, info, code, inst, errors);
645     case 30:
646     case 31:
647     case 32:
648     case 33:
649     case 192:
650       return aarch64_ins_reglane (self, info, code, inst, errors);
651     case 34:
652       return aarch64_ins_reglist (self, info, code, inst, errors);
653     case 35:
654       return aarch64_ins_ldst_reglist (self, info, code, inst, errors);
655     case 36:
656       return aarch64_ins_ldst_reglist_r (self, info, code, inst, errors);
657     case 37:
658       return aarch64_ins_ldst_elemlist (self, info, code, inst, errors);
659     case 38:
660     case 39:
661     case 40:
662     case 41:
663     case 51:
664     case 52:
665     case 53:
666     case 54:
667     case 55:
668     case 56:
669     case 57:
670     case 58:
671     case 59:
672     case 60:
673     case 61:
674     case 62:
675     case 63:
676     case 64:
677     case 76:
678     case 77:
679     case 78:
680     case 79:
681     case 150:
682     case 152:
683     case 167:
684     case 168:
685     case 169:
686     case 170:
687     case 171:
688     case 172:
689     case 173:
690     case 174:
691       return aarch64_ins_imm (self, info, code, inst, errors);
692     case 42:
693     case 43:
694       return aarch64_ins_advsimd_imm_shift (self, info, code, inst, errors);
695     case 44:
696     case 45:
697     case 46:
698       return aarch64_ins_advsimd_imm_modified (self, info, code, inst, errors);
699     case 50:
700     case 141:
701       return aarch64_ins_fpimm (self, info, code, inst, errors);
702     case 65:
703     case 148:
704       return aarch64_ins_limm (self, info, code, inst, errors);
705     case 66:
706       return aarch64_ins_aimm (self, info, code, inst, errors);
707     case 67:
708       return aarch64_ins_imm_half (self, info, code, inst, errors);
709     case 68:
710       return aarch64_ins_fbits (self, info, code, inst, errors);
711     case 70:
712     case 71:
713     case 146:
714       return aarch64_ins_imm_rotate2 (self, info, code, inst, errors);
715     case 72:
716     case 145:
717       return aarch64_ins_imm_rotate1 (self, info, code, inst, errors);
718     case 73:
719     case 74:
720       return aarch64_ins_cond (self, info, code, inst, errors);
721     case 80:
722     case 87:
723       return aarch64_ins_addr_simple (self, info, code, inst, errors);
724     case 81:
725       return aarch64_ins_addr_regoff (self, info, code, inst, errors);
726     case 82:
727     case 83:
728     case 84:
729       return aarch64_ins_addr_simm (self, info, code, inst, errors);
730     case 85:
731       return aarch64_ins_addr_simm10 (self, info, code, inst, errors);
732     case 86:
733       return aarch64_ins_addr_uimm12 (self, info, code, inst, errors);
734     case 88:
735       return aarch64_ins_addr_offset (self, info, code, inst, errors);
736     case 89:
737       return aarch64_ins_simd_addr_post (self, info, code, inst, errors);
738     case 90:
739       return aarch64_ins_sysreg (self, info, code, inst, errors);
740     case 91:
741       return aarch64_ins_pstatefield (self, info, code, inst, errors);
742     case 92:
743     case 93:
744     case 94:
745     case 95:
746       return aarch64_ins_sysins_op (self, info, code, inst, errors);
747     case 96:
748     case 97:
749       return aarch64_ins_barrier (self, info, code, inst, errors);
750     case 98:
751       return aarch64_ins_prfop (self, info, code, inst, errors);
752     case 99:
753       return aarch64_ins_hint (self, info, code, inst, errors);
754     case 100:
755       return aarch64_ins_sve_addr_ri_s4 (self, info, code, inst, errors);
756     case 101:
757     case 102:
758     case 103:
759     case 104:
760       return aarch64_ins_sve_addr_ri_s4xvl (self, info, code, inst, errors);
761     case 105:
762       return aarch64_ins_sve_addr_ri_s6xvl (self, info, code, inst, errors);
763     case 106:
764       return aarch64_ins_sve_addr_ri_s9xvl (self, info, code, inst, errors);
765     case 107:
766     case 108:
767     case 109:
768     case 110:
769       return aarch64_ins_sve_addr_ri_u6 (self, info, code, inst, errors);
770     case 111:
771     case 112:
772     case 113:
773     case 114:
774     case 115:
775     case 116:
776     case 117:
777     case 118:
778     case 119:
779     case 120:
780     case 121:
781     case 122:
782     case 123:
783       return aarch64_ins_sve_addr_rr_lsl (self, info, code, inst, errors);
784     case 124:
785     case 125:
786     case 126:
787     case 127:
788     case 128:
789     case 129:
790     case 130:
791     case 131:
792       return aarch64_ins_sve_addr_rz_xtw (self, info, code, inst, errors);
793     case 132:
794     case 133:
795     case 134:
796     case 135:
797       return aarch64_ins_sve_addr_zi_u5 (self, info, code, inst, errors);
798     case 136:
799       return aarch64_ins_sve_addr_zz_lsl (self, info, code, inst, errors);
800     case 137:
801       return aarch64_ins_sve_addr_zz_sxtw (self, info, code, inst, errors);
802     case 138:
803       return aarch64_ins_sve_addr_zz_uxtw (self, info, code, inst, errors);
804     case 139:
805       return aarch64_ins_sve_aimm (self, info, code, inst, errors);
806     case 140:
807       return aarch64_ins_sve_asimm (self, info, code, inst, errors);
808     case 142:
809       return aarch64_ins_sve_float_half_one (self, info, code, inst, errors);
810     case 143:
811       return aarch64_ins_sve_float_half_two (self, info, code, inst, errors);
812     case 144:
813       return aarch64_ins_sve_float_zero_one (self, info, code, inst, errors);
814     case 147:
815       return aarch64_ins_inv_limm (self, info, code, inst, errors);
816     case 149:
817       return aarch64_ins_sve_limm_mov (self, info, code, inst, errors);
818     case 151:
819       return aarch64_ins_sve_scale (self, info, code, inst, errors);
820     case 163:
821     case 164:
822       return aarch64_ins_sve_shlimm (self, info, code, inst, errors);
823     case 165:
824     case 166:
825       return aarch64_ins_sve_shrimm (self, info, code, inst, errors);
826     case 184:
827     case 185:
828     case 186:
829       return aarch64_ins_sve_quad_index (self, info, code, inst, errors);
830     case 188:
831       return aarch64_ins_sve_index (self, info, code, inst, errors);
832     case 189:
833     case 191:
834       return aarch64_ins_sve_reglist (self, info, code, inst, errors);
835     default: assert (0); abort ();
836     }
837 }