aarch64-asm-2.c revision 1.1.1.4
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
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 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 26:	/* negs */
70    case 25:	/* cmp */
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 1974:	/* 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 1975:	/* cmple */
470    case 1278:	/* cmpge */
471      value = 1278;	/* --> cmpge.  */
472      break;
473    case 1978:	/* cmplt */
474    case 1281:	/* cmpgt */
475      value = 1281;	/* --> cmpgt.  */
476      break;
477    case 1976:	/* cmplo */
478    case 1283:	/* cmphi */
479      value = 1283;	/* --> cmphi.  */
480      break;
481    case 1977:	/* 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 1985:	/* 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 1984:	/* 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 1979:	/* 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 1980:	/* facle */
529    case 1335:	/* facge */
530      value = 1335;	/* --> facge.  */
531      break;
532    case 1981:	/* faclt */
533    case 1336:	/* facgt */
534      value = 1336;	/* --> facgt.  */
535      break;
536    case 1982:	/* fcmle */
537    case 1349:	/* fcmge */
538      value = 1349;	/* --> fcmge.  */
539      break;
540    case 1983:	/* 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 1695:	/* orr */
554      value = 1695;	/* --> orr.  */
555      break;
556    case 1986:	/* orn */
557    case 1696:	/* orr */
558      value = 1696;	/* --> orr.  */
559      break;
560    case 1216:	/* mov */
561    case 1698:	/* orr */
562      value = 1698;	/* --> orr.  */
563      break;
564    case 1226:	/* movs */
565    case 1699:	/* orrs */
566      value = 1699;	/* --> orrs.  */
567      break;
568    case 1221:	/* mov */
569    case 1761:	/* sel */
570      value = 1761;	/* --> sel.  */
571      break;
572    case 1224:	/* mov */
573    case 1762:	/* sel */
574      value = 1762;	/* --> sel.  */
575      break;
576    default: return NULL;
577    }
578
579  return aarch64_opcode_table + value;
580}
581
582const char*
583aarch64_insert_operand (const aarch64_operand *self,
584			   const aarch64_opnd_info *info,
585			   aarch64_insn *code, const aarch64_inst *inst)
586{
587  /* Use the index as the key.  */
588  int key = self - aarch64_operands;
589  switch (key)
590    {
591    case 1:
592    case 2:
593    case 3:
594    case 4:
595    case 5:
596    case 6:
597    case 7:
598    case 8:
599    case 9:
600    case 10:
601    case 11:
602    case 15:
603    case 16:
604    case 17:
605    case 18:
606    case 20:
607    case 21:
608    case 22:
609    case 23:
610    case 24:
611    case 25:
612    case 26:
613    case 27:
614    case 28:
615    case 29:
616    case 151:
617    case 152:
618    case 153:
619    case 154:
620    case 155:
621    case 156:
622    case 157:
623    case 158:
624    case 159:
625    case 160:
626    case 173:
627    case 174:
628    case 175:
629    case 176:
630    case 177:
631    case 178:
632    case 179:
633    case 180:
634    case 181:
635    case 185:
636    case 188:
637      return aarch64_ins_regno (self, info, code, inst);
638    case 13:
639      return aarch64_ins_reg_extended (self, info, code, inst);
640    case 14:
641      return aarch64_ins_reg_shifted (self, info, code, inst);
642    case 19:
643      return aarch64_ins_ft (self, info, code, inst);
644    case 30:
645    case 31:
646    case 32:
647    case 190:
648      return aarch64_ins_reglane (self, info, code, inst);
649    case 33:
650      return aarch64_ins_reglist (self, info, code, inst);
651    case 34:
652      return aarch64_ins_ldst_reglist (self, info, code, inst);
653    case 35:
654      return aarch64_ins_ldst_reglist_r (self, info, code, inst);
655    case 36:
656      return aarch64_ins_ldst_elemlist (self, info, code, inst);
657    case 37:
658    case 38:
659    case 39:
660    case 40:
661    case 50:
662    case 51:
663    case 52:
664    case 53:
665    case 54:
666    case 55:
667    case 56:
668    case 57:
669    case 58:
670    case 59:
671    case 60:
672    case 61:
673    case 62:
674    case 63:
675    case 75:
676    case 76:
677    case 77:
678    case 78:
679    case 148:
680    case 150:
681    case 165:
682    case 166:
683    case 167:
684    case 168:
685    case 169:
686    case 170:
687    case 171:
688    case 172:
689      return aarch64_ins_imm (self, info, code, inst);
690    case 41:
691    case 42:
692      return aarch64_ins_advsimd_imm_shift (self, info, code, inst);
693    case 43:
694    case 44:
695    case 45:
696      return aarch64_ins_advsimd_imm_modified (self, info, code, inst);
697    case 49:
698    case 139:
699      return aarch64_ins_fpimm (self, info, code, inst);
700    case 64:
701    case 146:
702      return aarch64_ins_limm (self, info, code, inst);
703    case 65:
704      return aarch64_ins_aimm (self, info, code, inst);
705    case 66:
706      return aarch64_ins_imm_half (self, info, code, inst);
707    case 67:
708      return aarch64_ins_fbits (self, info, code, inst);
709    case 69:
710    case 70:
711    case 144:
712      return aarch64_ins_imm_rotate2 (self, info, code, inst);
713    case 71:
714    case 143:
715      return aarch64_ins_imm_rotate1 (self, info, code, inst);
716    case 72:
717    case 73:
718      return aarch64_ins_cond (self, info, code, inst);
719    case 79:
720    case 86:
721      return aarch64_ins_addr_simple (self, info, code, inst);
722    case 80:
723      return aarch64_ins_addr_regoff (self, info, code, inst);
724    case 81:
725    case 82:
726    case 83:
727      return aarch64_ins_addr_simm (self, info, code, inst);
728    case 84:
729      return aarch64_ins_addr_simm10 (self, info, code, inst);
730    case 85:
731      return aarch64_ins_addr_uimm12 (self, info, code, inst);
732    case 87:
733      return aarch64_ins_addr_offset (self, info, code, inst);
734    case 88:
735      return aarch64_ins_simd_addr_post (self, info, code, inst);
736    case 89:
737      return aarch64_ins_sysreg (self, info, code, inst);
738    case 90:
739      return aarch64_ins_pstatefield (self, info, code, inst);
740    case 91:
741    case 92:
742    case 93:
743    case 94:
744      return aarch64_ins_sysins_op (self, info, code, inst);
745    case 95:
746    case 96:
747      return aarch64_ins_barrier (self, info, code, inst);
748    case 97:
749      return aarch64_ins_prfop (self, info, code, inst);
750    case 98:
751      return aarch64_ins_hint (self, info, code, inst);
752    case 99:
753      return aarch64_ins_sve_addr_ri_s4 (self, info, code, inst);
754    case 100:
755    case 101:
756    case 102:
757    case 103:
758      return aarch64_ins_sve_addr_ri_s4xvl (self, info, code, inst);
759    case 104:
760      return aarch64_ins_sve_addr_ri_s6xvl (self, info, code, inst);
761    case 105:
762      return aarch64_ins_sve_addr_ri_s9xvl (self, info, code, inst);
763    case 106:
764    case 107:
765    case 108:
766    case 109:
767      return aarch64_ins_sve_addr_ri_u6 (self, info, code, inst);
768    case 110:
769    case 111:
770    case 112:
771    case 113:
772    case 114:
773    case 115:
774    case 116:
775    case 117:
776    case 118:
777    case 119:
778    case 120:
779    case 121:
780      return aarch64_ins_sve_addr_rr_lsl (self, info, code, inst);
781    case 122:
782    case 123:
783    case 124:
784    case 125:
785    case 126:
786    case 127:
787    case 128:
788    case 129:
789      return aarch64_ins_sve_addr_rz_xtw (self, info, code, inst);
790    case 130:
791    case 131:
792    case 132:
793    case 133:
794      return aarch64_ins_sve_addr_zi_u5 (self, info, code, inst);
795    case 134:
796      return aarch64_ins_sve_addr_zz_lsl (self, info, code, inst);
797    case 135:
798      return aarch64_ins_sve_addr_zz_sxtw (self, info, code, inst);
799    case 136:
800      return aarch64_ins_sve_addr_zz_uxtw (self, info, code, inst);
801    case 137:
802      return aarch64_ins_sve_aimm (self, info, code, inst);
803    case 138:
804      return aarch64_ins_sve_asimm (self, info, code, inst);
805    case 140:
806      return aarch64_ins_sve_float_half_one (self, info, code, inst);
807    case 141:
808      return aarch64_ins_sve_float_half_two (self, info, code, inst);
809    case 142:
810      return aarch64_ins_sve_float_zero_one (self, info, code, inst);
811    case 145:
812      return aarch64_ins_inv_limm (self, info, code, inst);
813    case 147:
814      return aarch64_ins_sve_limm_mov (self, info, code, inst);
815    case 149:
816      return aarch64_ins_sve_scale (self, info, code, inst);
817    case 161:
818    case 162:
819      return aarch64_ins_sve_shlimm (self, info, code, inst);
820    case 163:
821    case 164:
822      return aarch64_ins_sve_shrimm (self, info, code, inst);
823    case 182:
824    case 183:
825    case 184:
826      return aarch64_ins_sve_quad_index (self, info, code, inst);
827    case 186:
828      return aarch64_ins_sve_index (self, info, code, inst);
829    case 187:
830    case 189:
831      return aarch64_ins_sve_reglist (self, info, code, inst);
832    default: assert (0); abort ();
833    }
834}
835